美文网首页
反调试 Fake F8

反调试 Fake F8

作者: 欧皇ff | 来源:发表于2020-04-04 14:54 被阅读0次

    欺骗单步步过调试

    DTDebug 调试工具快捷键

    快捷键 作用 注释
    F7 单步步入 设置EFLAGS的TF位为1 调试CALL指令进入CALL内部
    F8 单步步过 在指令下一行设置断点
    F2 插入断点 修改当前内存的地址的值为 0xCC INT 3
    call 0x005021D0
    jmp 0x00502041
    
    mov eax,1
    mov ecx,2
    mov edx,3
    retn
    

    一步一步运行至ret
    然后进入jmp指令行


    F7调试

    EFL标志寄存器中有个TF位;如果TF置1,当前CPU就会进入单步执行模式。
    F7就是设置EFL的TF位。


    EFL F7调试中TF为的值

    直接把call ···· ret 看做一行,直接跳转到jmp指令行


    F8调试

    反调试F8 就是破坏CALL指令的正常运行逻辑。
    JMP PUSH POP
    CALL 修改下一步执行地址EIP,CALL指令下一行指令地址入栈,ESP+4,当前堆栈保存下一行指令地址。
    破坏ESP保存的地址,达到F8跟踪失败,F7还是可以正常追踪的。
    以当前经验破坏F8调试,就是多个CALL指令嵌套,随机在一个CALL中使用修改正常的地址,其他都是用来消耗反调试人的耐心,以达到反调试的目的。

    相关文章

      网友评论

          本文标题:反调试 Fake F8

          本文链接:https://www.haomeiwen.com/subject/uvkhphtx.html