⑴ 准备安卓逆向
基础环境准备
虚拟机环境
下载地址 Kali Linux
文档地址 https://www.kali.org/docs/virtualization/install-vmware-guest-vm/
安卓逆向环境
- Android Studio :ADB要加入环境变量,方便操作
- Miniconda :需要 python 3.8
- 测试机:推荐Google Nexus或者Pixel系列。Pixel2XL 或者 Nexus 6P,我这里用的 Nexus 6P 64GB 的版本
- “angler” for Nexus 6P - 8.1.0 (OPM7.181205.001, Dec 2018):下载测试机对应的安卓8系统
- Magisk :Magisk v25.2 (此时此刻为最新版本)
刷机
最方便的是让卖家直接帮忙刷好
刷机步骤:
打开开发者模式,打开OEM解锁和USB调试。
用USB线连接计算机后要同意允许USB调试。
命令行输入
adb reboot bootloader
,手机会重启进入 bootloader 模式(OEM没解锁可以运行fastboot flashing unlock
,音量电源选择 Yes)解压 “angler” for Nexus 6P - 8.1.0 (OPM7.181205.001, Dec 2018) ,进入目录,运行
flash-all.bat
,进行刷机,安装过程耐心等待,完成后设置手机。手机设置中文,其他的选项都不开一路都 跳过。最后进入开发者模式打开USB调试。
设置WIFI。“已连接,但无法访问互联网”是正常的,需要USB连接,打开命令行输入:
# 设置 204服务器 adb shell settings put global captive_portal_http_url https://www.google.cn/generate_204 adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204 # 设置 时间服务器 adb shell settings put global ntp_server 1.hk.pool.ntp.org # 重启手机 adb reboot
ROOT
安装 Magisk ,
adb install Magisk-v25.2.apk
在解压的 “angler” for Nexus 6P - 8.1.0 (OPM7.181205.001, Dec 2018) 文件目录里,找到
image-angler-opm7.181205.001.zip
并解压,推送boot.img
文件到手机/sdcard/download/
目录adb push boot.img /sdcard/download/
操作手机,打开 Magisk ,安装、下一步、选择一个修补文件、选择
下载目录
找到刚才推送的boot.img
文件,开始。把 Output file 通过 adb pull 拿到计算机。
# ***** 以实际为准 adb pull /storage/emulated/0/Download/magisk_patched-*****_*****.img
进入bootloader,
adb reboot bootloader
fastboot flash boot magisk_patched-*****_*****.img
,fastboot 刷入刚才导出的文件后,点击手机电源键,进入系统。**Magisk **的设置(设置好,重启手机):
- 超级用户中 打开
shell
- 安全DNS
- 隐藏
Magisk
应用,添加主屏幕快捷方式 - 开启
Zygisk
,遵守排除列表。(排除列表是要添加有检测root能力的APP)
- 超级用户中 打开
验证 手机是否root成功。
adb shell
再输入su
看下是不是由$变成了#
抓包环境搭建
证书配置
Fiddler
- Tools → Options → HTTPS 和 Connections 按软件界面文字勾选
- 手机配置网络代理 → 访问Fiddler代理地址 → 下载证书
- 将证书移入系统内
Charles
- Proxy Settings → HTTP Proxy 和 SOCKS Proxy 都勾选相应选项
- SSL Proxying → 添加 Include Location
*:*
- Help → SSL Proxying → Install Charles Root Certificate on a Mobile Device or Remote Browser → 按上面IP去手机设置代理并访问
chls.pro/ssl
- 将证书移入系统内
信任证书
安卓7以上才需要设置信任证书,将证书移入系统
使用MT管理器,移动证书目录如下:
/data/misc/user/0/cacerts-added/
→/system/etc/security/cacerts
VPN + 中间人
Postern
安装软件
配置代理
设置代理类型为 SOCKS5
配置代理规则
匹配所有地址,通过代理连接,设置代理/代理组,开启抓包
开启VPN后,可配合Charles进行抓包
翻墙代理设置
Charles设置:Proxy → External Proxy Settings… → 勾选Use external proxy servers
→ 勾选SOCKS Proxy
并设置
手机内抓包
HttpCanary
拓展:Every Proxy 👉 https://www.everyproxy.co.uk/why-use-every-proxy/
AVD+https+remount+clash代理转发+burp版
Frida 环境搭建
官方
官网 👉 https://frida.re/docs/installation/
GitHub 👉 https://github.com/frida/frida
安装
# 这个若使用最新可以不执行
pip install frida==16.0.1
# 可以直接执行安装 frida-tools
pip install frida-tools==12.0.1
查询手机架构,下载对应版本 frida-server
# 查CPU信息
adb shell cat /proc/cpuinfo
# processor 为 0-7 代表8个核心
# CPU architecture: 8 代表 arm64-v8a 架构
推送 frida-server
到手机中
adb push frida-server-16.0.1-android-arm64 /data/local/tmp
修改 frida-server
权限为 777 ,并启动
# 修改权限
cd data/local/tmp
chmod 777 frida-server-16.0.1-android-arm64
# 查看是否修改成功
ls -l
# 启动 frida-server
./frida-server-16.0.1-android-arm64 &
测试
# 在PC上执行“列出所有进程”命令 进行验证是否安装成功
frida-ps -U
Windows 端口转发(可能会用上)
adb forward tcp:27043 tcp:27043
adb forward tcp:27042 tcp:27042