分析途游斗地主的加密协议。

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

作为一个手机棋牌游戏厂商,途游是排得上号的,它的途游斗地主一直很火热,隐约记得,这个厂商一直在搞斗地主的全国竞技赛事,并蹭上了体育总局的IP,几轮投资人包括昆仑万维、奇虎360、创新工场、挑战者资本、星路资本等,甚是了得,不知道身后是哪位大佬。

 

作为专业的协议分析平台,当然不能错过对这个厂商的产品的分析,这里,将对途游棋牌的当家花旦——途游斗地主进行分析。

 

途游斗地主加密协议分析及破解 Safe 第1张

 

毫无疑问,途游斗地主的的数据是加密的,不是HTTP,不然这里就只有鄙视,而不会专门分析了。

 

它在整体上,加密分成两个部分,一个是HTTP承载的加密数据,一个是TCP长连接承载的加密数据。因此本文会分别对这两块的加密进行分析。

 

 

01

整体情况

 

 

在刚接触途游斗地主的时候,按标准分析套路,首先对它使用顺便进行抓包,看看报文的大体情况,几个26000端口的HTTP:

途游斗地主加密协议分析及破解 Safe 第2张

一个非标端口的TCP长连接:

途游斗地主加密协议分析及破解 Safe 第3张

不得不感慨,这款游戏采用的是上来直接就干的模式,进入游戏,一切都自动了,直接进入牌桌牌局,没有其它额外的东西,我都忍不住玩了几局。

 

言归正传,看了下游戏相关的流量加密了,那我们也开干吧!

使用android killer打开APK包,看了下大体结构,游戏是使用cocos2dx开发的,斗地主的游戏主体在脚本ddz_release.jsc里面:

 

途游斗地主加密协议分析及破解 Safe 第4张

下面的章节就介绍它的解密了。

 

 

02

HTTP体解密

 

前面抓包看到,打开途游斗地主首先出现的是几个26000端口的HTTP,使用的域名是fee.uebilling.com,不知道这个服务器上都在做啥:

途游斗地主加密协议分析及破解 Safe 第5张

很明显,请求和响应里面的http体是base64编码的,解开base64是二进制,明显有加密,一番探索,得到结果,加密方法是DES_ecb3_encrypt,密钥固定24字节"dbbsRYnaQPKia/sCWJGRNAsQH7PLIw3a",直接上解密代码:

途游斗地主加密协议分析及破解 Safe 第6张

解一段报文试试,各种参数:

途游斗地主加密协议分析及破解 Safe 第7张

基本上是属于个人信息。

 

03

TCP长连接解密

 

游戏运行过程中,长连接一直存在,估计是进行游戏数据的交互的:

途游斗地主加密协议分析及破解 Safe 第8张

继续分析,直接粗暴地上解密代码,不详细解释了:

途游斗地主加密协议分析及破解 Safe 第9张

简单的异或加密,只是用来异或的密钥值是动态的,每次连接有变化,每个报文块也会变化,密钥是连接起始的数字和每块长度数据相加的结果。

 

连接的IP端口怎么协商的,这里就不介绍了,如果哪位朋友有兴趣,分析一番就能得到结论。

 

解密没什么难度,诡异的是解密结果:

途游斗地主加密协议分析及破解 Safe 第10张

 

尝试在游戏界面找结果出现的地方,没找到呀,这是为啥?

再结合百度搜索出现的诡异热点内容关联:

途游斗地主加密协议分析及破解 Safe 第11张

是不是背后隐藏了什么秘密?

 

04

总结

 

途游斗地主这款游戏,加密的强度很小,分析起来基本没有难度,有兴趣的朋友可以拿去练手。3des、异或这些加密,是最初级的加密算法了。

 

我对它分析,其实感兴趣的是它背后的东西,比如上一节的末尾“途游输了倾家荡产”这个背后有些什么秘密,这个相关热点,我倾向于相信百度没有进行人工操控,完全是无数百度用户的搜索动作配合代码逻辑触发的,大家不妨一起探索,看看是如何倾家荡产的。

 

大家一起努力,学习学习再提高,可与我联系,一起交流心得。

 

途游斗地主加密协议分析及破解 Safe 第12张

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

 

点击“在看”,与朋友一起分享↘

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