Scanner de techniques d'obscurcissement Android
Analysez le code source Android APK/DEX décompilé pour identifier les techniques et les outils d'obscurcissement. Détecte ProGuard (noms à une seule lettre, classes internes a$b), DexGuard (cryptage de chaîne, obscurcissement profond des packages), DashO (déchiffrement XOR, annotations), cryptage de chaîne (tableaux de caractères, Base64, hex), cryptage de ressources (decryptResource, chargeurs personnalisés) et obscurcissement natif (JNI, bibliothèques .so). Chaque détection comprend un score de confiance, une analyse détaillée des indicateurs et un contexte d'extrait de code. Gratuit, privé et aucune inscription requise.
Scan decompiled Android APK/DEX code to identify obfuscation techniques and tools. Detects ProGuard, DexGuard, DashO, string encryption, resource encryption, and native code obfuscation based on naming conventions, string encoding patterns, annotations, JNI usage, and resource handling signatures with confidence scoring.
Paste decompiled Android source code (Java or DEX bytecode) above and click Scan for Obfuscation to identify which obfuscation techniques were used. The scanner analyzes naming conventions, string encoding patterns, annotations, resource handling, and JNI usage to detect ProGuard, DexGuard, DashO, string encryption, resource encryption, and native code obfuscation. Try loading an example to see how it works!
Caractéristiques
- Détection multi-obscurcisseur Détecte six catégories principales d'obfuscation Android : ProGuard (noms à une seule lettre, classes internes a$b, suppression de SourceFile), DexGuard (chiffrement de chaînes, obscurcissement profond des paquets, masquage de réflexion), DashO (annotations com.preemptive, tableau d'entiers XOR, décryptage de code de caractères), cryptage général de chaînes (tableaux de caractères, StringBuilder, Base64, hex), cryptage de ressources (decryptResource, chargeurs personnalisés) et natif. obscurcissement via l'intégration JNI/.so.
- Analyse basée sur des modèles Utilise plusieurs heuristiques de détection, notamment les conventions de dénomination (classes à une seule lettre, packages numérotés), les modèles d'encodage (Base64, hex, XOR), les signatures structurelles (dénomination de classe interne, construction StringBuilder), l'utilisation de l'API (appels de réflexion, déclarations JNI, chargement de ressources personnalisées) et la détection d'annotations (DashO @Obfuscate). Chaque indicateur est noté de 1 à 5 et regroupé pour les cotes de confiance par obfuscateur.
- Évaluation des risques et notation de confiance Chaque détection comprend un score de confiance allant de très faible (1) à très élevé (5) en fonction de la qualité et de la quantité de l'indicateur. Les signatures fortes telles que les importations DashO ou les modèles de classe interne ProGuard obtiennent des résultats plus élevés. Des indicateurs plus doux tels que des noms de méthodes courts ou l'utilisation de StringBuilder contribuent à une confiance moyenne. La correspondance la plus élevée met en évidence la technique d’obscurcissement la plus probable utilisée.
- Code annoté et rapport d'analyse Affiche le code source annoté avec des marqueurs de détection en ligne indiquant exactement où chaque modèle d'obscurcissement a été trouvé. Un rapport copiable complet résume toutes les détections avec des détails par indicateur, des scores de confiance et des descriptions exploitables. Tout le traitement s'exécute entièrement dans votre navigateur, sans téléchargement sur le serveur.
Cas d'utilisation
- Évaluation de la sécurité des APK Évaluez la situation de sécurité des APK Android en identifiant les techniques d'obscurcissement utilisées. Déterminez si l'application utilise l'obfuscation de base ProGuard ou des protecteurs commerciaux avancés comme DexGuard ou DashO. Évaluez la force globale d’obscurcissement et identifiez les faiblesses potentielles du système de protection.
- Analyse des logiciels malveillants et ingénierie inverse Analysez les applications Android potentiellement malveillantes pour comprendre leurs couches d'obscurcissement. Identifiez le chiffrement des chaînes, le chiffrement des ressources et l'obscurcissement du code natif que les auteurs de logiciels malveillants utilisent pour masquer les points de terminaison de commande et de contrôle, les URL de charge utile et la logique malveillante des outils d'analyse statique.
- Audit de l'intégrité et de la protection des applications Auditez vos propres applications Android pour vérifier que l'obscurcissement est appliqué correctement sur l'ensemble de la base de code. Détectez les chemins de code non protégés, les chaînes non chiffrées contenant des clés API ou des jetons, et assurez-vous que les règles ProGuard/DexGuard sont correctement configurées pour protéger la logique sensible.
- Veille concurrentielle Analysez les applications Android concurrentes pour comprendre leur stratégie d'obscurcissement. Déterminez s’ils utilisent ProGuard standard ou des solutions commerciales comme DashO. Ces informations peuvent vous aider à comparer votre propre stratégie de protection des applications aux normes du secteur.
- Validation de sécurité avant la publication Validez l'efficacité de l'obscurcissement avant de publier les mises à jour de l'application en production. Analysez les versions décompilées pour vous assurer que tous les chemins de code sensibles sont correctement obscurcis, qu'il ne reste aucune clé API en texte brut et que les règles ProGuard/DexGuard sont appliquées comme prévu dans tous les modules.
- Éducation à la sécurité Android Découvrez les techniques d'obscurcissement Android de manière interactive en explorant de véritables modèles d'obscurcissement. Comprenez comment ProGuard renomme les classes et les méthodes, comment DexGuard chiffre les chaînes et comment DashO applique l'obscurcissement du flux de contrôle. Idéal pour les étudiants et les chercheurs en sécurité mobile.
À propos du scanner d'obscurcissement Android
- Qu’est-ce que l’obscurcissement Android ? L'obfuscation Android est la pratique consistant à transformer le code d'une application Android (bytecode Java/Kotlin) pour rendre plus difficile l'ingénierie inverse tout en préservant les fonctionnalités. Les techniques courantes incluent le renommage des classes et des méthodes en noms dénués de sens (ProGuard), le chiffrement des chaînes littérales (DexGuard), l'application de l'obfuscation du flux de contrôle (DashO), le déplacement du code sensible vers des bibliothèques natives et le chiffrement des fichiers de ressources. Android Studio inclut ProGuard par défaut, tandis que des solutions commerciales telles que DexGuard et DashO offrent une protection renforcée pour les applications de grande valeur.
- Comment fonctionne le scanner Le scanner analyse le code source Java décompilé ou le bytecode DEX à la recherche de modèles caractéristiques de différents outils d'obscurcissement Android. Il utilise plusieurs heuristiques de détection : conventions de dénomination (noms de classe à une seule lettre, packages numérotés, classes internes a$b), modèles de codage de chaînes (tableaux de caractères, concaténation StringBuilder, décodage Base64, analyse hexadécimale), signatures structurelles (code à forte réflexion, déclarations JNI, chargeurs de ressources personnalisés) et empreintes digitales spécifiques aux outils (annotations DashO, attributs ProGuard SourceFile). Chaque indicateur est noté et regroupé en notes de confiance par obfuscateur.
- Limitations et faux positifs Le scanner fonctionne sur le code source décompilé et ne peut pas analyser directement le bytecode DEX brut dans tous les cas. Certains modèles de code légitimes (comme une utilisation intensive de la réflexion dans les bibliothèques de framework) peuvent déclencher des détections de faible confiance. Les obfuscateurs dotés de configurations personnalisées ou de paramètres inhabituels peuvent produire des modèles de dénomination inattendus qui ne sont pas détectés. Les protecteurs commerciaux peuvent appliquer plusieurs techniques simultanément, ce qui rend difficile l’attribution de modèles spécifiques à un seul outil. Le scanner fournit des indications plutôt qu'une preuve définitive de l'utilisation spécifique d'un obfuscateur.
- Confidentialité et sécurité Toutes les analyses et analyses sont effectuées entièrement dans votre navigateur à l'aide de JavaScript. Votre code source décompilé, vos indicateurs détectés et vos résultats d'analyse ne quittent jamais votre appareil. Il n'y a aucun téléchargement de serveur, aucun appel d'API et aucune collecte de données. Ceci est essentiel lors de l’analyse d’applications Android propriétaires, d’APK soumis à un audit de sécurité ou de codes potentiellement malveillants. Vous pouvez analyser autant de fichiers que nécessaire sans inscription, sans compte et sans limite d'utilisation.
Foire aux questions
Le scanner détecte six catégories : ProGuard (noms de classe/méthode à une seule lettre, modèles de classe interne a$b, suppression des attributs SourceFile), DexGuard (cryptage de chaîne, obscurcissement profond des packages, utilisation intensive de la réflexion), DashO (annotations com.preemptive.*, décryptage de chaîne de tableau d'entiers, décodage de caractères XOR), cryptage de chaîne (tableaux de caractères, fragments StringBuilder, décodage Base64/hex), cryptage de ressources (appels decryptResource, chargement de ressources personnalisé). et obfuscation native (méthodes natives JNI, System.loadLibrary, intégration .so).
Le scanner accepte le code source Java décompilé provenant d'outils tels que CFR, JD-GUI, JADX ou APKTool, ainsi que la sortie de bytecode DEX. Pour de meilleurs résultats, collez des classes décompilées complètes qui incluent des corps de méthode, des déclarations de champ et des annotations. Les extraits de code partiels seront toujours analysés mais pourraient produire moins de détections.
Des indicateurs forts tels que les importations DashO com.preemptive.* ou les modèles de classe interne ProGuard (a$b) donnent une confiance très élevée. Des indicateurs plus doux tels que des noms de méthodes courts ou l'utilisation de StringBuilder donnent une confiance moyenne à faible. Le score de confiance (1-5) reflète la force moyenne de tous les indicateurs trouvés pour chaque obfuscateur.
Non. Le scanner reconnaît uniquement les modèles des six catégories prises en charge. Les outils d'obscurcissement personnalisés ou les protecteurs moins connus peuvent ne pas être détectés. Cependant, s’ils utilisent des techniques courantes telles que le cryptage de chaînes ou l’obscurcissement des réflexions, ces catégories générales peuvent toujours déclencher des détections.
ProGuard est l'obfuscateur open source gratuit inclus dans Android Studio pour l'obscurcissement et l'optimisation de base des noms. DexGuard est une extension commerciale de Guardsquare qui ajoute des protections avancées : cryptage de chaînes, obscurcissement par réflexion, cryptage de ressources, détection de falsification et protection contre le chargement dynamique. DexGuard est nettement plus agressif.
Le scanner détecte la présence et l'utilisation de code natif (méthodes JNI, appels System.loadLibrary, références .so) mais n'analyse pas les bibliothèques natives elles-mêmes. L'analyse du code natif nécessite un outil d'analyse binaire distinct capable d'analyser le code machine ARM/x86 ou les en-têtes au format ELF.
Les facteurs incluent : des configurations ProGuard hautement personnalisées qui préservent certains noms, des obfuscateurs qui imitent d'autres modèles d'outils, une décompilation incomplète qui perd les méthodes de cryptage de chaîne, des extraits de code très courts qui manquent de modèles suffisants et un obscurcissement multicouche qui rend ambiguë l'identification des techniques individuelles.
Oui, absolument. Le scanner s'exécute entièrement dans votre navigateur en utilisant JavaScript. Votre code source décompilé, tous les indicateurs détectés et les résultats d'analyse ne sont jamais téléchargés sur un serveur ni transmis sur le réseau. Aucun appel API ni collecte de données.
Oui - 100 % gratuit, sans inscription, sans compte et sans limite d'utilisation. Scannez autant d'échantillons de code source Android que nécessaire. L'outil s'exécute entièrement dans votre navigateur : votre code ne quitte jamais votre appareil.