문제 확인
우선 PEID를 통하여 파일을 확인 해보면 아무 이상이 없는 것 같다. C#/.NET로 만들어졌다는 점을 유의하여야한다.
실행시 아래와 같이 키값을 입력하는 문제이다.
디버거를 통해 분석을 시도 했지만 작동하지 않는다.
풀이
HexEditor, PEView, BinaryText 등을 통하여 치열하게 확인을 해봤지만 계속 된 실패를 맞이했다. 하지만 .NET Reflector를 통해서 문제를 풀 수가 있었다. 이 프로그램을 통해서 손상된 이 프로그램을 디컴파일 할 수가 있었다.
디컴파일 후에 Visual Studio를 통하여 열어 보면 아래와 같이 확인을 할 수가 있다. If ReadLine이 plainText와 같을 경우에 성공문으로 가는 것이지만 정작 중요한 plainText가 나타나 있지 않다. 따라서 우리는 plainText를 출력하는 명령어를 넣어주면 된다.
그 후 출력된 문자열은 아래와 같다.
이제 본래의 파일에 키 값을 입력하여 보자. 성공이다.
추가
솔직히 이번 문제는 예전에 풀었던 기억이 있기에 겨우 풀 수가 있었다. 하지만 만약 PEID가 아니라 ExeinfoPE를 통해 열어 보았다면 바로 .NET Reflector를 쓰라는 친절한 설명을 함께 볼 수가 있다. 이런 문제는 여러 사람의 글을 참고하는 것 또한 도움이 될 것 같다.
'Reversing > CodeEngn' 카테고리의 다른 글
CodeEngn Basic 15 (0) | 2015.06.02 |
---|---|
CodeEngn Basic 14 (0) | 2015.06.02 |
CodeEngn Basic 12 (0) | 2015.06.01 |
CodeEngn Basic 11 (0) | 2015.06.01 |
CodeEngn Basic 10 (0) | 2015.06.01 |