Anti-Debug : EntryPoint is Zero

Written by Safflower (st4rburst@naver.com)



EXE 파일의 EntryPoint 주소가 0x00000000 ("MZ")이면 일부 Debugger에서 파일 로드가 안된다.

이러한 파일을 분석하기 위해선 다른 Debugger를 사용하거나, Hex Editer 등의 프로그램을 이용해 Opcode 상태의 분석이 필요할 것이다.

그러므로 효과가 크지는 않지만 이를 이용한 간단한 Anti-Debug를 생각해볼 수 있다.


1. PE Format 중 AddressOfEntryPoint 구조체를 0x00000000 으로 변경한다.

2. 0x00000002 주소에 OriginalEntryPoint 로 분기하는 명령어를 넣는다. (0x00000000에는 "MZ" 가 들어가있으므로 수정 불가)


p.s 리버싱 처음 배울 무렵에 EXE Obfuscation 프로그램 만들다 우연히 알게됨.

+ Recent posts