常见的反调试实践是覆盖ntdll.dll中的功能,例如DbgUiRemoteBreakin。

由于公共库的内存表示在每个平台上总是相同的,因此应该有可能使外部工具连接到进程并将内存库代码与引用进行比较,以便找到由进程本身完成的任何操作。

有人知道这样的Windows工具吗?

评论

尝试查看此线程,我认为它至少可以部分回答您的问题工具,以检查加载的模块中是否有任何补丁

#1 楼

WinDbg可以对Microsoft DLL和可执行文件(以及通常可以从符号服务器获取的任何代码)执行此操作。只需将调试器附加到该进程并执行!chkimg <module>即可。它将从符号服务器下载模块的干净副本并进行比较,并报告差异。 br />

评论


所描述的操作通常用于在连接调试器时终止进程。因此,只有通过分析过程内存转储的变体才有可能。

–罗伯特
2013年6月27日15:49



#2 楼

您可以附加到进程non invasive并使用!使用chkimg !chkallimg !chksym命令。反调试例程。

评论


我正在查看您的答案,发现其中一些缺少标点符号。我进行了一些编辑,但是将来,请尝试将其合并到您的答案中,因为这样会使它们更易于阅读。谢谢!

–asheeshr
13年6月28日在2:50