앙 규문띠
abex' crack me 2
오늘은 !!! 금요일이라 뭔가 바빴다...
그래도 리버싱 공부는 해야지 앞에 해답을 설명하고 뒤에 [나뭇잎 버전]으로 자세하게 공부해보겠다
abex' crack me 2... (언제 고수되죠?) 시작!
먼저 crack me 2.exe를 무작정 실행 해보았다.
띠용!
Name이랑 Serial을 입력하란다. 그래서 입력해보았더니,
역시나 시리얼이 틀렸다고 나온다.
아무생각없이 디버깅을 해야되겠지 ?
일단 내가 생각했던건 먼저 메세지박스가 뜨는부분이 있을테고 거기에 위의 오류메세지인 Nope ~ 어쩌구가 있을것이라고 생각했다. -> 고렇다면... nope를 검색해보자!
그랬더니 다음과 같이 해당 opcode로 이동되었다.
여기서 생각해봐야 할 부분이 오류를 출력하는 부분이 있다면 True를 출력하는 부분도 있을거 같다.
마우스 휠을 올려보자.
여기서 주목해야할 부분은 위쪽 부분이다.
위의 부분에서 JE 조건 분기문이 생긴다 조건값에 따라서 점프하거나 바로밑으로 실행된다.
즉 조건 분기문의 위쪽부분에서 시리얼 넘버의 참거짓이 판별되는 무언가(?)가 있을것 같은 예감이..
그리하여 403329 call부분에 BP를 걸고 프로그램을 다시 실행시킨다. (call을 실행해보면 입력창이 뜬다.)
이후에 name과 serial을 입력한다.
그 다음[Check]를 누르고 스택값을 확인한다.
0018F42C의 주소로 이동하여 스택값을 확인해볼까?
내가 입력했던 abcd 패스워드가 그대로 스택으로 들어간걸 확인할 수 있다.
그 위에 시리얼 넘버로 추정되는 CFDDD9D1 가 문제의 해답인 것 같다.
다시 프로그램을 실행하고.... 해당 시리얼을 넣으면 !
crack me 2번 클리어!
나뭇잎 버전... 작성하자... 꼮..
'Reversing' 카테고리의 다른 글
PE File(1) (0) | 2019.04.02 |
---|---|
리버싱 5 (0) | 2019.04.02 |
리버싱 3 Stackframe (0) | 2019.03.28 |
리버싱 2 (0) | 2019.03.27 |
리버싱 1 (1) | 2019.03.26 |