通过调用isDebuggerPresent操作eit

时间:2018-11-29 20:40:17

标签: debugging assembly malware ollydbg malware-detection

找到了一个不错的代码片段(https://github.com/invictus1306/Anti-debugging-techniques/blob/master/anti-debugging.asm),用于asm中的反调试机制。 我的问题是有关以下代码段:

 ;IsDebuggerPresent first - kernel32!IsDebuggerPresent
    call IsDebuggerPresent
    call @eip_manipulate ; change eip (point to next instruction)
    mov eax, 010h
    cmp eax, 1
    je @Detected

  [...]

      @eip_manipulate:
    add dword ptr [esp], 5
    ret

我不明白为什么我必须改变这一点。因为如果我调用isDebuggerPresent,它将为debuggerIsPresent返回1或为debuggerIsNotPresent返回0。 尝试过此方法,它仅适用于eip_manipulate调用。

0 个答案:

没有答案