首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IAT/EAT挂钩"gethostbyname“

IAT/EAT挂钩"gethostbyname“
EN

Stack Overflow用户
提问于 2010-11-12 00:59:28
回答 2查看 2.2K关注 0票数 2

我编写了这段代码,通过更改IAT和EAT:http://pastebin.com/7d9N1J2c中的地址来挂接API函数。

当我想挂接"recv“或"connect”时,这个方法工作得很好。然而,由于某些未知的原因,当尝试挂钩"gethostbyname“时,我的挂钩函数从未被调用过。

我试图通过获取wsock32.dll模块的基地址+ 0x375e在调试器中查找"gethostbyname“,这是wsock32.dll的序号52显示为偏移量的地方。但这只会让我在一些随机的asm代码中结束,而不是在函数的开头。然而,同样的方法可以很好地找到"recv“入口点。

有没有人看到我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2010-11-16 03:55:01

我推荐这个工具:http://www.moduleanalyzer.com/

它们执行完全相同的操作,并显示与该API连接的url。问题在于,有不止一个API可以将url转换为地址。您正在挂接的应用程序可能正在使用您未截获的另一个版本的API。

票数 2
EN

Stack Overflow用户

发布于 2010-11-12 01:10:50

运行像IDA这样的反汇编程序并附加到你的进程中。在你挂接了这个函数之后,ida会在附加和播放过程中应用更改,并检查哪里出了问题。

在其他方面,你有很多库可以用来钩子,像微软的曲折,NCodeHook等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4157002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档