Anti Debugging Trick-3 PE Header

이것도 Trick 비슷한것은데요 PE Header를 조작하여, 정상적으로 디버깅을 하지 못하도록 하는 기능이라고 보시면 됩니다.

 
 

윈도우용 실행파일들은 PE Header를 가지고 있어서, 실행에 필요한 환경정보를 거기에 설정하도록 정의되어 있습니다.

 
 

여기서 PE Header에 대해 애기하는것보다는 따로 정리된 자료를 보시는게 좋을것 같네요. 여기서는 이 Header을 일부 조작하여, Debugger로 실행하였을때, 프로그램이 오류를 내도록 하는 트릭입니다.

 
 

아래는 PE Edit로 본 PE Header의 위치값 입니다.

 
 

이중 아래 빨간선 내의 값들을 조작하여, Debugger에 오류를 발생시킬수 있습니다.

 
 

정상값 (항상 이값을 유지하지 않음)

Size Of Code : 400

Size Of Init Data : A00

Base Of Code : 1000

Base Of Data : 2000

Number Of Rva and Sizes : 5

 
 

이를 아래와 같이 수정하시면 Debugger에서 아래와 같은 오류와 함께, NTDLL로 넘어가게 됩니다.

 
 


 
 


이 트릭을 우회하려면, PE Header에 대해 사전지식을 습득해둘 필요가 있습니다. 🙂

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.