Forum: PC-Programmierung Java Decompiler


von Manuel J. (manuel-j)


Lesenswert?

Hallo,

kann man Java Programme auch so schreiben, dass sie sich nicht so leicht 
wieder decompilieren lassen (original Quelltext), oder ist das aufgrund 
des ByteCodes nicht möglich?

Grüße,
  Manuel

von D. I. (Gast)


Lesenswert?

Nun man könnte obfuscaten oder mit einem geeigneten Compiler direkt in 
Binärcode übersetzen

von Peter (Gast)


Lesenswert?

er lässt sich immer decompilieren. Aber es gibt Programm die vorher die 
code so unleserlich machen( alle Klassen und Methoden kryptich 
umbenennen, und konstanten verschleiern ) Damit kann man meist wenig mit 
dem ergebniss anfangen. Es gibt auch noch ein paar möglichkeiten den 
bytecode so umzustellen das der decompiler nicht so reicht weiss war er 
machen soll. aber komplett verbinder kann man es nicht. (Das gleiche 
problem betrifft auch .net)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Es scheint einen Markt für Java-Bytecode-Obfuscatoren zu geben, also ist 
anzunehmen, daß zumindest eine Näherung des Quelltextes rekonstruierbar 
sein könnte.

von Manuel J. (manuel-j)


Lesenswert?

Prima!
Danke für die super schnellen Antworten.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Es hindert dich natürlich auch keiner daran deine Klassen mit einem 
geeignetem Verfahren zu verschlüsseln, und dann mit einem passendem 
Classloader wieder zu dekodieren, dann liegt alles halt nur zur Laufzeit 
vor (theoretisch könnte man das dann wieder per Reflection versuchen 
hinter den Sinn zu kommen.
Die Frage ist halt wie so oft: Was für geniale und ausgefeilte 
Algorithmen nutzt du als dass du befürchtest das jemand sich die Mühe 
macht diese zu "klauen".

(Ansonsten hilft es auch schon den Compiler zu bitte gewisse 
Informationen nicht im Classfile abzulegen, beim javac z.B.
1
 -g:none                    Generate no debugging info
Die meisten dieser verschleierten Programme hätte man jedoch besser mit 
dem Compileschalter
1
 -Xlint                     Enable recommended warnings
 compiliert ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.