挂钩进程

有没有人知道像SpyStudio的工具挂钩进程? 我想要的function是:

  • 日志函数调用其他进程
  • GUI
  • 编写脚本
  • 开源

我已经看过一些工具,如:

  • SpyStudio
  • less走弯路
  • DynInst

但是没有一个真正让我满意。

WinAPIOverride32

WinAPIOverride32的主要用途是监视/记录其他进程的函数调用。 它也有插件框架,所以你可以编写自己的钩子处理程序。 它是开源(GPL)。

这不是开源的,但除此之外 , OllyDbg可能是你正在寻找的。 其他有用的工具和信息可以在www.openrce.org上找到。

它可能使用调试API,并在应用程序的关键点放置调试挂钩来捕获事件。 你甚至可以用ollydbg来做你想做的事情 。

编辑:我只是看着网站,看到了演示视频,我会说,他们几乎肯定通过调试API来做到这一点。 他们可能会在目标函数入口点放置断点。 当陷阱事件触发时,看起来他们使用RPC调用来通知用户他们的API,并允许他们看看发生了什么,并可能修改一些东西。 在RPC调用中还发送下一步要做的事情。 一个不错的设计,但只是一个荣耀的调试器。

您可以使用开发SpyStudio的同一家公司使用Deviare。 它可以让你钩住COM接口。 SpyStudio使用这个API来监视功能。 它有一个类型的数据库,可以让你获取/设置任何类型的参数值。

你可以看看Microsoft Research的Detours库。 它是一个通用的API Hooking库。