Charles下载和破解:
官网链接
破解链接
Charles是java代码写的通过代理方式获取请求的抓包软件,破解也很简单,通过更改Chrales配置文件的chrales.jra包就能完成破解:
1.打开破解链接
2.选择你下载Charles版本号
3.填写任意名称都可以
4.点击下载
5.下载完成以后就是一个Charles.jar的文件
6.Mac打开访达
- 选择应用程序
- 找到Chrales
- 选择显示包内容
- Contents
- JAVA 拖拽刚才下载的charles.jar进去替换掉之前的charles.jar文件
7.Charles破解完成
MacOs配置:
打开Charles选择Proxy - MacOs proxy并勾选
image.png
再选择Help - SSL Proxying - install Charles Root Certificate下载证书到电脑本地
image.png
下载完成证书以后信任该证书
image.png
证书信任完成以后就能抓取本地网页的http、https请求了。以百度为例
image.png
Android配置
Android7.0版本以上google已经不信任其他证书了。方法有两种
1.如果是root手机直接把charles证书信任成系统证书。
第一种方法看这里
2.如果手机没有root就需要在手机端配置证书,然后还要在app里信任CA证书
3.app代码内增加信任CA证书
- application 里面设置 android:networkSecurityConfig="@xml/network_security_config"
- 在app项目资源文件中加入配置文件res/xml/network_security_config.xml
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<!-- 信任系统预置CA 证书 -->
<certificates src="system" />
<!-- 信任用户添加的 CA 证书,Charles 和 Fiddler 抓包工具安装的证书属于此类 -->
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
4.手机端下载Charles证书并安装
首先打开Charles选择Help - SSL Proxying - Save Charles Root Certificate...
image.png
下载完成的证书更新下名称,简短一点的那种,不换名称也行。我更名为:charles-ssl.pem
- 通过adb命令push到手机的跟目录下,方便在手机上找到
adb push /xxx/xxx/xxx/charles-ssl.pem(证书路径) /sdcard
- 手机端进入设置 - wifi - 高级设置 - 找到安装证书
- 找到刚才重命名的证书点击安装
- 输入一个证书名称
-
提示正常安装成功那么手机端的操作就已经完成了,就已经好了。
image.png
5.Charles选择Proxy - SSL Proxying Settings... 打开配置
image.png
-
配置添加信息
image.png
6.Chrales选择Help - SSL Proxying - install Charles Root Certificate on a Mobile Device or Remote Browser
image.png
-
查看自己的ip和端口
image.png - 手机打开系统 - wifi 选择和电脑同一个wifi链接(我这里用的手机是华为,可能手机型号不一样然后名称也不同)
- 设置WiFi链接
- 修改网络
- 显示高级选项
- 代理选择手动
- 在服务器主机名里填写ip
- 服务器端口里填写端口
- 点击保存完成手机端设置
-
Charles客户端可能会收到是否允许charles作为手机的网络请求代理的询问弹窗,我这边没有弹出来,所以找的网图,这里直接选择Allow,走到这里基本已经完成配置了。但是只能抓取代码里设置了CA认证的app
image.png
ios配置
ios配置就简单很多了。安装证书,然后信任证书轻松搞定
首先打开ios手机配置手动代理,和上面android的配置步骤一致。
-
打开设置
-
选择无线局域网
-
手机端和电脑端连接同一个wifi
image.png -
手机端wifi点击配置代理(填写电脑的ip和charles的端口,我们用的是8888你也可以自己设置端口)
设置代理 -
手动代理配置完成以后打开Safari输入地址chls.pro/ssl
image.png -
下载完成以后进入设置页面点击通用
-
找到描述文件点击打开
-
安装刚才下载的charles证书
image.png -
最后一步信任证书,ios10.3以后安装的证书都需要手动信任
-
设置 - 通用 - 关于本机 - 滑到最下面证书信任与设置信任charles证书就完成了。
image.png
=======================分割线====================
模拟器
最近试了一下模拟器抓包发现并没有像上面第一种方法那样需要把用户证书改名放到系统证书里。咋也不知道是不是因为模拟器和真机不一样的原因,开启root权限安装证书直接就能抓取https了。
1.下载夜神模拟器:可以自行百度夜神模拟器不想百度的可以点击跳转https://www.yeshen.com/
2.下载charles证书,下载后会在电脑里,然后使用adb命令push到手机目录
首先链接模拟器
adb connect 127.0.0.1:62001
夜神模拟器的端口规律: 第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,依此类推。
如果删除了夜神模拟器后导致链接62001显示离线,这个时候就得先查看夜神模拟器在本地的端口号了,或者卸载重装。
然后把电脑证书push到手机上的sdcard/目录下我这里给charles的名称改名了。下载下来的太长了
adb push /xxx/xxx/Downloads/charles.pem sdcard/
3.在模拟器找到下载的证书 系统-wifi-右上角更多按钮-高级-安装证书
image.png
点击证书,没有设置过密码的会让你设置一个密码。然后输入证书名称点击确认就完成了。
这个时候就可以试试安装一个应用程序,抓包试试
image.png
大功告成
网友评论