UnPackMe 를 실행하면 메세지박스를 띄운다. 이를 이용하기 위해 MessageBox 함수에 BP 를 걸었다.
좀 더 BackTracking 을 하면 CALL 01CC0000 를 확인할 수 있다.
한 가지 재미있는 사실은 01CC0000 함수를 여러번 호출하는데 기존의 API 를 대체한 함수이다. 결론부터 말하면 일종의 API Handler 이다.
Step Into 를 하다보면 Stack 에 원래 호출하려던 API 주소를 PUSH 하는데 다음의 JMP 에서 RET 를 통해 원래 API 로 점프한다.
IAT 복구 방법은 CALL 01CC0000 를 하나씩 원래 API Call 로 바꾸는 것이다. 하지만 상당한 노가다이므로 자동화 작업이 필요하다. 이건 나중에...
'Unpacking > Unpacking Tech' 카테고리의 다른 글
VMProtect로 난독화 된 악성코드 분석에 대한 예시 (4) | 2017.10.18 |
---|---|
Stub Code 특성을 이용한 OEP 찾기 (0) | 2017.06.11 |
Hooking 과 난독화(Obfuscation) 의 관계 (1) | 2017.01.30 |
API Backtrace 를 이용한 API 역난독화, 과연 만능일까? (0) | 2017.01.28 |
Themida 가 사용하는 API Redirect (1) | 2017.01.22 |