본문 바로가기

리버스 엔지니어링

abex' crackme#1 분석

아주 간단한 crackme 샘플을 분석하여 디버거와 디스어셈 코드에 익숙해져보자.

 

abexcm1.exe



crackme는 말그대로 크랙 연습을 목적으로 작성되어 공개된 프로그램이다. 프로그램을 실행해보면 다음과 같이 나온다.





음.. 일단 대강 해석하면 너(사용자)의 HD를  CD-ROM이라고 생각하게 만들어줘라는데.. 별거 없으니 확인




확인을 누르면 Error라고 나오고 이건 CD-ROM이 아니라고 하면서 종료됩니다. 


이제 이프로그램 자체를 올리 디버거로 디버깅을 해봅시다.



EP에서 보면 코드자체는 간단하다. 대강 보면 윗줄에 처음 화면 문구가 중간에 에러 그리고 그 아래 YEAH라고 나오면서 성공시 화면이 보인다.


그렇다면 저 문구가 나올수 있게 수정하면 끝.

전에 Hello world 문자열을 패치했을때 메모리 주소를 바꾸는 법이 있는데 그것을 여기에 적용하면 된다.



00401026 주소의 명령을 JMP 0040103D로 바꾸면 된다.




그리고 실행하면 다음과 같이 창이 나온다.

'리버스 엔지니어링' 카테고리의 다른 글

Process Explorer란?  (0) 2018.01.10
abex' 2nd crackme 분석  (0) 2018.01.08
스택이란?  (0) 2018.01.04
IA-32 Register 기본 설명  (0) 2018.01.04
리틀 엔디언 표기법  (0) 2018.01.04