Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
enjarify — Traduit le bytecode Dalvik (DEX/APK) en bytecode Java équivalent, permettant aux outils d'analyse Java de traiter les applications Android avec une grande exactitude pour les cas limites. | Kitploit
Outils/GitHubGitHub/google/enjarify
Sécurité AndroidAnalyse StatiqueAnalyse de CodeRétro-ingénierieSécurité MobileAnalyse de BinairesArchived
GitHubgoogle/enjarify

enjarify

Traduit le bytecode Dalvik (DEX/APK) en bytecode Java équivalent, permettant aux outils d'analyse Java de traiter les applications Android avec une grande exactitude pour les cas limites.

Voir le dépôt
2.7k539il y a 6 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Note : Ce dépôt peut être obsolète. Le développement futur aura lieu à https://github.com/Storyyeller/enjarify.

Introduction

Enjarify est un outil pour traduire le bytecode Dalvik en bytecode Java équivalent. Cela permet aux outils d'analyse Java d'analyser les applications Android.

Utilisation et installation

Enjarify est une application purement Python 3, donc vous pouvez simplement faire un git clone et l'exécuter. Pour l'exécuter directement, en supposant que vous êtes dans le répertoire racine du dépôt, vous pouvez simplement faire

root@kitploit:~
python3 -O -m enjarify.main yourapp.apk

Pour une utilisation normale, vous voudrez probablement utiliser les scripts d'encapsulation et le configurer dans votre PATH.

Linux

Pour plus de commodité, un script shell d'encapsulation est fourni, enjarify.sh. Celui-ci essaiera d'utiliser Pypy s'il est disponible, car il est plus rapide que CPython. Si vous voulez pouvoir appeler Enjarify depuis n'importe où, vous pouvez créer un lien symbolique depuis un endroit de votre PATH, par exemple ~/bin. Pour ce faire, en supposant que vous êtes dans le répertoire racine du dépôt,

root@kitploit:~
ln -s "$PWD/enjarify.sh" ~/bin/enjarify

Windows

Un script batch d'encapsulation, enjarify.bat, est fourni. Pour pouvoir l'appeler depuis n'importe où, ajoutez simplement le répertoire racine du dépôt à votre PATH. Le script batch invoquera toujours python3 comme interpréteur. Si vous voulez utiliser pypy, modifiez simplement le script.

Utilisation

En supposant que vous avez correctement configuré le script dans votre PATH, vous pouvez l'appeler depuis n'importe où en tapant simplement enjarify, par exemple

root@kitploit:~
enjarify yourapp.apk

La forme d'utilisation la plus basique est de simplement spécifier un fichier apk ou dex en entrée. Si vous spécifiez un apk multidex, Enjarify traduira automatiquement tous les fichiers dex et produira les résultats dans un seul fichier jar combiné. Si vous spécifiez un fichier dex, seul ce fichier dex sera traduit. Par exemple, en supposant que vous ayez extrait manuellement les fichiers dex, vous pourriez faire

root@kitploit:~
enjarify classes2.dex

Le fichier de sortie par défaut est [inputname]-enjarify.jar dans le répertoire courant. Pour spécifier explicitement le nom du fichier de sortie, passez l'option -o ou --output.

root@kitploit:~
enjarify yourapp.apk -o yourapp.jar

Par défaut, Enjarify refusera d'écraser le fichier de sortie s'il existe déjà. Pour écraser la sortie, passez l'option -f ou --force.

Pourquoi pas dex2jar ?

Dex2jar est un outil plus ancien qui essaie également de traduire le bytecode Dalvik en bytecode Java. Il fonctionne raisonnablement bien la plupart du temps, mais beaucoup de fonctionnalités obscures ou de cas limites peuvent le faire échouer ou même produire silencieusement des résultats incorrects. En revanche, Enjarify est conçu pour fonctionner dans autant de cas que possible, même pour du code où Dex2jar échouerait. Entre autres choses, Enjarify gère correctement les noms de classe Unicode, les constantes utilisées comme plusieurs types, les casts implicites, les gestionnaires d'exceptions sautant dans le flux de contrôle normal, les classes qui référencent trop de constantes, les méthodes très longues, les gestionnaires d'exceptions après un gestionnaire catchall, et les valeurs initiales statiques du mauvais type.

Limitations

Enjarify ne traduit actuellement pas les métadonnées optionnelles telles que les attributs sourcefile, les numéros de ligne et les annotations.

Enjarify fait de son mieux pour traduire avec succès autant de classes que possible, mais il existe certains cas potentiels où cela est tout simplement impossible en raison de limitations d'Android, de Java ou des deux. Heureusement, cela ne se produit que dans des circonstances artificielles, donc cela ne devrait pas poser de problème en pratique.

Conseils de performance

PyPy est beaucoup plus rapide que CPython. Pour installer PyPy, voir http://pypy.org/. Assurez-vous d'obtenir PyPy3 plutôt que le PyPy standard. Le script d'encapsulation Linux utilisera automatiquement la commande pypy3 si disponible. Sous Windows, vous devrez modifier le script d'encapsulation vous-même.

Par défaut, Enjarify exécute des optimisations sur le bytecode qui le rendent plus lisible pour les humains (propagation de copies, suppression de valeurs inutilisées, etc.). Si vous n'en avez pas besoin, vous pouvez accélérer les choses en désactivant les optimisations avec l'option --fast. Notez que dans le cas très rare où une classe est trop grande pour tenir dans un fichier classe sans optimisation, Enjarify la retentera automatiquement avec toutes les optimisations activées, donc cette option n'affecte pas le nombre de classes traduites avec succès.

Avertissement

Ceci n'est pas un produit officiel de Google (expérimental ou autre), c'est simplement du code qui appartient à Google.

Télécharger l’outil