Skip to content

Anti-Debugging detection and obufuscation techniques that involved the use of Win32 API functions.

Notifications You must be signed in to change notification settings

invictus1306/Anti-debugging-techniques

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Anti-debugging-techniques

Anti-Debugging detection and obufuscation techniques that involved the use of Win32 API functions.

This simple tool was written in Assembler x86 Win32 API and the Anti-Debugging method are:

  • NtGlobalFlag - PEB!NtGlobalFlags
  • IsDebuggerPresent - kernel32!IsDebuggerPresent
  • IsDebuggerPresent - PEB!IsDebugged
  • FindWindows for ollydbg
  • Software breakpoint detection
  • Hardware breakpoint detection
  • Self-modifying code
  • Obfuscation

For example see follow code (first case):

;NtGlobalFlag - PEB!NtGlobalFlags
xor eax, eax
assume fs:nothing
mov eax, fs:[eax+30h]
mov eax, [eax+68h]
and eax, 70h
db 0ebh, 01h
db 0ffh, 085h, 0C0h
jne @Detected

The NtGlobalFlag field exists at offset 0x68 in the Process Environment Block
We look at the individual instructions:

mov eax, fs:[eax+30h] ; Process Environment Block</br>
mov al, [eax+68h] ; NtGlobalFlag</br>
and eax, 70h ; if value of eax is 70h</br>
db 0ebh, 01h ; means jmp and skip 1 junk byte</br>
db 0ffh, 085h, 0C0h ; Follows opcode "085h, 0C0h" matches with istruction test eax, eax</br>

I have tested the executable on Win7 32 bit and 64 bit.

About

Anti-Debugging detection and obufuscation techniques that involved the use of Win32 API functions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published