앙 규 문띠

Crack me 1번

abex' crack me 문제가 1번부터 5번까지 있다고 하는데 하나씩 풀어볼 예정이다.

두근두근!


abex' crackme #1 


crackme1.exe

먼저 .exe를 실행시켜보자! 



[다음과 같은 창이 뜬다 HD=CD-Rom ?????? 확인을 눌러본다]



[냥! CD-ROM드라이브가 아니다!]


리버싱 문제니까 디버거를 켜야겠지??



[F9]를 눌러 EP를 찾고보니 주석에 OK~ 메세지박스가 출력되도록 하면 성공인것 같습니다.


조금더 자세히 살펴보면




401026에 JE 조건 분기 명령어가 보입니다.

401024의 CMP eax와 esl을 비교해서 참거짓 유무에 따라서 이동하는 명령어 입니다.



실제로 해당줄까지 디버깅해보면 EAX=1, ESI=3으로 같지 않음을 알 수 있습니다. (JE는 두값이 같으면 점프, 다르면 밑으로 진행)


여기서 우리는 패치를 위해 조건분기문 JE가 아닌 JMP 점프명령어를 써서 우리가 원하는 문구를 출력하도록 해줍시다.



[JE 조건문을 다음과 같이 수정!!]


[성공 !]


- 정리


디버깅을 하면서 어떠한 순서로 프로그램이 실행되는지 확인한다.

x32dbg같은 경우 조건분기 명령 수행시 점선으로 표시된다.


* 스택의 주소는 아래로 자란다. 스택의 FILO구조에 따르게 된다 ^호^ (디버깅을 한줄씩 하면서 주소의 변화를 파악해본다)





'Abex' crackme' 카테고리의 다른 글

Abex' crackme #2  (0) 2019.04.02

+ Recent posts