1.简介虽然依旧能抓到大部分Android APP的HTTP/HTTPS包,但是别高兴的太早,有的APP为了防抓包,还做了很多操作:① 二次加密有的APP,在涉及到关键数据通信时,会将正文二次加密后才通过HTTPS发送,我们抓包抓到的是一堆二进制base64② 自带HTTP Client像支付宝那样的变态 , 自己带了一个基于so的HTTP Client库,对于关键数据,都不走URLConnection和OkHttp,而是走自己的HTTP Client库,甚至一些WebView页面的渲染 , 都是先用自带的HTTP Client请求得到json数据,然后填到HTML模板里面,再在WebView里渲染出来 。③ SSL/TLS Pinning,APP自带服务端证书,除了自带证书什么都不信
apk在开发时就将服务端证书一块打包到客户端里 。这样在HTTPS建立时与服务端返回的证书比对一致性,进而识别出中间人攻击后直接在客户端侧中止连接 。
解决原理:
客户端不是会做两个证书间的一次性校验吗,那么就通过hook的方式将此次校验的结果返回true或者干脆不让其做校验 。当然这种做法只能在越狱环境下实现,但对于抓包来说 , 这已经足够了 。
2.方案一方案一:Xposed+JustTrustMe+Android模拟器(安卓手机需要Root,该方法有手机变砖风险,建议在模拟器下操作) 。
大名鼎鼎得Xposed,是Android平台上最负盛名的一个框架 。在这个框架下,我们可以加载很多插件App,这些插件App可以直接或间接操纵系统层面的东西 , 比如操纵一些本来只对系统厂商才open的功能(实际上是因为Android系统很多API是不公开的 , 而第三方APP又没有权限) 。有了Xposed后,理论上我们的插件APP可以hook到系统任意一个Java进程(zygote,systemserver,systemui) 。
功能太强大,自然也有缺点 。Xposed不仅仅是一个插件加载功能,而是它从根上Hook了Android Java虚拟机,所以它需要root , 所以每次为它启用新插件APP都需要重新启动 。而如果仅是一个插件加载模块的话,当前有很多开源的插件加载模块,就没这么复杂了 。
Xposed框架以在不修改APK文件的情况下修改程序的运行 。
这套框架需要设备解锁了Bootloader方可安装使用[1](root为解锁Bootloader的充分不必要条件,而xposed安装仅需通过TWRP等第三方Recovery卡刷安装包而不需要设备拥有完整的root权限) 。
(1) xposed 是啥?xposed是一个框架,上面有很多模块,这些模块都依赖于xposed这个框架,之所以称xposed是第一神器,就是因为这些模块可以完成许多匪夷所思的功能,例如:修改微信的界面,自动抢红包模块 , 自定义程序的文本 , 防止微信消息撤回,防止BAT三大流氓的全家桶相互唤醒、连锁启动,锁屏后自动干掉APP防止后台运行耗电,还有很多修改App或手机数据的装B模块等等 。
(2) xposed 的原理?xposed 原理就是修改系统的关键文件,然后当APP调用系统API时,首先经过xposed,而这些基于xposed的模块就可以选择性的在App调用这些api的时候干一些”坏坏”的事情,或者修改返回的结果,这样app在运行的时候效果就会改变,但app本身并没有被破坏,只是调用系统api的时候,Android系统的表现发生了变化,这就是钩子,专业术语hook 。所以,说白了,xposed就是个强大的钩子框架 。
来一段专业的原理解释吧:
作者通过替换 /system/bin/app_precesss 程序控制zygote进程,使得它在系统启动的过程中会加载Xposed framework的一个jar文件即XposedBridge.jar,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持,并且能够允许开发者独立的替代任何class,例如framework本身,系统UI又或者随意的一个app 。
除此之外使用这种方法的好处是ROM , APP都没有产生任何变化,因此理论上就不会造成设备变砖 , 同时撤掉修改也非常容易 , 仅需要停用 Xposed framework 即可完全恢复原样 。
XposedInstaller(xposed框架)是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作 。
JustTrustMe是Github上的一个开源工程,他是一个Xposed模块,用来禁止SSL证书验证 。以下是其简介 。
JustTrustMe:An xposed module that disables SSL certificate checking. This is useful for auditing an appplication which does certificate pinning.
Xposed安装器下载地址
安卓5.0版本以下下载地址:https://pan.baidu.com/s/1dEToAvJ 密码:uiu8
安卓5.0版本以上下载地址:https://files.cnblogs.com/files/pingming/xposedinstaller.apk
JustTrustMe Relese版本下载地址:https://files.cnblogs.com/files/pingming/JustTrustMe.apk github:https://github.com/Fuzion24/JustTrustMe/releases
推荐阅读
- 《王者荣耀》的李白怎么玩有什么操作技巧(李白剑气积攒技巧)
- vite vue3 规范化与Git Hooks
- DUCK 谣言检测《DUCK: Rumour Detection on Social Media by Modelling User and Comment Propagation Networks》
- 《基于Apache Flink的流处理》读书笔记
- RDEA 谣言检测《Rumor Detection on Social Media with Event Augmentations》
- 《瓦尔迪斯传说:深渊之城》图文攻略 深渊传说图文攻略
- 谣言检测《Data Fusion Oriented Graph Convolution Network Model for Rumor Detection》
- ClaHi-GAT 谣言检测《Rumor Detection on Twitter with Claim-Guided Hierarchical Graph Attention Networks》
- 阳光之下封潇声为什么喝中药_阳光之下封潇声吃药的原因
- 大江大河2剧情介绍_大江大河2讲了什么