查看原文
其他

XposedFridaBridge:使用Frida加载Xposed插件

Monkeylord 看雪学院 2021-03-07

本文为看雪论坛优秀文章

看雪论坛作者ID:Monkeylord





背景


在前文《Frida加载和启动XServer中提到,Xposed的使用环境越来越受限制。Frida成为了新宠,这在论坛中新技术文章的频率中就可以看到。

但是不可否认的是,Xposed的生态和工具还是相当的丰富。所以,如果能将Xposed移植到Frida中,那将是极好的。




介绍


Xposed API本身的移植在技术上是畅通的,比如EdXposed等,使用其他框架来实现Xposed API是可行的。实质上讲,实现Xposed API其实就是加载XposedBridge并实现其中的native方法,而Frida的Hook正好是一种native方法实现。
 
所以可以用Frida实现XposedBridge,然后剩下的杂七杂八的事情交给XposedBridge去做就行了。
 
有类似的还有@Leadroyal同学,他在《friposed —— Write java hook with frida》也提到了这种可能,对我有一些启发。不过确实说来容易做来难,Frida实现Xposed Bridge里有不少坑,甚至发现了Frida的BUG提了Issue。
 
项目地址:https://github.com/monkeylord/XposedFridaBridge





使用


使用前要做一点准备:

1. 将XposedBridge.jar推进设备

2. 安装Xposed插件,或将APK推进设备

3. 配置modules.list


比如说,目标应用是com.monkeylord.hooktarget,要使用的插件是justtrustme。

adb push XposedBridge.jar /data/local/tmp/XposedBridge.jaradb install justtrustme.apkadb shell 'echo "/data/app/just.trust.me-1/base.apk" > /data/local/tmp/conf/modules.list'

然后就可以用Frida在目标应用里启动Xposed和插件了:

  frida -U com.monkeylord.hooktarget -l .\XposedFridaBridge.js

效果:



然后Burp里就顺利抓到包了。


关于modules.list


这是XposedBridge寻找插件时加载的配置文件,可以在XposdInstaller沙箱中的conf/modules.list看到,其格式很简单,就是插件APK的路径,每行一个。其实这些APK不安装也行,只要在里面指明APK路径就行。所以其实完全可以不安装:

adb push XposedBridge.jar /data/local/tmp/XposedBridge.jaradb push justtrustme.apk /data/local/tmp/justtrustme.apkadb push xserver.apk /data/local/tmp/xserver.apkadb shell 'echo "/data/local/tmp/justtrustme.apk" > /data/local/tmp/conf/modules.list'adb shell 'echo "/data/local/tmp/xserver.apk" >> /data/local/tmp/conf/modules.list'


已知问题


发现Frida在夜神模拟器中不能Hook com.android.org.conscrypt.TrustManagerImpl 中的checkServerTrusted方法,否则会崩溃,这不是XposedFridaBridge的问题,可能是模拟器和Frida不兼容。

在测试设备(Nexus 5)中一切正常,本质上还是Hook框架不稳定。

如果发现其他问题,欢迎提出。





总结


使用Frida实现了Xposed API,实现Xposed API的实质是加载XposedBridge.jar并实现其native方法。成功实现之后,就可以用Frida在无需Xposed Framework的情况下加载Xposed插件了。
 
好了,我这个Xposed遗民可以坐到一边等待Xposed的诸神黄昏了。



- End -


看雪ID:Monkeylord

https://bbs.pediy.com/user-776971htm

  *本文由看雪论坛 Monkeylord 原创,转载请注明来自看雪社区。


推荐文章++++

* 观赏某大佬分析病毒后的一次复现分析

* 分析钓鱼邮件搭载的Excel 4.0恶意宏

* ollvm算法还原案例分享

* 以显示b站楼层编号为例,上手油猴脚本与抓包

* 举杯邀Frida,对影成三题














公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com



ps. 觉得对你有帮助的话,别忘点分享点赞在看,支持看雪哦~


“阅读原文”一起来充电吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存