现有一 APP ,采用 HTTPS 方式与服务器通讯,需要对该 APP 抓包获得接口。
但是现在问题如下:
用主力机抓包:Android 12 ,安装证书后第三方 APP 默认不信任非系统证书,无法抓包;
用备用机抓包:Android 5.1.1 ,因该接口需要先获得定位数据,而备用机定位十分缓慢,也无法抓包;
Android Studio Emulator:arm 架构的镜像无法启动,该应用无法安装在 x86 架构上。
因此想问问大家有什么别的好的方法吗?
1
mynuolr 2022-03-22 16:41:12 +08:00
Root 后把自签加入系统证书。
|
2
learningman 2022-03-22 16:44:12 +08:00
用 frida/xposed hook 证书验证的接口,直接 return true
|
3
DonaldY 2022-03-22 16:47:51 +08:00
charles
|
4
NjcyNzMzNDQ3 2022-03-22 16:49:13 +08:00
补充#1
下个安卓模拟器,比如网易木木,再带 root 功能,方便自签证书导入 |
5
popok 2022-03-22 16:49:31 +08:00 1
现在的安卓系统确实比较麻烦,我也蹲一个可用的方法。
这方面还是 ios 方便,直接证书信任,然后就可以抓了。 |
6
DonaldY 2022-03-22 16:49:31 +08:00
Android 确实。。。
|
7
dier 2022-03-22 16:54:03 +08:00
Fiddler 在 PC 上做代理也不行吗
|
8
tiny1994095 2022-03-22 16:57:58 +08:00 1
|
9
LxnChan OP @mynuolr @learningman 不能采用 root 或者框架,会被检测
@NjcyNzMzNDQ3 应用不支持 x86 架构 @dier 要安装证书 @tiny1994095 稍后我看一下 |
10
bruce0 2022-03-22 17:07:08 +08:00
忘记从哪个版本开始 Android 抓包变麻烦了, 原因是 app 可以不信任非系统证书,这就需要 root 权限把伪造的证书加入 root ,然后在用 frida 代理抓包
但是有的 app 检测到 root 后就退出,或者检测到代理就退出,有的还只信任 app 内自带的私有证书,这些就很难搞了 https://zhuanlan.zhihu.com/p/46433599 可以参考 |
11
ysc3839 2022-03-22 17:09:03 +08:00 via Android
SSLUnpinning 2.0
|
13
clf 2022-03-22 17:13:34 +08:00
手机虚拟机装 root 的镜像呗
|
14
deplivesb 2022-03-22 17:27:16 +08:00
Xposed
|
15
tsanie 2022-03-22 17:29:55 +08:00
实在不行自编译 aosp ,把 mitm 证书内置为系统证书(
|
16
learningman 2022-03-22 17:30:57 +08:00
@LxnChan #9 root 检测本身也可以被 hook 的,一直不能 root 多束手束脚啊
|
17
mxalbert1996 2022-03-22 17:37:39 +08:00 via Android
先用 Magisk 来 root
然后用 https://github.com/Magisk-Modules-Repo/movecert 把用户证书转成系统证书 再用 Shamiko ( https://github.com/LSPosed/LSPosed.github.io/releases) 对特定应用隐藏 root |
18
mxT52CRuqR6o5 2022-03-22 17:42:39 +08:00 via Android
你那应该不是不信任非系统证书,而是有 ssl pinning ,只信任特定的证书
我的建议就是用安卓 5 ,装个 xposed 插件去除 ssl pinning 限制,再找些插件防止 root/xposed 检测 |
19
mxT52CRuqR6o5 2022-03-22 17:43:01 +08:00 via Android
定位速度问题再找一些虚拟定位去解决
|
20
libook 2022-03-22 17:51:07 +08:00
买个可解锁的手机(无锁更方便,如 Pixel ),system 挂载成可写之后把证书转 PEM 格式、按命名规则改好名字,放在特定的目录下就可以了,不需要手机持续 root 状态。
当然 root 了也可以,操作更方便一些。 急着用可以找些电脑上用的自带 root 的安卓模拟器,比如夜神模拟器,就是兼容性不是特别好,有时候会闪退。 |
21
LxnChan OP @bruce0 是 7.0
@ysc3839 #11 @mxalbert1996 #17 不能 root @clf 考虑过,但我想作为最后的解决方案 @tsanie 草🤣,这就开始下载源码( @mxT52CRuqR6o5 #19 虚拟定位稍后试一下 |
22
Jat001 2022-03-22 18:00:45 +08:00
|
23
ch2 2022-03-22 18:02:05 +08:00
->该应用无法安装在 x86 架构上
装个翻译插件就行了 |
25
Zy143L 2022-03-22 18:47:04 +08:00 via Android
安卓 12 使用 Magisk 模块安装根证书
使用 Xposed 模块 JustTrustMe TrustMe 解除固定证书 |
26
noahhhh 2022-03-22 18:50:21 +08:00 via Android
Android 不是有很多虚拟机吗…太极应该也行吧
|
27
chanwang 2022-03-22 19:22:15 +08:00 via Android
电脑开热点抓手机的包不可以吗?抓包不是很简单嘛?当然我说抓的是手机的流量全部包了。还是说要解密数据?这个绕不开证书。抓包整个通讯路径上都可以尝试抓包吧?非要手机上自己抓?路由器上不可以?
|
30
skylancer 2022-03-22 20:12:12 +08:00
[现有一 APP ,采用 HTTPS 方式与服务器通讯,需要对该 APP 抓包获得接口。]
我发现都是回贴不看贴的.. |
31
mxT52CRuqR6o5 2022-03-22 20:17:06 +08:00 via Android
如果 app 用了 ssl pinning ,你在那边折腾证书是没用的,这种情况下不 root 就得改 app 了,你说哪个更难操作(都能改 app 了还抓什么包呢)
|
32
theqiang 2022-03-22 20:18:07 +08:00 via Android
目前用 lsposed 插件 JustTrustMe/TrustMeAlready + HttpCanary + magiskhide 组合,但是有 root 方案了
|
33
imtianx 2022-03-22 21:00:00 +08:00
我记得使用 okhttp 可以自定义代理,这样抓包工具是抓不到的,但是如果连的 wifi ,在路由器上应该可以抓到,但是解密比较麻烦吧。
|
34
imtianx 2022-03-22 21:01:06 +08:00
还有 ,root 和 xposed 检测可以自己欺骗过去的
|
35
mxalbert1996 2022-03-22 21:06:54 +08:00 via Android
@LxnChan 不能 root 就放弃吧,你这个需求没 root 是不可能的。
|
36
wanf3ng 2022-03-22 21:14:55 +08:00 1
下个安卓模拟器,安卓版本选 4.4 (只要 7 以下就行,7 以下可以信任非系统证书)
|
37
jpyl0423 2022-03-22 21:14:58 +08:00
装个平行空间 apk ,然后就能用 charles/fiddler 抓包了
不过这个平行空间的版本有要求,好像是某个版本之下,具体不记得了可以搜一下。 |
38
0o0O0o0O0o 2022-03-22 21:26:33 +08:00 via iPhone
1. 用一些免 root 框架,如果被检测,先尝试各种公开的过检测的技巧和插件,再进一步则需要学习分析
2. 带有 ARM 转译的商业模拟器,或者干脆 arm 云真机,如果仍然被 APP 检测,那么可能也需要学习分析和过检测 3. 修改 APP ,重新打包 APK ,由于现在的应用多数有加固,比上述的大概还复杂一些,一般用于需要重新分发的场景,只是抓个包成本太高 总之,这方面的新手如果一定要给自己提前设下机型和免 root 的限制,那对于同等防护级别,要付出的努力也会更多。 |
39
cweijan 2022-03-22 22:06:46 +08:00
@mxT52CRuqR6o5 不是的,比如京东就没有 ssl pinning, 而是设置了只信任系统证书
|
40
LxnChan OP @0o0O0o0O0o 倒是提醒我 arm 云真机的问题了,等下问问学校那边还有没有资源
|
41
mydingyan 2022-03-22 23:41:04 +08:00
我项目组原本 APP 加了私有证书,fiddler 抓包抓不了,后来让前端打包 APP 时不加 ssl pinning 就可以抓了。
|
42
xuhaoyangx 2022-03-22 23:49:58 +08:00
|
43
maskerTUI 2022-03-23 09:16:06 +08:00
装个免 root 框架,像太极 xposed 这种
|
44
ltkun 2022-03-23 09:33:18 +08:00
会检测不能装个屏蔽检测的工具吗 root 了都 还有啥不能干
|
45
kingfalse 2022-03-23 09:40:35 +08:00
这不想那不想的,干脆别抓了,不想 root 主力机就用模拟器,mumu,夜神,雷电,完全够用,检测 root 就屏蔽他检测,这些都是可以做到的
|
46
kingfalse 2022-03-23 09:41:42 +08:00
除了 Flutter 开发的 app 抓包恶心点外,其他的都好说
|
47
HFX3389 2022-03-23 09:58:37 +08:00
话说现在有人出已 root 的抓包机吗:D😋
|
48
serge001 2022-03-23 10:22:10 +08:00
https://github.com/android-hacker/VirtualXposed
不需要 root, 装一个 VirtualXposed ,然后把 app 安装到 VirtualXposed 里 |
49
FaiChou 2022-03-23 10:26:02 +08:00
红米 Note10 root 后, 使用 Packet Capture 和 HttpCanary 都不能添加证书.. 不知道啥原因
|
51
soulmine 2022-03-23 11:16:51 +08:00
冷知识 安卓 7 之前可以随便装证书
|
52
yukiwc 2022-03-23 15:19:18 +08:00
借楼问问,wifi 直连的应用怎么抓数据,fiddler 抓不到
|
53
ZeroDu 2022-03-23 15:53:06 +08:00
HttpCanary 貌似 github 上作者删库了
|
54
LxnChan OP |
55
MonkeyJon 2022-03-23 17:29:01 +08:00
https://blog.chrxw.com/archives/2020/08/10/1353.html
你试试,把小黑盒这个软件换成你要抓的软件 |
57
yolee599 2022-03-24 08:51:22 +08:00 via Android
root 后安装面具,是可以隐藏 root 的,隐藏后某钉都检测不到,所有银行 APP 也检测不到
|
58
magicdawn 2022-04-23 01:02:24 +08:00
安卓好麻烦...
有没简单点的办法, 现在没 root, 日用机, 没解锁 |
59
qgbcs1 2022-10-09 21:19:42 +08:00
frida.PermissionDeniedError: failed to execute child process “/data/local/tmp/re.frida.server/frida-helper-32” (Bad address)
|