我目前正在与 32 位可执行文件上的这种保护作斗争。
在它的运行过程中的一些点,保护得到的地址DbgUiRemoteBreakin
并写入JMP
到ExitProcess
作为抗粘结技术。我决定在该位置的 write 上放置一个内存断点(我也尝试过访问),至少我会找出哪些代码改变了代码。在设置断点后,我F9只为我的内存 bp 从未触发而击中,我尝试了多次。代码被修改了,但是我的内存bp没有被触发。这是我第一次没有触发内存断点。我很困惑为什么会发生这种情况。我唯一的猜测是它DbgUiRemoteBreakin
位于ntdll.dll 中,这就是保护页面在那里不起作用的原因。也有我在该函数上设置内存 bp 时发生崩溃的情况。
但是,我希望有人遇到过这种情况并且可以进行更深入的解释。我的 ollydbg 版本是 1.10。