我正在寻找一种工具,即使在未导出的功能上,也能够检查已加载的模块是否有任何已放置的补丁。相信他们的结果。

评论

模块装入什么?您是否在分析代码映像,正在运行的系统,内存转储?这个问题缺乏很多背景。

如果模块已加载,则必须将其加载到内存中,不是吗?您认为模块可以加载到哪里?运行系统意味着什么?如果我想询问转储文件,我肯定不会使用已加载的模块。

#1 楼

HookShark是检测是否有任何修补程序的好方法。以我的经验,它主要用于研究游戏黑客的隐身性。它扫描每个正在运行的进程的每个已加载模块的代码段,并将其与文件映像进行比较。如果检测到差异,则尝试确定挂钩或补丁的类型,并将其报告给用户。
当前实现的挂钩检测:
*-内联补丁/挂钩(NOP,Exceptionhandler,相对跳转,自定义补丁) )
*-其他自定义补丁[...]
*-VTable挂钩
*-IAT和EAT挂钩
*-重定位挂钩
*-硬件断点
*-PAGE_GAURD个候选人


评论


嗨,我已经尝试过使用此工具,但是很遗憾,它无法在某些未导出的功能上找到补丁。除此之外,它看起来像一个方便的工具。

– PhoeniX
13年6月18日在13:59

我很惊讶它错过了它们,因为它与磁盘上的二进制文件进行逐字节比较。也许是磁盘上的二进制文件已打补丁,还是ReadProcessMemory上存在全局钩子?

–彼得·安德森(Peter Andersson)
2013年6月18日14:21在

ReadProcessMemory没有钩子,因为它能够找到其他导出函数的钩子。为了确定,我会再尝试一次。只是为了验证,该工具会盲目地将所有内存与磁盘上的相应模块进行比较?

– PhoeniX
2013年6月18日14:49



那是我的印象。我没有详细研究它并实际验证了它的工作原理。

–彼得·安德森(Peter Andersson)
2013年6月18日14:58



#2 楼

http://msdn.microsoft.com/zh-cn/library/windows/hardware/ff562217(v=vs.85)

!chkimg扩展名通过比较来检测可执行文件映像中的损坏将它们复制到符号存储或其他文件存储库中的副本。

#3 楼

HookShark将在使用打包程序/加密程序保护其代码的软件中产生误报。

评论


尝试提供一些指向该工具的链接,并详细说明您的答案。您写的最多是评论,而绝对不是答案。

–恐怖
2014年1月9日10:59