상세 컨텐츠

본문 제목

[Write-up] Abex-crackme 1

Reversing Write-Up/01.Abex's crackme

by RACC8N 2020. 1. 14. 19:11

본문

.exe를 실행시켰을때의 모습이다.

 

Make me think your HD is a CD-Rom.

 

HD를 CD-Rom으로 인식하게 바꾸면 될 것 같다. 

 

디버거로 실행파일을 분석해 보자.

EP에 도착하니 위에서 봤던 문자열을 확인 할 수 있다. (abex'1st crack~, make me~)

 

문자열을 인자로 받아 MessageBoxA 함수를 호출하는 것 같다.

 

그리고 바로 402094에 있는 값("C:\\")을 인자로 받아 GetDriveTypeA 함수를 호출한다.

 

함수가 끝난 다음 EAX와 ESI를 CMP 하여

 

ZF가 TRUE이면 YEAH! OK라는 MessageBox를 띄울 것이고,

 

ZF가 FALSE라면 Error.. Nah 라는 MessageBox를 띄울 것이다.

 

 

그럼 GetDriveTypeA 함수로 Stepinto해보자.

 

함수를 RET하기 직전까지 돌려놓은 상태이다.

 

함수의 리턴값은 EAX에 저장된 3임을 알 수 있다.

 

MSDN을 참고하면, 

"C:\\"를 인자로 받았기 때문에 리턴 값이 3으로 알맞게 나온 것을 알 수 있다.

 

자 그럼 CMP EAX, ESI 할 때 EAX값을 ESI값과 같게 바꿔주면 ZF가 활성화 되어 40103D로 넘어갈 것이다.

성공적으로 HD를 CD-Rom으로 인식하게 바꾸었다.

 

 

'Reversing Write-Up > 01.Abex's crackme' 카테고리의 다른 글

[Write-up] Abex-crackme 5  (0) 2020.01.15
[Write-up] Abex-crackme 4  (0) 2020.01.15
[Write-up] Abex-crackme 3  (0) 2020.01.15
[Write-up] Abex-crackme 2  (0) 2020.01.14

관련글 더보기

댓글 영역