安卓模拟器 adb Frida hook 抓包

基本步骤

adb connect 127.0.0.1:62001

adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043

adb shell

./data/local/tmp/frida-server

再开启

cd  D:\linuxdir\python\frida

python main.py

下载夜神模拟

https://www.yeshen.com/

安装adb

点击下载adb(科学)
把adb设置到环境变量中

直接执行 ./adb.exe connect 127.0.0.1:62001 夜神是这个端口,每个模拟器不一样

在这里插入图片描述

adb devices

安装apk

adb -s 127.0.0.1:62001 install D:\app-release.apk

adb shell pm list package 查看所有包名

在这里插入图片描述

安装frida server

下载 fridaserver 点击下载(科学)
利用adb push 到手机中的 /data/local/tmp/frida-server
在这里插入图片描述

然后adb shell进入到模拟器路径下面。

给frida-server文件权限chmod 777 frida-server

最后就是运行frida:./frida-server

pc端安装tool

pip install frida-tools

查看手机上的软件

frida-ps -U

在这里插入图片描述

在这里插入图片描述
frida.ServerNotRunningError: unable to connect to remote frida-server问题解决:

在电脑cmd窗口通过adb进行端口的转发

 adb forward tcp:27042 tcp:27042

 adb forward tcp:27043 tcp:27043

charls 证书安装证书到模拟器里 ssl

2023安卓逆向 – 抓包环境设置(Charles+Postern)

openssl
https://slproweb.com/products/Win32OpenSSL.html
在这里插入图片描述
请添加图片描述
怎么导入: https://blog.csdn.net/xiaxl/article/details/107253488

openssl x509 -inform PEM -subject_hash_old -in 证书名称.pem 或者art 一样
// 重命名证书
mv getssl1.crt 8e77c73a.0
// root 权限
adb root
adb remount
adb shell mount -o rw,remount /system
// 将证书push到对应目录
adb push 8e77c73a.0 /system/etc/security/cacerts

参考文章

移动安全APP–Frida+模拟器,模拟器+burp联动

快手APP抓包

在使用 Charles 对 Android 手机进行 HTTPS 抓包时,即使成功安装了证书但仍无法抓包,这通常与 Android 系统的安全机制有关。以下是可能导致问题的原因及解决方法: ### 1. Android 版本限制 从 Android 7.0(Nougat)开始,系统默认不再信任用户安装的 CA 证书用于拦截 HTTPS 流量,这是为了增强系统的安全性。这意味着即使安装了 Charles 的根证书,应用也不会信任该证书,导致无法解密 HTTPS 流量 [^1]。 **解决方法:** - 使用 `Just My Certificate` 模式进行抓包: - 在 Charles 中启用 **SSL Proxying** 功能。 - 添加需要抓包的应用所使用的域名到 **SSL Proxying Settings** 中。 - 在手机上设置代理后,Charles 将尝试动态生成中间证书来解密流量。 ### 2. 应用层网络堆栈限制(如 OkHttp、Network Security Config) 一些应用使用自己的网络库(如 OkHttp),并配置了网络安全策略(Network Security Config),明确指定只信任系统内置的证书,而不信任用户安装的证书 [^1]。 **解决方法:** - 修改应用的信任管理器(需 Root 权限或反编译修改): - 可通过 Hook 或反编译方式修改其网络请求逻辑,使其信任 Charles 生成的证书。 - 使用工具如 **Frida** 或 **Xposed** 框架对应用运行时行为进行修改。 ### 3. 系统级证书存储未正确配置 对于某些 Android 设备,尤其是 Android 7.0 以上版本的模拟器或真机,可能需要将证书放入系统证书目录 `/system/etc/security/cacerts/`,并且设备必须处于可写模式 [^2]。 **解决方法:** - 在 Android Emulator 上操作如下: ```bash adb root adb remount adb push charles-proxy-ssl-proxying-certificate.pem /system/etc/security/cacerts/ adb reboot ``` - 确保证书文件名格式为 `<hash>.0`,其中 hash 是证书的 subject 哈希值,可通过 `openssl x509 -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem` 获取 [^2]。 ### 4. Charles 设置问题 如果 Charles 的 SSL Proxying 设置不正确,也可能导致无法捕获 HTTPS 请求。 **解决方法:** - 启用 Charles 的 **Enable SSL Proxying** 选项。 - 在 **Proxy > SSL Proxying Settings** 中添加目标主机和端口(例如 `*.example.com:443`)。 ### 5. 网络代理配置错误 确保 Android 手机已正确配置代理到运行 Charles 的电脑。 **解决方法:** - 进入 Wi-Fi 设置,手动设置代理为 Charles 所在电脑的 IP 地址和端口(默认是 8888)。 - 确认电脑防火墙允许该端口通信。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脚本大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值