Super Android Reverse Engineering

Eine kuratierte Liste von fantastischen Android Reverse Engineering -Schulungen, Ressourcen und Tools.
Wie man benutzt
Awesome-android-Reverse-Engineering ist eine erstaunliche Liste für Menschen, die daran arbeiten, Android-Anwendungen, -systeme oder Komponenten auseinanderzusetzen. Drücken Sie einfach ctrl + F um nach einem Keyword zu suchen, unser Inhaltsmenü zu durchlaufen oder nach einem '☆', das einige großartige und aktuelle Ressourcen anzeigt.
Inhalt
- Ausbildung
- Kurse und Material
- Videos
- Bücher
- Werkzeuge
- Statische Analysewerkzeuge
- Dynamische Analysetools
- Dekompiler
- Malware -Analyse
- Ressourcen
- Dokumentation
- Fallstudien
- CTFs und Crackme
- Miser
Ausbildung
Kurse und Material
- ☆ Maddie Stone's Android Reverse Engineering Training - Ein umfassender Online -Schulungskurs über Android Reverse Engineering von Maddie Stone.
- Einführung in die Assemblierung aus Azeria Labs - Abdeckt alles von Datentypen, Registern, ARM -Befehlssatz, Speicheranweisungen und mehr
- Android -Penetrationstests von #Todo - In diesem Kurs werden Sie ein Grundkenntnis darüber entwickeln, was mit den spezifischen Tools, Techniken und Frameworks, die an der Auseinandersetzung und Analyse von Android -Anwendungen beteiligt sind, ein Basiskenntnis darüber entwickeln, was an mobilen Penetrationstests beteiligt ist.
Videos
- Kristina Balaam Android Reverse Engineering - Eine Videoreihe zu Basics Reverse Engineering und Reverse Engineering Android Malware.
- Lauriewired Android Reverse Engineering -Videos - Ein YouTube -Kanal, der sich auf Android Reverse Engineering konzentriert.
- Verwenden Sie Frida, um Android Games | zu ändern | Mobile dynamische Instrumente - Konzentration auf Reverse Engineering Android -Anwendungen und auf die Verwendung von Frida, um Android -Spiele dynamisch zu ändern.
Bücher
- ☆ Android-Interna: Ein Konditorkochbuch-Eine eingehende Untersuchung der inneren Arbeiten von Android: In Band I übernehmen wir die Perspektive des Power-Users, während wir uns mit den Grundlagen von Android, Dateisystemen, Partitionen, Startprozess, nativen Dämonen und Diensten befassen.
- Blue Fox: ARM -Assembly -Interna und Reverse Engineering - bietet den Lesern eine solide Grundlage für die ARM -Versammlungs -Interna und die Fundamentaldaten für umgekehrte Engineering als Grundlage für die Analyse und Sicherung von Milliarden von ARM -Geräten.
- Schnelle Referenz für Android -Software -Interna - Dieses Buch konzentriert sich auf leicht verdauliche, nützliche und interessante Techniken in Java und dem Android -System. Einschließlich: Verschlüsselung und Verschleierung, Debugging und APK -Extraktion.
- ☆ Mobile Offensive Security Pocket -Leitfaden - Das Buch konzentriert sich auf Android- und iOS -Betriebssysteme und enthält eine Reihe prägnanter Kapitel, in denen wichtige Informationen, Ansätze und Werkzeuge hervorgehoben werden, die von mobilen Penetrationstestern und offensiven Sicherheitspraktikern verwendet werden.
- Innenversuche für Android Security - Beschreibung der Android -Sicherheitsarchitektur von unten nach oben, die Implementierung wichtiger Sicherheitskomponenten und Subsysteme wie Binder IPC, Berechtigungen, kryptografische Anbieter und Geräteverwaltung.
- Erkennung von Android -Malware mit maschinellem Lernen - Untersuchen Sie die maschinellen Lerntechniken, die zum Erkennen von böswilligen Apps, die Arten von Klassifizierungsmodellen verwendet werden können, die Verteidiger verwenden können, und die verschiedenen Funktionen von Malware -Proben, die in diese Modelle eingegeben werden können.
Werkzeuge
Statische Analysewerkzeuge
- Qark - Ein Open -Source -Tool, das von LinkedIn für das automatische Scannen von Android -Apps entwickelt wurde, einschließlich der Identifizierung potenzieller Sicherheitsprobleme wie SQL -Injektion, unsicherer Datenspeicherung und vielem mehr.
- Quark Engine - Das Ziel des Quark -Skripts zielt darauf ab, den Forschern mobiler Sicherheitsforscher eine innovative Möglichkeit zu bieten, die Ziele zu analysieren oder zu steigern. Basierend auf Quark integrieren wir anständige Tools als Quark -Skript -APIs und lassen sie gegenseitig wertvolle Intelligenz austauschen.
- MOBSF - Ein Framework für mobile App -Sicherheitstests mit Open -Source -Tests, das die statische und dynamische Analyse von Android -Apps für Schwachstellen und Datenschutzfragen unterstützt.
- Androbugs Framework - Ein Open -Source -Framework zum Analysieren und Scannen von Android -Apps auf Sicherheitsprobleme, einschließlich statischer und dynamischer Analysefunktionen.
- ☆ IMJTOOL - Firmware -Auspacktool für die breiteste Vielfalt von Anbietern und Formaten.
- Android Studio - Nützlich, wenn Sie keine JEB -Lizenz haben und eine dekompilierte (über JADX) App in eine ordnungsgemäße IDE eröffnen möchten.
- ☆ APK -Abhängigkeitsgrafik - Ein APK -Klasse -Abhängigkeits -Visualisierer. Nützlich für die Angriffsoberflächenkartierung.
- DeSwer
- COVA - COVA ist ein statisches Analysetool, um Pfadbeschränkungen basierend auf benutzerdefinierten APIs zu berechnen.
- Dis {Integrity} - Ein Tool zur Analyse von Android -APKs und zum Extrahieren von Wurzel-, Integritäts- und Manpenserkennungsüberprüfungen.
De-obfuskation
- ☆ Obfu [de] scate - obfu [de] scate ist ein De -Obfuskationsinstrument für Android -APKs, das Fuzzy -Vergleichslogik verwendet, um Ähnlichkeiten zwischen Funktionen zu identifizieren, auch wenn sie in der Verdeckung umbenannt wurden. Es vergleicht zwei Versionen einer APK und generiert eine Mapping -Textdatei und eine interaktive HTML -Datei als Ausgänge!
- Tinysmaliemulator - Ein minimalistischer Smali -Emulator, mit dem verschleierte Saiten "entschlüsselt" werden könnten.
- Vereinfachen - Virtuelle Android -Maschine und Deobfuscator.
- DEOPTFUSCOR - DEOPTFUScator ist ein Werkzeug zur Deobfuszierung von Android -Anwendungen, die mithilfe von Kontrollverschmutzungsmechanismen transformiert wurden.
Dynamische Analysetools
- DROZER - Ein Open -Source -Framework für Android -Sicherheitstests, der einen umfassenden Satz von Tools für die dynamische Analyse bietet, einschließlich Abfangen, Ändern und Analyse von App -Verkehr.
- JTRACE - Strace for Android - Für Aufrufe auf Systemebene einschließlich Binder.
- SESEARCH - Befehlszeilen -Tool zum Abfragen von Selinux -Richtlinien.
- Autodroid - Werkzeug für Massensammeln von APKs von einem Gerät (n), sich zersetzen, auf Saiten usw. filtern, usw.
Networking
- ☆ BURP Suite - Ein beliebtes Tool für kommerzielle Websicherheitstests, mit dem der Netzwerkverkehr von Android -Apps für potenzielle Sicherheitslücken analysiert werden kann.
- Wireshark - Ein weit verbreiteter Open -Source -Netzwerk -Protokoll -Analysator, mit dem Netzwerkverkehr für Sicherheitsanalysen von Android -Apps erfasst, analysiert und analysiert werden kann.
- SSLSPLIT - Ein Open -Source -Tool zum Abfassen und Manipulieren von SSL/TLS -Verschlüsselung, das zur Analyse der SSL/TLS -Kommunikation in Android -Apps verwendet werden kann.
- MITMPROXY-Ein Open-Source-Man-in-the-Middle-Proxy, mit dem der von Android-Apps generierte Netzwerkverkehr für Sicherheitstests und -analyse abgeholt und analysiert wird.
- APK -MITM - Eine CLI -Anwendung, die automatisch Android -APK -Dateien für die HTTPS -Inspektion vorbereitet.
Dynamische Instrumentierung
- ☆ Frida - Ein dynamisches Instrumentierungs -Toolkit für Android -Apps, das eine Laufzeitmanipulation und -analyse des App -Verhaltens ermöglicht.
- XPosed Framework - Ein leistungsstarkes Framework zum Haken und Ändern des Verhaltens von Android -Apps zur Laufzeit, das üblicherweise für Reverse Engineering und Analyse verwendet wird.
- ☆ Einwand - Ein mobiles Erkundungs -Tool für die Laufzeit für Android, das verschiedene Funktionen für die Analyse, Manipulation und Umgehung von App -Sicherheitssteuerungen für App bietet.
- RMS RunTime Mobile Security - Frida Web Interface.
- ☆ Fridump - Ein Python -Skript, das Frida verwendet, um den Speicher eines laufenden Gadgets wie eine App -Aktivität zu entsorgen.
- JNITRACE - Ein in Frida basierendes Tool zur Verfolgung der JNI -API in Android -Apps.
- ☆ Binder Trace - Binderspur ist ein Werkzeug zum Abfangen und Parsen von Android -Binder -Nachrichten. Betrachten Sie es als "Wireshark für Binder".
Dekompiler
- ☆ JADX - Ein Open -Source -Tool zur Dekompeten und Analyse von Android -APK -Dateien in Java -Quellcode für Reverse Engineering und Analyse.
- Procyon - Procyon ist eine Suite von Java -Metaprogramm -Tools, darunter eine reichhaltige Reflexions -API, eine von Linq inspirierte Expression -Baum -API für die Erzeugung von Laufzeitcode und ein Java -Dekompiler.
- CFR - Ein Open -Source -Java Decompiler, der die Dekompilierung von Android -APK -Dateien in Java -Quellcode unterstützt, einschließlich der Unterstützung neuerer Java -Sprachfunktionen.
- Farnflower - Farnflower ist die erste, die tatsächlich analytischer Dekompiler für Java und wahrscheinlich für eine hochrangige Programmiersprache im Allgemeinen ist.
- ☆ apKTool - Ein beliebtes Open -Source -Tool zum Zerlegen und Neukompilieren von Android -APK -Dateien.
- DEX2JAR - Ein Tool zum Konvertieren von Android Dex -Dateien in JAR -Dateien, die mit Java Decompilern weiter analysiert werden können.
- JDGUI - JD -GUI ist ein eigenständiges grafisches Dienstprogramm, das Java -Quellcodes von ".class" -Dateien anzeigt.
- IDA Pro - Ein leistungsstarker kommerzieller Disassembler und Debugger zur Analyse von Android Native Code.
- ☆ GHIDRA - Ein von der National Security Agency (NSA) entwickeltes Rahmenwerk für kostenlose und open -Source Reverse Engineering (SRE), das die Android -Analyse unterstützt.
- JEB Decompiler - Ein kommerzieller Dekompiler für Android -Apps, mit dem APK -Dateien zur Analyse in Java -Quellcode dekompiler werden können.
- RADARE2 - Ein kostenloser und Open -Source Reverse Engineering -Rahmen, der die Android -Analyse unterstützt, einschließlich Demontage, Debugging und Binäranalyse.
- ANDROGUARD - Ein Open -Source -Tool zur Analyse und Reverse Engineering Android -Apps, einschließlich der Dekompeten von APK -Dateien, der Analyse von Dalvik -Bytecode und mehr.
- APK2GOLD - CLI -Tool zum Dekompeten von Android -Apps in Java. Sowohl Ressourcen als auch Java (dieses Repo ist 9 Jahre alt und funktioniert daher möglicherweise nicht mit neueren Android -Versionen).
- AndroidProjectCreator - Konvertieren Sie eine APK mit mehreren Open -Source -Dekompilern in ein Android Studio -Projekt.
- APK Studio-Open-Source, Cross-Plattform QT-basierte IDE für reverse-Engineering-Android-Anwendungspakete.
- Show -Java - Eine APK (Android -Anwendung), Jar & Dex Decompiler für Android.
- ☆ apklab-ApkLab integriert nahtlos Quark-Engine, Apktool, Jadx, Uber-APK-Signal, Apk-MITM und mehr zu VS-Code.
Malware -Analyse
- DroidDeTective - ein maschinelles Lernen Malware -Analyse -Framework für Android -Apps.
- Cuckoo Droid - Cuckoodroid - Automatisierte Android -Malware -Analyse mit Cuckoo Sandbox.
- Androwarn - Ein statischer Codeanalysator für böswillige Android -Anwendungen.
Ressourcen
Dokumentation
- Android -Sicherheitsdokumentation - Offizielle Dokumentation von Google über Android Security, einschließlich Themen im Zusammenhang mit Reverse Engineering.
- Android Reverse Engineering Challenges - Eine kuratierte Liste von Android Reverse Engineering Challenges und CTFs (Capture the Flag) zur Praxis.
- AndroidxRef - Code -Suche nach Android -Quelle öffnen.
- APKMIRROR - Repository von Android -APKs aus Quellen wie Play Store und Benutzer -Uploads.
- APKPURE - Repository von Android -APKs aus Quellen wie Play Store und Benutzer -Uploads.
Fallstudien
- Die Post-Mortem eines Reverse-Ingenieurs der Houseparty Video Chat App
- Sharkbot: Eine „neue“ Generation von Android Banking Trojaner, die im Google Play Store verteilt wird
- In-the-Wild-Serie: Android Exploits
CTFs und Crackmes
- ☆ Unverrückte mobile Apps - eine Reihe von OWASP -Android -Apps Crackme. Diese Herausforderungen werden als Beispiele im gesamten Owasp Mastg verwendet. Natürlich können Sie sie auch zum Spaß lösen.
- CyberTruckChallenge19 - Der Workshop -Material für Android -Sicherheitsanlagen während der CyberTruck Challenge 2019 (Detroit USA).
- KGB Messenger - KGB Messenger ist eine Open -Source -CTF -Praxisherausforderung, mit der Menschen lernen sollen, wie man die Ingenieur -Anwendungen umkehrt.
Miser
- Ladb - Eine lokale ADB -Shell für Android!
- Broken Droid Factory - BDF ist ein Python -Tool, mit dem Pseudo zufällig gefährdete Android -Anwendungen für das Training in Bezug auf Anfälligkeitsforschung, ethische Hackung und Stiftentests auf Android -Apps entwickelt wurden.
- Uber-APK-Unterzeichner-Ein CLI-Tool, mit dem die Signatur und Zip-Signal für einzelne oder mehrere Android-Anwendungspakete (APKs) mit Debug- oder Release-Zertifikaten ausgerichtet werden können. Es unterstützt das V1-, V2- und V3 -Android -Signierschema hat ein eingebettetes Debug -Keystore und nach der Unterzeichnung automatisch überprüft.
- Runic Manpere Detection Demo - dient als parallel zum Verständnis komplexerer Systeme zur Erkennung von Android -Manipulationen und Integrität wie Google Play SafetyNet und Huawei Safety Detect.
Beitragen
Ihre Beiträge sind immer willkommen! Bitte lesen Sie zuerst die Beitragsrichtlinien. Wir folgen dem Verhaltenskodex von Mitwirkenden. Bitte überprüfen Sie diesen Verhaltenskodex, wenn Sie einen Beitrag leisten.
Lizenz
Dieses Projekt ist unter der MIT -Lizenz lizenziert - finden Sie in der lizenz.md -Datei für Einzelheiten.