吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10330|回复: 26
上一主题 下一主题
收起左侧

[Android 分享] HttpCanary的插件和静态注入

  [复制链接]
跳转到指定楼层
楼主
micfy 发表于 2022-5-23 11:31 回帖奖励
本帖最后由 micfy 于 2022-5-23 15:04 编辑

说在前面:HttpCanary(小黄鸟)有多个版本,本人经过测试,发现v3+的功能多一点,抓包好用,但是没有静态注入功能,v9+有静态注入,但是抓包分析包的功能比较弱。
作为目前Android平台最强大的抓包工具,HttpCanary从设计之初就规划了插件功能(2.6.0版本之前称为‘模组’)。基于NetBare框架的虚拟网关-拦截器设计,HttpCanary可以实现非常多的扩展功能,

比如Host屏蔽、IP屏蔽等。将一些扩展功能都以插件的形式,集成到HttpCanary中,既互相独立又相互作用,最典型的就是静态注入器。

插件 HttpCanar版本 v3+插件安装HttpCanary -> 插件管理 -> 右上角+号 -> 插件仓库
插件1:Host屏蔽利用Host屏蔽插件,我们可以屏蔽对指定Host或者服务器IP的Http请求,比如屏蔽广告请求等。

        1.1 使用方式创建一个名为hosts.txt的文本文件,将需要屏蔽的Host或者IP以一行一行的格式添加进去,然后复制到/HttpCanary/plugins/HostBlock/目录下。比如:
www.hello.com
www.work.com
www.bug.com:8080

除了Host,也可以加入IP地址:
10.11.12.13
10.10.10.10
123.123.123.123

当然,还可以Host和IP混着写:
www.hello.com
10.11.12.13
10.10.10.10
www.work.com
123.123.123.123
www.bug.com:8080

        1.2 注意事项Host后面有些情况下需要加入端口号,具体可以到抓包内容总览中查看Host后面是否有端口号。
        1.3 本人常用屏蔽广告网址
*.pglstatp-toutiao.com
*.ugdtimg.com
*.pangolin-sdk-toutiao.com
*novelapp.ixigua.com
toblog.ctobsnssdk.com
*default.ixigua.com
log-api.pangolin-sdk-toutiao-b.com
api-access.pangolin-sdk-toutiao.com
sdk.e.qq.com
mi.gdt.qq.com
pgdt.ugdtimg.com
qzs.gdtimg.com
ib.snssdk.com
p6-ad-sign.byteimg.com
mssdk-bu.bytedance.com


插件2:MimeType屏蔽和Host屏蔽类似,MimeType屏蔽插件可以用来屏蔽指定类型的Mime-Type,但不同的是MimeType屏蔽插件的屏蔽功能分为上行屏蔽和下行屏蔽,即可以配置屏蔽请求或者屏蔽响应。
什么是MimeType?它是一种包含在Http头部的Content-Type中的数据,用来标识数据类型,比如图片、Json、Html等,各种MimeType的定义请点这里!
        2.1 使用方式如果要屏蔽包含指定MimeType的请求,创建一个名为req-mimes.txt的文本文件,将需要屏蔽的MimeType以一行一行的格式添加进去,然后复制到/HttpCanary/plugins/MimeTypeBlock/目录下。
如果是要屏蔽响应,则文本文件名应为res-mimes.txt。
比如说我要屏蔽一些视频广告,可以在res-mimes.txt中添加如下:
video/mp4
这样,所有mp4类型的数据响应都被HttpCanary屏蔽了,包括视频广告等。
        2.2 插件应用下面以企鹅家的视频应用为例,看一下视频广告的拦截效果。
首先,配置好插件并启用。简单步骤如下:
        打开/HttpCanary/plugins/MimeTypeBlock目录,编辑res-mimes.txt。加入一行:video/mp4

       然后保存。启动首页抓包开关按钮。准备好之后,打开企鹅视频应用,注意先把缓存清理下,防止有本地广告视频缓存。
        开着HttpCanary的时候广告已经load不出来了,屏蔽生效!

插件3:图片、音频和视频下载器有的时候,我们希望能保存某些图片、视频等媒体文件并分享到微信好友或朋友圈,比如一段精彩的电影预告片等。但是一般情况下,网站或者应用只提供浏览的功能,不会提

供下载或者保存功能。这个时候HttpCanary的下载器插件就派上用场了。
HttpCanary的下载器一共有三个,分别是图片下载、音频下载、视频下载。原理都是通过检测Http响应数据头部中的Content-Type,从而判断是否需要保存响应数据。
        3.1 使用方式安装好插件后,直接在首页开启抓包按钮。然后所有的图片请求文件都会自动保存到/HttpCanary/plugins/ImageDownloader目录下。连任何Icon都不会放过!

