Maison Opération et maintenance Sécurité Comment décrypter les ressources de l'application dans l'ingénierie inverse cocos2d-LUA

Comment décrypter les ressources de l'application dans l'ingénierie inverse cocos2d-LUA

May 16, 2023 pm 07:11 PM
app cocos2d-lua

Toujours en prenant Dashen apk comme exemple, grâce à l'analyse précédente du script lua de décryptage de l'application, nous pouvons décrypter le script lua de Dashen apk. Décryptons maintenant ses ressources (fichiers de configuration et images, etc.). Nous prenons comme exemple le fichier de configuration le plus important. Avant de décrypter :
Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA

L'en-tête du fichier a également une valeur de signature : Fuckyou !. Voyant cela, nous avons d'abord réfléchi à la question de savoir s'il était également crypté avec xxtea. Nous avons d'abord utilisé la méthode ci-dessus pour le déchiffrer avec xxtea, puis nous l'avons décompressé. Une erreur s'est produite pendant l'opération. devons nier ce que nous venons de dire. Nous continuons à décrypter le fichier de configuration étape par étape.

Pensez-y un instant, l'en-tête du fichier est : va te faire foutre ! Si vous souhaitez décrypter le fichier, vous devez inévitablement traiter la chaîne : va te faire foutre ! , nous devrions donc pouvoir rechercher la chaîne putain dans idaPro, puis utiliser la fonction d'analyse, de débogage et de décryptage dans le segment de code où se trouve la chaîne putain. Ouvrez idaPro et ouvrez la vue chaîne, recherchez "fuckyou" pour vérifier notre hypothèse

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA                  

Rien ! Je suppose que l'optimisation a été effectuée et que la chaîne a été optimisée quelque part.好 Les indices sont brisés, mais la curiosité nous permet toujours de continuer. À ce stade, nous pouvons parcourir le code source du framework Cocos2D et combiner certaines informations sur Internet, et constater que le traitement Cocos2D du fichier est encapsulé dans la classe CCFileUtils : il y a beaucoup de fonctions de

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA, il y a beaucoup de fonctions, il y a beaucoup de fonctions, et il y a beaucoup de fonctions, et il y a beaucoup de fonctions, et il y a beaucoup de fonctions, et il y a beaucoup de fonctions.不一一贴了,从网上也找到了前辈的经验:

        

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA好了,我们现在回到idaPro,在export窗口,搜索getData:

        

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA进这两个函数,反编译看Le prochain ne le fait pas Cela ne se ressemble pas beaucoup, alors ignorez-le, mais notez-le d'abord. Nous pouvons faire une pause ici lors du réglage dynamique.

                                                                                                    Regardons à nouveau getFileData :                           Puisque l'application fonctionne sur la plateforme Android, regardons le CCFileUtilsAndroid::getFileData de la plateforme Android :

         

Le code est très long et incomplet, l'élément clé de cette fonction. :

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA

En voyant la photo ci-dessus, j'ai l'impression que c'est ça, haha ​​! Mais nous devons encore continuer à analyser et à vérifier. Lorsque la fonction traite le signe dans l'en-tête du fichier, elle ne le compare pas directement avec les caractères mais les compare un à un avec leurs valeurs ASCII, on ne peut donc pas trouver fuckyou dans la fenêtre de chaîne ! de. Regardez ensuite vers le bas, lorsque la fonction détermine que le texte est conforme au format crypté, elle supprimera les 8 premiers octets (va vous faire foutre !), puis effectuera une opération XOR avec la valeur dans la table XOR, en boucle tous les 256 octets. T Nous pouvons regarder BYTE_A1C55F :

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA

À ce stade, nous pouvons essentiellement déterminer la fonction et le processus de décryptage des fichiers. Nous pouvons déboguer dynamiquement, puis confirmer que lorsque l'application appelle cette fonction, la mémoire doit contenir du contenu clair. mémoire. . Lorsque nous déboguons, nous interrompons au début et à la fin des fonctions getData et CCFileUtilsAndroid:doGetFileData :

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ :

Bien que les deux fonctions soient interrompues, elles ne s'arrêtent qu'au point d'arrêt doGetFileData, ce qui signifie que la fonction doGetFileData est utilisée pendant le processus de décryptage, ce qui est conforme à nos attentes. Jetons un coup d'œil aux registres et à la mémoire :

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA

