转载请注明出处
#####如果app有https证书验证, 估计就不行了 , Charles是先伪装服务器向浏览器发送伪造的公钥,从而取得浏览器的私钥。这样就完成的浏览器端的解密。服务器端类似。(用的别人的话 )
####1.下载Charles 下载地址:https://www.charlesproxy.com/download/
####2.配置Mac和iPhone的证书 #####a.配置Mac证书: ######Help->SSL Proxying->Install Charies Root Certificate
然后 会自动打开钥匙串把自动安装的证书设置成始终信任
#####b.配置iPhone证书 ######Help->SSL Proxying ->Install Charies Root Certificate on a Mobile Device or Remote Browser
会弹出一个提示
#####注意看!!!!! 注意看 注意 !!!!! ######里面有两个部分一个是ip地址 一个是证书下载地址
1.IP地址 :fe80:0:0:0:6c07:12ff:fe01:ebcd%10 不管他, 直接去网络偏好设置里面看自己的
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的信息, 你并没有拿到!!!!!! 怎么办!!! 怎么办 !!!
#####b:配置Charles 1.Proxy->SSL Proxying Settings..
2.把要抓取的接口添加进来
再来操作app, 就可以看到数据正常抓取了
####3.如何篡改数据呢? 1.在我的app那个请求上右键->Breakpoint 添加一个断点
2.当你再次发起这个请求的时候, 就会断在这里, 注意下面的截图
在这个位置就可以修改你的请求数据 ######注意 !!!! 断点会断两次, 一次发起请求的断点, 一次回调会数据的断点, 这个断点是在发起请求的位置
3.回调数据的时候
#####Execute 是下一步这时候就可以修改返回的数据了