安卓自吐的几种方法¶
本文档用来介绍几种常见 java 加解密算法自吐的方法
1. frida hook 自吐算法¶
本段介绍 frida 自吐算法来记录 java 自实现的常见加密的实现方法;
此自吐方法并不适用于所有场景,不要依赖此方法(有大佬可以用 objection 来 hook str 与 byte 类型转换方法可以定位到加解密类,达到类自吐的目的,后期也会添加此方法;还有很多骚操作也可以到达类似目的,需要自己去探索。)。
1.1. 前提条件¶
此实现场景为一加7 pro 12G + 256G
国行 root
的安卓 9.5.9
,自测在 Nexus 5x
的 root
安卓 8.1.0
同样成功;未测试模拟器环境下的情况,应该也没啥问题。以下步骤为一加7 pro
的对应场景,其它环境下也可参考:
房天下 app wirelesscode
参数逆向前准备如下:
root
安卓手机一台kali linux
虚拟机(可选:防止系统损坏,方便调试等情况,虚拟机可随时回滚)frida
及 对应版本的frida-server
安装HttpCanary
小黄鸟手机抓包软件
1.2. 抓包及定位¶
以上前提步骤暂不详细介绍,可自行网上搜寻配置方法,以后可能添加参考文档。
1.2.1. 手机端开启 frida-server¶
1.2.2. 手机端开启小黄鸟¶
手机开启 HttpCannary,添加目标应用。
1.2.3. kali-linux 开启 Frida Hook¶
开启 Frida Hook 前,最好先打开目标软件,并定位到所需抓包的最接近的页面,防止打印过多冗余信息(虽说无大碍)。
1.2.4. 触发请求包¶
触发所需请求,本示例为登录请求包,点击触发即可。
1.2.5. 复制请求加密参数并定位¶
在小黄鸟中找到对应请求,复制加密参数。
在 kali-linux 中定位加密结果所在位置,查看具体实现即可。
测试吐出的参数及加密结果是否与抓包数据中的值一致。
2. inspeckage 自吐方式¶
inspeckage 为 xposed 的一个插件,在配置好 xposed 环境的情况下可直接使用。
2.1. 前提条件¶
需要 root 后的手机或 root 后的模拟器,我在模拟器中实现了上文中的加密参数的定位。可能软件会检测 xposed 等环境,会造成软件闪退等问题,不建议使用。
软件闪退的原因大概是识别到 root 及类似 xposed、EdXposed、LspXposed 的框架或 trustme 插件。trustMe 最好和 trustMePlus 的升级插件一起使用,并在升级插件中隐藏工具后一般即可解决此问题,以后会更新此方式。
- root 后的安卓模拟器
- 安装好 xposed 或 EdXposed 环境
- xposed 安装 inspeckage 工具,激活并重启
略,具体实现略,我在 MuMu 模拟器中实现了此软件的加密定位,网上此文档很多,不再啰嗦,请自行搜索。
3. fridaUiTools 工具¶
fridaUiTools 工具包含常用的 app 逆向所需的工具,具有界面化操作。
具体配置及使用方法请在 fridaUiTools 缝合怪 文章中查看
4. 类自吐的骚操作¶
这里介绍一些方便的调用方法,以后更新相关内容
- Frida-rpc