.

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA​​​​​​

Il s'avère que le contenu avant doGetFileData est du texte chiffré et qu'il a été déchiffré en texte brut avant le retour de la fonction. Cela montre que notre analyse précédente est correcte.

D'accord, maintenant, nous pouvons copier la table XOR byte_A1C55F, puis imiter le processus de décryptage de l'application (vous pouvez trouver un script de décodage xor sur GitHub et le modifier légèrement) et écrire un petit outil pour décoder le master.apk All les ressources ont été décryptées :

Comment décrypter les ressources de lapplication dans lingénierie inverse cocos2d-LUA

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'application Binance prend-elle un chinois simplifié? Y a-t-il vraiment? Tutoriel spécifique sur la définition de la langue de l'application Binance L'application Binance prend-elle un chinois simplifié? Y a-t-il vraiment? Tutoriel spécifique sur la définition de la langue de l'application Binance Mar 03, 2025 pm 11:09 PM

Binance, la principale plateforme de trading de crypto-monnaie mondiale, prend en charge plus de 600 échanges de crypto-monnaies. Ses puissantes mesures de sécurité, ses riches options de devises et ses services de trading diversifiés le rendent courant sur le marché. Pour faciliter les utilisateurs mondiaux, Binance a lancé une application qui prend en charge plusieurs langues, y compris des chinois simplifiés. Cet article répondra à ces deux questions: "Le binanceapp soutient-il le chinois simplifié?" BinanceApp Simplified Chineseding Guide chinois: La réponse est oui! BinanceApp soutient pleinement le chinois simplifié. Que vous utilisiez la version Web ou l'application mobile, vous pouvez facilement passer à l'interface chinoise. Voici les étapes détaillées:

Comment détecter la durée d'apprentissage de la durée de l'apprentissage et du mécanisme statistique Comment détecter la durée d'apprentissage de la durée de l'apprentissage et du mécanisme statistique Sep 03, 2025 pm 06:57 PM

L'apprentissage utilise un mécanisme multidimensionnel tel que le package de battements cardiaques, la détection de la mise au point des pages, le comportement d'interaction de l'utilisateur (tels que le mouvement de la souris, la saisie du clavier), la progression de la lecture vidéo et l'analyse du comportement anormal pour déterminer de manière approfondie si l'utilisateur est dans un état d'apprentissage efficace pour éviter le temps passé à raccrocher.

Comment rembourser l'argent d'Alipay_Tutorial pour l'opération et les précautions du remboursement des pétales Alipay Comment rembourser l'argent d'Alipay_Tutorial pour l'opération et les précautions du remboursement des pétales Alipay Sep 03, 2025 pm 07:00 PM

Tout d'abord, ouvrez l'application Alipay, entrez la page "My" et cliquez sur [Huabei] pour rembourser. Les utilisateurs peuvent choisir de rembourser manuellement, de configurer le remboursement automatique ou de régler la facture à l'avance. Le remboursement manuel nécessite de cliquer sur [rembourser maintenant] et de confirmer le montant et le mode de paiement; Le remboursement automatique peut permettre un remboursement complet ou minimum dans les paramètres, et le système déduira le paiement à temps; Le règlement anticipé doit cliquer sur [rembourser le règlement anticipé] sur la page de la facture et terminer le paiement, et après succès, vous pouvez obtenir un certificat de règlement de la blockchain. Les notes incluent la garantie du solde du compte suffisant, la réalisation des opérations avant 22h00 la veille de la date de remboursement, la déclaration des remboursements importants à l'avance, la correction rapide des informations pour les utilisateurs de déduction fiscale et l'attention des différences dans le temps de récupération du montant.

Comment annuler l'automatisation des commandes de raccourci d'Apple Comment annuler l'automatisation des commandes de raccourci d'Apple Sep 05, 2025 am 11:24 AM

