exposed 致力于为App提供 Xposed 运行环境。基本思路是劫持APP进程启动的入口,加载 Xposed 插件以及 hook框架 epic 。
exposed本质上是一个 Xposed 与 APP进程 之间的兼容层,它给Xposed模块提供运行环境(如插件加载、hook环境等)。
目前使用最广泛的实现是 VirtualXposed,它使用 VirtualApp 来运行APP并提供进程入口劫持。但是,exposed 本身并不依赖双开宿主;甚至不需要双开。
另外,基于APP加固的思路,甚至直接修改APK,或者通过magisk注入进程的方式,都可以实现 Xposed。
目前有以下几种实现方式:
VirtualXposed :基于双开实现,通过 VirtualApp 运行目标APK,在进程启动入口加载 exposed。优势:免安装,无篡改签名问题。劣势:性能 & 稳定性受限于双开,无法与系统完全交互。
太极:基于修改APK实现。在 Application 类的入口织入 exposed 入口代码,从而加载 exposed。优势:可以与系统完全交互,性能好。劣势:签名改变,虽有独特技术可以绕过所有检测,但是依然有风险。部分APP调用其他会检测签名,使得所有APP必须被“太极化”,风险极高。
太极·Magisk:通过 Magisk 修改系统文件,在 Zygote 进程启动的时候执行 exposed 入口代码,从而加载 exposed。优势:完全体,不存在上述所有问题。劣势:需要解锁Bootloader和刷机。
安装
下载最新版的VirtualXposed,就是一个apk。
用adb
安装:
adb install VirtualXposed_0.18.2.apk
1、打开VirtualXposed,在下载里搜索SSLUnpinning,然后在版本里安装。
2、添加应用,打勾要抓包的应用,然后点击最下面的安装。
3、打开SSLUnpinning,点击要unpinned的应用。
4、重启手机
参考
exposed
EdXposed
Inspeckage
XposedInstaller
SSLUnpinning
https://repo.xposed.info/module-overview
https://vxposed.com/