durch das Entpacken einer .jar-Datei erhalte ich einen Ordner mit den .class-Dateien. Ist es möglich, daraus wieder die .java-Dateien zu gewinnen, um den Code im Nachhinein zu verändern?
Jein. Du kannst dir mit einem Decompiler wie JAD wieder Quellcode aus den .class-Dateien erzeugen, allerdings sind Dinge wie Variablennamen, Formatierung und Kommentare nicht enthalten und können nicht "wiederhergestellt" werden.
Wollte JAD ausprobieren, hab mir die zip-Datei runtergeladen und entpackt. Darin enthalten sind eine Datei Readme.txt und jad.exe
Laut Readme.txt habe ich damit JAD fertig "installiert". Beim Doppelklick auf jad.exe erscheint für einen Moment eine Shell mit viel Text drin, sonst passiert nix.
In Readme.txt wird folgendes zur Verwendung angegeben:
To decompile a single JAVA class file 'example1.class'
type the following:
jad example1.class
Ich habe das Kommando in einer Shell ausprobiert, aber "Der Befehl jad ist entweder falsch geschrieben oder konnte nicht gefunden werden"
Wenn [c]jad.exe[/c] nicht im Path ist - was logisch ist - muss entweder zuerst in das entsprechende Verzeichnis navigiert oder der gesamte Pfad (absolut oder relativ) zur Exe angegeben werden. Die Konsolen besitzen keine Glaskugel, mit der sie erfahren, was du aufrufen willst
Aber selbst wenn du es schaffst mit nem Decompiler die class Dateien zu dekompilieren muss das noch lange nicht heißen, dass du die ohne Probleme wieder kompilieren kannst. Da müsstest du schon Glück haben.
Jein. Du kannst dir mit einem Decompiler wie JAD wieder Quellcode aus den .class-Dateien erzeugen, allerdings sind Dinge wie Variablennamen, Formatierung und Kommentare nicht enthalten und können nicht "wiederhergestellt" werden.
Laut Readme.txt habe ich damit JAD fertig "installiert". Beim Doppelklick auf jad.exe erscheint für einen Moment eine Shell mit viel Text drin, sonst passiert nix.
In Readme.txt wird folgendes zur Verwendung angegeben:
To decompile a single JAVA class file 'example1.class'
type the following:
jad example1.class
Ich habe das Kommando in einer Shell ausprobiert, aber "Der Befehl jad ist entweder falsch geschrieben oder konnte nicht gefunden werden"
JAD ist etwas "komplizierter" zu bedienen. Entweder die exe direkt aus deren Verzeichnis starten oder das Verzeichnis in die PATH Umgebungsvariable aufnehmen.
Ich würde dir ebenfalls JD empfehlen. Der hat ne schöne GUI und kann z.B. in Eclipse integriert werden.
JAD ist etwas "komplizierter" zu bedienen. Entweder die exe direkt aus deren Verzeichnis starten oder das Verzeichnis in die PATH Umgebungsvariable aufnehmen.
Auch JAD kann man mit dem Plugin JadClipse bequem mit Eclipse verwenden. Aber manchmal finde ich es auch praktisch, ein Kommandozeileninterface zu benutzen.