Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NinjaDroid — Ninja Reverse Engineering auf Android APK-Paketen | Kitploit
Tools/GitHubGitHub/rovellipaolo/ninjadroid
Android-SicherheitStatische AnalyseReverse EngineeringMobile SicherheitBinäranalyse
GitHubrovellipaolo/ninjadroid

NinjaDroid

Ninja Reverse Engineering auf Android APK-Paketen

Repository anzeigen
2874837vor 5 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

NinjaDroid

NinjaDroid ist ein einfaches Tool zum Reverse Engineering von Android APK-Paketen.

Veröffentlicht unter: https://snapcraft.io/ninjadroid```shell $ snap install ninjadroid --channel=beta

[![Build-Status: GitHub Actions](https://github.com/rovellipaolo/NinjaDroid/actions/workflows/ci.yml/badge.svg)](https://github.com/rovellipaolo/NinjaDroid/actions)
[![Testabdeckung: Coveralls](https://coveralls.io/repos/github/rovellipaolo/NinjaDroid/badge.svg)](https://coveralls.io/github/rovellipaolo/NinjaDroid)
[![Lizenz: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

[![Holen Sie es aus dem Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/ninjadroid)

![NinjaDroid](https://assets.kitploit.com/production/public/readmes/4568/71f6e3768aa2e887064c58d1d0355577f24435dfe238892a763269d312e5057d.gif "Bildschirmaufnahme von NinjaDroid")



## Übersicht

NinjaDroid verwendet [AXMLParser](https://github.com/appknox/pyaxmlparser) zusammen mit einer Reihe von Python-Skripten, die auf `aapt`, `keytool`, `string` und ähnlichen basieren, um eine Reihe von Informationen aus einem gegebenen APK-Paket zu extrahieren, wie zum Beispiel:

- Liste der Dateien des APK: Dateiname, Größe, MD5, SHA-1, SHA-256 und SHA-512
- `AndroidManifest.xml`-Info: App-Name, Paketname, Version, SDKs, Berechtigungen, Aktivitäten, Dienste, Broadcast-Empfänger, ...
- `CERT.RSA/DSA`-digitale Zertifikatsinformationen: Seriennummer, Gültigkeit, Fingerabdruck, Aussteller und Inhaber
- Liste von URLs, Shell-Befehlen und anderen generischen Zeichenfolgen, die in die `classes.dex`-Dateien hartcodiert sind

Darüber hinaus verwendet NinjaDroid [apktool](https://github.com/iBotPeaches/Apktool) und [dex2jar](https://github.com/pxb1988/dex2jar) um folgendes zu extrahieren und zu speichern:

- JSON-Reportdatei, die alle extrahierten APK-Informationen enthält
- `AndroidManifest.xml`-Datei (dank `apktool`)
- `CERT.RSA/DSA`-digitale Zertifikatsdatei
- `classes.dex`-Dateien
- übersetzte _.jar_-Datei (dank `dex2jar`)
- disassemblierte smali-Dateien (dank `apktool`)
- `assets/`- und `res/`-Ordner zusammen mit ihrem Inhalt (dank `apktool`)



## Erstellung

Der erste Schritt ist das Klonen des NinjaDroid-Repositorys oder das Herunterladen seines Quellcodes.```shell
$ git clone https://github.com/rovellipaolo/NinjaDroid
$ cd NinjaDroid

NinjaDroid kann auf verschiedene Arten ausgeführt werden: nativ in Ihrer lokalen Umgebung, in Docker, als Flatpak (experimentell) und als Snap (experimentell).

Nativ

Um NinjaDroid auf Ihrem lokalen Rechner auszuführen, müssen Sie Python 3.5 oder höher, Java 8 oder höher und binutils installieren.

Optional können Sie, wenn das Android SDK lokal installiert ist, die SDK-Version von aapt anstelle der mitgelieferten verwenden. Dazu müssen Sie den aapt-Pfad in ninjadroid/aapt/Aapt.py ändern (d.h. __AAPT_EXEC_PATH = "ninjadroid/aapt/aapt").

Linux

Führen Sie einfach die folgenden Befehle aus, die alle Python-Abhängigkeiten installieren (wobei sichergestellt wird, dass aapt, apktool und dex2jar ausführbare Berechtigungen haben) und einen ninjadroid-Symlink zu /usr/local/bin/ hinzufügen.```shell $ make build-linux $ make install $ ninjadroid --help

#### MacOS
Führen Sie einfach die folgenden Befehle aus, die alle benötigten Python-Abhängigkeiten installieren (stellen Sie sicher, dass `aapt`, `apktool` und `dex2jar` ausführbare Berechtigungen haben) und einen `ninjadroid`-Symlink zu `/usr/local/bin/` hinzufügen.```shell
$ make build-macos
$ make install
$ ninjadroid --help

Docker

Um NinjaDroid in Docker auszuführen, benötigst du Docker installiert. Zum Erstellen des Docker-Images führe die folgenden Befehle aus:```shell $ make build-docker $ docker run --name ninjadroid ninjadroid:latest ninjadroid --help

Beachten Sie, dass Sie das Verzeichnis mit dem Ziel-APK-Paket an das Docker-Image binden müssen:```shell
$ mkdir apks
$ cp /path/to/your/package.apk apks/package.apk
$ docker run --name ninjadroid -it --rm -v $(pwd)/apks:/apks ninjadroid:latest ninjadroid /apks/package.apk -aj

Und dasselbe gilt auch für das Ausgabeverzeichnis bei Verwendung der Option -e/--extract, für das Sie ebenfalls Berechtigungen erteilen müssen:```shell $ mkdir output $ chmod 777 $ docker run --name ninjadroid --rm -v $(pwd)/apks:/apks -v $(pwd)/output:/output ninjadroid:latest ninjadroid /apks/package.apk -ae /output

### Flatpak (experimentell)
Um NinjaDroid als Flatpak auszuführen, müssen `Flatpak` und `flatpak-builder` installiert sein.
Führen Sie einfach die folgenden Befehle aus, die alle benötigten Flatpak-Abhängigkeiten installieren:```shell
$ make build-flatpak
$ flatpak-builder --run flatpak/build flatpak/com.github.rovellipaolo.NinjaDroid.yaml ninjadroid --help

HINWEIS: Die Option -e/--extract funktioniert derzeit nicht korrekt (siehe: https://github.com/rovellipaolo/NinjaDroid/issues/21).

Snap (experimentell)

Um NinjaDroid als Snap auszuführen, müssen Snap und snapcraft installiert sein. Führen Sie einfach die folgenden Befehle aus, die alle benötigten Snap-Abhängigkeiten installieren:```shell $ make build-snap $ make install-snap $ ninjadroid --help

**HINWEIS:** Die Option `-e`/`--extract` funktioniert nicht korrekt, wenn der Snap ohne die Option `--devmode` installiert wird (siehe: https://github.com/rovellipaolo/NinjaDroid/issues/20).



## Test

Sobald Sie es konfiguriert haben (siehe Abschnitt „Installation“), können Sie auch die Tests und das Checkstyle wie folgt ausführen.

### Native
Um sie auf Ihrem lokalen Rechner auszuführen, führen Sie die folgenden Befehle aus:```shell
$ make test
$ make regression
$ make checkstyle

Sie können die Tests auch mit Codeabdeckung ausführen, indem Sie den folgenden Befehl starten:```shell $ make test-coverage

Und/oder konfigurieren Sie den Checkstyle so, dass er bei jedem git commit automatisch ausgeführt wird, indem Sie den folgenden Befehl ausführen:```
$ make install-githooks

Docker

Um sie in Docker auszuführen, führen Sie die folgenden Befehle aus:```shell $ make test-docker $ make regression-docker $ make checkstyle-docker

### Flatpak
Um die Regressionstests in Flatpak auszuführen, führen Sie den folgenden Befehl aus:```shell
$ make regression-flatpak

Snap

Um die Regressionstests in Snap auszuführen, führen Sie den folgenden Befehl aus:```shell $ make regression-snap

## Verwendung

Im Folgenden finden Sie Beispiele für die Ausführung von NinjaDroid gegen das Beispiel-APK-Paket.
Tool herunterladen