今天闲来无事 给大家介绍一下charles中一些有趣的功能。

事情起因是这样的,在2018年的某某一天,小编的同学,给小编发了一个截图,如下。

小编看到这个截图之后,发现跟真实的相差无几,应该不是P图,所以小编就觉得他应该是利用抓包工具修改了响应返回的参数,然后在对Q币的余额进行了修改,最后在静态界面,截图下来。

于是小编教大家如何修改静态的返回响应,这个小编这里介绍一下使用charles修改(其实fiddler也可以)

一、利用charles修改返回的响应。

1.首先,你需要确保你安装的charles能够抓取手机设备的https协议(这个不是本文的重点,自行百度,很简单的,不过ios设备,需要及的关于手机哪里,信任一下颁发的ca证书)

2.确定是在那个接口修改,我们看下图可以知道,当我们从图1到图2的过程,这个Q币显示了出来,所以小编觉得,Q币数量返回的接口,一定是在这里产生的,也就是我们点击图片1,圈记那个余额的操作。

3.确定了接口是那个操作产生的之后,我们这个时候,将charles里面,多余的数据清除(点击那个扫帚即可),然后在点击图片1中圈记的那个余额(界面会从图片1到图片2)

4.这个时候我们在返回charles上面查看,果然,发现了有个类似于扣币的返回数据,当然,小编这里是“131452070,”

5.我们知道了这个数据是那个请求之后,之后我们就开始设置断点了,鼠标左键点击这个请求,然后选择“BreakPoints”(点击一次就行了,点击多次会移除) ,如果是已经好了的,显示是一个“√”的状态

6.之后我们点击“proxy”-->"BreakPoints Setting",我们就能看到我们刚才添加的这个请求

7.双击点击这个请求,在query这个输入框中,输入“*”(意思 是不管参数是啥,都会进行断点,这里不能填成跟实际的一样,因为有些实际的参数有时间戳类似的 ,时间过了就会变,所以不建议那样写死),当然因为我们只是修改Q币的返回值,所以我们只需要勾选,Respone就可以了,之后点击Ok保存即可

8.这个时候我们的手机再次从图片1,也就是图片1圈记的那个余额,这个时候,我们看到手机的界面图片2已经出现,但是Q币余额一直没有显示出来,而charles中,我们点击那个Edit Respone

9.如果你第八步没有超时的话(因为客户端接受你返回的响应有个时间范围,如果你超过了,就算你将拦着的响应再次释放发送给客户端,他也不会接受,所以我们需要在最短的时间内,修改我们需要的东西,然后在点击“execute”释放这个响应,让客户端得到数据),这个时候 ,你的手机中 图片2应该是这个样子的。

好了 这个时候 修改响应的任务成功了。于是小编也发了一个图片给我同学。

二、相对于第一种方式,小编在想,有没有可能,让他这个程序,自动帮我修改 替换我的Q币值呢?就不要每次自己拦截下来自己手动进行修改了,而且如果可以做成这样,就算我拿手机给我同学看,他每次点进去查看我的Q币,也是经过charles代理后替换的值,这样他肯定没话说  岂不是更加真实?哈哈哈,说着说着,小编研究了一下,实际上我们charles确实有这个功能,也就是Rewrite

1.首先,确定我们需要改变的接口,将他的地址  以及响应  保存到一个地方

2.Tools->Rewrite,记得勾选,在点击apple

a.location中,填写我们刚才保存的请求接口信息,http还是https。以及host,以及path路径,另外query最好填*

b.Rewrtie中,type填写body,另外我们只需要勾选Respone,需要替换的值“16370”(这里是服务器返回的正确值),下面那个填,你需要修改成多少。。。

3.点击保存之后,接下来,你每次点击查看自己的Q币,都是显示成你修改的那么多,这样是不是特别真实??当然你如果关掉charles代理或者使用自己的网络数据访问的话,返回的数据就不会发生改变了,这里只是charles自动帮你把响应中的参数进行了替换。不过这个时候,拿去给同学看的时候,他们自己点击查看到的Q币就是那么多,所以小编觉得他们百分之八十的人,应该都会信了,毕竟你是实时访问,实时就是你修改后的Q币值。

三、另外一个就是将响应保存到本地,然后稍微修改一下,之后charles就不会访问服务器,而是采用你本地的响应进行返回给客户端,也就是我们说的Map Local

这里就不做太多的详细介绍了,直接举例子吧,比如这个微信流水。

点击这个请求,右键,选择save Respone 保存的文件名称为微信流水,之后我们点开这个流水,查看到,发现格式有点乱,没关系,我们百度搜索json在线格式化,将文档中的内容copy下来,放到,进行格式化,我们可以看到下面的内容,知道了支出跟收入是那些字段之后,我们通通修改,加2个0(可以直接在文档中,找到对应位置,修改即可),在这里我只是修改下支付跟收入,其他的流水笔数什么的,我就没做细细的修改了。

