Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/eybisi/kavanoz
Android-SicherheitStatische AnalyseVerschlüsselungs-/EntschlüsselungstoolsReverse EngineeringMalware-AnalyseMobile SicherheitArchived
GitHubeybisi/kavanoz

kavanoz

Statisches Entpacken gängiger Android-Banker-Malware.

Repository anzeigen
15920vor 1 JahrVon 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

🫙 kavanoz 🫙

Kavanoz (türkisch für Glas) ist ein Tool, um gängige Android-Banker-Malware statisch zu entpacken. Wolltest du jemals die Payload aus gepackter Malware extrahieren, ohne einen Android-Emulator auszuführen? Ich auch nicht :) Aber hier ist trotzdem ein Tool.

👀 Installation

root@kitploit:~
pip install kavanoz

Um aus dem Quellcode zu installieren, klone das Repository und führe eine editierbare Installation mit -e durch. Das bedeutet, wenn du Plugins im Projekt bearbeitest oder hinzufügst, werden diese ohne Neuinstallation verwendet.

root@kitploit:~
git clone https://github.com/eybisi/kavanoz.git
cd kavanoz
pip install -e .

⚡ Verwendung

über die Befehlszeile

root@kitploit:~
kavanoz /tmp/filepath

Du kannst den Parameter -vvv verwenden, um ausführliche Logs auszugeben. (nützlich zum Debuggen von Plugins)

als Python-Bibliothek

root@kitploit:~
from kavanoz.core import Kavanoz
from kavanoz import utils

utils.set_log("DEBUG")
k = Kavanoz(apk_path="tests/test_apk/coper.apk")
for plugin_result in k.get_plugin_results():
    if plugin_result["status"] == "success":
        print("Unpacked")
        print(plugin_result)
        break

🐍 Skripte:

  • rc4.py Generische RC4-verschlüsselte Asset-Datei. Das Skript deckt mehrere Versionen ab.
  • old_rc4.py Eine weitere generische RC4-verschlüsselte Asset-Datei.
  • subapp.py Entschlüsselung der Datei mit einem Schlüssel, der aus der ProtectKey-Variable der Manifest-Datei abgeleitet wird
  • multidex.py Multidex-ähnlicher Loader mit dekomprimierter gepackter Datei. (zlib-Kompression)
  • coper.py RC4-Schlüssel aus nativer Bibliothek per Emulation extrahieren (AndroidNativeEmu)
  • moqhao.py Emulation für das Entpacken von Moqhao.
  • sesdex.py
  • simple_aes.py
  • simple_xor.py
  • simple_xor2.py
  • simple_xor_zlib.py
  • subapp.py Asset mit Paketnamen entschlüsseln

⚙️ Entwicklung

Stelle sicher, dass du kavanoz als editierbare Installation (mit -e) installierst. Um neue Plugins hinzuzufügen, erstelle einfach eine neue Datei im loader-Ordner. Erweitere die Unpacker-Klasse aus der Datei unpack_plugin.py. Definiere die start_decrypt-Funktion mit deiner Implementierung.

root@kitploit:~
def start_decrypt(self, apk_object: APK, dexes: "list[DEX]"):

Füge folgende Funktion hinzu, um einen frühen Ausstieg aus dem Plugin zu ermöglichen.

root@kitploit:~
def lazy_check(self,apk_object:APK, dexes: "list[DEX]"):

Wenn die Extraktion erfolgreich ist, weise self.decrypted_payload_path den Pfad der extrahierten Datei zu. Du kannst Hilfsfunktionen aus der Unpacker-Klasse verwenden:

  • get_array_data
  • get_smali
  • find_method(class_name,method_name,descriptor="")
  • check_and_write_file(file_data) : prüft, ob die Datei dex-, zip- und zlib-Header enthält, und schreibt das entpackte dex mit dem Namen : "external-{m[:8]}.dex"

Stelle sicher, dass du python -m unittest ausführst, bevor du einen PR eröffnest. Um Test-APK-Dateien zu erhalten, verwende den Befehl git lfs pull.

📖 Tipps

  • self.dexes enthält dex-Objekte. Du kannst eine Klasse mit dex.get_class(smali_annotation_of_class) erhalten.
  • Du kannst die get_smali-Funktion verwenden und der Zielmethode ein Objekt übergeben, um die Smali-Darstellung der Zielmethode zu erhalten. Wende dann einen Regex an, um Daten aus dem Smali-Code zu extrahieren. Es gibt viele definierte Regex-Ausdrücke in der Datei smali_regexes.py zum Nachschlagen.
  • In den meisten Fällen verwenden Packer Dateien aus dem Asset-Ordner. Du kannst Dateien mit self.apk_object.get_files() abrufen.
  • In den meisten Fällen verwenden Packer die Application-Klasse, um die Entpackungssequenz zu starten. Verwende application = self.apk_object.get_attribute_value("application", "name"), um die im Manifest definierte Application-Klasse zu erhalten.

Danksagungen:

apkdetect.com für die einzigartigen Samples, mit denen wir arbeiten konnten.

Tool herunterladen