56手游网

您的位置:首页 > 资讯 > inline

inline

时间:2024-03-04 19:00:22作者:56手游来源:www.56.com.cn人气:4我要评论(0)

hook 计算机里面一般是指 挂钩某函数, 就是替换掉原来的函数。

inline hook , 是直接在以前的函数替里面修改指令,用一个跳转或者其他指令来达到挂钩的目的。

这是相对普通的hook来说,因为普通的hook只是修改函数的调用地址,而不是在原来的函数体里面做修改。

一般来说 普通的hook比较稳定使用。 inline hook 更加高级一点,一般也跟难以被发现。所以很多人比如病毒制作者都比较推崇inline hook。

静态InlineHook的简单实现

inline hook 是直接在以前的函数替里面修改指令,用一个跳转或者其他指令来达到挂钩的目的。

ssdt是利用api来挂钩的,相当于替换API,用ICESword可以很简单的判断出来。

底下是我在网上看过一篇文章的说的一个比喻,刚好能回答你的问题:

如果说SSDT Hook只是把某位"内核API先生"绑架,然后用我们的“自己人”来接管其工作,而ICESword却可以从其他联系途径找到被绑架的"内核API先生"并“报警”,那么——Inline Hook可以说是给"内核API先生"动了手术,让他成为"我们阵营的一分子"。

呵呵,很幽默的一个比喻

inline

C++实现inline hook,注入后程序异常退出

前文说到使用 基于LIEF的InlineHook实现 ,在这里我们再借助 keystone 和 capstone 来完善一下这个想法,解决一些比较枯燥且容易出错的事,比如 地址偏移的计算,指令备份还原 ...

我这么描述可能还是不直观,直接上IDA看看我们效果

hook之后使用三条指令跳转到 trampolines

[手动狗头].png

你要搞清楚一个概念,DLL被加载后地址是要重定位的,所有的全局变量、函数这些,都会随DLL加载的基址不同,地址会进行对应偏移的。

你WriteProcessMemory那句,往oldFunctionAddr地址写东西,肯定会引起异常的,谁知道被你hook的程序这个地址是啥东西?有没有分配过内存呢?

你要往被注入进程写东西,就必须先用VirtualAllocEx申请内存,你一定要牢记这个概念,所有地址都是动态的,函数、全局变量只有偏移量是固定的。

以上就是关于inline HOOK啥意思的?全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

相关阅读 极品飞车集结兰博基尼竞速级怎么改 极品飞车集结兰博基尼改装方式介绍金铲铲之战欺诈魔女怎么打,金铲铲之战欺诈魔女通关攻略s6坎特伯雷公主与骑士牺牲石像任务怎么做原神久雨莲的种子获取攻略威武霸气:疯狂动物园年兽怎么抓摩尔庄园洒水怎么放(植物大战僵尸洒水的植物怎么用)洛克王国清风山怎么走 洛克王国清风山怎么去恶果之地吞噬之刃攻略点点穿书如何看评论 点点穿书评论书籍方法介绍明日方舟律动方格图片

文章评论
发表评论

热门文章 苹果手机输入“我发现了石油”会自动开启定位?欢乐钓鱼大师兑换码新手礼包大全2024崩坏星穹铁道战意狂潮第四天弱点突袭全试用通关攻略崩坏星穹铁道茶百道联动时间

最新文章 极品飞车集结兰博基尼竞速级怎么改 极品飞车集结兰博基尼改装方金铲铲之战欺诈魔女怎么打,金铲铲之战欺诈魔女通关攻略s6 坎特伯雷公主与骑士牺牲石像任务怎么做原神久雨莲的种子获取攻略威武霸气:疯狂动物园年兽怎么抓摩尔庄园洒水怎么放(植物大战僵尸洒水的植物怎么用)

人气排行 苹果手机输入“我发现了石油”会自动开启定位?欢乐钓鱼大师兑换码新手礼包大全2024今日全平台公测崩坏星穹铁道战意狂潮第四天弱点突袭全试用通关攻略崩坏星穹铁道茶百道联动时间小鸡舰队出击古代遗迹第三赛季疾风与忍者传说事件攻略大全房间的秘密2攻略详情 房间的秘密2第一章节通关流程介绍火影忍者小南漂泊浪客图片

盖楼回复X

(您的评论需要经过审核才能显示)