├── Charles.html ├── LICENSE ├── README.md ├── certs ├── charles_ca_cert.p12 ├── charles_ca_cert.pem ├── charles_ca_key.pem └── readme.txt ├── images ├── .DS_Store ├── 1.2.1.jpg ├── 1.2.2.jpg ├── 1.2.3.jpg ├── 3.1.1.png ├── 3.10.1.jpg ├── 3.10.2.jpg ├── 3.10.3.jpg ├── 3.10.4.jpg ├── 3.10.5.jpg ├── 3.10.6.jpg ├── 3.11.1.jpg ├── 3.11.2.jpg ├── 3.12.1.png ├── 3.12.2.jpg ├── 3.12.3.jpg ├── 3.12.4.png ├── 3.12.5.jpg ├── 3.12.6.jpg ├── 3.12.7.png ├── 3.12.8.jpg ├── 3.13.1.jpg ├── 3.13.2.jpg ├── 3.14.1.jpg ├── 3.2.1.jpg ├── 3.2.2.jpg ├── 3.3.1.jpg ├── 3.3.2.jpg ├── 3.3.3.jpg ├── 3.4.1.jpg ├── 3.4.2.jpg ├── 3.5.1.png ├── 3.6.1.jpg ├── 3.6.2.jpg ├── 3.6.3.jpg ├── 3.7.1.jpg ├── 3.8.1.jpg ├── 3.8.2.jpg ├── 3.8.3.jpg ├── 3.9.1.jpg ├── 3.9.2.jpg ├── 4.1.1.jpg ├── 4.1.2.jpg ├── 4.2.1.jpg ├── 4.2.2.jpg ├── 4.3.0.jpg ├── 4.3.1.jpg ├── 4.3.10.jpg ├── 4.3.11.jpg ├── 4.3.2.jpg ├── 4.3.3.jpg ├── 4.3.4.jpg ├── 4.3.5.jpg ├── 4.3.6.jpg ├── 4.3.7.jpg ├── 4.3.8.jpg ├── 4.3.9.jpg ├── cert.png ├── cert1.png ├── cert2.png ├── cert3.png ├── cert4.png ├── cert5.png ├── cert6.png ├── cert7.png └── charles_hdr.f03a5646.png └── test ├── .DS_Store └── isHasPass.json /Charles.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Charles.md 311 | 312 | 313 |

1 Charles 简介

charles_hdr.f03a5646

Charles 是一个支持多平台的 HTTP 代理器、HTTP 监控、反向代理器。它能够让开发者查看本地机器与互联网之间的所有 HTTP 以及 SSL/HTTPS 传输数据。包括请求数据、响应数据 以及 HTTP 头部信息(包括 Cookie 和缓存信息)。

官网: https://www.charlesproxy.com/

1.1 Charles 主要功能
1.2 界面介绍

