我正在使用IDA Pro分析PE文件,而int 2Dh使用q4312079q技术作为反调试工具: ?
我正在使用本地win32调试器

评论

CODE:0045505A推偏移loc_455076很好,这可以设置一个seh,因此我会在其中设置bpx,因为它最有可能触发seh,并且seh中的eip设置为一个新的地址,以便从...继续因为我玩过int2d,所以我记不清全部内容,但是后面的代码很虚假

#1 楼

该代码预期将发生异常,该异常将在没有调试器的情况下发生。如果存在调试器,则断点异常通常会被调试器抑制,并且执行将在0x455067或0x455068处继续,具体取决于调试器。

您有两个简单的选择:一个选择是您可以只让执行达到0x455084,然后将var_1更改回零(或最初具有的任何值)。您不希望它的值为“ 1”。

另一种选择是将0x455065处的字节从0xCD更改为0xFF(例如),然后执行该字节。此序列将导致发生异常,这确实是您想要发生的(请注意,异常代码将不正确,因此您需要注意代码是否检查0x80000003,并采用该代码路径) 。执行将在0x455076处转移到处理程序,此时您可以将0x455065处的字节改回0xCD(以防代码进行自我检查),然后恢复调试。