My Study/CrackMe

CrackMe(RegisterMe)


RegisterMe.exe



먼저 프로그램을 실행시켜 보자.





프로그램을 실행시키면 위와 귀찮게 메세지 창들이 실행할 때와 끝날 때 뜬다. 이것을 제거하는 문제가 되겠다. 


크랙미를 열어보자. 그럼 위에서 보았던 글들이 보이게 된다. 먼저 처음에 뜨는 창은 어떻게 제거할까?



난 OEP(Original Entry Point)를 변경하여 메세지창이 끝난 지점 0x00401024 로 설정하여 첫번째 메세지 창을 우회하겠다. 그럼 어떻게 바꾸느냐... 그건 PE 구조를 알아야하지만 여기서는 필요한 정보만 끌어와서 사용하겠다. 



Alt + M 을 눌러 해당 PE 구조를 살펴보자.



쭉 스크롤을 내리다보면 위와 같이 AddressOfEntryPoint 와 ImageBase를 볼 수 있다. OEP는 이 두개 값을 더한 곳으로 설정이 되며 실제로 더한 값이 401000 이기에 0x00401000부터 시작하게 되는 것이다. 그럼 0x00401024 부터 시작하려면 어떻게 해야할까? ImageBase를 변경해야 할까? 아니면 AddressOfEntryPoint를 변경해야할까? 그건 정의를 살펴 보아야 하는데 이것 관련해서 나중에 글을 써서 이 글에 링크를 걸겠다.


결과만 말하자면 AddressOfEntryPoint 값을 24증가 시켜 1024로 바꾸겠다. 그럼 첫번째 메세지 창을 우회하여 실행 시킬 수 있을 것이다. 


변경을 하려면 어디를 변경해야하는 것일까? 그건 dump 창에서  0x004000E8 로 가보면 알것이다.



0x004000E8이면 파랑색 부분이다. 리틀 엔디안 방식에 의하여 00 10 00 00 으로 들어가 있지만 실제로는 00 00 10 00 이다.

이 값을 1024로 변경할 것인데 10 왼쪽 부분을 24로 변경하면 된다



이렇게 하면 0x00401024부터 시작하게 될 것이다. dump 창에서 오른쪽 클릭을 하여 Copy to executable file 을 누르면 창이 뜨는데 그 창에서 다시 오른쪽 클릭하여 Save file을 하여 저장하면 된다.



만약 제대로 저장을 하였다면 위와 같이 될 것이다. 이제 마지막으로 뜨는 창을 제거해보자. 이건 매우 간단하다 MessageBoxA 함수를 호출하는 부분을 NOP으로 채우면 되는 것이다.



이렇게 하면 아래와 같은 사진이 될 것이다.



여기서 저장을 하면 되는데 어셈블리 창에서 오른쪽 클릭을 하여 Copy to executable 에서 All Modification 을 눌러 저장을 하면 된다. 저장을 하여 실행을 시켜보자. 



그럼 이 창만 뜰것이다. 이번 문제도 상당히 간단한 문제였다







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

CrackMe(abex'4th crackme)  (0) 2015.05.24
CrackMe (abex's 2nd crackme)  (0) 2015.05.24
CrackMe (abex's 3rd crackme)  (0) 2015.05.20
CrackMe (Project1)  (0) 2015.05.19
CrackMe(babylon keygenme)  (0) 2015.05.19
,

최근 댓글

최근 트랙백

알림

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