sweetchip's blog


안녕하세요


얼마전에 열린 순천향대 정보보호 페스티벌 문제 풀이를 하나 더 풀어보려고 합니다.


그동안 귀차니즘 때문에 안했던 것을 이번에 하게 되네요 ㅎㅎ;;


이번에는 매우 매우 간단하게 하도록 하겠습니다.


프로그램은 확인해본 결과 C#으로 프로그래밍 된 윈도우 모바일 프로그램 이었습니다.



그래서 닷넷 디컴파일러, .net reflector 을 이용해서, 디컴파일을 한 결과, 여러가지 함수가 있었습니다.


그 함수를 분석 한 결과 다음 과 같이 프로그래밍 해보겠습니다.


이러한 패스워드에 연관된 코드들을 하나하나 수집된 것들을 바탕으로 프로그램 코드를 작성합니다


프로그램 언어는 C#으로 짜여진 코드입니다.



CODE --------------------------------------------------------------------


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace yisf

{

class Program

{

static void Main(string[] args)

{


char[] charSet = new char[] {

'2', '0', '1', '2', '_', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'F', 'i', 'r',

's', 't', '_', 'F', 'i', 'g', 'h', 't', 'i', 'n', 'g', '!', '!', '!', ':', ')'};




string str = "ecnis";

byte num = Convert.ToByte("11", 2);

string str1 = string.Concat(new object[]

{

"CIH", "_YI", charSet[5], charSet[0x13], new string(str.ToCharArray().Reverse().ToArray()), 200, num, "_", "Y2K"

});

Console.WriteLine("password is " str1);

Console.ReadKey();




}

}

}


C# 언어로 프로그래밍된 프로그램입니다.

위의 문자 배열과 str 과 바이트 넘버를 모두 합해서 str1 이라는 변수에 저장을 한 다음에

console.writeline 을 이용해서 출력 합니다.



Password is CIH_YISFsince2003_Y2K


그 당시 정답을 맞췄긴 햇는데, 이걸 다시 보니 헷갈리네요.. ㅎㅎ


만약 틀린게 있닫면 덧글로 달아주시면 감사하겠습니다.




신고

댓글 0