users/abex/3) abex's abex 3
이번에 풀 문제는 abex의 3번쨰문제인 abex 3 입니다.
http://crackmes.de/users/abex/abex_3/
에서 무료로 다운로드 하실수 있습니다.
올리 디버거로 열어보시면 매우 짫은 어셈블리어로 이루어진 프로그램입니다.
이게 분석할 어셈블리 언어의 끝입니다.
처음에는 keyfile을 체크하라고 나옴니다.
그리고 처음 메세지 박스가 지난뒤에 오는 함수가 CreateFileA입니다.
함수명만 보면 파일을 만드는거 같지만 실제론 파일을 여는 모드를 쓰고 있습니다.
따라서 우리는 key 파일을 만들 어야 합니다.
파일을 만들려면 수동적으로 파일을 만들어도 되지만
ms사의 문서를 읽어보면
mode 값을 1또는 2로 변경을 하면 파일을 만들 수 있습니다.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx
저는 1로 수정을 한뒤에 파일을 저장한후 실행을 해서 파일을 만들었습니다.
그런데 여기서 끝이 아님니다.
GetFileSize라는 함수가 생성된 파일과 비교를 하거든요
그런데 생성된파일은 0kb입니다.
따라서 파일 크기를 수정하거나 비교문을 제거 하는방법이 있습니다.
저는 그냥 비교문을 제거하는 방법으로 가보도록하겟습니다.
이 cmp문은 eax가 12랑 같지 않으면 파일은 있으나 키가 아니라고 메세지박스를뛰움니다.
따라서 eax값이랑 같게 수정하면 됨니다.
저장하시면 다음과같이 뜸니다.
'Reversing > abex's' 카테고리의 다른 글
/users/abex/1) haque_abex1 (0) | 2014.06.25 |
---|