Anti Debugging Trick-1 int 0x2e

일반적으로 int 0x2e를 만나게 되면 유저 모드에서 커널 모드로의 제어 이행을 수행하는 코드로써, 소프트웨어 인터럽트를 발생시키고, 유저 스택을 커널 스택으로 변경시킵니다. 이는 NtQuerySystemInformation를 수행하는데, ring3 단계의 디버깅 중일경우 Hang이 걸리게 됩니다.

 
 

결과값을 eax에 리턴 시켜서 확인하는 법도 외부 자료로 공개 된것이 있는데, 본 Trick을 만나면 해당 int 2e를 실행하지 않도록 하면 우회가 가능합니다.

 
 

Trick의 일반적인 형태는 아래와 같습니다.


lea edx, esp+4

int 2e



mov edx, esp

int 2e



 
 

우회 방법은 nop, new origin here, jmp등 여러 방법을 사용하시면 됩니다. 🙂

Facebook Comments

Leave A Reply

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