插件4:请求统计表如果希望将所有抓包到的请求信息,以Excel表的形式导出,这个插件就派上用场了!请求数据统计的维度包括:Url服务器IP协议请求方法响应码请求开始时间请求响应时间请求结束时间请求

数据大小(B)响应数据大小(B)耗时1(ms)耗时2(ms)其中包括一些请求时间维度,可以用来计算网络请求的平均耗时,是性能测试一款利器。
        4.1 使用方式安装好插件后,直接在首页开启抓包按钮。当停止抓包后,会自动在/HttpCanary/plugins/StatsOverview目录下生成本次抓包的Excel表格。

插件5:微信定位漂移微信定位漂移插件是用来修改定位经纬度的,实现“蒙多想去哪儿就去哪儿”的功能。包括:聊天时发送的地理位置,发朋友圈的地理位置。
        5.1 使用方式将经纬度按照 经度,纬度 的格式复制到粘贴板上,比如可以利用百度地图坐标拾取系统获取指定地点的经纬度(右上角直接复制即可)。完成后启动首页抓包按钮。测试效果未知。
插件须知由于每个插件都是独立的拦截器,且每个拦截器都会对网络流量进行分析探测,所以如果启用的插件过多,对性能是有一定的影响的,比如卡顿,访问网络慢等。另外,如果说只需要用到插件功能,而

不需要关心具体抓包内容,比如下载器、广告屏蔽等。强烈建议在设置中开启性能模式!



静态注入,HttpCanar版本v9+。静态注入器是HttpCanary最强大的功能之一,可以实现对Http请求数据和响应数据的拦截修改

静态注入器需要先选定一个请求,然后对其进行预编辑,编辑完成后便可对后续的相同请求进行自动修改。比如App发往服务器的请求为:https://test.com?city=beijing ,我们可以使用HttpCanary的静态注入器
将参数值beijing修改为nanjing 。对App的开发和测试而言,可以模拟很多不同场景的请求,来提高测试效率。
测试请求范例https://www.apiopen.top/weatherApi?city=北京复制代码创建静态注入器首先,长按抓包记录,在弹框中选择“静态注入“,然后给注入器命名(方便后面对注入器进行管理)。命名完成后,进入注入

器编辑界面。编辑页面会展示出此请求的所有Http协议数据,包括请求行(Start Line)、请求头(Headers)、请求体(Body)、状态行(StatusLine)、响应头(Headers)、响应体(Body)。左边Tab是请
求数据,右边是响应数据。关于Http协议的报文结构,下面这张图做了详细描述(图中非范例请求数据),更多内容请见:https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages在了解Http协议报文之
后,我们下面开始讲解如何使用注入器修改数据。

1. URL参数修改我们希望将请求参数city的值由北京修改为南京。https://www.apiopen.top/weatherApi?city=南京复制代码只需要点击”city=北京“这个参数区域。打开URL参数编辑页后,将参数值由北京改为南京,

并保存。修改完成后,返回注入器页面。city前面的点颜色由灰色变为绿色,表示参数是修改状态。即如果后续相同请求参数中包含city参数,其值会被强制替换成南京。点击右上角完成注入器的创建。下面我们重
新用AppTest应用发送一条相同的请求,来测试修改是否能生效。抓到包后,打开抓包内容详情:由于南京是中文,作为URL一部分会被Encode,不怕,我们点击这个URL打开URL预览页:我们最后再来看看响应
数据,确认下是否是真的生效了。完美!

2. URL参数添加和删除如果我们希望将请求修改为这种:https://www.apiopen.top/weatherApi?province=江苏&days=7复制代码即删除city参数,新增province和days参数。同样先按照上一步的步骤打开静态注入

器编辑页面。点击city参数右侧的三个点按钮,打开功能选择弹框,一共有三个选项:跟随,自定义,禁用。这里解释下三个选项的含义。跟随,表示使用原始数据,不做任何修改(默认选项),颜色为灰色。
定义,表示强行覆盖或添加设定的参数值,颜色为绿色。禁用,表示强行删除此参数和值,颜色为红色。所以,删除city参数,我们选择禁用选项,注意参数前面的点变成了红色。下一步,点击新增按钮添加两个参
数,province=江苏和days=7。点击右上角保存,完成注入器创建后,我们重新再发一条请求,看看效果。很明显,city参数没有了,多了province和days两个参数。完美!3. Headers修改、添加和删除同上面URL
操作相同,参考1和2,不再赘述。

