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
dexfinder — Plattformübergreifender APK/DEX-Methodenfinder mit Aufrufkettenverfolgung, ProGuard-Entschleierung und Erkennung versteckter APIs | Kitploit
Tools/GitHubGitHub/junelegency/dexfinder
Android-SicherheitStatische AnalyseSchwachstellenanalyseCode-AnalyseReverse EngineeringInformationsbeschaffungDevSecOpsMobile SicherheitBinäranalyse
GitHubjunelegency/dexfinder

dexfinder

Plattformübergreifender APK/DEX-Methodenfinder mit Aufrufkettenverfolgung, ProGuard-Entschleierung und Erkennung versteckter APIs

921032vor 6 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
Repository anzeigen

dexfinder

Englisch | Chinesisch | Webseite dexfinder demo


Webseite: junelegency.github.io/dexfinder

Plattformübergreifender APK/DEX-Methoden- und Feldreferenz-Finder mit Aufrufkettenverfolgung, ProGuard/R8-Entobfuskierung und Erkennung verborgener Android-APIs.

Inspiriert von Androids veridex-Tool, neu implementiert in Go mit erweiterten Fähigkeiten: schnellere Reflexionserkennung, Aufrufkettenverfolgung (veridex zeigt nur eine Ebene) und flexible Ausgabeformate.

Funktionen

  • APK/DEX/JAR-Scanning — Analysiert DEX-Bytecode, extrahiert alle Methoden-/Feld-/String-Referenzen
  • Multi-Format-Suche — Suche nach Java-Name, DEX/JNI-Signatur oder einfachem Schlüsselwort
  • Aufrufkettenverfolgung — Verfolgt Aufrufer bis zu N Ebenen tief, zusammengeführter Baum oder flache Liste, mit Zyklenerkennung
  • ProGuard/R8-Entobfuskierung — Lädt mapping.txt, zeigt ursprüngliche Namen neben obfuskierten an
  • Erkennung verborgener APIs — Lädt hiddenapi-flags.csv, erkennt blockierte/nicht unterstützte APIs
  • Reflexionserkennung — Kreuzvergleich von Klassen × Strings zur Erkennung reflexionsbasierter Nutzung verborgener APIs
  • Flexible Ausgabe — text / json / model / html / sarif, Baum / Listen-Layout, Java / DEX-Namensstil – alle orthogonal kombinierbar
  • Farbige Terminalausgabe — Automatisch erkannte ANSI-Farben für Tags, Baumverbinder und API-Levels
  • APK-Diff — Vergleicht zwei APK/DEX-Versionen, erkennt hinzugefügte/entfernte/geänderte API-Referenzen
  • HTML-Berichte — Eigenständiges interaktives HTML mit einklappbaren Bäumen, Suche und dunklem Design
  • SARIF-Ausgabe — SARIF 2.1.0 für GitHub-Code-Scanning, VS Code und CI-Pipelines
  • CI-Integration — --fail-on blocked beendet mit Fehlercode, wenn eingeschränkte APIs gefunden werden
  • Konfigurationsdatei — .dexfinder.yaml für Projektvorgaben, CLI-Flags überschreiben
  • Keine externen Abhängigkeiten — Reines Go, eigenständiger DEX-Parser
  • Plattformübergreifend — macOS (Intel / Apple Silicon), Linux (amd64 / arm64), Windows

Installieren

Homebrew (macOS / Linux):```bash brew install junelegency/tap/dexfinder

**Skript** (erkennt automatisch OS/Architektur):```bash
curl -sSL https://raw.githubusercontent.com/JuneLeGency/dexfinder/main/install.sh | bash

Go installieren:```bash go install github.com/JuneLeGency/dexfinder/cmd/dexfinder@latest

**Binärdatei**: herunterladen von [Releases](https://github.com/JuneLeGency/dexfinder/releases).

## Schnellstart```bash
# Show APK overview
dexfinder --dex-file app.apk --stats

# Find all calls to getDeviceId (IMEI)
dexfinder --dex-file app.apk --query "getDeviceId"

# Trace call chains as merged tree
dexfinder --dex-file app.apk --query "getDeviceId" --trace

# Trace as flat call stacks (Java crash style)
dexfinder --dex-file app.apk --query "getDeviceId" --trace --layout list

