我正在尝试编写一个应用程序,通过所有正在运行的进程(以及在我的应用程序启动后创建的应用程序)对Windows API的某些功能和DLL的使用进行静态分析)。
在搜索互联网后,我发现了一些可能有用的工具,例如WinAPIOverride
,EasyHook
和ProcMon
,它们使用不同类型的挂钩。不幸的是,对我来说,他们似乎无法完全满足我的需求:WinAPIOverride
,EasyHook
只能挂钩应该选择的某些流程,ProcMon
没有我可以用来跟踪我需要的API调用的接口。
我也想知道这种挂钩是否可以与Python代码或至少C#环境接口。
我想听听有关如何做到这一点的一些建议。
答案 0 :(得分:1)
这篇文章可能不是你想要做的事情的圣杯,但肯定会让你在你的任务中得到进一步的发展:
http://www.codeproject.com/Articles/2082/API-hooking-revealed
我并不是100%肯定这是我在考虑使用ProcMon 的文章。经过进一步的研究,我很确定这是EasyHook我在想什么:http://www.codeproject.com/Articles/27637/EasyHook-The-reinvention-of-Windows-API-hooking
此外,ETW可能是另一种调查途径:http://www.codeproject.com/Articles/570690/Application-Analysis-with-Event-Tracing-for-Window