wargame.kr - Easy CrackMe(500p)

2016. 1. 11. 01:27




이번 문제는 리버싱 문제이다. 쉽다고 써있는걸 보니 쉬운가보다.




해당 바이너리는 별 특징 없는 단순한 MFC바이너리이다. MFC 바이너리는 이벤트드리븐 


방식으로 동작하므로 원하는 버튼에 연결된 함수를 찾아야 한다. 


리소스 해커를 통해 버튼의 리소스 번호를 찾은 뒤 메시지 구조체를 찾으면 쉽게 찾을 수 있다. 



 struct AFX_MSGMAP_ENTRY {

   uint  nMessage;

   uint  nCode;

   uint  nID;            // 리소스ID

   uint  nLastID;       // 리소스ID

   uint_PTR nSig;

   uint_PMSG pfn;         // 핸들러 함수 포인터

 }








주소는 0xf16c0 임을 알 수 있다.



핸들러 함수로 가보면 3가지 정도의 조건문이 나온다.



 _my_b 가 포함되어 있는지 검사



wtoi() 함수 실행 결과가 1114 인지 검사



birth 문자열이 들어있는지 검사



이 세개의 조건이 만족해야만 정답을 전송해 주는 듯 하다. 


IDA로 보아도 마찬가지로 3번의 조건 검사가 존재함을 알 수 있다.



조건에 맞춰서 전송하면 끝~



'wargame > wargame.kr' 카테고리의 다른 글

wargame.kr - Crypto Crackme Basic  (0) 2017.10.24
wargame.kr - web chatting (650p)  (0) 2017.09.13
wargame.kr - Simpleboard(600)  (0) 2017.09.12
wargame.kr - fly to the moon(500p)  (0) 2016.01.07
wargame.kr - login filtering(450)  (0) 2016.01.06

+ Recent posts