Android hook技术浅析与小实践

本文介绍了Android的hook技术,解释了沙箱机制、hook的含义和目的,以及代理的概念和分类。详细探讨了反射机制,并阐述了hook技术的分类,包括API hook和系统消息hook。文章通过一个小实践展示了如何进行API hook,涉及找到hook点、选择代理方式以及替换对象的过程,强调了hook技术需要结合反射、代理和Android底层知识来掌握。
摘要由CSDN通过智能技术生成

一、什么是沙箱机制?

沙箱是一个虚拟系统程序,沙箱提供的环境相对于每一个运行的程序的进程空间都是独立的,程序的运行互不干扰,而且不会对现有的系统产生影响。

二、什么是hook?

hook的意思是勾住。比如A发送消息给B,在消息过去之前,可以先把消息勾住,不让其传递,你可以先执行你的操作(或者说先执行你的钩子函数)。
专业的说法就是:hook技术,能够改变API执行的结果,将系统的API函数执行重定向。

三、为什么需要hook?

android系统的沙箱机制使我们不能通过一个程序改变其他程序的某些行为,但是hook技术正好可以解决此类问题。

四、代理是什么?

举例生活中,比如我经常需要买一些香港的东西,又不太现实每次自己亲自去,只能找一些代购帮我们去买。那代购就比较坑了,不仅坑你的钱,还可能坑你的货品,给你带回了假货回来。

五、代理分类?

1.静态代理
2.动态代理

六、反射机制?

Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取任何东西都可以。

七、hook技术分类?

分类1 —— API hook:
分类2 —— 系统消息hook:

八、小实践

以下我们对API hook举一个详细的例子:

步骤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值