XposedFridaBridge:使用Frida加载Xposed插件
2020-07-10 13:33:50 Author: bbs.pediy.com(查看原文) 阅读量:609 收藏

活跃值: 活跃值 (388)

能力值:

( LV3,RANK:30 )

在线值:

[原创] XposedFridaBridge:使用Frida加载Xposed插件

19小时前 465

[原创] XposedFridaBridge:使用Frida加载Xposed插件

背景

在前文《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.jar
adb install justtrustme.apk
adb 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.jar
adb push justtrustme.apk /data/local/tmp/justtrustme.apk
adb push xserver.apk /data/local/tmp/xserver.apk
adb 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的诸神黄昏了。

[招聘]上海招聘移动逆向工程师及游戏反外挂工程师!


文章来源: https://bbs.pediy.com/thread-260578.htm
如有侵权请联系:admin#unsafe.sh