# Exact JNI signature query
dexfinder --dex-file app.apk \
  --query "Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;" \
  --trace --depth 8

# Hidden API detection
dexfinder --dex-file app.apk --api-flags hiddenapi-flags.csv

Query Formats

Das --query-Flag akzeptiert mehrere Eingabestile. dexfinder erkennt sie automatisch und konvertiert zwischen ihnen.

FormatBeispielVerhalten
Einfacher NamegetDeviceIdUngefähre Teilzeichenfolgen-Übereinstimmung über alle APIs hinweg
Java-Klasseandroid.telephony.TelephonyManagerAlle Methoden/Felder dieser Klasse
Java-Klasse#Methodeandroid.telephony.TelephonyManager#getDeviceIdAlle Überladungen dieser Methode
Vollständige Java-Signatur...TelephonyManager#getDeviceId()Exakt + Überladungs-Fallback
DEX/JNI-SignaturLandroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;Nur exakte Übereinstimmung

All equivalent — find requestLocationUpdates in LocationManager:

dexfinder --dex-file app.apk --query "requestLocationUpdates" dexfinder --dex-file app.apk --query "android.location.LocationManager#requestLocationUpdates" dexfinder --dex-file app.apk --query "Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V"

## Output Control

Drei unabhängige Achsen, frei kombinierbar:```
--format  (text / json / model / html / sarif)    what to output
--layout  (tree / list)                           how to arrange traces
--style   (java / dex)                            how to display names
--color   (auto / always / never)                 terminal colors

--format

WertBeschreibung
textKlartext-Ausgabe mit farbigen Tags (Standard)
jsonJSON — Scan-Ergebnisse oder Trace mit Baum/Liste-Layout
modelStrukturiertes JSON mit vollständigen MethodInfo/FieldInfo-Typen (für IDE/CI)
htmlIn sich geschlossener HTML-Bericht mit zusammenklappbaren Bäumen und Suche
sarifSARIF 2.1.0 Format für statische Analyse (GitHub / VS Code)

--layout (verwendet mit --trace)

WertBeschreibung
treeZusammengeführter Baum — gemeinsame Aufrufpfade zu einem Baum zusammengefasst (Standard)
listFlache Liste — jeder eindeutige Aufrufpfad als unabhängiger Stack dargestellt

--style

WertBeispielAnwendungsfall
javacom.example.Foo.method(Foo.java)Menschenlesbar (Standard)
dexFoo.method(Ljava/lang/String;)VPräzise Signaturanalyse

--scope (Suchbereich)

Steuert, welche Art von Referenzen die Abfrage abgleicht. Dies ist entscheidend für das Verständnis der Ergebnisse.

WertWas wird gesuchtBeantwortete FrageAusgabe-Tag
allCallee-APIs + Felder + Code-Strings"Wer ruft diese API auf?" (Standard)[METHOD] [FIELD] [STRING]
calleeNur Ziel-API-Signaturen in invoke-* / get/put-Anweisungen"Wer ruft diese spezifische Methode/dieses spezifische Feld auf?"[METHOD] [FIELD]
callerNur die Signatur der aufrufenden Methode"Was ruft diese Methode intern auf?"[CALLER→]
stringString-Konstanten in const-string-Anweisungen"Wo wird dieser String im Code verwendet?"[STRING]
string-tableCode-Strings + vollständige DEX-String-Tabelle"Existiert dieser String irgendwo im DEX?" (beinhaltet Annotationen, toten Code)[STRING] [STRING_TABLE]
everythingAlle oben genannten kombiniertGesamtbildalle Tags

Callee vs. Caller verstehen:``` scope=callee: "Who calls finish()?" onCreate ──calls──→ finish() ← these callers are shown onResume ──calls──→ finish()

scope=caller: "What does finish() call internally?" finish() ──calls──→ Log.i() ← these callees are shown finish() ──calls──→ super.finish()

`--scope=all` (Standard) = `callee` + `string`. Die `caller`-Richtung ist bewusst vom Standard ausgeschlossen, da sie eine grundlegend andere Frage beantwortet. Verwenden Sie `--scope=caller` oder `--scope=everything` explizit, wenn Sie dies benötigen.

**Ausgabe-Tags verstehen:**
Tool herunterladen