之后我们将修改完的微信流水文档保存,之后在charles中,点击刚才那个流水的接口,之后右键有个Map Local,点击她之后弹框出来了。同样的这里讲Query输入框中修改成"*",之后那个local path选择我们刚才的那个微信流水文档,之后点击保存

最后,我们访问微信流水,就是我们统一修改后的参数了,是不是很有趣?流水秒变几十万,由于每次他都会取本地的返回响应,所以别说是截图  就算你录制视频都没啥问题。当然,小编这里只修改了支出和收入 ,你自己需要修改下流水笔数,以及下方,数据需要对应上才可以

最后,以后发现了更多好玩的跟大家一起分析,今天这个教程到此结束,有不懂的可以联系微信17673231234

charles抓包中 有趣的断点,Rewrite,Map Local功能相关推荐

  1. 我走过的Charles抓包中意想不到的坑

    Charles抓包好多坑 写在前面 SSLCharles抓包报错 注意 写在前面 测试实习,前几天在写测试用例,这两天开始使用Charles抓包测试 SSLCharles抓包报错 我的是mac电脑 首 ...

  2. charles乱码_基于iOS的Charles抓包实践

    奇技指南 在应用开发过程中,通过抓包调试服务端接口的场景时常出现.Charles和Wireshark是开发过程中最常用的两款软件.那么今天,让我们以iOS为例,聊一聊Charles抓包. 本文来自36 ...

  3. Charles抓包——从入门到熟练

    Charles是一款代理服务起,通过成为电脑或者浏览器的代理,截取请求和请求结果以达到分析抓包的目的. 主界面介绍 开发语言:Java 适用系统:Windows,Mac,Linux 主要功能: 支持S ...

  4. 超详细的Charles抓包工具的使用

    一:Charles简介 Charles是一款抓包工具,通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,实现网络封包的截取和分析. 抓包:就是将网络传输发送与接收的数据包 ...

  5. Charles 抓包工具详解

    前言 不管是移动开发者还是测试者,于抓包工具对于我们的工作都是非常有帮助的,而Charles是一款非常优秀的抓包工具 Charles不仅可以帮助我们抓取服务器返回的数据,还可以修改请求参数,修改响应体 ...

  6. android抓包工具——fiddler与charles的基本操作(弱网模拟,map local/remote、breakpoint 等)

    本文地址:http://blog.csdn.net/u011733020 使用Charles进行HTTPS抓包 Charles 也是一款很好用的抓工具,尤其是在Mac 上面,这里记录下 Mac 上使用 ...

  7. 【抓包工具】Charles抓包工具都有哪些功能?

    charles (官网地址) 这里没有具体的截图教程,只是简单的介绍,文末推荐几个具体操作的文章 Proxy: 1.Throttling(节流):使用代理控制无线流量网络,达到限速的效果.场景:弱网. ...

  8. charles 抓包 (二)

    本文基于charles 抓包 https (1)中的配置完成. 1.移动设备上的网络请求 打开要调试的APP,请求就会先发送到Charles,然后验证是否允许访问. 当点击允许后,可以在Proxy - ...

  9. 使用Charles抓包

    首发于 樊浩柏科学院 Charles 是在 Mac 下常用的截取网络封包的工具(Win 环境也已支持),在移动端开发过程中,我们常需要截取网络包分析服务端的通讯协议.Charles 将自己设置成系统的 ...

最新文章

  1. 新年来临,给大家送上机器学习,人工智能相关书籍,这可能是中奖率最高的一次送书活动...
  2. maven运行时的配置及命令详解
  3. muduo之mutex和condition
  4. 【C/C++】运算结果出现1.#Q0问题分析
  5. About me [my way]
  6. 使用boost模板函数实现读写锁
  7. docker如何部署python项目_Docker如何部署Python项目的实现详解
  8. 调查:受经济危机影响 巴西民众搬家意愿提升
  9. ip命令手册: 使用iproute2工具进行路由表管理和路由策略管理
  10. LAMMPS学习总结1
  11. nginx请求报499错误
  12. 愚见《Nighttime Visibility Enhancement by Increasing the Dynamic Range andSuppression of Light Effects》
  13. 【数据结构——哈夫曼树及其应用】
  14. Extjs介绍(一)
  15. 系统运维架构 DevOps
  16. android 双电池,国外大神拆解腾讯ROG游戏手机5,双电池、中置主板结构、散热用料优秀...
  17. Keil MDK生成LIB库以及使用LIB库
  18. itchat分析微信好友的个性签名
  19. 融汇小学计算机课程,小学生电脑课上都学哪些知识和操作
  20. android webview第三方框架,Android 中使用第三方 WebView,腾讯X5浏览器

热门文章

  1. linux 终端美化教程
  2. java stream使用指南-------sorted使用及进阶
  3. Hexo 个人博客主题美化
  4. 利用递归下降分析方法完成语法分析
  5. CocosCreator-Label
  6. 新东方Java开发校招一面面经
  7. Python之爬虫-校花网
  8. 二、搜索蓝牙并连接(安卓蓝牙ble教程)
  9. 研究表明亚马逊公司正在进军印度数据中心市场
  10. 构建scrapy项目