一直不明白 hook 与 注入 有什么区别,关系

 我来答
匿名用户
2016-11-17
展开全部
注入跟hook确实有密不可分的联系,我们通常都是把这两者放到一起来谈,导致很多人认为它们是一回事。

应用安全里面有一个概念叫完整性,指的是程序或数据不能被攻击者恶意篡改。根据篡改时刻的不同,我们有两类方式来破坏应用的完整性:静态和动态。

安卓上,静态的篡改方式是反编译apk,修改或添加代码后重打包,用户只要安装了这个修改过的apk,运行时攻击者的代码就会被加载到进程空间。

动态的篡改方法就是hook。如果我要篡改代码,那么我要实现的就是在程序将要执行某段逻辑的时候控制它去执行我的代码,这个行为就叫hook。

一个运行时的程序表现形式是进程,代码跟数据都放在自己的进程里面。那么问题来了,操作系统隔离了进程,我的代码在我的进程里,别人的代码在别人的进程里,别人的进程是不能跳到我的进程来执行我的代码的,这怎么办呢,所以要先想办法把代码注入到别人的进程里。之前提到的重打包也算是一种静态的注入方法,动态的注入方法在安卓上与Linux的共享库注入是类似的,这种方法网上用的最多的应该是看雪的古河发布的libinject。另外还有Xposed,它采取了一种特殊的注入方法,是动静结合的。
夏日倾情734
2016-11-16 · 超过26用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:22.7万
展开全部
hook是一种机制,windows是已消息运行的!hook呢就可以最先获得消息加以处理!iat hook,ssdt inline 等吧,hook种类很多!既然需要hook,当然就需要外部连接库!dll,sys起到了作用,然后再与exe进行通讯已达到监视修改的效果!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式