Décryptage de l'accord de bataille de pêche
Protocole/protocole/flux/volume/déchiffrement/chiffrement
Analysez la méthode de cryptage et la méthode de décryptage du trafic de jeu de Fishing Battle.
séquence
Fishing Battle est un jeu occasionnel lancé par tuyoo il y a de nombreuses années. Oui, c'est le Tuyou que ce compte a critiqué auparavant. Ce jeu prend les profondeurs de l'océan comme arrière-plan. Les joueurs utilisent diverses méthodes de pêche sur le fond marin Compétences pour chasser les poissons colorés . Il semble être très populaire ces derniers temps, et il y a beaucoup de gens qui y jouent.
Livre
Sans aucun doute, en tant que produit de Tuyoo, Fishing Battle a le même protocole et les données sont cryptées. Dans l'ensemble, le cryptage est toujours divisé en deux parties, l'une concerne les données cryptées transportées par HTTP et l'autre les données cryptées transportées par une longue connexion TCP. Cette logique et cette méthode de cryptage ont déjà été analysées, et vous pouvez vous référer à l'analyse d'autres liens liés aux jeux avant la fin de l'article.
connexion courte
Le lien court est un HTTP approximatif, et il n'y a pas d'agent utilisateur dedans.
GET /open/v6/user/deviceAccountExistCheck?appId=10010&deviceId=386160xxx6f9436f3&clientId=Android_5.280_tyGuest,tyAccount.weixinPay,alipay,yinlian,jingdong.0-hall28.zhibo.fish3d&phoneType=&deviceName=Pixel%201&mac=5ZsNW558xxxk%2BjKu67Y6yZHB44%2BPIsDAxFMHhY37W3HyGgilLEwIbge4biJ6Klnw%3D%3D&imei=AAc/ir5454%2B54xickIaPcdaWGUrd1FFypjBFttXiIyZhHbdThTKwKCyUxA%2BKMZcXZxLblyojicaZFQ%3D%3D&imsi=&androidId=C0GWv444444WJg1HgzBpt1OFMrAoLJTED4oxlxdnEtuXKiOJxpkV&iccid=&BIParams={%22original_deviceid%22:%22130b7c5dbbb7997e1118897996f8e0bf%22,%22oaid%22:%22%22,%22google_id%22:%221a129cda-87bf-4c23-bd63-544563e341c1%22}&adTraceNamespace=3dbuyu10010&adTraceAid=2&oaid=&extraParams={}&original_deviceid=130b7c5dbbxxxxxe1118897996f8e0bf&code=B0A664507E4FEDBFE9722AE6A65FF3D1 HTTP/1.1
User-Agent:
Host: open-fish3d.tuyoo.com
Connection: Keep-Alive
Accept-Encoding: gzip
Le seul point de vue de ce HTTP est que le code dans l'url doit être calculé, et la méthode de calcul est également très simple.Tout d'abord, les paramètres de l'url sont triés, puis assemblés pour former une chaîne.Bien sûr, du sel sera ajouté pendant le processus d'épissage, sinon cela n'aura aucun sens. Ensuite, des ecb est utilisé pour crypter la chaîne de caractères, le résultat crypté est encodé en base64 et le résultat encodé est MD5. Fondamentalement, les jeux de Tuyou utilisent ces cryptage et les algorithmes de hachage. Son code d'implémentation python est à peu près le suivant (le sel et la clé sont en mosaïque):
keys=sorted(params.keys())
paramsstr=''
for a in keys:
if paramsstr!='':
paramsstr=paramsstr+'&'+a+'='+params[a]
else:
paramsstr = 'xxxx'+ a + '=' + params[a]
paramsstr=paramsstr+'yyyy'
datastr=paramsstr.encode()
endata=desecbEncrypt(datastr,b'zzzzz')
bdata=base64.b64encode(endata)
code=GetMd5(bdata.decode()).upper()
Il peut être consulté lors de la mise en œuvre si nécessaire. Si vous avez besoin de la clé, merci de me contacter (compte public : analyse et restauration du protocole).
Connexion longue
Comme d'autres jeux de Tuyou, la connexion à long terme a toujours existé, et la mise en œuvre est exactement la même. Je ne voulais pas l'écrire au début, mais beaucoup de gens ne savent pas comment jouer à la connexion à long terme, alors Je dois encore le mentionner ici.
Une longue connexion n'est pas pratique pour capturer des paquets. Il convient de noter que le port utilisé par Fishing Battle est 9013. Sa longue connexion est également cryptée, cryptage XOR. La clé cryptée est transmise au début, et le décryptage suivant dépend de la clé. Le contenu de la connexion longue est similaire à ce qui suit :
Le code de décryptage spécifique n'est pas répété ici, vous pouvez vous référer aux articles précédents listés en fin d'article. Si vous souhaitez simuler une longue connexion, vous pouvez chiffrer et déchiffrer selon l'algorithme une fois la connexion établie.
Post-scriptum
Le cryptage et le décryptage de ce jeu sont assez simples. J'aime le plus l'algorithme simple, et je pense que tout le monde l'aimera aussi.
Rappel
Si vous avez des difficultés à déchiffrer le protocole, merci de me contacter (analyse et restauration du protocole) C'est vrai, certains protocoles applicatifs doivent être déchiffrés davantage.
FIN
Examen passé
Analyse et craquage du protocole de cryptage de Tuyou Doudizhu
Analyse et révélation de la fissuration du protocole d'échecs Audi