HttpCanary一直强制升级,国内又禁止FQ,我只能如此了
主要是,我经常用到HttpCanary,目前最新版的是3.3.6,而我用的是3.1.5,一直提示让我更新,不更新不给用。
我尝试反编译了,但是人家有360加固,没得办法。
最后,实在受不了,就想到android能不能像pc一样,设置hosts屏蔽指定的站点。
由此就有了下面的一系列尝试。
一、屏蔽host
首先,每次打开,app会有提示
然后,我就想着,那我抓个包,看看他获取更新的链接地址https://raw.githubusercontent.com/MegatronKing/HttpCanary/master/config/premium/version.json。
访问一下链接,原来,他更新是通过一串json代码来对比版本号的。
{
"min": "3.3.0",
"latest": "3.3.5",
"url": "https://httpcanary.com/app/httpcanary_premium_v3.3.5.apk",
"en_notes": " • Important: The 3.2.x version was expired, please upgrade to v3.3+.
• New features: search, sort and multi selection.
• New features: batch save, zip save and batch add black/white list.
• Refactor filter and record save.
• Redesign icons in list and title texts.
• Fixed the long loading issue.
• Fixed the issue where the sub menu icon is invisible.
• Fixed certificate installation issue.
• Minor bugfixes and other improvements.
",
"zh_notes": " • 重要:3.2.x版本已失效,请升级至3.3.x以上版本。
• 新增全局搜索、排序、多选等功能。
• 新增批量保存、压缩保存、批量添加黑白名单等功能。
• 重构和优化过滤、保存功能。
• 重新设计列表非应用类Icon、标题栏内容等样式。
• 修复启动加载时间过长的bug。
• 修复标题栏子菜单图标不显示的bug。
• 修复安装证书横竖屏切换等场景出现无限循环安装证书的bug。
• 其它细节问题修复和优化。
",
"md5": "49c4ddbb2bafd7150a49cdbe35443744"
}
其实也可以通过静态注入,将返回的最低版本3.3.0修改成低版本,就不会强制退出了。不过需要一直开着抓包软件,进行静态注入,就很麻烦,不如直接hosts屏蔽。
接下来,手机进行修改hosts,路径是/system/etc/hosts
我尝试用MT管理器直接进行修改,但是没法保存,提示failed on '/etc/hosts' - Device or resource busy
后来发现,用命令终端是可以的。还是用MT管理器,左侧找到终端模拟器
具体命令
su
su是为了获取root权限
vi /system/etc/hosts
然后键盘点i进入编辑模式,编辑完了之后,按esc,输入:wq
进行保存
如果提示hosts readonly的话,打开Magisk Manager里面的Systemless hosts即可。
如此就ok了。
最后如何测试呢?
修改之后,再次访问https://raw.githubusercontent.com/MegatronKing/HttpCanary/master/config/premium/version.json
会直接提示,无法打开
二、修改hosts文件权限
还是用命令行,在用su
获取root权限的情况下,执行下面的代码
chmod 666 /system/etc/hosts
意思就是授予hosts文件所有权限
666表示所有者、用户组、其他都有读写权限