관리 메뉴

Jsecurity

[풀이] abex crackme 1 본문

프로그래밍언어/리버싱 입문

[풀이] abex crackme 1

Great king 2019. 9. 8. 22:50

Crackme 1

abexcm1.exe
0.01MB


프로그램 실행

프로그램을 실행하면, CD-ROM이 아니라 실행할 수 없다는 에러 경고창이 뜬다.

 


OllyDbg 분석

OllyDbg에 실행파일을 로드했을때 나오는 화면이며 내용은 그렇게 길지 않은 프로그램인것을 알 수 있다.

 


풀이 1

 이 프로그램이 정상적으로 실행이 되려면 주소 "00401024"의 내용 "JE SHORT abexcm1. 0040103D" 분기문이 아래의 통과 메시지로 넘어가야한다. 그렇다면, 현재는 통과 메시지가 아닌 에러 메시지의 분기로 간다는 것이다. 그렇기 때문에 "JE" 분기문을 변경 한다. 

 

"JE SHORT abexcm1. 0040103D"의 내용을 "JNZ SHORT abexcm1. 0040103D" 또는 "JMP SHORT abexcm1. 0040103D" 으로 변경하여 프로그램을 실행해본다.

 

위의 그림처럼 분기문을 조작하여 성공적으로 실행됨을 볼 수 있다.

 


풀이 2

위의 그림처럼 'JE'분기문에서 제로 플래그'1'로 변경하면 성공적으로 실행된다. 

 

 

'프로그래밍언어 > 리버싱 입문' 카테고리의 다른 글

레지스터  (0) 2019.08.21
어셈블리 조건분기 명령어  (0) 2019.06.09
어셈블리 조건 분기문  (0) 2019.06.03
어셈블리 산술명령어 (Div)  (0) 2019.04.14
어셈블리 산술명령어 (Mul)  (0) 2019.04.14
Comments