Comprenez les fonctions d'automatisation dans les raccourcis avant d'apprendre à supprimer l'automatisation, comprenons d'abord la signification de «l'automatisation» dans l'application des raccourcis. L'automatisation fait référence à un ensemble d'opérations prédéfinies que le système effectue automatiquement lorsqu'une condition spécifique est remplie. Ces conditions de déclenchement peuvent inclure du temps, de l'emplacement géographique, de l'état de la connexion de l'appareil, etc. À l'aide de l'automatisation, les utilisateurs peuvent réaliser des opérations intelligentes telles que la déclaration automatique de la météo le matin et les téléphones mobiles silencieux lors de l'entrée dans le bureau, améliorant considérablement l'expérience utilisateur. Trouvez et localisez la façon automatisée de supprimer pour ouvrir l'application "Raccourcis" sur votre iPhone. Cliquez sur l'onglet Automation dans le menu inférieur. Tous vos processus d'automatisation actuels seront répertoriés dans cette interface. Faites glisser pour afficher la liste et trouver celle que vous souhaitez annuler ou supprimer. Comment supprimer une seule pièce

Comment informer et gérer les notifications d'écran divisé iPad Split_ipad sans paramètres d'interruption Comment informer et gérer les notifications d'écran divisé iPad Split_ipad sans paramètres d'interruption Sep 05, 2025 pm 08:33 PM

Réponse: Les notifications ne seront pas affichées à plusieurs reprises lorsque l'iPad divise l'écran. Le cœur de la gestion est de n'atteindre aucune interruption grâce à l'ajustement du style de notification, au réglage du mode de mise au point, aux fonctions de gestion de la gestion de l'application et de notification.

Qu'est-ce que Kaito Coin? Économie de jetons Kaito, perspectives futures et prévisions de prix Qu'est-ce que Kaito Coin? Économie de jetons Kaito, perspectives futures et prévisions de prix Sep 08, 2025 pm 02:21 PM

Contenu Qu'est-ce que Kaito Coin? Comment Kaito travaille l'information finance (INFOFI) KaitoprokaitoyapskaitOconnectkaito Coin de la pièce Maisse principales Économie token Rôle de la pièce Kaito dans la participation de la communauté Defi 2026-2031 Prix Kaito champ de monnaie numérique en constante évolution

Comment utiliser l'écran divisé iPad pour l'éducation des enfants pour combiner des applications d'apprentissage et de divertissement à écran partagé iPad Comment utiliser l'écran divisé iPad pour l'éducation des enfants pour combiner des applications d'apprentissage et de divertissement à écran partagé iPad Sep 05, 2025 pm 07:42 PM

L'écran divisé iPad peut améliorer l'efficacité de l'apprentissage des enfants et réaliser des applications éducatives et de divertissement correspondent raisonnablement aux applications éducatives et de divertissement; La méthode de réglage consiste à faire glisser la barre de docker en bas et à faire glisser la deuxième application sur le côté pour diviser l'écran; Il convient à des combinaisons telles que l'apprentissage et la peinture, la lecture et les notes, la programmation et les jeux. Les parents peuvent définir le temps d'utilisation via la fonction "Temps d'utilisation de l'écran", d'accord sur les règles et vérifier régulièrement pour empêcher la dépendance; Depuis 3 à 6 ans, les applications cognitives sont principalement utilisées, de 7 à 12 ans et des applications professionnelles telles que la programmation et l'écriture peuvent être effectuées. La clé est de planifier raisonnablement la méthode d'utilisation selon l'âge.

Comment modifier les fichiers Docx sur Windows? Tutoriels complets à l'aide de Microsoft Word Comment modifier les fichiers Docx sur Windows? Tutoriels complets à l'aide de Microsoft Word Sep 05, 2025 pm 08:51 PM

L'utilisation de Microsoft Word est le meilleur moyen de modifier les fichiers DOCX, y compris l'ouverture, l'édition, le formatage, l'insertion de contenu, la mise en page, la révision des révisions et l'enregistrement. Les problèmes de compatibilité sont principalement causés par des polices manquantes, différentes versions de mots, des pilotes d'imprimante, des paramètres d'affichage et des systèmes d'exploitation, et peuvent être résolus en intégrant des polices, en utilisant des polices communes ou en économisant comme formats compatibles. Les conseils pratiques incluent l'utilisation du formatage uniforme de style, la génération de répertoires automatiques, les références croisées, les annotations de révision, la macro-automatisation, les inspecteurs de documents et les vérifications d'accessibilité. Si le fichier est corrompu, vous pouvez essayer "ouvrir et réparer", restaurer des fichiers temporaires, les ouvrir avec d'autres logiciels, les insérer dans de nouveaux documents, vérifier les autorisations et le stockage, ou utiliser des outils de récupération professionnels. Il est également recommandé d'activer la sauvegarde automatique et la sauvegarde du cloud à

See all articles