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

这篇具有很好参考价值的文章主要介绍了绑定证书的cocos2d程序如何对wss长连接抓包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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


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

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

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

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

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

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

这是一款使用了知名棋牌应用外壳的游戏,但内容改了,里面的长连接是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目录下,搜下就能找到。

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

有问题,发消息联系。

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

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

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

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

长按进行关注,时刻进行交流。文章来源地址https://www.toymoban.com/news/detail-452323.html

到了这里,关于绑定证书的cocos2d程序如何对wss长连接抓包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://blog.csdn.net/yeyiqun/article/details/125986143

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何将cocos2d-x js打包部署到ios上 Mac M1系统

    项目环境 cocos2d-x 3.13 xcode 12 mac m1 big sur 先找到你的项目 使用xcode软件打开上面这个文件 打开后应该是这个样子 执行编译运行就好了 可能会碰到的错误 在xcode11版本以上都会有这个错误,这是因为iOS11+废弃了system。 将上面代码修改为 解决方案地址 remove \\\"system\\\" usage by minggo ·

    2024年02月22日
    浏览(7)
  • Cocos2d-x实现文字颜色渐变

    更改CCLabel文件的updateColor()函数中的顶点颜色即可,代码如下: 效果图:  

    2024年02月12日
    浏览(6)
  • cocos2d-x C++与Lua交互

    Cocos版本: 3.10 Lua版本: 5.1.4 环境: window Visual Studio 2013 Lua 作为一种脚本语言, 它的运行需要有 宿主 的存在,通过 Lua虚拟栈 进行数据交互。 它的底层实现是 C 语言,C语言封装了很多的API接口,使得C/C++与Lua之间可以很方便的通信交互。 Lua的官网: https://www.lua.org/ 在coc

    2024年02月08日
    浏览(8)
  • cocos2d-x 3.17 推箱子 0.1

    此版本为推箱子游戏的基础版本, 后续添加如下功能 人物动画 TiledMap 解析 射线碰撞检测 下一步提示, C++算法解析 道具, 可以回退一步 通过 cocos 命令新建一个项目, 将本项目的 Reources 目录和 Classes 目录复制过去即可 使用图集绘制 Sprite , 然后手动处理碰撞检测 游戏学论著翻译

    2024年02月08日
    浏览(16)
  • cocos2d-x Android原生平台与Lua交互

    2024年02月08日
    浏览(6)
  • cocos creator 如何绑定参数到编辑器

    很多cocos creator同学不知道如何绑定组件属性到编辑器上,今天我们来教大家如何绑定 1: 基本数据属性绑定到编辑器    这个非常简单,模板是属性名字: 默认的值; Is_debug: false, speed: 100, 2: 系统组件类型与节点绑定到编辑器 属性名字: {    type: 组件类型(cc.Sprite, cc.Label,

    2024年01月23日
    浏览(17)
  • cocos2dx学习之UIListView.h

    /**************************************************************************** Copyright (c) 2013-2017 Chukong Technologies Inc. http://www.cocos2d-x.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \\\"Software\\\"), to deal in the Software without restriction, including witho

    2024年02月11日
    浏览(10)
  • cocos2dx学习之UIListView.cpp

    /**************************************************************************** Copyright (c) 2013-2017 Chukong Technologies Inc. http://www.cocos2d-x.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \\\"Software\\\"), to deal in the Software without restriction, including witho

    2024年02月11日
    浏览(10)
  • cocos2dx上做边下边玩小包热更

    因为公司业务需求需要做边下边玩的小包下载,在这里记录一下思路 下载库我使用的是cocos2dx 4.x的CCDownloader来下载文件 大体思路就是hook住fileutils中的getFileData函数和isFileExist函数。 isFileExist:无论初始包里文件是否存在,只要文件是游戏的资源文件这里都要返回“文件存在”

    2024年02月03日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包