파일 확인

Crack me 로 유명한 Abex 시리즈의 1번 문제 이다.

   

   

프로그램 실행

  • 내 HD 를 CD-Rom 으로 생각하게 만들라고 하는 MessageBox 가 뜬다.

  • 확인을 클릭하면 CD-Rom Drive 가 아니라고 Message Box가 뜬다.

   

   

Debug with Ollydbg

Message 를 출력하는 곳이나, Message 내용, HD 를 인식하는 곳 등을 이용해서 Crack me 를 풀 수 있을 것이라 생각하고 Debug 를 실행한다.

직관 적인 코드 이므로 Assembly 언어로 개발 했다는 것을 유추 할 수 있으며, 바로 해석이 가능 하다.

  • 처음 실행 시에 "Make me think your HD is a CD-Rom" 을 출력하는 MessageBox 함수를 호출한다.
  • RootPathname 은 C:\ 이며, GetDriveTypeA 함수를 호출한다.
  • ESI 와 EAX 를 가감 연산
    • 같지 않으면, "Nah... This is not a CD-ROM Drive!" 를 출력하는 MessageBox 함수를 호출한 후 ExitProcess 함수를 호출한다.
    • 같으면 "Ok, I really think that your HD is a CD-ROM! :p" 를 출력하는 MessageBox 함수를 호출한 후 Exit Process 함수를 호출한다.

   

   

Debugging

ESI, EAX 의 변화를 보기 위해 F8을 눌러 StepOver방식으로 실행 시켜보았다.

  • GetDriveTypeA 함수의 반환 값( EAX )만 알면 되므로 StepOver 방식으로 실행 시킨다.

  • GetDriveTypeA 함수를 실행 한 후 EAX 에 3이 반환 되었다.
    • ESI 값은 MessageBox 함수 호출 이후 FFFFFFFF로 변환 되었다.

  • CMP EAX, ESI 를 수행하기 전 Register 화면 이다.
    • ESI = 0 -> EAX = 2 -> garbage code -> ESI = 1 -> ESI = 2 -> EAX = 1 로 인해 EAX = 1, ESI = 2로 설정 되어 있다.

   

   

문제 해결

HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가,

라는 문제 이므로 가감 연산 후 EAX 와 ESI 를 같게 만들어 줘야 한다.

  • CMP ( EAX - ESI ) 를 해서 같으면 Crack 성공 문장이 출력되는 0040103D로 가게된다.
    • 여기서 EAX = 1 , ESI = 2 이므로 EAX값에 1을 추가하면된다.
    • GETDriveTypeA 함수 반환값 3에 1을 추가하여 4를 반환하게 된다면 HD를 CD-Rom으로 인식하게 될것이다.

   

   

보충 설명

Assembly Command

   

GETDriveTypeA 함수

http://msdn.microsoft.com/en-us/library/aa364939(VS.85).aspx

  • HDD 의 경우 3을 반환하고 CD-Rom 의 경우 5를 반환 하는 API 함수 이다.

   


'Wargame > CodeEngn' 카테고리의 다른 글

CodeEngn Basic RCE L06  (0) 2010.09.03
CodeEngn Basic RCE L05  (0) 2010.09.03
CodeEngn Basic RCE L04  (0) 2010.09.03
CodeEngn Basic RCE L03  (0) 2010.09.03
CodeEngn Basic RCE L02  (1) 2010.09.02
CodeEngn Basic RCE L01  (0) 2010.09.02
Posted by L3m0nTr33

댓글을 달아 주세요


블로그 이미지
Restart
L3m0nTr33
Yesterday13
Today3
Total51,714

달력

 « |  » 2018.04
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

티스토리 툴바