G8V1N51AOL6%M3MB7_R{X

794HAFRD`O$GNWBF1ZVO552

1PX89(S4)NRM$N2%A39%}V

2 下载与安装

  1. 下载最新版v4.0.2 (2017.03.15)

    到百度网盘下载 Charles404.dmg 安装包,下载链接: https://pan.baidu.com/s/1hr332ao 密码: 8ddk

  2. 安装Charles

    打开 Charles402.dmg 包,后将 Charles 拖到 Application 目录下即完成安装。

  3. 安装完毕后,进行破解,方法很简单:

    Mac 将 charles.jar 覆盖到 Contents/Java 下完成破解;

    Windows 将 charles.jar 覆盖到 安装目录/lib 下完成破解。

3 功能介绍

3.1 使用 Charles 首先打开代理功能

在Charles菜单栏上选择Proxy - Mac OS X Proxy,或者点击右上方Charles小图标直接选择 Mac OS X Proxy,使得请求转给Charles代理。

代理的相关设置可以在菜单栏Proxy-Proxy Setting.. 中找到。如果抓取不到浏览器的请求,请检查下浏览器代理设置是否使用本地代理,或者直接将代理服务器设置成 127.0.0.1:8888 也是可以的。

1

3.2 视图模式

Charles支持两种模式,StructureSequence,其优点分别如下:

3.3 重复请求功能

@QH3~$`ID5MPDN(1L5QNY

使用Repeat Advanced 还可以指定请求次数,这个功能非常有用,比如用来测试短信轰炸漏洞很方便。

333

888
3.4 查找功能

点击工具栏的放大镜或者使用快捷键command+F 即可打开查找面板:

find

双击查找结果会跳到想要的结果:

find2

3.5 过滤网络请求

对网络请求进行过滤,只监控向指定服务器发送的请求。

在菜单栏选择 Proxy - Recording Setting。然后选择Include,选择添加一个行,然后填入需要监控的协议、主机地址、端口号,即可监控指定服务器的请求。

4

3.6 Focus 功能

使用 Focus 功能指定想要查看的域名,可以避免这个域名相关的请求淹没在茫茫请求当中。当然使用“Structure”视图也可以避免这个问题。

对想要Focus的域名,右键菜单-选择Focus,这个域名就会添加到Focused列表,可以在这里找到:

f1

f2

f3
3.7 控制网速

在Charles的菜单上,选择Proxy-Throttle Setting,在弹出的对话框中,可以选择勾选上Enable Throttling,并且可以设置Throttle Preset的类型。

如果只想模拟指定网站的慢速网络,可以再勾选图中Only for selected hosts选项。然后在对话框的下半部分设置中增加指定的Hosts项即可。

5

3.8 构造请求

45

点击compose按钮进入下图,就可以随便 添加Headers 或者query参数,HTTP版本支持HTTP1.0/1.1/2.0。

46

点击执行就得到想要的报文了:

47

3.9 修改请求

为了调试服务器接口,需要反复尝试不同参数的网络请求。Charles可以方便的提供网络请求的修改和重发功能。

在网络请求上单击右键,选择Edit。即可创建一个可编辑的网络请求。可以修改该请求的任何信息,包括URL、端口,参数等。修改完后,单击Execute按钮,即可发送修改后的网络请求。这对于调试s与服务器端的接口非常方便。

6

7

3.10 设置断点拦截请求响应

首先开启断点功能,然后再到想要设置断点的请求上,右键设置一个断点,如图所示:

d1

然后我们看看这个断点是否加入到断点设置面板:

d2

果然加到这里,而且默认是拦截请求和响应,如果只需两者之一,那就双击另行设置,我这里就不改了:

d3

然后,我们再次发起请求,试下是否生效了:

d4

OK,没问题,在请求发送到服务器之前就被我们拦截了,这时,我们可以根据需要修改请求报文,这里我们就默认执行:

d5

断点再一次生效,不过这次是拦截了响应,同样,我们可以在响应返回到客户端之前根据需要修改响应报文:

d6

3.11 使用Charles抓取 iOS/Android 设备的网络包

打开 iPhone 设置 - 无线局域网,将手机网络连接到与电脑相同WiFi,点击WiFi详情按钮设置HTTP代理,将其改为手动,然后填写Charles所在电脑的代理IP地址,端口号默认为8888。

2

点击返回,设置成功。

此时Charles弹出请求连接的确认菜单,点击 allow 按钮即可完成设置。

3

3.12 对HTTPS请求抓包

原理:Charles实现对HTTPS进行抓包,使用的原理就是中间人技术(man-in-the-middle)。Charles会动态生成一个使用自己根证书签名的证书,Charles接收web服务器的证书,而客户端/浏览器接收Charles生成的证书,以此客户端和Charles之间建立HTTPS连接,Charles和Web服务器之间建立HTTPS连接,实现对HTTPS传输信息的抓包。如果Charles根证书不被信任则无法建立HTTPS连接,所以需要添加Charles根证书为信任证书。

1121998-f4aac7356d979e5e

首先在电脑上安装Charles证书:菜单栏找到 Help - SSL Proxying - Install Charles Root Certificate 安装证书。8

给Mac安装证书:

9

设置为信任证书:

1121998-2115212d231e8c90

然后回到Charles,因为Charles默认不监听HTTPS请求,所以还需要开启SSL代理功能:在Proxy - SSL Proxying Setting中激活,即勾选 Enable SSL Proxying 选项。并添加域名端口,匹配想要监听的域名端口,这里可以添加*:443*:*匹配全部:

10

如果是需要抓取手机的HTTPS请求,还需要多操作一步,就是在手机上安装相应证书:

同样找到Help - SSL Proxying - Install Charles Root Certificate on a Mobile Device or Remote Browser.. ,按照弹出的提示会让你将手机切换为手动代理到电脑的Charles,然后用浏览器打开提示上面的地址下载安装证书。

12

11

然后就可以随意抓HTTPS包了: 11

3.13 Rewrite重写功能

Rewrite 可以通过正则表达式匹配并添加、修改、删除请求或响应中的头部header参数、主体内容、请求参数、响应状态、Host/Path/URL。功能非常强大、配置也非常简单。

首先在菜单栏找到Tools-Rewrite..打开设置面板:

r1

r2

3.14 Map Local/Remote

用过Fiddler 的同学,看名字应该可以想象得到这大概是什么功能。其实就类似AutoResponder功能,将请求映射到给定的文件。

可以通过菜单Tools-找到这些功能的设置,这里以Map Local举栗:

555

4 实践

4.1 HTTP Script 注入

在 Charles 里脚本注入非常简单,只需使用 Rewrite 功能简单的配置一下即可实现:

re

这段脚本就是弹出一段文字:

rr1

4.2 HTTP Mock

在开发环境,接口经常会挂掉,而且有时这些接口临时找不到人修复的,为了保证开发进度,无奈之下只能利用一些手段Mock数据,刚好,Charles提供了这方面的支持,那么就可以使用 Map Local 映射到本地的json文件,当Charles捕获到这个请求,不管是40X、还是50X,都会本地指向的json文件。

那么看看如何操作:

这里拿兑换密码来举栗,因为要测试修改设置兑换密码接口,但是请求这个接口之前会先请求一个叫/isHasPass的接口,来判断用户是否设置过兑换密码,为了能使用一个账号来反复测试修改兑换密码接口,就必须写一个Mock数据,模拟账号始终未设置过兑换密码,这个json文件内容,将data=1改为0:

 
AخA
{"servertime":1489407444,"callback":[],"data":0,"status":1,"errorcode":"","errorno":0}

然后:

555

yyy

可是,问题来了。Fiddler的AutoResponder提供了许多默认的返回响应码,比如40X,50X等等。貌似 Map Local并没有提供,确实是没有提供,那怎么办呢?还记得前面提到的Rewrite功能吗,它提供了修改响应状态的方式,过程如下:

777

4.3 AppStore 抓包

这里拿修改AppStore请求为例,有时候手贱更新了应用,却发现App有bug或更新之后不好用,为了回退到低版本的App,那么可以使用 Charles解决了,这里拿酷狗直播App来试验,尝试下载3.2.0版本:

启动Charles,开启Charles代理,即Mac OS X Proxy。并且设置允许SSL代理。然后顺手将视图模式改为Structure。这一步不清楚回到上文看看。

首先进入AppStore把酷狗直播App所在页面恢复Download按钮:

01

022

然后点击Download下载App,然后到下载框里面选中App按Delete键两次(一次停止下载一次删除下载),这一步是为了获取App的下载信息以及为断点设置作准备:

02

看到Charles Structure视图的好处了吧,直接看域名找到接口。右侧响应数据包含了最新版本号和历史版本号:

03

由于这么多id,不知道哪个是3.2.0,所以就需要上文说到的修改请求:

z6

最终找到3.2.0版本对应的id是819441670:

0333

OK,接下来就为这个接口设置下断点,并启动断点捕获,然后清空所有请求数据:

04


再次回到AppStore酷狗直播页面,点击Command+R刷新页面,使其恢复下载按钮,然后点击Download按钮。

回到Charles看看,可看到请求被拦截了,我们可以编辑请求:

z1

z2

点击Execute执行,响应也被拦截了,因为设置断点默认包括请求和响应:

z3

这里不需要修改响应,直接Execute执行。

回到AppStore,已经看到在下载了:

z4

下载完成后,可以看到,酷狗直播是3.2.0了:

z5

5 参考文献

314 | 315 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Richard Lam 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #### 1 Charles 简介 2 | 3 | ![charles_hdr.f03a5646](images/charles_hdr.f03a5646.png) 4 | 5 | Charles 是一个支持多平台的 HTTP 代理器、HTTP 监控、反向代理器。它能够让开发者查看本地机器与互联网之间的所有 HTTP 以及 SSL/HTTPS 传输数据。包括请求数据、响应数据 以及 HTTP 头部信息(包括 Cookie 和缓存信息)。 6 | 7 | 官网: https://www.charlesproxy.com/ 8 | 9 | ##### 1.1 Charles 主要功能 10 | 11 | - 支持SSL代理。可以截取分析SSL的请求。 12 | - 支持流量空盒子。可以模拟慢速网络,以及等待时间(latency)较长的请求。 13 | - 支持重发网络请求,方便后端调试。 14 | - 支持修改网络请求参数。 15 | - 支持网络请求的截获和动态修改。 16 | - 支持端口映射。 17 | - 支持反向代理。 18 | - 支持SOCKS。 19 | 20 | ##### 1.2 界面介绍 21 | 22 | ![G8V1N51AOL6%M3MB7_R{X](images/1.2.1.jpg) 23 | 24 | 25 | 26 | ![794HAFRD`O$GNWBF1ZVO552](images/1.2.2.jpg) 27 | 28 | ![1PX89(S4)NRM$N2%A39%}V](./images/1.2.3.jpg) 29 | 30 | #### 2 下载与安装 31 | 32 | 1. 下载最新版v4.0.2 (2017.03.15) 33 | 34 | 到网盘下载 Charles404.dmg 安装包,下载链接: https://pan.baidu.com/s/1hr332ao 密码: 8ddk 35 | 36 | 2. 安装Charles 37 | 38 | 打开 Charles402.dmg 包,后将 Charles 拖到 Application 目录下即完成安装。 39 | 40 | 3. 安装完毕后,进行“upgrade”,方法很简单: 41 | 42 | Mac 将 `charles.jar` 覆盖到 `Contents/Java` 下; 43 | 44 | Windows 将 `charles.jar` 覆盖到 `安装目录/lib` 下。 45 | 46 | #### 3 功能介绍 47 | 48 | ##### 3.1 使用 Charles 首先打开代理功能 49 | 50 | 在Charles菜单栏上选择Proxy - Mac OS X Proxy,或者点击右上方Charles小图标直接选择 Mac OS X Proxy,使得请求转给Charles代理。 51 | 52 | 代理的相关设置可以在菜单栏Proxy-Proxy Setting.. 中找到。如果抓取不到浏览器的请求,请检查下浏览器代理设置是否使用本地代理,或者直接将代理服务器设置成 127.0.0.1:8888 也是可以的。 53 | 54 | ![1](images/3.1.1.png) 55 | 56 | ##### 3.2 视图模式 57 | 58 | Charles支持两种模式,`Structure`和`Sequence`,其优点分别如下: 59 | 60 | - Structure:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。![a](images/3.2.1.jpg) 61 | - Sequence:可以很清晰的看到全部请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。![b](images/3.2.2.jpg) 62 | 63 | ##### 3.3 重复请求功能 64 | 65 | ![@QH3~$`ID5MPDN(1L5QNY](images/3.3.1.jpg) 66 | 67 | 使用Repeat Advanced 还可以指定请求次数,这个功能非常有用,比如用来测试短信轰炸漏洞很方便。 68 | 69 | ![333](images/3.3.2.jpg) 70 | 71 | ![888](images/3.3.3.jpg) 72 | 73 | ##### 3.4 查找功能 74 | 75 | 点击工具栏的放大镜或者使用快捷键command+F 即可打开查找面板: 76 | 77 | ![find](images/3.4.1.jpg) 78 | 79 | 双击查找结果会跳到想要的结果: 80 | 81 | ![find2](images/3.4.2.jpg) 82 | 83 | ##### 3.5 过滤网络请求 84 | 85 | 对网络请求进行过滤,只监控向指定服务器发送的请求。 86 | 87 | 在菜单栏选择 Proxy - Recording Setting。然后选择Include,选择添加一个行,然后填入需要监控的协议、主机地址、端口号,即可监控指定服务器的请求。 88 | 89 | ![4](images/3.5.1.png) 90 | 91 | ##### 3.6 Focus 功能 92 | 93 | 使用 Focus 功能指定想要查看的域名,可以避免这个域名相关的请求淹没在茫茫请求当中。当然使用“Structure”视图也可以避免这个问题。 94 | 95 | 对想要Focus的域名,右键菜单-选择Focus,这个域名就会添加到Focused列表,可以在这里找到: 96 | 97 | ![f1](images/3.6.1.jpg) 98 | 99 | ![f2](images/3.6.2.jpg) 100 | 101 | ##### ![f3](images/3.6.3.jpg) 102 | 103 | ##### 3.7 控制网速 104 | 105 | 在Charles的菜单上,选择Proxy-Throttle Setting,在弹出的对话框中,可以选择勾选上Enable Throttling,并且可以设置Throttle Preset的类型。 106 | 107 | 如果只想模拟指定网站的慢速网络,可以再勾选图中Only for selected hosts选项。然后在对话框的下半部分设置中增加指定的Hosts项即可。 108 | 109 | ![5](images/3.7.1.jpg) 110 | 111 | ##### 3.8 构造请求 112 | 113 | ![45](images/3.8.1.jpg) 114 | 115 | 点击compose按钮进入下图,就可以随便 添加Headers 或者query参数,HTTP版本支持HTTP1.0/1.1/2.0。 116 | 117 | ![46](images/3.8.2.jpg) 118 | 119 | 点击执行就得到想要的报文了: 120 | 121 | ![47](images/3.8.3.jpg) 122 | 123 | ##### 3.9 修改请求 124 | 125 | 为了调试服务器接口,需要反复尝试不同参数的网络请求。Charles可以方便的提供网络请求的修改和重发功能。 126 | 127 | 在网络请求上单击右键,选择Edit。即可创建一个可编辑的网络请求。可以修改该请求的任何信息,包括URL、端口,参数等。修改完后,单击Execute按钮,即可发送修改后的网络请求。这对于调试s与服务器端的接口非常方便。 128 | 129 | ![6](./images/3.9.1.jpg) 130 | 131 | ![7](./images/3.9.2.jpg) 132 | 133 | ##### 3.10 设置断点拦截请求响应 134 | 135 | 首先开启断点功能,然后再到想要设置断点的请求上,右键设置一个断点,如图所示: 136 | 137 | ![d1](images/3.10.1.jpg) 138 | 139 | 然后我们看看这个断点是否加入到断点设置面板: 140 | 141 | ![d2](images/3.10.2.jpg) 142 | 143 | 果然加到这里,而且默认是拦截请求和响应,如果只需两者之一,那就双击另行设置,我这里就不改了: 144 | 145 | ![d3](images/3.10.3.jpg) 146 | 147 | 然后,我们再次发起请求,试下是否生效了: 148 | 149 | ![d4](images/3.10.4.jpg) 150 | 151 | OK,没问题,在请求发送到服务器之前就被我们拦截了,这时,我们可以根据需要修改请求报文,这里我们就默认执行: 152 | 153 | ![d5](images/3.10.5.jpg) 154 | 155 | 断点再一次生效,不过这次是拦截了响应,同样,我们可以在响应返回到客户端之前根据需要修改响应报文: 156 | 157 | ![d6](images/3.10.6.jpg) 158 | 159 | ##### 3.11 使用Charles抓取 iOS/Android 设备的网络包 160 | 161 | 打开 iPhone 设置 - 无线局域网,将手机网络连接到与电脑相同WiFi,点击WiFi详情按钮设置HTTP代理,将其改为手动,然后填写Charles所在电脑的代理IP地址,端口号默认为8888。 162 | 163 | ![2](images/3.11.1.jpg) 164 | 165 | 点击返回,设置成功。 166 | 167 | 此时Charles弹出请求连接的确认菜单,点击 allow 按钮即可完成设置。 168 | 169 | ![3](images/3.11.2.jpg) 170 | 171 | ##### 3.12 对HTTPS请求抓包 172 | 173 | 原理:Charles实现对HTTPS进行抓包,使用的原理就是中间人技术(man-in-the-middle)。Charles会动态生成一个使用自己根证书签名的证书,Charles接收web服务器的证书,而客户端/浏览器接收Charles生成的证书,以此客户端和Charles之间建立HTTPS连接,Charles和Web服务器之间建立HTTPS连接,实现对HTTPS传输信息的抓包。如果Charles根证书不被信任则无法建立HTTPS连接,所以需要添加Charles根证书为信任证书。 174 | 175 | ![1121998-f4aac7356d979e5e](images/3.12.1.png) 176 | 177 | 178 | 179 | 首先在电脑上安装Charles证书:菜单栏找到 Help - SSL Proxying - Install Charles Root Certificate 安装证书。![8](images/3.12.2.jpg) 180 | 181 | 给Mac安装证书: 182 | 183 | ![9](images/3.12.3.jpg) 184 | 185 | 设置为信任证书: 186 | 187 | ![1121998-2115212d231e8c90](images/3.12.4.png) 188 | 189 | 然后回到Charles,因为Charles默认不监听HTTPS请求,所以还需要开启SSL代理功能:在Proxy - SSL Proxying Setting中激活,即勾选 Enable SSL Proxying 选项。并添加域名端口,匹配想要监听的域名端口,这里可以添加`*:443`或`*:*`匹配全部: 190 | 191 | ![10](images/3.12.5.jpg) 192 | 193 | 如果是需要抓取手机的HTTPS请求,还需要多操作一步,就是在手机上安装相应证书: 194 | 195 | 同样找到Help - SSL Proxying - Install Charles Root Certificate on a Mobile Device or Remote Browser.. ,按照弹出的提示会让你将手机切换为手动代理到电脑的Charles,然后用浏览器打开提示上面的地址下载安装证书。 196 | 197 | ![12](images/3.12.6.jpg) 198 | 199 | ![11](images/3.12.7.png) 200 | 201 | 然后就可以随意抓HTTPS包了: ![11](images/3.12.8.jpg) 202 | 203 | ##### 3.13 Rewrite重写功能 204 | 205 | Rewrite 可以通过正则表达式匹配并添加、修改、删除请求或响应中的头部header参数、主体内容、请求参数、响应状态、Host/Path/URL。功能非常强大、配置也非常简单。 206 | 207 | 首先在菜单栏找到Tools-Rewrite..打开设置面板: 208 | 209 | ![r1](images/3.13.1.jpg) 210 | 211 | ![r2](images/3.13.2.jpg) 212 | 213 | ##### 3.14 Map Local/Remote 214 | 215 | 用过Fiddler 的同学,看名字应该可以想象得到这大概是什么功能。其实就类似AutoResponder功能,将请求映射到给定的文件。 216 | 217 | 可以通过菜单Tools-找到这些功能的设置,这里以Map Local举栗: 218 | 219 | ![555](images/3.14.1.jpg) 220 | 221 | ##### 3.15 Firefox 调试 222 | 223 | 制作个人证书 224 | 225 | ```bash 226 | brew install openssl 227 | ``` 228 | 229 | ```bash 230 | openssl req -new -x509 -days 3650 -extensions v3_ca \ 231 | -keyout charles_ca_key.pem -out charles_ca_cert.pem \ 232 | -config /System/Library/OpenSSL/openssl.cnf 233 | ``` 234 | 235 | 生成 Charles 支持的 PKCS12 格式的证书 236 | 237 | ```bash 238 | openssl pkcs12 -export -out charles_ca_cert.p12 -inkey \ 239 | charles_ca_key.pem -in charles_ca_cert.pem 240 | ``` 241 | 242 | 以上步骤生成了三个文件: 243 | 244 | - charles_ca_cert.pem - 添加到客户端的CA证书 245 | - charles_ca_key.pem - CA证书的密钥 246 | - charles_ca_cert.p12 - Charles使用的CA证书 247 | 248 | 然后将 `charles_ca_cert.p12` 导入到 Charles 中,当使用证书前 Charles 会要求输入 passphrase,我上面设置为 `charles`: 249 | 250 | ![cert1](images/cert.png) 251 | 252 | ![cert2](images/cert2.png) 253 | 254 | 将 `charles_ca_cert.pem` 添加到 Firefox: 255 | 256 | ![cert3](images/cert3.png) 257 | 258 | ![cert4](images/cert4.png) 259 | 260 | ![cert5](images/cert5.png) 261 | 262 | ![cert6](images/cert6.png) 263 | 264 | ![cert7](images/cert7.png) 265 | 266 | 267 | #### 4 实践 268 | 269 | ##### 4.1 HTTP Script 注入 270 | 271 | 在 Charles 里脚本注入非常简单,只需使用 Rewrite 功能简单的配置一下即可实现: 272 | 273 | ![re](images/4.1.1.jpg) 274 | 275 | 这段脚本就是弹出一段文字: 276 | 277 | ![rr1](images/4.1.2.jpg) 278 | 279 | ##### 4.2 HTTP Mock 280 | 281 | 在开发环境,接口经常会挂掉,而且有时这些接口临时找不到人修复的,为了保证开发进度,无奈之下只能利用一些手段Mock数据,刚好,Charles提供了这方面的支持,那么就可以使用 Map Local 映射到本地的json文件,当Charles捕获到这个请求,不管是40X、还是50X,都会本地指向的json文件。 282 | 283 | 那么看看如何操作: 284 | 285 | 这里拿兑换密码来举栗,因为要测试修改设置兑换密码接口,但是请求这个接口之前会先请求一个叫/isHasPass的接口,来判断用户是否设置过兑换密码,为了能使用一个账号来反复测试修改兑换密码接口,就必须写一个Mock数据,模拟账号始终未设置过兑换密码,这个json文件内容,将data=1改为0: 286 | 287 | ```json 288 | {"servertime":1489407444,"callback":[],"data":0,"status":1,"errorcode":"","errorno":0} 289 | ``` 290 | 291 | 然后: 292 | 293 | ![555](images/3.14.1.jpg) 294 | 295 | ![yyy](images/4.2.1.jpg) 296 | 297 | 298 | 299 | 可是,问题来了。Fiddler的AutoResponder提供了许多默认的返回响应码,比如40X,50X等等。貌似 Map Local并没有提供,确实是没有提供,那怎么办呢?还记得前面提到的Rewrite功能吗,它提供了修改响应状态的方式,过程如下: 300 | 301 | ![777](images/4.2.2.jpg) 302 | 303 | ##### 4.3 AppStore 抓包 304 | 305 | 这里拿修改AppStore请求为例,有时候手贱更新了应用,却发现App有bug或更新之后不好用,为了回退到低版本的App,那么可以使用 Charles解决了,这里拿酷狗直播App来试验,尝试下载3.2.0版本: 306 | 307 | **启动Charles,开启Charles代理,即Mac OS X Proxy。并且设置允许SSL代理。然后顺手将视图模式改为Structure。这一步不清楚回到上文看看。** 308 | 309 | **首先进入AppStore把酷狗直播App所在页面恢复Download按钮:** 310 | 311 | ![01](images/4.3.0.jpg) 312 | 313 | 314 | 315 | ![022](images/4.3.1.jpg) 316 | 317 | 318 | 319 | **然后点击Download下载App,然后到下载框里面选中App按Delete键两次(一次停止下载一次删除下载),这一步是为了获取App的下载信息以及为断点设置作准备:** 320 | 321 | ![02](images/4.3.2.jpg) 322 | 323 | **看到Charles Structure视图的好处了吧,直接看域名找到接口。右侧响应数据包含了最新版本号和历史版本号:** 324 | 325 | ![03](images/4.3.3.jpg) 326 | 327 | **由于这么多id,不知道哪个是3.2.0,所以就需要上文说到的修改请求:** 328 | 329 | ![z6](images/4.3.4.jpg) 330 | 331 | **最终找到3.2.0版本对应的id是819441670:** 332 | 333 | ![0333](images/4.3.5.jpg) 334 | 335 | **OK,接下来就为这个接口设置下断点,并启动断点捕获,然后清空所有请求数据:** 336 | 337 | ![04](images/4.3.6.jpg) 338 | 339 | **** 340 | 341 | **再次回到AppStore酷狗直播页面,点击Command+R刷新页面,使其恢复下载按钮,然后点击Download按钮。** 342 | 343 | **回到Charles看看,可看到请求被拦截了,我们可以编辑请求:** 344 | 345 | ![z1](images/4.3.7.jpg) 346 | 347 | ![z2](images/4.3.8.jpg) 348 | 349 | **点击Execute执行,响应也被拦截了,因为设置断点默认包括请求和响应:** 350 | 351 | ![z3](images/4.3.9.jpg) 352 | 353 | **这里不需要修改响应,直接Execute执行。** 354 | 355 | **回到AppStore,已经看到在下载了:** 356 | 357 | ![z4](images/4.3.10.jpg) 358 | 359 | **下载完成后,可以看到,酷狗直播是3.2.0了:** 360 | 361 | ![z5](images/4.3.11.jpg) 362 | 363 | #### 5 参考文献 364 | 365 | - [Charles Documentation](https://www.charlesproxy.com/documentation) 366 | - [如何使用charles对Android Https进行抓包](http://www.jianshu.com/p/3bbf596c9ca6) 367 | - [猫哥网络编程系列:HTTP PEM 万能调试法](https://github.com/kaiye/kaiye.github.com/issues/4) 368 | - [iOS如何下载旧版本应用APP](http://www.xuanfengge.com/ios-how-to-download-old-app.html) 369 | - [Proxying connections from FFOS with Charles](https://muffinresearch.co.uk/proxying-connections-from-ffos/) 370 | -------------------------------------------------------------------------------- /certs/charles_ca_cert.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/certs/charles_ca_cert.p12 -------------------------------------------------------------------------------- /certs/charles_ca_cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDcjCCAtugAwIBAgIJAPy5wYLR6K8qMA0GCSqGSIb3DQEBCwUAMIGDMQswCQYD 3 | VQQGEwJDTjEcMBoGA1UECBMTS3dvbmctdHVuZyBQcm92aW5jZTEPMA0GA1UEBxMG 4 | Q2FudG9uMSIwIAYDVQQDExlDaGFybGVzIFByb3h5IENlcnRpZmljYXRlMSEwHwYJ 5 | KoZIhvcNAQkBFhJyaWNoYXJkLmxhbUBteS5jb20wHhcNMTcwNDA4MDM1ODE2WhcN 6 | MjcwNDA2MDM1ODE2WjCBgzELMAkGA1UEBhMCQ04xHDAaBgNVBAgTE0t3b25nLXR1 7 | bmcgUHJvdmluY2UxDzANBgNVBAcTBkNhbnRvbjEiMCAGA1UEAxMZQ2hhcmxlcyBQ 8 | cm94eSBDZXJ0aWZpY2F0ZTEhMB8GCSqGSIb3DQEJARYScmljaGFyZC5sYW1AbXku 9 | Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4cru5edNo5xFPgZmHH0lW 10 | x29P/oFfphNzMV+JgrqHJgeltOAqMOzAdlKNdP+yTlauEpRqZZhOc/5PedeYwTqV 11 | iOWubWuq1GnOriso29h18a1E/ui7pBE+sgCwq+dV+e6QgRYxDePV9OqxlBYvj8Nj 12 | Dv5ZdTxX44FZslPDncrv/QIDAQABo4HrMIHoMB0GA1UdDgQWBBTnn/LQowMQuKN2 13 | N+G1JHaQEtJZZDCBuAYDVR0jBIGwMIGtgBTnn/LQowMQuKN2N+G1JHaQEtJZZKGB 14 | iaSBhjCBgzELMAkGA1UEBhMCQ04xHDAaBgNVBAgTE0t3b25nLXR1bmcgUHJvdmlu 15 | Y2UxDzANBgNVBAcTBkNhbnRvbjEiMCAGA1UEAxMZQ2hhcmxlcyBQcm94eSBDZXJ0 16 | aWZpY2F0ZTEhMB8GCSqGSIb3DQEJARYScmljaGFyZC5sYW1AbXkuY29tggkA/LnB 17 | gtHoryowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQB2Wq5LBErCqucU 18 | 5w+Y+Aw4XNuXZr+x7zdq4FZR4DjfJ/Wzek4WZyemqnyIxM36NEA2jVEc7bM6idE8 19 | kJCjxYrmTbuZ6fZYKM6HZy2O/wtg2vB0yd8uTsJCc616ipXF/S8W9fHbo/4JUWIl 20 | OCC1GHCcrUkDuk/psq5A91iDI+5OFA== 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /certs/charles_ca_key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN ENCRYPTED PRIVATE KEY----- 2 | MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI3fBKaxxo3BkCAggA 3 | MBQGCCqGSIb3DQMHBAj9Ijan5dB3WASCAoBG4gxMoGZ4XhrnFJuoTGJuiLE9App7 4 | jO4wIqtmOSCYPgxnwJlVKftA5fXZbt+AKowz1UcT5CDti3jIqCUP/abQ20Yv0HbL 5 | E8sjWnGfBKndUChO40LSIs1UwNUZQcU2c1JsbxaVAZA1Qi1qcckkcpMAv5vft0EV 6 | oWFbN1qEQDFaI9IjDPc/0OF1RUCM+S8XNGzH0gu1UdPqosSJnkhrJkz3hqEGM/F7 7 | XH4NhFZKZ+NKGBd0wIaZBla7Oj+So0DIg8e6sJJqvMSDQ4uVNqMEkkgdoOIkbb3a 8 | m/hhxqtmYxgcWx9iidEjWzR75Aj/rPn7XJ/qhTlf0MdzTxVLiu0AtGJ5rNpdwINm 9 | avQWRJ6EiIcUvTpAc43jQfRH8DF3UpLWirTdIn3atqTGP6va6kwK5cU/qfT5+zKy 10 | qFj2JndpKkI37MKoDejEWeuO4llRW7PkHU0QHIZEG6tZDa71p+5s8qarauYmU533 11 | P8wqgAvu7kmBU+80Ay+1jiGL0t1x551d3yUSEFwUkIK8mmcMY7LtmsJq7fRG8A2N 12 | 3YjNKJjHfTf6sIls7lL6BUz8csxVAvlgplRywiXqbCRAP17v4kq4Fj2N3IoHmZkQ 13 | eNKTvmhcYD1x53LHa4SQvKoel/DXrEMco9/rnoZJj16gL90VGx/xmQqisx9Melii 14 | fguG6FNq6l7BbEdQK3amgdVFpFYTGIAE3SSTJ2cJTRt0/r6F8RgbHMDuwWTYrKsB 15 | WgF4iXcFPmXWMowBSQ9lQVq+96gtwAte+4+iFeah7UCAFs1IEehF8Gi2cnzKdyBY 16 | k0/1djEv/7E7JAhzW7QQ4hWST3nGaiNCaQtAuRX0h1qMRa3sQYAcDVKJ 17 | -----END ENCRYPTED PRIVATE KEY----- 18 | -------------------------------------------------------------------------------- /certs/readme.txt: -------------------------------------------------------------------------------- 1 | Charles Proxy Firefox SSL Fix 2 | Jan 2015 3 | 4 | This is a fix for latest version of Firefox which doesn't accept Charles SSL cert as it's before 1970. You should really generate your own certs but here's mine if you're lazy. 5 | 6 | Password for everything is charles. 7 | 8 | Import .pem into Firefox, Firefox settings > Advanced > Certificates > View Certificates > Import 9 | Import .p12 into Charles, Proxy > Proxy Settings > SSL > Use a custom CA certificate 10 | 11 | Restart Charles and it should work. Any problems, post to the superuser.com thread. 12 | 13 | http://superuser.com/questions/864886/get-firefox-to-trust-expired-charles-ca-certificate -------------------------------------------------------------------------------- /images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/.DS_Store -------------------------------------------------------------------------------- /images/1.2.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/1.2.1.jpg -------------------------------------------------------------------------------- /images/1.2.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/1.2.2.jpg -------------------------------------------------------------------------------- /images/1.2.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/1.2.3.jpg -------------------------------------------------------------------------------- /images/3.1.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.1.1.png -------------------------------------------------------------------------------- /images/3.10.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.10.1.jpg -------------------------------------------------------------------------------- /images/3.10.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.10.2.jpg -------------------------------------------------------------------------------- /images/3.10.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.10.3.jpg -------------------------------------------------------------------------------- /images/3.10.4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.10.4.jpg -------------------------------------------------------------------------------- /images/3.10.5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.10.5.jpg -------------------------------------------------------------------------------- /images/3.10.6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.10.6.jpg -------------------------------------------------------------------------------- /images/3.11.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.11.1.jpg -------------------------------------------------------------------------------- /images/3.11.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.11.2.jpg -------------------------------------------------------------------------------- /images/3.12.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.1.png -------------------------------------------------------------------------------- /images/3.12.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.2.jpg -------------------------------------------------------------------------------- /images/3.12.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.3.jpg -------------------------------------------------------------------------------- /images/3.12.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.4.png -------------------------------------------------------------------------------- /images/3.12.5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.5.jpg -------------------------------------------------------------------------------- /images/3.12.6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.6.jpg -------------------------------------------------------------------------------- /images/3.12.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.7.png -------------------------------------------------------------------------------- /images/3.12.8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.12.8.jpg -------------------------------------------------------------------------------- /images/3.13.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.13.1.jpg -------------------------------------------------------------------------------- /images/3.13.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.13.2.jpg -------------------------------------------------------------------------------- /images/3.14.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.14.1.jpg -------------------------------------------------------------------------------- /images/3.2.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.2.1.jpg -------------------------------------------------------------------------------- /images/3.2.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.2.2.jpg -------------------------------------------------------------------------------- /images/3.3.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.3.1.jpg -------------------------------------------------------------------------------- /images/3.3.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.3.2.jpg -------------------------------------------------------------------------------- /images/3.3.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.3.3.jpg -------------------------------------------------------------------------------- /images/3.4.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.4.1.jpg -------------------------------------------------------------------------------- /images/3.4.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.4.2.jpg -------------------------------------------------------------------------------- /images/3.5.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.5.1.png -------------------------------------------------------------------------------- /images/3.6.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.6.1.jpg -------------------------------------------------------------------------------- /images/3.6.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.6.2.jpg -------------------------------------------------------------------------------- /images/3.6.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.6.3.jpg -------------------------------------------------------------------------------- /images/3.7.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.7.1.jpg -------------------------------------------------------------------------------- /images/3.8.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.8.1.jpg -------------------------------------------------------------------------------- /images/3.8.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.8.2.jpg -------------------------------------------------------------------------------- /images/3.8.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.8.3.jpg -------------------------------------------------------------------------------- /images/3.9.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.9.1.jpg -------------------------------------------------------------------------------- /images/3.9.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/3.9.2.jpg -------------------------------------------------------------------------------- /images/4.1.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.1.1.jpg -------------------------------------------------------------------------------- /images/4.1.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.1.2.jpg -------------------------------------------------------------------------------- /images/4.2.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.2.1.jpg -------------------------------------------------------------------------------- /images/4.2.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.2.2.jpg -------------------------------------------------------------------------------- /images/4.3.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.0.jpg -------------------------------------------------------------------------------- /images/4.3.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.1.jpg -------------------------------------------------------------------------------- /images/4.3.10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.10.jpg -------------------------------------------------------------------------------- /images/4.3.11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.11.jpg -------------------------------------------------------------------------------- /images/4.3.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.2.jpg -------------------------------------------------------------------------------- /images/4.3.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.3.jpg -------------------------------------------------------------------------------- /images/4.3.4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.4.jpg -------------------------------------------------------------------------------- /images/4.3.5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.5.jpg -------------------------------------------------------------------------------- /images/4.3.6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.6.jpg -------------------------------------------------------------------------------- /images/4.3.7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.7.jpg -------------------------------------------------------------------------------- /images/4.3.8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.8.jpg -------------------------------------------------------------------------------- /images/4.3.9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/4.3.9.jpg -------------------------------------------------------------------------------- /images/cert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert.png -------------------------------------------------------------------------------- /images/cert1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert1.png -------------------------------------------------------------------------------- /images/cert2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert2.png -------------------------------------------------------------------------------- /images/cert3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert3.png -------------------------------------------------------------------------------- /images/cert4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert4.png -------------------------------------------------------------------------------- /images/cert5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert5.png -------------------------------------------------------------------------------- /images/cert6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert6.png -------------------------------------------------------------------------------- /images/cert7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/cert7.png -------------------------------------------------------------------------------- /images/charles_hdr.f03a5646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/images/charles_hdr.f03a5646.png -------------------------------------------------------------------------------- /test/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yibhou/charles-share/c59c46aa17d5ad59debc352eb36b897da7d1e8b9/test/.DS_Store -------------------------------------------------------------------------------- /test/isHasPass.json: -------------------------------------------------------------------------------- 1 | {"servertime":1489401115,"callback":[],"data":0,"status":1,"errorcode":"","errorno":0} --------------------------------------------------------------------------------