4. 响应行(Status Line)修改Http协议中响应行用来表示请求服务的结果状态,比如常用的200表示成功,404表示资源未找到,500表示服务器异常等等。有的时候为了测试一些极端情况,比如服务器不返回200

而是404,App状态是否会出现bug等。我们可以使用HttpCanary来强行修改响应行中的状态码来实现这种效果。点击编辑按钮,打开列表,其中列出来几乎所有常用的响应行(都是标准响应行),我们从列表中选择
404 Not Found。选择后自动返回,如果想撤销操作,点击右边复位按钮。我们点击右上角保存按钮完成注入器的创建,重新用AppTest应用发送一条相同请求。从下图中能看出,后面接收到的请求已经是404 Not Found了。
完美!

5. 请求/响应体(Body)修改在App实际开发和测试中,修改请求数据和返回数据是最经常用到的。比如,测试地理位置相关接口时,需要修改经纬度;再比如,服务器返回了某些时间戳,我们希望将其延长或者缩短

同样以此天气接口为例,希望将响应体中的yesterday的high改为100℃,low改为-100℃,type改为冰雹打开创建静态注入器的页面后,拉到最下面。点击右侧向上的箭头,选择编辑方式。静态注入器提供了两种方
式用来编辑Body:上传文件和直接编辑。如果Body是二进制格式数据(比如音频、视频、ProtoBuffer等),HttpCanary内置的文本编辑器是无法处理的,只能使用上传文件的方式。如果Body是json、xml、fromdata
等文本格式,可以使用直接编辑。由于接口返回的天气数据是JSON格式,我们可以使用直接编辑选项,打开后直接进行数据修改。保存后完成静态注入器的创建,用AppTest应用再发送一条相同请求,来看看结果。
修改成功!完美!

6. 静态注入器管理静态注入器和我们常用的断点(BreakPoint)方式修改数据不同,它是通过预设的方式来拦截和修改数据,可以极大地提高数据修改的效率。HttpCanary可以对一个请求配置多个静态注入器,按照

先配置先生效的原则进行拦截处理。静态注入器一旦创建了,将会以Mod的形式作为插件功能存在于HttpCanary中,即使是杀掉HttpCanar APP后再重启也能生效。那我们如何对注入器进行管理呢?
打开设置->模组管理页面,能看到所有创建的静态注入器。点击进入详情后,能看到注入器是属于哪个请求的。如果需要删除或者禁用已经创建的静态注入器,只需要在列表页长按打开功能选项即可!

结语参考文章《HttpCanary使用指南——各种神奇的插件》https://blog.csdn.net/weixin_34005042/article/details/91443419《HttpCanary使用指南——静态注入器》https://blog.csdn.net/weixin_33737774/article/details/88107782

免费评分

参与人数 5吾爱币 +5 热心值 +5 收起 理由
Gang_Yu + 1 + 1 我很赞同!
wxxbc + 1 + 1 热心回复!
lyflj + 1 我很赞同!
正己 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ly765893958 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
Zy143L 发表于 2022-5-23 13:48
有没有考虑...改一下排版 这太哈人了
推荐
我几岁了欸 发表于 2022-5-24 09:03
闷骚小贱男 发表于 2022-5-24 06:41
所以同一个url,参数不一样的,怎么静态?
比如:https://test.com?city=beijing  和https://test.com?cit ...

不知道黄鸟那边是怎么判断的,但是如果黄鸟不行,可以用netbare自己搞一下
沙发
Hmily 发表于 2022-5-23 11:40
3#
ly765893958 发表于 2022-5-23 12:05
字可以弄小一些吗,太大了看不清
5#
L__ 发表于 2022-5-23 13:50
app也来个附件
6#
管好你家猫 发表于 2022-5-23 14:10
小白表示看不懂
7#
q162882 发表于 2022-5-23 14:27
学习一个,终于学会怎么用那个插件定位的了,
8#
等到烟火也清凉 发表于 2022-5-23 14:46
这排版.....................无话可说了
9#
 楼主| micfy 发表于 2022-5-23 14:55 |楼主
Zy143L 发表于 2022-5-23 13:48
有没有考虑...改一下排版 这太哈人了

排好版,粘贴尽量后都变了,原谅我论坛功能用的不熟,听从意见,稍微改进了一下
10#
 楼主| micfy 发表于 2022-5-23 14:56 |楼主

app有发过的了,可以搜索一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 07:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表