史上最全最强Charles截取手机https协议数据包教程(附上利用此技术制作最近微信比较火的头脑王者辅助外挂)!
纯原创,思路也是本人花了半个小时整理出来的,整个完成花费了本人半天时间,由于不才刚大学毕业,所以有的编码方面可能不入大牛们的眼,敬请原谅!如有转载请附上本地址,谢谢!
最近微信朋友圈刚刚被跳一跳血洗,新一轮的头脑王者又是给了我们一场风暴,之前的跳一跳外挂同事们也很满意(需要的评论),所以同事们这次又来坑我,看我没事做,让我制作一个头脑王者的外挂,我当时就在想这还不简单吗,直接获取分析发送过来的数据包,在伪造response给它好了啊,但是坑比的同事说这种挂已经被抓的很厉害了,机智的我只能换一种方式,一种又蠢又累的方式,但是却很安全!!!
首先,还是老套路,先抓取手机数据包,这里就以本人的ios11.2.2为例,安卓基本一样。
抓取数据包的工具Charles,大家最好下载最新的4.2.1,附上地址 https://www.charlesproxy.com/download/大家下载安装即可。
然后打开charles界面大家就会看见这样的界面!!

1.这时我们先将这个放一边,设置手机代理(设置代理的意义大概就是手机所获取和发送的数据包就会经过代理的服务器或者是硬件),我们将电脑设置为手机的代理,那么我们手机的数据包都能够被我们的电脑所捕获到。这里我们通过wifi进行代理。
(1)手机连上电脑的wifi
(2)进入wifi点击配置代理——>手动。服务器就是电脑的ip地址,端口号一般都是8888.

(3)这里配置好你就能在左边看到手机的数据包了,(不能看见的查看以上步骤),但是你会发现关于https的数据包基本都是unknown的,那是为什么呢,其实百度一下,你就能知道,https其实是加密的,较之http会更加安全,我去!这么坑啊,还加密,那我怎么看手机上的https数据包啊,现在大多数据包都是利用的https协议的啊,别急,这时候我们只要在手机端安装安全证书,被服务器识别出我们是安全的,那就没事啦!
(4)手机端安装安全证书,点击Help,选择SSL Proxying,再点击Install charles root cerfiticate on a mobile sevice....这个选项,会弹出一个提示框

这是什么意思呢,他就是再说"你要先确保手机连上了设备,也就是电脑,再去chls.pro/ssl"网站dowload安装安全证书,天哪!这个提示太开心了吧,这简直是帮你做好了一切,还等什么,赶快用safari浏览器,(安卓任意浏览器),输入chls.pro/ssl,他会提示你安装一个东西,直接下一步,确定之类的一顿操作,安装完毕就行了,最后安装好在ios上是这样的

这时!如果你已经开始洋洋得意,觉得自己已经完成的时候,你会发现,其实你还是没有获取到数据包,哈哈哈哈哈!这时因为自从ios10.3开始你还要多一步设置,那就是!!下图所示,你需要打开设置,通用,关于本机,滑到最下面,有一个证书信任设置,打开我们的charles证书的信任即可

(5)最后一步,设置ssl的数据包的过滤,打开charles,点击proxy,选择proxy setting,勾选上enable transparent http proxying ,端口号8888
再选择SSL proxy setting 勾选enable SSL Proxying 并且add我们的过滤器,这边我们所有的数据包都想捕获,所以host和port都填写*号
(这一步我建议一上来就完成,因为其实我也忘了,这一步我是啥时候完成的QAQ,嘻嘻,别打我)

(6)最后如果也想捕捉电脑的https数据包的话,就也要在电脑安装安全证书,步骤就是点击Help——>SSL proxying——>选择Install charles root cerfiticate
直接安装证书,下一步下一步下一步。。。。
只有在下图的时候注意选择安装位置是受信任的什么证书颁发机构的,就行了。。。

以上就是配置charles获取https协议的数据包的全过程,有问题的小朋友可以评论或者私我啊,(虽然私了我也不怎么看,虽然我也不知道博客园有没有私信的功能!!!)
2.如果以上完成的小童鞋,恭喜你,我们进入到了第二个步骤!就是利用之来制作头脑王者的答题辅助了,我们的思路也很简单,获取到头脑王者发送给我们的数据包,从而保存到本地,进一下利用代码读取本地数据,解析,保存到数据库,完成持久化,之后遇到相同的题目就查询,数据库没有的话就进行保存。
当然在做这些之前,我们得考虑一个问题,怎么用我们的所使用的的编程语言拿到charles的数据?虽然charles的用java做的但是我好像也没有找到某个接口,可以跟java实现数据的共通,那我们怎么把数据存到本地呢???
(1)分析我们的头脑王者的是哪个https发送过来的数据包。手机打开头脑王者就能容易发现到每次答题都会给我们发送一个findQuiz的数据包,每次答题完都会给我们一个choose数据包,就是这题的结果
我们所需要的也就是这两个数据包

