API钩子检测

时间:2013-12-18 11:03:55

标签: api hook

有没有办法识别连接到特定dll的进程?

例如, 当恶意软件感染时,它会对“Wininet.dll”中的“InternetConnect功能”进行api挂钩。 那么,如何检测特定api的这些钩子程序呢?

2 个答案:

答案 0 :(得分:0)

我认为您可能正在寻找的答案是:https://security.stackexchange.com/questions/17904/what-are-the-methods-to-find-hooked-functions-and-apis

基本上,简短的版本是,如果你想检查用户级API挂钩的常用方法,你可以尝试:

  • 将二进制文件中的代码与内存中的代码进行比较
  • 将IAT启动快照与当前IAT进行比较。
  • 将指向IAT的已知条目的代码与实际条目进行比较

This paper也被推荐为此问题的非常好的资源

答案 1 :(得分:0)

如果您想手动查找,请使用Dependency Walker查找可执行文件引用的dll(静态链接)或运行时,使用进程资源管理器(sysinternals)并检查内存中已加载的模块(dll)和他们对该过程的签名。

在Google搜索这两种工具,您会发现它免费且易于使用。

如果您有兴趣附加到流程并查找流程的所有活动(如文件系统调用,注册表调用等),则Process Monitor是其他sysinternals工具之一。