我正在尝试捕获反调试例程,但我不太明白 INT3 的作用,并且我读到它可以用于检测调试器和掩码调用。如果我正在步进,该程序最终会将我发送到一个无意义的循环中,如果我正在运行,它会通知我已找到调试器。
77BE0000 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
77BE0004 CC INT3
77BE0005 C2 0400 RETN 4
77BE0008 > CC INT3
77BE0009 90 NOP
77BE000A C3 RETN
77BE000B 90 NOP
77BE000C > CC INT3
77BE000D C3 RETN
我认为 INT3 可能会发生在这里。由于我的英特尔指令集参考 ( http://faydoc.tripod.com/cpu/index_i.htm ) 说这与调试器中断有关。我还阅读了一些关于如何使用这些来屏蔽逆向工程师的调试器检测的内容。
我是在吠错树还是这行代码中有问题?