来自穷逼对HttpCanary的蹂躏
发布于2020-09-16 20:33:38,更新于2022-10-18 21:22:24,标签:android 文章会持续修订,转载请注明来源地址:https://meethigher.top/blog主要是,我经常用到HttpCanary,目前最新版的是3.3.6,而我用的是3.1.5),一直提示让我更新,不更新不给用。
我尝试反编译了,但是人家有360加固,没得办法。
最后,实在受不了,就想到android能不能像pc一样,设置hosts屏蔽指定的站点。
由此就有了下面的一系列尝试。
一、屏蔽host
首先,每次打开,app会有提示
然后,我就想着,那我抓个包,看看他获取更新的链接地址。
访问一下链接,原来,他更新是通过一串json代码来对比版本号的。
1 | { |
其实也可以通过静态注入,将返回的最低版本3.3.0修改成低版本,就不会强制退出了。不过需要一直开着抓包软件,进行静态注入,就很麻烦,不如直接hosts屏蔽。
接下来,手机进行修改hosts,路径是/system/etc/hosts
我尝试用MT管理器直接进行修改,但是没法保存,提示failed on '/etc/hosts' - Device or resource busy
后来发现,用命令终端是可以的。还是用MT管理器,左侧找到终端模拟器
具体命令
1 | su |
su是为了获取root权限
1 | vi /system/etc/hosts |
然后键盘点i进入编辑模式,编辑完了之后,按esc,输入:wq
进行保存
如果提示hosts readonly的话,打开Magisk Manager里面的Systemless hosts即可。
如此就ok了。
最后如何测试呢?
修改之后,再次访问该链接地址
会直接提示,无法打开
二、修改hosts文件权限
还是用命令行,在用su
获取root权限的情况下,执行下面的代码
1 | chmod 666 /system/etc/hosts |
意思就是授予hosts文件所有权限
666表示所有者、用户组、其他都有读写权限
三、安卓11安装证书
安卓11无法直接安装证书了。
点击弹窗的关闭,就会生成证书了。然后去/data/data/com.guoshi.httpcanary.premium/cache/目录下,找到httpcanary.pem复制一份出来,重命名为httpcanary.jks。
打开小黄鸟,点击添加根证书至root。
移动之后,就会提示成功。
如果此时还是报错,可以手动导出.0
的证书,然后安装到/system/etc/security/cacerts路径下面。不过此时八成是不行的,那么需要安装一个面具模块小黄鸟系统证书挂载,专门为HttpCannary移入证书使用的。
安装好模块,启用,然后重启,再去HttpCanary中点击添加根证书至root。
四、安卓12安装证书
证书安装的操作流程跟安卓11操作一样,但是由于安卓版本问题,会出现抓包无网络的问题。
此时要借助于ViRb3/TrustMeAlready: 🔓 Disable SSL verification and pinning on Android, system-wide