Wie kann ich Bearbeiten .class-Datei aus einem jar?
Habe ich eine .jar-Datei und ich habe dekompiliert es mit Java Decompiler, ich will zu ändern .class-Datei aus dem .Glas und kompilieren Sie es. Ich habe versucht, eclipse zu kopieren Sie der code, aber es hat viele Importe, so kann ich nicht neu kompilieren, es int ein .class-Datei ohne Importe. Gibt es irgendeine andere Lösung? Gibt es einen besseren Ansatz, um dieses ?
- Wenn Sie nicht neu kompilieren in eine .class-Datei ohne Importe, dann kompilieren Sie es in eine .class-Datei mit den Importen.
- Bitte angeben, welches problem genau hast du versucht zu lösen. Warum müssen Sie zu dekompilieren und kompilieren Sie die Klasse Datei? Wohl Ihre ursprüngliche problem kann gelöst werden, in einfacher Art und Weise. Siehe XY-problem.
- Die wirkliche Frage, die Sie haben zu Fragen, warum Sie dies tun wollen ? Es ist nicht eine gute Praxis auf allen, Dinge zu ändern, so...
- Ich versuche zu überspringen Genehmigungsverfahren, es ist nicht black-hat es white-hat-hacking. Es ist für eine Verbesserung der Sicherheit.
- Sie sollten in der Lage sein, um das laden der bytes, die von der Klasse enthalten in der jar-Datei, manipulieren Sie die Inhalte über ein byte-manipulation framework (javassist, CGLIB, ASM, BCEL, ...) und laden Sie das manipulierte Byte über einen custom classloader in die JVM.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie auf der ersten Seite verhindern, dass diese Art von Korrekturen und Änderungen. Aber wenn es erforderlich ist, sollten Sie alle haben die import-Klasse ist der code auch kompilieren Sie die Klasse dekompiliert, als Sie verpflichtet werden, zum Zeitpunkt der Kompilierung, sondern, dass möglicherweise keine praktikable option ist.
Den anderen Ansatz, die Sie verwenden können, ist ein Klasse Editor, die Sie Bearbeiten direkt eine class-Datei.
Erhalten Sie Hier
die import-Direktive ist "Zucker-syntax". Der compiler fügt die richtige Paket, um alle Referenzen.