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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
redexer — Das Redexer-Framework zur binären Instrumentierung von Dalvik-Bytecode | Kitploit
Tools/GitHubGitHub/plum-umd/redexer
Android-SicherheitStatische AnalyseDynamische Analyse (Sandboxing)Reverse EngineeringBinäranalysePapers & ForschungLernen & Bildung
GitHubplum-umd/redexer

redexer

Das Redexer-Framework zur binären Instrumentierung von Dalvik-Bytecode

Repository anzeigen
1743121vor 5 JahrenVon 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
Webseite

Build Status

redexer

Redexer ist ein Reengineering-Werkzeug, das Android-App-Binärdateien manipuliert. Dieses Tool kann eine DEX-Datei in eine speicherresidente Datenstruktur parsen; ermitteln, mit welchen Parametern die App bestimmte Berechtigungen verwendet (wir nennen diese Funktion RefineDroid); diese Datenstruktur modifizieren und entparsen, um eine ausgegebene DEX-Datei zu erzeugen (wir nennen diese Funktionen Dr. Android, was für Dalvik Rewriting for Android steht).

Publikationen

  • Dr. Android and Mr. Hide: Fine-grained Permissions in Android Applications. Jinseong Jeon, Kristopher K. Micinski, Jeffrey A. Vaughan, Ari Fogel, Nikhilesh Reddy, Jeffrey S. Foster und Todd Millstein. In ACM CCS Workshop on Security and Privacy in Smartphones and Mobile Devices (SPSM '12), Okt. 2012.

Anforderungen

  • OCaml und Ruby

Dieses Tool wurde unter OCaml 4.09.0 und Ruby 1.8.6(7) getestet, daher müssen Sie diese (oder neuere Versionen) installieren.

  • OCaml-Paket-/Bibliotheksmanager und SHA-Bibliothek

Zur Manipulation einer SHA-1-Signatur (Hash) im DEX-Format verwenden wir die OCaml SHA-Bibliothek über ocamlfind/findlib, einen OCaml-Bibliotheksmanager. Der einfachste Weg, beide zu installieren, ist die Verwendung von OPAM, einem OCaml-Paketmanager, der beide Pakete enthält: OPAM ocamlfind und OPAM sha.

Sie können beide Pakete auch direkt erstellen und/oder installieren. Wenn Sie einen Linux-Rechner verwenden, finden Sie leicht Distributionen.

Andernfalls, z. B. auf einem Mac, müssen Sie sie selbst erstellen. Den Originalquellcode finden Sie hier. Erstellen Sie ihn mit make und verlinken Sie das resultierende Verzeichnis in das Root-Site-lib-Verzeichnis von ocamlfind; oder sudo make install.

Wenn Sie einen PC verwenden, müssen Sie zuerst ocamlfind/findlib und FlexDLL installieren. Stellen Sie sicher, dass Ihre Umgebungsvariablen korrekt gesetzt sind, wie folgt:

OCAMLLIB=C:\OCaml\lib
CAML_LD_LIBRARY_PATH=%OCAMLLIB%\stublibs
FLEXLINKFLAGS=-L%MinGW%\lib -L%MinGW%\lib\gcc\mingw32\N.N.N
  • OPAM-Pakete:

    • sha
    • str
    • ppx_deriving
    • ppx_deriving_yojson
    • yojson
  • Android SDK (oder Quellen)

Zum Entpacken und Neupacken von APK-Dateien verwenden wir apktool, ein Open-Source-APK-Reengineering-Tool. Da es aapt, das Android Asset Packaging Tool, verwendet, müssen Sie das Android SDK oder die Quellen installieren. Außerdem verwenden wir zipalign, das ebenfalls aus dem Android SDK stammt, um umgeschriebene Apps zu optimieren.

Sie können Pfade zu den Android-Basiswerkzeugen festlegen, indem Sie Folgendes zu Ihrem Profil hinzufügen:

ANDROID_HOME=$HOME/android-sdk    # Ihr eigener Pfad hier!
export ANDROID_HOME

PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
PATH=$PATH:$ANDROID_HOME/build-tools/19.0.0    # Installierte Versionsnummer
export PATH
  • RubyGems und Nokogiri

Die Hauptskripte sind in Ruby geschrieben und benötigen RubyGems, einen Ruby-Paketmanager, sowie Nokogiri, eine XML-Bibliothek zur Bearbeitung von Manifest-Dateien.

  • (optional) graphviz dot

Wenn Sie Graphen sehen möchten (z. B. Call-Graph, Kontrollflussgraph, Dominator-Baum usw.), müssen Sie graphviz dot installieren.

Erstellung

Um redexer zu erstellen, einfach make ausführen! Die redexer-Binärdatei befindet sich dann auf der obersten Ebene.

$ make (clean)

Vor der Verwendung des Tools muss der aktuellste Plattform-Datei für apktool vom Benutzer installiert werden. Zum Beispiel:

$ java -jar tools/apktool.jar if [geeignete Plattform-Datei]

Sie können auch API-Dokumentation im HTML-Format erstellen.

$ make api

Verwendung

  • Hilfe

Sie können alle vom Tool bereitgestellten Optionen anzeigen:

$ ruby scripts/cmd.rb -h
$ ruby scripts/cmd.rb --help
  • Entparsen (unparse)

Wie dexdump im Android SDK ermöglicht redexer Ihnen, die Interna der angegebenen DEX-Datei im YAML-Format anzuzeigen.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd unparse [--to blah.yml]
  • Methode ausgeben (dump method)

Diese Option gibt Befehle für eine bestimmte Methode aus.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd dump_method --mtd cls.mtd
  • Identität (identity)

Diese Funktion dient zum Testen der Parse- und Dump-Module von redexer. Sie erzeugt wahrscheinlich eine identische DEX-Datei.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd id [--to blah.dex]
  • Info

Sie können auch grundlegende Statistiken über die DEX-Datei anzeigen, z. B. # instr.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd info
  • Klassen (classes)

Diese Option gibt alle in der DEX-Datei definierten Klassennamen aus.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd classes

Das kann nützlich sein, um nach bestimmten Drittanbieter-Bibliotheken zu suchen, z. B.:

$ ruby scripts/cmd.rb target.(apk|dex) --cmd classes | egrep 'apache'
  • API

Diese Option gibt die API-Nutzung in der DEX-Datei aus.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd api [--sdk android.]
$ ruby scripts/cmd.rb target.(apk|dex) --cmd api --sdk com.facebook.
  • Opcode-Statistiken

Sind Sie nicht neugierig, wie selten einige Opcodes in Dalvik-Bytecodes verwendet werden? Es zeigt Ihnen das Histogramm aller Opcodes, oder Sie können nachschlagen, wie oft der genaue Opcode in der gegebenen App verwendet wird.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd opstat [--op opcode1,opcode2,...]

Beispiel:

$ ruby scripts/cmd.rb ~/apps/top24/com.whatsapp.apk --cmd opstat
$ ruby scripts/cmd.rb ~/apps/top24/com.whatsapp.apk --cmd opstat --op div-int/lit16,nop
  • Intent-Auflösungsanalyse

Diese Option führt eine ausbreitungsbasierte Intent-Auflösungsanalyse durch und gibt Übergänge zwischen Activity-Klassen aus.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd intent
  • Call-Graph

Diese Option erzeugt eine PDF-Datei, die einen Call-Graphen der gegebenen Datei darstellt. Wenn Sie keinen PDF-Namen angeben, wird cg.pdf verwendet.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd cg [--to blah.pdf] [--no-pdf]
  • Kontrollflussgraph

Diese Option erzeugt eine PDF-Datei, die einen Kontrollflussgraphen der angegebenen Methode zeigt. Hängen Sie einen Methodennamen mit Punkt an den Klassennamen an: class_name.method_name

$ ruby scripts/cmd.rb target.(apk|dex) --cmd cfg --mtd cls.mtd [--to blah.pdf] [--no-pdf]
  • (Post-)Dominator-Baum

Diese Option ist ähnlich wie die obige, mit dem Unterschied, dass sie den (Post-)Dominator-Baum darstellt.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd (p)dom --mtd cls.mtd [--to blah.pdf] [--no-pdf]
  • Liveness-Analyse

Diese Option führt eine klassische rückwärtsgerichtete Datenflussanalyse durch.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd live --mtd cls.mtd
  • Konstantenpropagationsanalyse

Diese Option führt eine klassische vorwärtsgerichtete Datenflussanalyse durch.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd const --mtd cls.mtd
  • Reaching-Definition-Analyse

Diese Option führt eine klassische vorwärtsgerichtete Datenflussanalyse durch.

$ ruby scripts/cmd.rb target.(apk|dex) --cmd reach --mtd cls.mtd
  • Abhängigkeiten (dependants)
Tool herunterladen