首页
社区
课程
招聘
[原创]某国外小众社交软件网络协议分析
2023-4-30 15:55 5980

[原创]某国外小众社交软件网络协议分析

2023-4-30 15:55
5980

首先,从apk提取dex文件,然后利用dex2jar将dex转化为jar,拖到jd-gui后,发现有如下几个可疑点类:
1 com.azus.android.tcplogin.CryptUtil.rsaEncrypt
2 com.azus.android.tcplogin.CryptUtil.aesDecrypt
3 com.azus.android.tcplogin.CryptUtil.aesEncrypt
4 com.azus.android.tcplogin.CryptUtil.getRSAPublic

使用XPOSED框架,编写hook代码并输出日志(或者写入文件),同时用wireshark抓包,最终得出如下加解密逻辑:

(1)客户端生成一个随机16位uuid(在com.instanza.cocovoice.bizlogicservice.b,com.instanza.cocovoice.bizlogicservice.impl,com.instanza.cocovoice.httpservice.d等类中均有此接口)

图片描述

(2)客户端从安装程序的assets目录下读取rsapubkey.dat文件,并把文件内容当做rsa公钥,并加密上述16字节的uuid
图片描述

图片描述

提取到Rsa公钥为:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv6wVtSeHU8gJWchcFfe4
qu9JNqDrPLBSfDwZ4NW9f+Qp5OI3FAsd19r5FM95wzdTPb6k/tTDnsPkdnTiEwTI
28PYffP/87BIraQrcgCWmbpugZ0l892LFUYweepp/R54OAlTaPLHMcaHxLnWX3Fq
wghOAjCNvAnXC3TWNJJnlHJ5e32n22nPMdCMNzwXV+zHHP+0sJyBQJd8yoBFFLh+
AZwy/F1xFkAWl9r3emdKhSIpPpT4nTEVD1ieGnMq5DxGPNpihP6jbZOI3UEwOTki
wpdOdR5j9lfe5tRis7pGyPHj+IOHzXRsZGC4r5xEhOKiCOckWJPVgCJWS3ruy5xJ
nwIDAQAB
-----END PUBLIC KEY-----

(3)构造登录包。此数据包分成三个部分:数据包头;ras公钥加密后的aes密钥(即16字节的uuid);客户端用aes算法和aes密钥(uuid)加密后的用户登录信息(登录信息中也包含uuid)。
此程序的服务器端口是tcp 1088(有时也会使用443等端口),登录数据包如下所示: 图片描述

可以看出,此数据包第20字节开始是”qauth”字符串。
整个数据包可分为如下几个部分:从开头到12 80 02的部分是第一部分,从12 80 02到1a d0 02是第二部分,从1a d0 02开始到20 01 2a的是第三部分。剩下的包尾的是第4部分。第一部分字段暂时未详细研究;第二部分是用rsa公钥加密uuid后的数据值;第三部分是用aes算法和密钥uuid加密后的客户端登录信息;第四部分是用户登录信息段中的deviceid字段和publickey的md5值。整个结构应该是tlv结构来表示的,具体的的字段含义未分析。

图片描述
以下是加密前的客户登录信息数据,其中划红线的正好是aes密钥,数据包解密之后,可以用本字段验证aes加解密的结果是够正确。
图片描述

如此来说,本程序的破解流程应该是,接收到登录数据包后,先用服务器端的rsa私钥解密出上图第2部分的值,解密结果是一个aes密钥,然后用此aes密钥解密上图中第二部分的登录信息,至此数据包解密完毕。另外值得一提的是,该aes密钥是本次用户和服务器之间所有的文本、语音、图片等通信数据的密钥。

以下是程序的核心加解密算法反编译源码:

图片描述

图片描述

图片描述
图片描述

通过xposed对以上函数的hook和输出,可以清晰的看到客户端输入的文本、发送的图片和语音(以0x789c开头的zlib压缩数据段),通过以上几个函数加密,变成数据包中的数据的过程。

比如发送消息nihao之后的加密过程:

图片描述
“nihao”加密后的数据包:

图片描述

本程序样本、Xposed测试源码和日志输出、数据包都在附件中。
软件下载地址:https://download.csdn.net/download/m0_37567738/88415580?spm=1001.2014.3001.5501

文档下载:https://download.csdn.net/download/m0_37567738/88999696


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

最后于 2024-3-20 15:11 被satadrover编辑 ,原因:
上传的附件:
收藏
点赞2
打赏
分享
最新回复 (1)
雪    币: 19389
活跃值: (29037)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2023-4-30 16:24
2
1
感谢分享
游客
登录 | 注册 方可回帖
返回