Hallo,
gibt es eigentlich irgendeine Möglichkeit, java-Klassen vor dem Dekompilieren zu schützen? Ich hab da mal was im Netz gelesen, finde es aber nicht mehr
Gruß
Jochen
Hallo,
gibt es eigentlich irgendeine Möglichkeit, java-Klassen vor dem Dekompilieren zu schützen? Ich hab da mal was im Netz gelesen, finde es aber nicht mehr
Gruß
Jochen
Hallo Jochen,
das Stichwort lautet „Obfuscator“.
Google liefert unter http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=u… eine Menge an Links.
Evtl. hilft auch direkt http://www.drjava.de/obfuscator/
Gruss,
Frank
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
das Stichwort lautet „Obfuscator“.
Da sollte man aber sagen, dass das kein wirklicher Schutz sondern eher nur eine Erschwernis ist. Wirklich schützenswerte Dinge die einen Grund liefern sich etwas hartnäckiger mit dem Code zu beschäftigen würde ich da nicht reinnehmen.
Grüße, Robert
Hallo Robert,
das Stichwort lautet „Obfuscator“.
Da sollte man aber sagen, dass das kein wirklicher Schutz
sondern eher nur eine Erschwernis ist.
Da hast Du natürlich Recht. Aber für den „DAU“-Einsatz reicht es in der Regel.
Ansonsten müsste man wohl sich einen eigenen ClassLoader schreiben, die generierten Klassen mit eine PK-Verfahren verschlüsseln, und durch den ClassLoader entschlüsseln lasssen.
Aber das ist eine Herausforderung für sich.
Wirklich schützenswerte
Dinge die einen Grund liefern sich etwas hartnäckiger mit dem
Code zu beschäftigen würde ich da nicht reinnehmen.
Theoretisch ist es möglich eine Decompiler für jede beliebige Sprache zu schreiben, der (unter gewissen Voraussetzungen) sogar effizient Source-Code aus ausführbaren Code generiert.
Mit Sicherheit kann kann man diesen Code durch Mustererkennung etwas geschickter aufschreiben (was ein praktisches Problem ist), aber theoretisch ist es möglich.
Deswegen ist das decompilieren i.d.R. in (kommerziellen) Lizenzverträgen verboten.
Schönen Abend noch,
Frank