绑定证书的cocos2d程序如何对wss长连接抓包

当遇到使用cocos2d并绑定了证书的wss长连接应用抓包困难时,可以尝试修改应用内的证书文件,导入抓包工具如Charles的证书公钥,以绕过sslpinning实现抓包。本文详细介绍了这一方法,并提供了步骤和文件格式示例。
摘要由CSDN通过智能技术生成

点击上方蓝字[协议分析与还原]关注我们


 解决在应用内绑定了证书的cocos2d应用wss长连接抓包的问题。

在分析应用的过程中,不可避免地需要抓包。

没加密的还好说,随便找个工具抓下就可以分析了,有些应用数据使用tls加密了,但用的是系统内置的证书,把我们的抓包工具的证书导到系统里去,就可以用Charles等中间人方式抓包了。

还有些应用,采用用sslpinning,光导入证书到系统不管用,需要使用frida等工具进行hook相关接口,来禁用sslpinning,例如objection等,对常规的抓包困难场景,还算比较好用。还有些应用,tls加密数据走的非标端口,不是http协议,而是sock协议,这种,使用一些命令或工具转发流量,也能搞定。

但是,总有些应用使用的接口在三界五行之外,没被覆盖到,这种应用,如果要抓包,就需要别的解决方法,例如今天要介绍的一款cocos2d应用,websocket使用的wss协议,使用了就无法正常的抓包,如果抓包,就启动不起来,但不得不抓,一些战绩数据在里面需要提取,所以需要特别的处理。

0117563cd448fc1e76be446941912f7b.png

这是一款使用了知名棋牌应用外壳的游戏,但内容改了,里面的长连接是websocket,使用7779端口,wss协议加密,也就是外面加了一层tls,这没什么,但是在cocos2djs里面,wss的websocket,需要传入绑定的证书的路径,不是使用系统默认证书,像下面这样:

e.prototype.connect = function() {
var e, t = this;
if (cc.sys.os === cc.sys.OS_ANDROID && cc.sys.isNative) cc.assetManager.getBundle("common").load("res/android/cacert", function(o, i) {
var n = i.nativeUrl;
e = new WebSocket(t._url, null, n);
t.connectWithWs(e);
}); else {
e = new WebSocket(this._url);
this.connectWithWs(e);
}
};

这种情况下,使用objection这些工具不管用,只要抓包,必然过不去,无法通过证书的校验,那怎么办呢,只能改文件了,找到这个路径对应的文件,是一个PEM文件,把我们用的抓包工具,例如Charles的证书公钥导出来,加进这个文件里,保存,换回手机相应的目录里。文件格式是这样的,每个公钥相互独立,一看就是系统里导出来用的:

GlobalSign Root CA
==================
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----

这个文件一般在assets目录下,搜下就能找到。

下次碰到,不妨试试,很简单,省事不少。

有问题,发消息联系。

别忘点“在看”、“赞”和“分享”

新的规则,及时收推文要先给公号星标

别忘了星标一下,不然就错过了

d49b36ae0de10da346501b7c85eb8212.jpeg

长按进行关注,时刻进行交流。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值