# Jar dekompilieren, Code verändern und als .jar speichern



## Streeber (31. Jul 2014)

Hallo an alle 

Ich habe eine .jar, und würde gerne ein paar Zeilen im Code ändern.
Ich konnte mit einem Java Decompiler (JD-GUI) die .jar öffnen und alle Klassen und deren Inhalt sehen.
Nur kann ich keinen Code ändern/hinzufügen.

Ist das überhaupt möglich was ich machen will?
Und falls ja wie stelle ich es an?

Vielen Dank


----------



## shishigami (31. Jul 2014)

Kopier den ganzen Code in Eclipse und bearbeite es und kompiliere es neu.

Ansonsten könntest du auch den Bytecode direkt bearbeiten, z.B. hiermit.


----------



## Anti-Banane2 (31. Jul 2014)

mal davon abgesehen das es erstmal wichtig ist ob du es von der lizenz her darfst würde ich mich zu aller erst mal mit dem entwickler in verbindung setzen und einen entsprechenden feature-request absetzen ... vielleicht ist sie/er ja so nett deine änderungswünsche einzubauen

gestattet dir weder die lizenz noch der autor selbst das modifizieren des codes wäre es zumindest in deutschland eine rechtliche grauzone in der du dich da bewegst ... grauzone deshalb weil wo kein kläger da kein richter ... oder auf deutsch : wenns keiner mitbekommt brauchst du auch keine sorgen zu haben

ansonsten hast du ja schon das mittel der wahl gefunden : einen de-compiler
de-compiler erzeugen aus dem fertigen byte-code wieder menschenlesbaren source-code ... oder zumindest was ähnliches ...

oft kommt es vor das code vor solchen "angriffen" geschützt wird (ich gehe auf die möglichen methoden bewusst nicht näher ein) so das du am ende entweder code erhältst der unvollständig ist (kann man recht einfach umsetzen) oder den du wenn es denn editiert bekommst nachher nicht wieder compilen kannst (da gibts gewisse stolpersteine)

am ende kommt dann wie schon erwähnt der punkt an dem du dann aus dem vorliegenden source wieder byte-code compilen musst
nicht das das compilen an sich sonderlich schwierig wäre ... es kann aber sein das der code der erzeugt wurde nicht compilebar ist und gewisses tweaking benötigt ...
oft kommt es dann dazu das gerade anfänger vor dem problem stehen das sie verschiedene fehler falsch interpretieren ... womit wir beim letzten punkt wären an dem sich der kreis schließt : du fragst hier wieder nach


von daher meine persönliche ansicht : wende dich an den entwickler ... und wenn der nö sagt dann wirst du es wohl selbst hinbekommen müssen ... sonst lass es einfach oder schreib dir den benötigten code selbst


----------



## Streeber (13. Aug 2014)

Danke euch beiden 

Ich habe jetzt mal eine .class Datei mit dem Byte Editor geöffnet, wie kann ich denn zum Beispiel einen Wert von false auf true setzen?

Liebe Grüße


----------



## Thallius (13. Aug 2014)

Warum habe ich nur das Gefühl das hier jemand etwas verbotenes tun will?

Gruss

Claus


----------



## fischefr (15. Aug 2014)

Streeber hat gesagt.:


> Danke euch beiden
> 
> Ich habe jetzt mal eine .class Datei mit dem Byte Editor geöffnet, wie kann ich denn zum Beispiel einen Wert von false auf true setzen?
> 
> Liebe Grüße



Mit einem normalen Editor kannst du das vergessen. Es gibt einen Assember für java bytecode. Allerdings ist die Bearbeitung der Datei vermutlich für deinen Kenntnissstand jenseits von gut und böse.


----------

