Génial ingénierie inverse Android

Une liste organisée de formation, de ressources et d'outils Awesment Android Reverse Engineering.
Comment utiliser
L'ingénierie impressionnante-android-réverse est une liste incroyable pour les personnes qui travaillent pour démonter des applications, des systèmes ou des composants Android. Appuyez simplement sur ctrl + F pour rechercher un mot-clé, parcourez notre menu de contenu ou recherchez un «☆» indiquant des ressources formidables et à jour.
Contenu
- Entraînement
- Cours et matériel
- Vidéos
- Livres
- Outils
- Outils d'analyse statique
- Outils d'analyse dynamique
- Décompilateurs
- Analyse des logiciels malveillants
- Ressources
- Documentation
- Études de cas
- CTFS et CRACKME
- Mission
Entraînement
Cours et matériel
- ☆ Formation en ingénierie inverse Android de Maddie Stone - Un cours de formation en ligne complet sur Android Inverse Engineering de Maddie Stone.
- Introduction à l'assemblage depuis Azeria Labs - couvrant tout à partir des types de données, des registres, de l'ensemble d'instructions ARM, des instructions de mémoire, et plus
- Test de pénétration Android à partir de #Todo - Ce cours vous verra développer une connaissance de base de ce qui est impliqué dans les tests de pénétration mobile ainsi que les outils, techniques et cadres spécifiques impliqués dans la démonstration et l'analyse des applications Android.
Vidéos
- Kristina Balaam Android Inverse ingénierie - une série de vidéos sur les bases de l'ingénierie inverse et les logiciels malveillants Android ingénieurs.
- Lauviewired Android Reverse Engineering Videos - Une chaîne YouTube se concentrant sur Android Inverse Engineering.
- Utilisation de Frida pour modifier les jeux Android | Instrumentation dynamique mobile - Se concentrer sur les applications Android ingénieurs rétro-ingénieuses et l'utilisation de Frida pour modifier dynamiquement les jeux Android.
Livres
- ☆ Internes Android: livre de cuisine d'un confiseur - Une exploration approfondie des travailleurs intérieurs d'Android: Dans le volume I, nous prenons la perspective de l'utilisateur de puissance alors que nous nous plongeons dans les fondements d'Android, de Systèmes de fichiers, de partitions, de processus de démarrage, de Daemons et de services natifs.
- Blue Fox: Assemblage des bras internes et ingénierie inverse - Fournit aux lecteurs une base solide dans les internes de l'assemblage des bras et les principes fondamentaux de l'ingénierie inverse comme base d'analyse et de sécurisation des milliards de dispositifs de bras.
- Référence rapide sur les internes du logiciel Android - Ce livre se concentre sur des techniques facilement digestibles, utiles et intéressantes dans Java et dans le système Android. Y compris: cryptage et obscurcissement, débogage et extraction APK.
- ☆ Guide de poche de sécurité offensive mobile - Se concentrant sur les systèmes d'exploitation Android et iOS, le livre contient une série de chapitres succincts qui mettent en évidence les informations clés, les approches et les outils utilisés par les testeurs de pénétration mobile et les praticiens de la sécurité offensive.
- Android Security Internes - décrivant l'architecture de sécurité Android de bas en haut, plongeant dans la mise en œuvre de composants et de sous-systèmes liés à la sécurité majeurs, comme le liant IPC, les autorisations, les fournisseurs cryptographiques et l'administration de périphériques.
- Détection des logiciels malveillants Android avec apprentissage automatique - Examinez les techniques d'apprentissage automatique utilisées pour détecter les applications malveillantes, les types de modèles de classification que les défenseurs peuvent utiliser et les différentes caractéristiques des spécimens de logiciels malveillants qui peuvent entrer en entrée à ces modèles.
Outils
Outils d'analyse statique
- QARK - Un outil open source développé par LinkedIn pour la numérisation automatique de la vulnérabilité des applications Android, y compris l'identification de problèmes de sécurité potentiels tels que l'injection SQL, le stockage de données sans sécurité, etc.
- Quark Engine - L'objectif de Quark Script vise à fournir un moyen innovant pour les chercheurs en sécurité mobile d'analyser ou de recueillir les objectifs. Basé sur Quark, nous intégrons des outils décents en tant qu'API de script Quark et les faisons échanger des intelligences précieuses les unes aux autres.
- MOBSF - Un cadre de test de sécurité des applications mobiles open source qui prend en charge l'analyse statique et dynamique des applications Android pour les vulnérabilités et les problèmes de confidentialité.
- Framework Androbugs - Un cadre open source pour analyser et numériser les applications Android pour les problèmes de sécurité, y compris les capacités d'analyse statique et dynamique.
- ☆ IMJTool - outil de déballage du micrologiciel applicable à la plus grande variété de fournisseurs et de formats.
- Android Studio - Utile si vous n'avez pas de licence JEB et que vous souhaitez ouvrir une application décompilée (via JADX) dans un IDE approprié.
- ☆ Graphique de dépendance APK - Un visualiseur de dépendance de classe APK. Utile pour la cartographie de la surface d'attaque.
- Désarm - Un utilitaire de ligne de commande simple qui prend comme argument un numéro hexadécimal 32 bits, et l'analyse comme une instruction ARM-64, fournissant le démontage.
- COVA - COVA est un outil d'analyse statique pour calculer les contraintes de chemin basées sur les API définies par l'utilisateur.
- Dis {Integrity} - Un outil d'analyse des APK Android et d'extraction des vérifications de la détection des racines, de l'intégrité et du sabotage.
Désobfuscation
- ☆ OBFU [DE] SCATE - OBFU [DE] SCATE est un outil de désobfuscation pour les APK Android qui utilise la logique de comparaison floue pour identifier les similitudes entre les fonctions, même si elles ont été renommées dans le cadre de l'obscuscation. Il compare deux versions d'un APK et génère un fichier texte de mappage et un fichier HTML interactif en tant que sorties!
- Tinysmalilemulate - Un émulateur minimaliste SMALI qui pourrait être utilisé pour "décrypter" des chaînes obscurcies.
- Simplify - Android Virtual Machine et Deobfuscator.
- Deoptfuscator - Deoptfuscator est un outil de désobfuscation des applications Android qui ont été transformées à l'aide de mécanismes d'obscuscations de flux de contrôle.
Outils d'analyse dynamique
- DROZER - Un cadre open source pour les tests de sécurité Android qui fournit un ensemble complet d'outils d'analyse dynamique, notamment l'interception, la modification et l'analyse du trafic d'applications.
- JTRACE - Strace pour Android - pour le traçage des appels au niveau du système, y compris le liant.
- SESEARCH - OUTIL DE LIGNE DE COMMANDE Pour interroger les politiques SELINUX.
- AutoDoid - outil pour la collecte de masse APK à partir d'un ou des appareils, décompilant, filtrage sur les chaînes, etc.
Réseautage
- ☆ Burp Suite - Un outil de test de sécurité Web commercial populaire qui peut être utilisé pour analyser le trafic réseau des applications Android pour des vulnérabilités de sécurité potentielles.
- Wireshark - Un analyseur de protocole de réseau open-source largement utilisé qui peut capturer, analyser et disséquer le trafic réseau généré par les applications Android pour l'analyse de sécurité.
- SSLSPLIT - Un outil open source pour intercepter et manipuler le trafic crypté SSL / TLS, qui peut être utilisé pour analyser la communication SSL / TLS dans les applications Android.
- MITMPROXY - Un proxy d'homme dans le milieu open-source qui permet d'intercepter et d'analyser le trafic réseau généré par les applications Android pour les tests et analyses de sécurité.
- APK-MITM - Une application CLI qui prépare automatiquement les fichiers APK Android pour l'inspection HTTPS.
Instrumentation dynamique
- ☆ Frida - Une boîte à outils d'instrumentation dynamique pour les applications Android qui permet la manipulation d'exécution et l'analyse du comportement des applications.
- Xposed Framework - Un cadre puissant pour accrocher et modifier le comportement des applications Android à l'exécution, couramment utilisé pour l'ingénierie et l'analyse inverse.
- ☆ Objection - Un outil d'exploration mobile d'exécution pour Android qui fournit diverses fonctionnalités pour analyser, manipuler et contourner les contrôles de sécurité des applications.
- RMS Runtime Mobile Security - Interface Web Frida.
- ☆ Fridump - Un script Python qui utilise Frida pour vider la mémoire d'un gadget en cours d'exécution, comme une activité d'application.
- Jnitrace - Un outil basé sur Frida pour tracer l'utilisation de l'API JNI dans les applications Android.
- ☆ Trace du liant - La trace de liant est un outil pour intercepter et analyser les messages de liant Android. Considérez-le comme "Wireshark pour Binder".
Décompilateurs
- ☆ JADX - Un outil open source pour décompliquer et analyser les fichiers APK Android dans le code source Java pour l'ingénierie et l'analyse inverse.
- Procyon - Procyon est une suite d'outils de métaprogrammation Java, y compris une riche API de réflexion, une API d'arborescence d'expression inspirée de Linq pour la génération de code d'exécution et un décompulier Java.
- CFR - Un décompilateur Java open source qui prend en charge la décompilation des fichiers Android APK dans le code source Java, y compris la prise en charge des nouvelles fonctionnalités de langue Java.
- Fernflower - Fernflower est le premier décompilateur analytique qui fonctionne réellement pour Java et probablement pour un langage de programmation de haut niveau en général.
- ☆ APKTOOL - Un outil populaire open-source pour décomposer et recompiler les fichiers APK Android.
- DEX2JAR - Un outil pour convertir les fichiers Android Dex en fichiers JAR, qui peuvent être analysés plus avant à l'aide de décompilateurs Java.
- JDGUI - JD-GUI est un utilitaire graphique autonome qui affiche les codes source Java des fichiers «.class».
- IDA PRO - Un puissant désassembleur commercial et débogueur pour l'analyse du code natif Android.
- ☆ Ghidra - Un cadre de logiciel libre et open source (SRE) développé par la National Security Agency (NSA) qui prend en charge l'analyse Android.
- Jeb Decompiler - Un décompilateur commercial pour les applications Android qui peuvent décompiler les fichiers APK en code source Java pour l'analyse.
- RADARE2 - Un cadre d'ingénierie inverse libre et open source qui prend en charge l'analyse Android, y compris le démontage, le débogage et l'analyse binaire.
- Androguard - Un outil open source pour analyser et inverser les applications Android, y compris décompilation des fichiers APK, analyse dalvik bytecode, et plus encore.
- APK2GOLD - outil CLI pour décompliquer les applications Android à Java. Faire à la fois des ressources et Java (ce repo a 9 ans et peut donc ne pas fonctionner avec les nouvelles versions Android).
- AndroidProjectCreator - Convertissez un APK en un projet Android Studio à l'aide de plusieurs décompulateurs open-source.
- APK Studio - IDE basé sur le QT à source ouverte et transformatrice pour les packages d'applications Android à ingénierie inverse.
- Show-Java - An APK (application Android), JAR & DEX DÉCOMPILER pour Android.
- ☆ APKLAB - APKLAB intègre de manière transparente Quark-Engine, ApkTool, JADX, Uber-APK-Signner, APK-MITM et plus à VS Code.
Analyse des logiciels malveillants
- DroidDetective - Un cadre d'analyse des logiciels malveillants d'apprentissage automatique pour les applications Android.
- Cuckoo Droid - Cuckoodroid - Analyse automatisée des logiciels malveillants Android avec Sandbox Cuckoo.
- Androwarn - Un analyseur de code statique pour les applications Android malveillantes.
Ressources
Documentation
- Documentation de la sécurité Android - Documentation officielle de Google sur Android Security, y compris des sujets liés à l'ingénierie inverse.
- Défis Android Inverse Engineering - Une liste organisée des défis ingénieurs Android et des CTF (capturez le drapeau) pour la pratique.
- AndroidXRef - Ouvrez la recherche de code pour la source Android.
- APKMIRROR - Référentiel d'Android APK à partir de sources telles que le Play Store et les téléchargements d'utilisateurs.
- APKPure - Référentiel d'Android APK à partir de sources telles que le Play Store et les téléchargements d'utilisateurs.
Études de cas
- L'application de chat vidéo de la part de la part de l'ingénieur à la maison
- Sharkbot: une «nouvelle» génération de Banking Android Trojan en cours de distribution sur Google Play Store
- Série in-the-wild: Android Exploits
CTFS et Crackmes
- ☆ Applications mobiles non recrackables - un ensemble de l'application Android OWASP CrackMe. Ces défis sont utilisés comme exemples tout au long du MASTG OWASP. Bien sûr, vous pouvez également les résoudre pour le plaisir.
- CybertruckChallenge19 - Android Security Workshop Material enseigné pendant le CyberTruck Challenge 2019 (Detroit USA).
- KGB Messenger - KGB Messenger est un défi de pratique du CTF open source qui vise à aider les gens à apprendre à rétro-ingénieurs Android.
Mission
- Ladb - une coque ADB locale pour Android!
- Broken Droid Factory - BDF est un outil Python conçu pour filmer pseudo des applications Android vulnérables aléatoires pour la formation en ce qui concerne la recherche en vulnérabilité, le piratage éthique et les tests de stylo sur les applications Android.
- Uber-APK-Signoir - Un outil CLI qui aide à signer et à aligner les packages d'applications Android simples ou multiples (APK) avec des certificats de libération de débogage ou fournis. Il prend en charge le schéma de signature Android V1, V2 et V3 a un clés de clé de débogage intégré et des vérifications automobiles après la signature.
- Demo de détection de falsification de la runique - Conçu pour servir de parallèle pour comprendre les systèmes de détection et d'intégrité de l'altération Android plus complexes tels que Google Play SafeTynet et Huawei Safety Detect.
Contributif
Vos contributions sont toujours les bienvenues! Veuillez d'abord lire les directives de contribution. Nous suivons le Code de conduite de l'alliance des contributeurs. Veuillez vous assurer d'examiner et d'adhérer à ce code de conduite lors de la contribution.
Licence
Ce projet est autorisé en vertu de la licence MIT - voir le fichier Licence.md pour plus de détails.