Debugging 如何使用x64dbg绕过isDebuggerPresent

Debugging 如何使用x64dbg绕过isDebuggerPresent,debugging,reverse-engineering,Debugging,Reverse Engineering,我在ollydbg中找到了如何绕过它的指南: 但是对于x64应用程序,如何做到这一点呢 我发现: 我必须如何操作它才能不让它检测到调试器?您可以按照指南中所述的相同方式来操作(即通过修补IsDebuggerPresent的代码) 或者您可以在“movzx eax,byte ptr ds:[rax+2]”指令处设置断点,当程序在断点处停止时,转到转储窗格中的rax+2,然后将字节从1更改为0。但当我执行以下操作时:将此函数替换为mov rax,0 mov eax,0->仍在某处检测调试器。。。

我在ollydbg中找到了如何绕过它的指南:

但是对于x64应用程序,如何做到这一点呢

我发现:


我必须如何操作它才能不让它检测到调试器?

您可以按照指南中所述的相同方式来操作(即通过修补IsDebuggerPresent的代码)


或者您可以在“movzx eax,byte ptr ds:[rax+2]”指令处设置断点,当程序在断点处停止时,转到转储窗格中的rax+2,然后将字节从1更改为0。

但当我执行以下操作时:将此函数替换为mov rax,0 mov eax,0->仍在某处检测调试器。。。!!我发现代码中存在CheckRemoteDebugger的用法。我也必须关心它吗?是的,可能。有很多方法可以检查程序是否正在调试。阅读:所以我需要注意所有这些可能的检查?一般来说,是的。您还可以尝试为x64dbg(泰坦之皮,锡拉之德)使用隐藏插件。使用命令
dbh