安卓逆向_22( 一 ) --- Xposed【 Android Studio + Xposed 实现简单的 hook 】

From:使用渗透测试框架 Xposed 框架 hook 调试 Android APP:https://www.freebuf.com/articles/terminal/56453.html

Xposed框架分析:https://blog.csdn.net/zjx839524906/article/details/81046844

xposted框架 原理

Xposed框架之函数Hook学习https://www.cnblogs.com/csnd/p/11800719.html

如何看待阿里开源的 dexposed 框架?:https://www.zhihu.com/question/31894163

Epic——ART上的Dexposed(无侵入式Hook框架):https://bbs.pediy.com/thread-222931.htm

【搬砖】无需 Root 也能使用 Xposed:https://www.52pojie.cn/thread-679501-1-1.html

Android中Xposed框架篇—利用Xposed框架实现拦截系统方法:http://www.520monkey.com/archives/895

关键字:xposed hook:https://www.baidu.com/s?wd=xposed%20hook

1. 什么是 hook

hook 本质就是劫持函数调用,但由于处于 linux 用户态,每个进程都有自己独立的进程空间,所以必须先注入到所要 hook 的进程空间,修改其内存中的进程代码,替换其过程表的符号地址。

Android 中一般通过 ptrace 函数附加进程,然后向远程进程注入 so 库,从而达到监控以及远程进程关键函数挂钩。

Hook 的难点在于寻找函数的入口点、替换函数,这就涉及到函数的连接与加载机制。

Android 中一般存在两种 hook:sdk hook,ndk hook。native hook 的难点在于理解 ELF 文件与学习 ELF 文件,Java 层 Hook 则需要了解虚拟机的特性与 java 上的反射使用。另外还存在全局 hook,即结合 sdk hook 和 ndk hook,xposed 就是一种典型的全局 hook 框架。

2. Xposed

xposed 原理

Xposed 是 Android 平台下的一个著名hook框架,其原理是通过修改替换 /system/bin/app_process 程序控制 zygote 进程,使app_process 在启动过程中加载 xposedBrider.jar 包,从而完成对 zygote 进程以及其创建的虚拟机劫持。基于 xposed 框架可以制作出许多功能强大的模块,其在功能不冲突的情况下同时运作。

Xposed 工程

Xposed 源码地址为:https://github.com/rovo89
Xposed 文件下载地址为:http://dl-xda.xposed.info/framewo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值