用于检查加载的 DLL 的内存中代码修改的工具

逆向工程 工具 视窗 dll
2021-07-05 23:09:02

一种常见的反调试做法是覆盖 ntdll.dll 中的 DbgUiRemoteBreakin 等函数。

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

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

2个回答

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

本文提供了一个输出示例,您可以在某些内容修改二进制文件时看到它。

您可以附加到该过程non invasive并使用!chkimg !chkallimg !chksym命令。

non invasive check box在附加到进程对话框中查找windbg或使用.attach -v "pid"

以非侵入性方式连接可最大限度地减少调试器干扰,并且在大多数情况下不会触发反调试例程。