首页
社区
课程
招聘
[原创]coco2djs手游封包协议分析jsc文件解密[客户虐我千百次,我待客户如初恋]
发表于: 2023-5-11 21:24 22202

[原创]coco2djs手游封包协议分析jsc文件解密[客户虐我千百次,我待客户如初恋]

2023-5-11 21:24
22202

多图预警,流量提醒
某鱼上面接了个单子,关于安卓手游逆向分析的.本来不想搞的,今天客户又联系我说看下,好吧,看在money的份上那就分析看看
图片描述图片描述

下载安装app,没啥说的.像这种手游类型的,一般都是TCP的封包协议,有的是websocket,有的是纯粹的TCP,
那么就先抓包看看,我用的是pixel3,配置抓包环境就不详细展开了.打开charles,发现到登录服务器的时候会提示连接不上服务器.那就换httpcanary试试,
图片描述图片描述
可以明显看到是websocket的协议,先打开看看是否是明文显示的.
图片描述图片描述
可以看到发送包部分明文,再看看接收的包
图片描述图片描述
有的有明文,有的却都是乱码,且乱码部分的数据都比较大.初步判断有做压缩传输.

接下来就要去看下app里面的构造了,首先游戏类的app,因为要频繁更新,所以一般不存在加固加壳的情况,用压缩软件打开app目录,可以看到
图片描述图片描述
cocos2d jsc文件,并且在lib目录看到了cocos2djs.so,确定这个游戏主要的逻辑应该都在这个jsc文件里面.
根据经验直接用mt管理器以十六进制文本打开cocos2djs.so,然后搜索ASCII字符main.js,
图片描述图片描述
图片描述
这个格式的 0ed68e2d-8b2f-4a就是jsc的解密密钥key

https://bbs.kanxue.com/thread-267920.htm#msg_header_h2_1
根据这篇大佬的分析里面有提到的jsc解密v1.44工具,下载打开,输入key,然后拖入
project.jsc,运气不错,顺利的解开了.(ps:文件有点大,可能会卡一会儿,耐心等待)
图片描述
接下来就找个工具把js代码格式化一下.然后关键词大法搜索一下"ws://","send","sendmessage","encrypt","encode",之类的.
顺利的定位到发包前的编码代码位置,先上编码的图
图片描述
然后是解码的
图片描述
编码的和解码的差不多,只是多了个HashCode,应该是服务器接收到客户端的数据后会根据这个hashcode来判断数据
是否是合法提交.

重点看下解码的代码,
先读取前4个字节作为headerFlag来判断数据是否被压缩,如果是压缩的需要执行解压缩inflate操作
再读取4个字节是数据的长度,(ps:注意要做字节集反转,大小端网络字节序的转换)
然后一个字节作为moduleEnum
再一个字节作为cmdEnum
再两个字节作为statusCode
然后从下个字节开始到尾部刚好是与数据长度相等,那么这最后读取出来的readBytes就是最终的数据了.


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 5
支持
分享
最新回复 (8)
雪    币: 162
活跃值: (959)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
52看到,看雪也支持下
2023-5-19 15:42
0
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持一夏
2023-5-19 23:26
0
雪    币: 107
活跃值: (134)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持一下,可否私聊一下
2023-5-20 02:26
0
雪    币: 209
活跃值: (1079)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
mb_xmmjvkmd 支持一下,可否私聊一下
有啥问题一起交流,权限不够发不了私信
2023-5-21 23:51
0
雪    币: 209
活跃值: (1079)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
骇客技术 52看到,看雪也支持下
看雪首发,如果有帮助到,那真是太好了
2023-5-21 23:52
0
雪    币: 107
活跃值: (134)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
果冻大砍刀 有啥问题一起交流,权限不够发不了私信[em_10]
q q 280019530
2023-5-22 14:31
0
雪    币: 3090
活跃值: (30881)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感谢分享
2023-6-25 09:08
1
游客
登录 | 注册 方可回帖
返回
//