Maison  >  Article  >  Opération et maintenance  >  Comment idaPro analyse le script Lua de décryptage d'application

Comment idaPro analyse le script Lua de décryptage d'application

WBOY
WBOYavant
2023-05-18 08:34:191500parcourir

Grâce au débogage ou au hooking idaPro précédent, nous pouvons obtenir la clé de décryptage xxtea. Pour le signer, nous pouvons ouvrir directement le fichier original :

Comment idaPro analyse le script Lua de décryptage dapplication                                                              .                                                                  On peut obtenir la clé de déchiffrement de xxtea. Pour signer, on peut directement ouvrir le fichier original : Par conséquent, nous pouvons essayer d'utiliser l'outil de décryptage xxtea (en récupérant le code source sur GitHub et en le compilant) pour décrypter

​ ​

Comment idaPro analyse le script Lua de décryptage dapplication En prenant index.luac comme exemple, nous regardons les changements dans index.luac avant et après décryptage :

Comment idaPro analyse le script Lua de décryptage dapplication ​​​Le script Lua décrypté par xxtea n'est toujours pas du texte clair ! Nous avons précédemment déterminé que le cryptage xxtea était utilisé sur la base du code source du framework cocos2d et du résultat du décodage maître apk, et que le script Lua de l'application a également une valeur de signature, qui confirme également qu'il s'agit de la méthode de cryptage xxtea, mais le résultat que nous avons déchiffré n'est toujours pas du texte brut, ce qui montre que le décryptage n'est peut-être pas terminé. Vous devez retourner sur idapro pour le savoir. O Utilisez IDAPRO pour ouvrir libgame.so, recherchez BYDS dans la fenêtre Export, trouvez la fonction BYDS_D et double-cliquez dans :

Comment idaPro analyse le script Lua de décryptage dapplication

directement F5 affichera le code de l'éditeur :

Comment idaPro analyse le script Lua de décryptage dapplication

Le code dans le code source est équivalent. S'il n'est pas terminé, vous devez appeler le niveau précédent de cette fonction pour continuer le processus de décryptage. Nous JUMP XREFS suivons cet appel de fonction :

Comment idaPro analyse le script Lua de décryptage dapplication

sur deux, dont l'une est la table GOT. Comment idaPro analyse le script Lua de décryptage dapplication

n'est qu'une fonction wrapper, on continue à suivre : Comment idaPro analyse le script Lua de décryptage dapplication

Double-cliquez pour entrer : Comment idaPro analyse le script Lua de décryptage dapplication

On voit que le nom de cette fonction est le même que celui appelé xxtea_decrypt dans le code source . Début Cette fonction est incluse dans le point de rupture. Vous pouvez maintenant voir clairement qu'une fois le script décrypté par byds_d, il a été à nouveau décompressé. Il devrait maintenant être fondamentalement clair. Le script lua doit être compressé et crypté, donc si vous souhaitez le restaurer, vous devez d'abord le décrypter. avec xxtea puis décryptez-le. Vous pouvez trouver un script pour décompresser zlib sur GitHub, qui peut être utilisé pour décompresser le texte déchiffré.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer