Décryptage de l'accord de bataille de pêche

d8509aa5077cd5be18365811c463b452.png

e062f4e631c03349b458575bae193c0b.png

Décryptage de l'accord de bataille de pêche

558329a70c1b0c94a1b42d7c31d4c3b5.png

Protocole/protocole/flux/volume/déchiffrement/chiffrement

35971c0bb43a7ae9892b9e32181626bd.png

Analysez la méthode de cryptage et la méthode de décryptage du trafic de jeu de Fishing Battle.

séquence

386592c64752e00818e5aa7dab50509f.png

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.

be2a443aa644b04bf1b16cc002bbec3b.png

Livre

a8767d651c138c32d5911a5ce8c5c230.png

b72c41fe54c7f03f8cc1e2618276e7d6.jpeg

6235cc5e29eab5a64f5dd5527d307593.jpeg

9ade0c0fa9a3e9e98114e425e44e5a2b.png

c658be4b16907220e76116efb6fd7dfe.png

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.

69555259658a1473edc80c1066919db8.png

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).

1ab9bfd761d119355bc515ea3e782698.png

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 :

2232f83e2885038d686fec1af5626191.jpeg

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

edabd093dc4aabfa9f4f0a225bcb1954.png

e7f6bd20f542e244f9c8990495a7327f.jpeg

b732f8bd0340e91979e11133426eed2f.jpeg

b5e4317ff3f46c1b909c77b8b2a5cbdc.jpeg

4dcc5721303ff6b459fd4200146d8de0.png

a7bb01d563253994f5697165adfd2a3c.png

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.

56ffb0ec7984929dccb7d8838296f178.png

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.                                                                                 

87177d46df46036685ae672f9484e38f.png

f90a0efa76b82b315db59e2f6c198fbd.png

FIN

181e13ece17ace7dc28bb3fc50e203b2.png

2719bbe8cd75cd9639e27e127322208b.png

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

4632b6ea345aa7e12edd928a18a4c4d1.png

6c5389712d1af420dcf1b4fb3b2ec469.jpeg

bccf85a0a50fb5626d4f22350f8166c4.png

Je suppose que tu aimes

Origine blog.csdn.net/yeyiqun/article/details/129002071
conseillé
Classement