2010-03-07 4 views
15

Was ist ein guter freier Bytecode-Editor? Ich möchte einen Editor, etwas mit einer GUI ...Java-Bytecode-Editor?

Ich versuchte jbe-0.1b ohne Glück (kann nicht die Bytecode-Änderungen speichern).

+0

ich gerade heruntergeladen und getestet JBE-0.1b und es funktionierte gut für mich. Nach Drücken der 'Save Methode' wurde die Klasse modifiziert (auf Platte). –

+0

Ja, es sollte funktionieren, aber beim Speichern bekomme ich einen Konsolenfehler und es speichert nichts ... vielleicht etwas im Zusammenhang mit der Methode mit vielen Zeilen ... Was ich wirklich will, ist nur eine Alternative – AlfaTeK

+0

jbe bricht Methoden enthalten die invokeinterface-Anweisung. Es versucht, den Namen der Schnittstellenmethode als Ganzzahlen mit vorhersagbaren Ergebnissen zu analysieren. Es enthält die Quelle, also könnte es in der Theorie behoben werden. – yatima2975

Antwort

9

Nichts Anständiges mit einer Benutzeroberfläche, aber Sie können das Eclipse Bytecode Outline-Plugin verwenden, um jede Java-Klasse in ASM-Code umzuwandeln, zu bearbeiten und die geänderte Klasse zu erzeugen. Es ist wahrscheinlich der schmerzloseste Weg im Moment.

http://asm.ow2.org/eclipse/index.html

0

Nur um sicher zu sein. Haben Sie versucht, die Klassendateien zu dekompilieren? Ich weiß nicht, was Sie genau machen wollen, aber Sie könnten zuerst die Klassen dekompilieren, die Quellen bearbeiten und erneut kompilieren.

JAD ist ein sehr guter Decompiler, der mit ziemlich hässlichen Bytecodes umgehen und lesbare Quellen daraus erzeugen kann.

+2

wegen der fehlenden und komplizierten Abhängigkeiten kann ich die Quellen nicht neu kompilieren. Also muss ich nur ein paar dumme Strings bytecodieren :) – AlfaTeK

+0

Wenn Sie nur die Strings ändern müssen, sollte jeder Editor in Ordnung sein :-). Ernsthaft glaube ich, dass sie dort nur als Zeichenfolgen gespeichert sind. – pajton

3

Ich verstehe, Jasmin und Jaspis sind die üblichen Paar verwendet, um zwischen Bytecode und eine Assemly Sprachdarstellung zu übersetzen.

IIRC, Apache BCEL kommt mit einem Werkzeug zum Zerlegen von Klassendateien in Code, der die Klassendatei mit BCEL erstellt.

Ich habe vi verwendet. :)

0

Um Java-Bytecode zu erstellen, könnten Sie ASM verwenden, die auch Eclipse-Plugins bietet.

ASM ist ein universelles Java-Framework zur Manipulation und Analyse von Bytecodes. Es kann verwendet werden, um vorhandene Klassen zu modifizieren oder dynamisch Klassen direkt in binärer Form zu generieren.

+1

ASM ist nicht wirklich für die manuelle Bearbeitung gedacht. – Antimony