【移动安全基础篇】——07、Android_Hook_cydia

1. Hook 钩子
对函数进行挂钩,可以影响整个函数的执行,挂上钩子之后,注入的代码可以接管整个函数,修改函数的参数或者返回值,甚至修改函数的行为等等。
2. Cydia 的 Demo 示例(兼容性问题,所以使用不普遍)
函数 Hook 的方法如下:
找到要挂钩的类,然后找到要挂钩的函数,最后对目标函数进行挂钩重写。
步骤:
(1)导入 lib 文件 substrate-api.jar
(2)AndroidManifest.xml 文件修改

(3)入口类编写

只需要知道类名就能钩上,而且是属于系统全局属性的钩子,基本不会被检测到,这是cydia 的特点之一。
3. Java 反射
Java 能够通过反射方法获取类和它的成员,反射相当于提供一些函数,在不知道原始类定义的情况下,修改类中相关成员的属性和值等。
方法如下:
所有类都是继承于Object 的,所以都可以使用 Object 的方法,也可以强制转换为 Object。所以,当遇到无法表示出的对象时,直接使用 Object 即可。
获取对象的类:

获取类中的方法:

使用对应的不是以 s 后缀的函数可以获取特定的函数或 field

方法调用

域操作

访问权限设置,域和方法都一样,控制是否可以直接访问,相当于 public 属性

其余的函数,可以获取函数的名称,还有其他种种信息

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值