Recaf


Ein benutzerfreundlicher moderner Java-Bytecode-Editor, der die Komplexität von Java-Programmen abstrahiert.
Download
Funktionen
- Bearbeiten Sie Java-Bytecode mühelos auf hoher oder niedriger Ebene (abzüglich der lästigen Teile)
- Editor-Funktionen in Recaf abstrahieren komplexe Details kompilierter Java-Anwendungen wie:
- Den Konstantenpool
- Stack-Frame-Berechnung
- Verwendung von breiten Anweisungen bei Bedarf
- Und mehr!
- Einfach zu bedienende, navigierbare Oberfläche mit kontextabhängigen Aktionen
- Unterstützung für standardmäßige Java- und Android-Anwendungen
- Mehrere Dekompiler, zwischen denen gewechselt werden kann, deren Parameter vollständig konfigurierbar sind
- Integrierter Compiler, der das Neukompilieren dekompilierter Klassen ermöglicht, selbst wenn einige referenzierte Klassen fehlen (Sofern unterstützt, variiert die Unterstützung je nach Codekomplexität und Obfuskation)
- Ein Bytecode-Assembler mit einfacher Syntax und unterstützender Werkzeugausstattung
- Sehen Sie den Zustand lokaler Variablen und Stack-Werte an jedem Punkt in Methoden
- Zugriff auf Variablen über Namen statt Indizes für klareren disassemblierten Code
- Konvertieren Sie Ausschnitte von Java-Quellcode automatisch in Bytecode-Sequenzen
- Suche nach verschiedenen Inhalten: Zeichenketten-/numerische Konstanten, Klassen- und Member-Referenzen, Befehlsmuster
- Werkzeuge zum Deobfuskatieren von obfuskiertem Code
- Speziell gestaltete Klassendateien, die Reverse-Engineering-Werkzeuge zum Absturz bringen sollen, werden beim Öffnen in Recaf automatisch gepatcht
- Speziell gestaltete jar/zip-Dateien werden so gelesen, wie es die JVM tut, wodurch hinterlistige Tricks umgangen werden, die Reverse-Engineering-Werkzeuge dazu bringen können, falsche Daten anzuzeigen
- Unterstützung für automatische Umbenennung obfuskierter Klassen und ihrer Member
- Unterstützung für manuelle Umbenennung von Klassen und ihrer Member (Und Export dieser Zuordnungen in verschiedene Mapping-Formate zur Verwendung in anderen Werkzeugen)
- Bytecode-Transformatoren zur Vereinfachung gängiger Obfuskationsstrategien
- Anhängen an laufende Java-Prozesse mit Instrumentierungsfähigkeiten
- Und vieles mehr
Eine vollständige Liste der Funktionen finden Sie in der Benutzerdokumentation.
Scripting & Plugins
Recaf stellt nahezu die gesamte Funktionalität über modulare APIs zur Verfügung. Die Automatisierung von Abläufen kann einfach mit Skripten oder bei komplexeren Situationen mit Plugins erfolgen. Zusätzliche Funktionen können ebenfalls über Plugins hinzugefügt werden, die sich in APIs einklinken können, die dies anbieten.
Informationen zum Erstellen eigener Skripte oder Plugins finden Sie in der Entwicklerdokumentation, insbesondere im Abschnitt "plugins & scripts".
Kommandozeile
Recaf kann als Kommandozeilenanwendung ausgeführt werden, was besonders nützlich sein kann, wenn es mit Skripten kombiniert wird, die beim Start bereitgestellt werden. Sie können alle aktuellen Startargumente sehen, indem Sie --help als Anwendungsargument übergeben.
Entwicklungsumgebung einrichten
Klonen Sie das Repository mit git clone https://github.com/Col-E/Recaf.git
Öffnen Sie das Projekt in einer IDE oder erstellen Sie den Build mit Gradle.
IDE:
- Importieren Sie das Projekt aus der
build.gradle-Datei
- Erstellen Sie eine Laufkonfiguration mit der Hauptklasse
software.coley.recaf.Main
Ohne IDE:
- Führen Sie
gradlew build aus
- Die Ausgabe befindet sich unter:
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar