관리 메뉴

Heizelnut의 IT이야기

하드디스크를 CD-ROM 으로 인식시키기 - Crack Me! 본문

IT_Engineer/Reversing

하드디스크를 CD-ROM 으로 인식시키기 - Crack Me!

Heizelnut 2007.07.12 14:42


※ 디버거 한줄씩 실행하는 키 : F8
    스크린샷은 클릭해서 크게 보시기 바랍니다.
    첨부파일 : OllyDebuger110.7z - Revers Assembly Tool
                   haque_abex1.zip - Crack Me Program(abexcm1.exe과 Patch된 실행파일)


사용자 삽입 이미지
사용자 삽입 이미지


abexcm1.exe를 실행시키면 이런 메시지가 뜹니다.

Make me think your HD is a CD-Rom.
컴퓨터가 당신의 하드디스크를 CD-Rom 이라고 생각하게 만들어라.
Nah... This is not a CD-ROM Drive!
이것은 CD-ROM 드라이브가 아닙니다!
해석해 보면 이렇습니다.

이제 디버거로 abexcm1.exe를 열어봅시다.
사용자 삽입 이미지
디버거로 열면 이런 화면이 보입니다.
프로그램을 한줄씩 실행시키다 보면 JE SHORT abexcm1.0040103D 라는곳 있습니다.
이곳에서 JE 란 어셈 명령어는 결과가 0이면 분기한다는 뜻입니다.
그러나 한줄씩 실행하면 0040103D로 분기가 안된다는것을 알수있습니다.
결과가 0이 아니란 소리죠.
그렇게 계속 실행을 하면 "Nah... This is not a CD-ROM Drive!" 라는 메시지가 뜹니다.

그럼 이제부터 0040103D로 강제 분기를 시켜보겠습니다.
사용자 삽입 이미지
JE SHORT abexcm1.0040103D 부분을 더블 클릭합니다.
그럼 저 빨간박스 안에 있는 JE 를 강제 분기를 뜻하는 어셈 명령어인 JMP로 입력하고
Assembly 버튼을 클릭후 Cancel 버튼을 클릭해 편집창을 닫습니다.
사용자 삽입 이미지
그러면 그림과같이 JE SHORT abexcm1.0040103D 가 빨간색으로 JMP SHORT ~생략~ 으로
바뀌었을 겁니다. 그리고 다시 프로그램을 한줄씩 실행시켜봅니다.
이번에는 JMP SHORT abexcm1.0040103D 에서 0040103D 로 강제 분기가 될것입니다.
계속 실행을 하다보면 드디어
"Ok, I really think that your HD is a CD-ROM! :p" 라는 메시지를 보실겁니다.
해석하면
"그래, 나는 정말로 당신의 HD를 CD-ROM이라고 생각해! :p"
라는 뜻입니다.
신고
0 Comments
댓글쓰기 폼