以前在做网维行业的时候,会用很多监控工具用来监控文件或进程的创建过程,以此来协助解决一些问题。比如 Malware Defender、Process Moniter 等工具,这些工具功能强大但有一些局限性。比如 Malware Defender 不支持 64 位系统、Process Moniter 干扰信息太多等。所以最近自己刚好做 Hook 这块工作,学习着做了一个应用曾下监控文件及进程创建的工具,虽然是应用层监控,但是 Hook 的一些关键函数与 Malware Defender 是同样的。所以监控的效果是差不多的,且支持 64 位系统。但目前只能通过 DebugView 来查看输出的信息,后期我会做一个界面来查看输出信息。以下是效果截图:

2016-07-30_184236

程序代码

由于程序稍有一些复杂,而且用到了开源库,所以我将代码上传到了 github,这样一个是大家可以下载到完整可编译的代码,另外一个是我可以随时更新。 Github地址:https://github.com/nmgwddj/EasyHook

如何使用

下载 VS2010 打开项目编译后,会生成 ExampleDll.dll 和 ExampleDll64.dll,分别是 32 位和 64 位版本。将两个 Dll 分别加入 32 位和 64 位的 AppInit_Dlls 注册表下即可(64位系统两个注册表都要设置)。 32-bit 的注册表 2016-07-30_190535 64-bit 的注册表 2016-07-30_190609 添加完成后打开 DebugView 就能看到运行程序或者改动文件的输出信息了。