My Study/CrackMe

CrackMe2(cffo-2)

CrackMe2.exe


CrackMe2.exe.unpacked_.exe


PEiD v0.95.zip



CrackMe2는 언팩하기 전이고, CrackMe2.exe.unpacked 는 언팩한 파일이다. 그리고 PEiD는 여기서 사용한 바이너리 분석기이다.


크랙미 풀기 전에 언팩에 올려 확인해보자.




 UPX 압축이 되어있어 크랙미에 올리면 올리디버거 자체적으로 언팩을 할 것인가 물어볼 것이다. 그럼 예를 눌러 언팩한 뒤 아래 점프 부분에서 오른쪽 클릭하여 Dump debugged process 를 눌러주자.




그럼 아래와 같은 창이 뜨는데 바이너리 분석과 같이 UPX로 되어 이씅면 아래와 체크한 뒤 DUMP를 눌러 파일을 저장하자.



언팩한 것을 다시 실행해보자.



아무거나 입력한 뒤 Check the Serial을 눌렀더니 위와 같은 창이 나왔다.

이제 아무 곳에서 오른쪽 클릭하여 All referenced text string 를 누르고 조금만 내려보면 아래와 같은 텍스트들을 볼 수 있다.



뭔가 숫자가 있는 곳에 브레이크 포인트를 걸고 실행하여 보자.



그랬더니 실패 했을 때 뜬 문자들로 넘어갔다.

문자나온 아래 함수를 호출하며 그 아래는 점프문이 있다. 함수 안으로 들어가 보았다.



내가 입력한 test와 위에서 보았던 숫자들을 레지스터에 넣고 있다. 그리고 내려왔다가 비교문을 확인했더니 TEST와 1021를 비교하고 있다.



여기서 알아야 하는 것은 메모리에는 리틀엔디안 방식으로 들어가 있다는 점이다.


리틀엔디안 관련 글 보기



그리고 바이트씩 비교를 한다. 이걸로 보아 문자열 바로 아래 함수가 비교하는 함수인 것으로 확신을 할 수 있다. 그럼 적혀있는 문자열을 넣어보자. 



이곳에서는 문자열의 길이를 비교한다.



이 곳에서 앞 4글자가 일치하는지 확인하고



이 곳에서는 뒤에 4글자가 일치하는 확인한다.


 


그리고 성공하였다?...


간단한 크랙미 였네요

'My Study > CrackMe' 카테고리의 다른 글

CrackMe(RegisterMe)  (0) 2015.05.21
CrackMe (abex's 3rd crackme)  (0) 2015.05.20
CrackMe (Project1)  (0) 2015.05.19
CrackMe(babylon keygenme)  (0) 2015.05.19
CrackMe2(cffo-2)  (0) 2015.05.18
CrackMe : abexcm1 풀이  (0) 2015.05.13

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.