본문 바로가기

reversing/리버싱

CFF CrackMe2 시리얼 문제 해봅시다~


하나는 원본. 하나는 전 포스팅에서 언패킹한 exe파일입니다.

일단 실행한다음 (F9) 

아무거나 에디트박스에 넣고 버튼을 눌러줍니다. 그러면 You are a bed cracker!라는 문구가 뜹니다.
우리는 이 메시지 박스가 어디에 위치하는가를 알아야 하는겁니다. exe파일에서 text는 한곳에 올라오기 때문에 메시지 박스에 들어가는 텍스트와 시리얼키가 같이 있다는거죠. 잘 모르시겠으면 PE구조를 공부하세요.

위의 상태에서 F12를 해서 Paused 상태에서 alt+F9를 눌러준다. 그다음 위의 메시지 박스의 확인을 눌러준다.
그러면 지금 상태의 메모리를 보여준다. 위로 살짝 올려주면 메시지 박스의 원형을 보여준다.

위에 빨간글씨로 MessageBoxA로 써져잇는 함수가 보인다. 그리고 매개변수인 style, title, text 가 보이는데 title,text가 어디있는지를 알면된다. 어셈블러로 보면은 PUSH EDI, PUSH ESI 로 되어있다.
레지스트리 부분을 보자

ESI, EDI 부분에 텍스트가 올라온거이 보이는데 주소를 따라가 보자. (ctrl+g)

텍스트가 쭉 한눈에 보인다. 아하!  이상하게 보이는 문자가 있군.
쳐볼까?

끝-_-;

내가 푼 방법) 정말 어처구니 없게 쉽게 풀렸는데;;
언패킹할 경우 string 이 보입니다. 당연히 시리얼키도 보일꺼라 생각했죠.
search for -> All referenced text strings 를 해보면 프로그램의 스트링이 다 보입니다.
여기서 수상한 글자를 보니..-0- 끝;; ㄷㄷㄷㄷ

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

abex CrackMe3  (0) 2010.08.14
abex CrackME2  (0) 2010.08.13
CFF CrackMe 3 4 번 -0- 쉽네.  (0) 2010.08.12
패커, 패킹, 언패킹  (0) 2010.08.09
나의 첫번째 디버깅 Hello world!  (2) 2010.08.08