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 |