(2)建立镜像。每次获取到的数据包,都会讲数据发送到镜像文件里,会把前一次的覆盖,具体操作选择tools,点击mirror。我的配置如下,你们可以自己改动

获取数据包的时候就能在我们choose save to 的文件夹位置就能看到这两个文件了

(3)接下来还要我教你们吗????哈哈哈数据都能搞到了还不while(true)去获取每次的题目和答案吗????建立用线程做去数据库检索的动作,不然while(true)里面出问题了出现堵塞可别怪我没提醒你哦。
本人用java和c#都做了一遍,效果基本一样的,只是java的稍微卡点。基本效果就是手机上面题目还没有出来,而电脑上已经获取到数据包并且显示题目了。
(4)获取到题目就去数据库里面检索一遍,如果有就取出答案,如果没有就保存进数据库,并且在每道题答完的时候去取出choose文件的正确答案进行存储。
最后的大致效果就是这样的!!


由于刚开始题目基本都要自己搜集,偶尔才有
这样的数据库有的问题他就显示答案啦QAQ,速度基本就是手机上题目还没出来,电脑上的题目已经显示了。好了打字好累了,大家再见QAQ,c#源码地址 http://download.csdn.net/download/china_zhangdapao/10213948
在公司打的字,整个制作过程半天,写这篇文章30分钟, 可能比较粗糙,程序也就是考虑了基本的异常,大家多多关照,文章中肯定有好多错别字,毕竟我是错别字大王,大家将就看看嘻嘻嘻
史上最全最强Charles截取手机https协议数据包教程(附上利用此技术制作最近微信比较火的头脑王者辅助外挂)!的更多相关文章
- [转]史上最全最强SpringMVC详细示例实战教程
原文:http://www.cnblogs.com/sunniest/p/4555801.html?utm_source=tuicool&utm_medium=referral SpringM ...
- 史上最全最强SpringMVC详细示例实战教程
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- 转:史上最全最强SpringMVC详细示例实战教程
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...
- 史上最全最强SpringMVC详细示例实战教程【good】
1)Spring MVC 在调用处理方法之前,在请求线程中自动的创建一个隐含的模型对象. 2)调用所有方法级的 标注了 @ModelAttribute 的方法,并将方法返回值添加到隐含的模型对象中. ...
- 史上最全的用Python操控手机APP攻略!建议收藏!
最近经常看到用Python操作手机APP的项目,例如抖音.闲鱼之类的,看完后发现这些项目无一例外需要部署ADB环境.至于什么是ADB,很多大神都讲过,只是写得比较专业,我等菜鸟看完还是云里雾里. ...
- Redis分布式锁 (图解-秒懂-史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
- Zookeeper 分布式锁 (图解+秒懂+史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
- Java基础面试题(史上最全、持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- 史上最全的CSS hack方式一览
做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...
随机推荐
- AO之Addins开发[杂谈1] Toolbar中添加一条分割线
在XML代码中,给Item添加separator属性,需要从哪里打分割线,就将其设置为true即可.如下图所示: 如紫色框住的灰色竖线所示. 默认separator属性是false的,这个小东西极其隐 ...
- Spring Boot实战之数据库操作
上篇文章中已经通过一个简单的HelloWorld程序讲解了Spring boot的基本原理和使用.本文主要讲解如何通过spring boot来访问数据库,本文会演示三种方式来访问数据库,第一种是Jdb ...
- 1.QT开发第一个程序
Ubuntu16.04安装QT5.8.0:http://www.cnblogs.com/dotnetcrazy/p/6725945.html QT5.8支持中文输入法(附带老版本的解决+不理想的情况解 ...
- [编织消息框架][JAVA核心技术]异常应用
QException是项目业务异常基类 按模块划分子类异常,方便定位那块出错 有个来源码属性code作用定位某个功能处理出错逻辑,数字类型节省内存空间,同时减少创建子类的子类 QSocketExcep ...
- 发短信utils
package cn.itcast.bos.utils; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; ...
- ldap命令的使用
转自:http://blog.chinaunix.net/uid-20690190-id-4085176.html 增:ldapadd 1)选项: -x 进行简单认证 -D 用来绑定服务器的D ...
- [js高手之路] vue系列教程 - 事件专题(4)
本文主要讲解事件冒泡,事件绑定的简写,事件默认行为,按键码等一系列与事件相关的知识. 一.事件绑定的简写,@事件类型. 之前我的[js高手之路] vue系列教程 - vue的事件绑定与方法(2) 用 ...
- 【Python3之模块及包的导入】
一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...
- Docker三十分钟快速入门(下)
一.背景 上篇文章我们进行了Docker的快速入门,基本命令的讲解,以及简单的实战,那么本篇我们就来实战一个真实的项目,看看怎么在产线上来通过容器技术来运行我们的项目,来达到学会容器间通信以及dock ...
- Java学习笔记15(面向对象八:匿名对象、内部类)
匿名对象: 是指创建对象的时候,只有创建对象的语句,却没有把对象地址值赋给某个变量 创建一个普通对象: Person p = new Person(); 创建一个匿名对象: new Person(); ...