Simples Crackme 15
- Question
· 알맞은 Password를 찾는 문제이다.
· 맞는 Password를 입력하면 'Bad Luck! Try again!'이라는 Message를 출력하고 'Well Done! You Cracked it!'이라는 Message를 출력한다.
- Solve
· OllyDbg를 통해 열어보면 'Unable to start file ...' 즉, File을 Debug 할 수 없다는 Error Message가 출력된다.
· PEiD로 확인해보면 'Microsoft Visual C# / Basic .NET' 즉, .NET으로 만들어졌다는 것을 알 수 있다.
· '.NET'으로 만들어진 Program은 '.NET Reflector'라는 Program을 통해서 Source Code를 쉽게 확인할 수 있다.
· '.NET Reflector'로 확인해보면 Main 함수, Decrypt, Encrypt 함수를 확인할 수 있다.
· 위의 모든 Code를 Visual Studio를 이용해 Build, 실행을 해보면 같은 Program을 만들어낼 수 있다.
· 여기서 Serial Password를 확인하기 위해서는 Source Code내에서 Password 역할을 하는 함수 또는 변수를 찾아야한다.
· 자세히 살펴보면 'plainText'라는 변수가 Password 역할을 하므로 이 변수의 값을 출력해주면된다.
· 'Console.WriteLine'이라는 함수가 C#에서는 'printf'와 같은 역할을 하기 때문에 이 함수를 이용해 변수 값을 출력해준다.
· Build 후 실행시켜보면 위와 같이 변수 값을 확인할 수 있으며 이 값으로 원래 Program에 Password값으로 입력하면 성공 Routine이 실행되는 것을 확인할 수 있다.
- Answer
· Password : Leteminman
'Reversing > Simples Creckme' 카테고리의 다른 글
Simples Crackme 17 (0) | 2015.08.16 |
---|---|
Simples Crackme 16 (0) | 2015.08.16 |
Simples Crackme 14 (0) | 2015.08.16 |
Simples Crackme 13 (0) | 2015.08.16 |
Simples Crackme 12 (0) | 2015.08.16 |