第六课、Objection使用技巧
1、objection
(免)root动态调试apk
tree -NCfhl |grep aapt
无脑搜
重打包技术
- 把apk解包 加入frida-gadget.so
- 准备aapt 重打包
- 【apk免root重打包连接objection/frida】
- objection的patchapk需要aapt、adb、jarsigner、apktool,其中apktool需要官网下载下,其他前仨在android-studio中就有:
- ln -s /root/Desktop/android-studio/jre/bin/jarsigner /usr/bin
- ln -s /root/Android/Sdk/build-tools/30.0.1/aapt /usr/bin
- ln -s /root/Android/Sdk/build-tools/30.0.1/aapt2 /usr/bin
- ln -s /root/Android/Sdk/platform-tools/adb /usr/bin
- 然后就是解压apk看下它里面的lib是哪个架构的,按架构来运行: # objection patchapk --architecture armeabi-v7a --use-aapt2 --source yourAPK.apk app启动后用objection/frida直接连上即可。
- 安装apktool https://ibotpeaches.github.io/Apktool/install/
- apt install apksigner
- apt install zipalign
- objection patchapk --source falao2.apk
2、objection
内存漫游和组件控制
android hooking list classes
查看所以类env
显示包的cache
主要的缓存在哪里 主要的文件在哪memory list modules
查看进程加载的somemory list exports libpower.so
查看so导出的函数- 当结果太多,终端无法全部显示的时候,可以将结果导出到文件中,然后使用其他软件查看内容
memory list exports libart.so --json /root/libart.json
- 在安卓的堆上搜索实例
android heap search instances com.android.settings.DisplaySettings
- 调用实例的方法
android heap execute 0x2526 getPreferenceScreenResId
- 直接上代码,想要进入显示设置,可以在任意界面直接运行以下代码进入显示设置:
android intent launch_activity com.android.settings.DisplaySettings
- 也可以先使用
android hooking list services
3、objection
类和方法动态trace
例如找加载的图片的加解密地方
- 肯定是要先下载展示 hook这个api Bitmap
android hooking watch class ^Iandroid .graphics Bitmap
android .graphics Bitmap
安卓源码中找的- 把这个相关所有方法都
hook
上 没有hook
构造函数 jobs list
查看hook‘了多少函数
- 手机往下拉 图片开始加载 看什么函数会被触发
- 这就是trace
job kill ID
- 接着hook可疑的函数
android hooking watch class_method android.graphics.Bitmap.nativeRowBytes --dump-args -dump-backtrace --dump-return
- 看调用栈
- 打开jadx进行代码分析
4、objection
+DEXDump
内存暴力脱壳
内存中找魔术头
-
https://github.com/hluwa/frida-dexdump
-
pip3 install frida-dexdump
-
frida-dexdump -U -f com.app.pkgname
-
When using, I suggest using the
-d, --deep-search
option, which may take more time, but the results will be more complete.
5、objection
RPC
可以直接curl
的 RPC
- objection 启动命令后面带参数 --enable-api
- .https://github.com/sensepost/objection/wiki/API 示例
- https://github.com/sensepost/objection/blob/master/agent/src/rpc/android.ts 更多方法
六、越权进去其他界面
-
objection -g com.cz.babySister explore
objection注入 -
android hooking list activities
找到所有的service -
android intent launch_activity com.cz.babySister.activity.Mes
sageActivity
绕过登录界面启动其他的service -
android hooking list receivers
查看广播 -
android hooking list services
查看服务