转载请注明出处
如果app有https证书验证, 估计就不行了 , Charles是先伪装服务器向浏览器发送伪造的公钥,从而取得浏览器的私钥。这样就完成的浏览器端的解密。服务器端类似。(用的别人的话 )
1.下载Charles
下载地址:https://www.charlesproxy.com/download/
2.配置Mac和iPhone的证书
a.配置Mac证书:
Help->SSL Proxying->Install Charies Root Certificate
![](https://img.haomeiwen.com/i2305823/f8d8c8ed309773a5.png)
然后 会自动打开钥匙串
把自动安装的证书设置成始终信任
![](https://img.haomeiwen.com/i2305823/7483c0e1ebaff74f.png)
b.配置iPhone证书
Help->SSL Proxying ->Install Charies Root Certificate on a Mobile Device or Remote Browser
![](https://img.haomeiwen.com/i2305823/413364c9a23e8b4f.png)
会弹出一个提示
![](https://img.haomeiwen.com/i2305823/703feab0ac358336.png)
注意看!!!!! 注意看 注意 !!!!!
里面有两个部分一个是ip地址 一个是证书下载地址
1.IP地址 :fe80:0:0:0:6c07:12ff:fe01:ebcd%10 不管他, 直接去网络偏好设置里面看自己的
![](https://img.haomeiwen.com/i2305823/abbd2a34a69debdf.png)
ip地址是:192.168.1.120 端口是8888
2.证书下载地址: chls.pro/ssl , 拷贝chls,pro/ssl 去Safari 打开 ,就会直接跳转安装,信任就好了
2.设置Charles和iPhone地址
a:配置iPhone 代理
1.打开设置->无线局域网
2.找到你的wifi (要求和电脑处于同一wifi环境下)
3.HTTP代理位置 -> 手动 服务器就是刚才提到的 mac的ip地址 192.168.1.120(写你自己的...)
4.端口就是8888
此时你打开手机app就会在Charles中看到请求信息了 , 比如 红色 方格中的接口
![](https://img.haomeiwen.com/i2305823/643f9f4a1dfae12e.png)
注意看 注意看 注意看 !!!!! 红色圆圈中是有锁的, 也就是说你并没有抓到信息 , 这是https的信息, 你并没有拿到!!!!!! 怎么办!!! 怎么办 !!!
b:配置Charles
1.Proxy->SSL Proxying Settings..
![](https://img.haomeiwen.com/i2305823/82ba3afa171317a8.png)
2.把要抓取的接口添加进来
![](https://img.haomeiwen.com/i2305823/5b78fa5ffde4b45c.png)
再来操作app, 就可以看到数据正常抓取了
![](https://img.haomeiwen.com/i2305823/5ca99b3defa9ba58.png)
3.如何篡改数据呢?
1.在我的app那个请求上右键->Breakpoint 添加一个断点
![](https://img.haomeiwen.com/i2305823/6d31eff8f5748f5b.png)
2.当你再次发起这个请求的时候, 就会断在这里, 注意下面的截图
![](https://img.haomeiwen.com/i2305823/c93d42079fb865b1.png)
在这个位置就可以修改你的请求数据
注意 !!!! 断点会断两次, 一次发起请求的断点, 一次回调会数据的断点, 这个断点是在发起请求的位置
3.回调数据的时候
![](https://img.haomeiwen.com/i2305823/ec07fda8df254ee9.png)
Execute 是下一步
![](https://img.haomeiwen.com/i2305823/88d25860c006ac44.png)
这时候就可以修改返回的数据了
网友评论