途游斗地主加密協議分析及破解


 分析途游斗地主的加密協議。

 

作為一個手機棋牌游戲廠商,途游是排得上號的,它的途游斗地主一直很火熱,隱約記得,這個廠商一直在搞斗地主的全國競技賽事,並蹭上了體育總局的IP,幾輪投資人包括昆侖萬維、奇虎360、創新工場、挑戰者資本、星路資本等,甚是了得,不知道身后是哪位大佬。

 

作為專業的協議分析平台,當然不能錯過對這個廠商的產品的分析,這里,將對途游棋牌的當家花旦——途游斗地主進行分析。

 

 

毫無疑問,途游斗地主的的數據是加密的,不是HTTP,不然這里就只有鄙視,而不會專門分析了。

 

它在整體上,加密分成兩個部分,一個是HTTP承載的加密數據,一個是TCP長連接承載的加密數據。因此本文會分別對這兩塊的加密進行分析。

 

 

01

整體情況

 

 

在剛接觸途游斗地主的時候,按標准分析套路,首先對它使用順便進行抓包,看看報文的大體情況,幾個26000端口的HTTP:

一個非標端口的TCP長連接:

不得不感慨,這款游戲采用的是上來直接就干的模式,進入游戲,一切都自動了,直接進入牌桌牌局,沒有其它額外的東西,我都忍不住玩了幾局。

 

言歸正傳,看了下游戲相關的流量加密了,那我們也開干吧!

使用android killer打開APK包,看了下大體結構,游戲是使用cocos2dx開發的,斗地主的游戲主體在腳本ddz_release.jsc里面:

 

下面的章節就介紹它的解密了。

 

 

02

HTTP體解密

 

前面抓包看到,打開途游斗地主首先出現的是幾個26000端口的HTTP,使用的域名是fee.uebilling.com,不知道這個服務器上都在做啥:

很明顯,請求和響應里面的http體是base64編碼的,解開base64是二進制,明顯有加密,一番探索,得到結果,加密方法是DES_ecb3_encrypt,密鑰固定24字節"dbbsRYnaQPKia/sCWJGRNAsQH7PLIw3a",直接上解密代碼:

解一段報文試試,各種參數:

基本上是屬於個人信息。

 

03

TCP長連接解密

 

游戲運行過程中,長連接一直存在,估計是進行游戲數據的交互的:

繼續分析,直接粗暴地上解密代碼,不詳細解釋了:

簡單的異或加密,只是用來異或的密鑰值是動態的,每次連接有變化,每個報文塊也會變化,密鑰是連接起始的數字和每塊長度數據相加的結果。

 

連接的IP端口怎么協商的,這里就不介紹了,如果哪位朋友有興趣,分析一番就能得到結論。

 

解密沒什么難度,詭異的是解密結果:

 

嘗試在游戲界面找結果出現的地方,沒找到呀,這是為啥?

再結合百度搜索出現的詭異熱點內容關聯:

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

 

04

總結

 

途游斗地主這款游戲,加密的強度很小,分析起來基本沒有難度,有興趣的朋友可以拿去練手。3des、異或這些加密,是最初級的加密算法了。

 

我對它分析,其實感興趣的是它背后的東西,比如上一節的末尾“途游輸了傾家盪產”這個背后有些什么秘密,這個相關熱點,我傾向於相信百度沒有進行人工操控,完全是無數百度用戶的搜索動作配合代碼邏輯觸發的,大家不妨一起探索,看看是如何傾家盪產的。

 

大家一起努力,學習學習再提高,可與我聯系,一起交流心得。

 


長按進行關注,時刻進行交流。

 

點擊“在看”,與朋友一起分享↘


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM