본문 바로가기

Unpacking/Unpacking Tech

ASProtect

UnPackMe 를 실행하면 메세지박스를 띄운다. 이를 이용하기 위해 MessageBox 함수에 BP 를 걸었다. 



좀 더 BackTracking 을 하면 CALL 01CC0000 를 확인할 수 있다.




한 가지 재미있는 사실은 01CC0000 함수를 여러번 호출하는데 기존의 API 를 대체한 함수이다. 결론부터 말하면 일종의 API Handler 이다.



Step Into 를 하다보면 Stack 에 원래 호출하려던 API 주소를 PUSH 하는데 다음의 JMP 에서 RET 를 통해 원래 API 로 점프한다.



IAT 복구 방법은 CALL 01CC0000 를 하나씩 원래 API Call 로 바꾸는 것이다. 하지만 상당한 노가다이므로 자동화 작업이 필요하다. 이건 나중에...