관리 메뉴

Gyejoong's Information

abex - crack me 1번 문제 풀이 본문

Study/리버싱

abex - crack me 1번 문제 풀이

연계중 연계중 2017.05.20 21:52

 우선 abex - crack me 1번 프로그램을 실행 시켜보도록 하겠습니다.


HD디스크를 CD-ROM처럼 만들라고 합니다.



CD-ROM이 아니라고 하네요.

 

Immunity Debugger로 이 프로그램을 분석 해보도록 하겠습니다.


JE SHORT 부분에 breakpoint를 걸고 디버깅을 시작해보겠습니다.


 

메시지박스를 불러보는 부분에서 멈추게 됩니다. 확인을 누르고 다음 부분으로 진행 하겠습니다.


C드라이브의 타입을 불러오는 과정입니다. EAX값이 3이 되었네요.


  

 

ESI 값을 1증가 시키고 EAX값을 1감소 시킨 후에 ESI값을 2증가, EAX값을 1감소 시키도록 되어 있습니다. 모든 과정을 거친 후에, 레지스터값은 EAX값이 1이고, ESI값이 790077입니다. CMP로 비교한 후에, 값이 0이면 점프하라는 구문입니다. CMP명령어는 값이 같아야 0을 리턴하는데, 같지 않으므로 0을 리턴하지 않을 것입니다.





그러므로 실패 하게 됩니다.




분석한 결과 CMP값이 0이면 성공이므로, CMP값이 0이 아니면 성공하도록 바꾸어 보도록

하겠습니다.



JNZ명령어로 바꾸어서, 0이아니면 401103D부분(성공)으로 점프하도록 바꾸고 실행합니다.



성공적으로 실행 하게 됩니다.

저작자 표시
신고

'Study > 리버싱' 카테고리의 다른 글

abex crack me 5번 문제풀이  (0) 2017.05.20
레나 리버싱 Part10.Tut Reverse Me 문제풀이  (0) 2017.05.20
abex - crack me 2번 문제풀이  (0) 2017.05.20
abex - crack me 1번 문제 풀이  (0) 2017.05.20
0 Comments
댓글쓰기 폼