Nachfolgend wird das klassische Obfuscating mit der JarCryp™-Technologie Die JarCryp™-Technologie... und deren ByteCode-Verschlüsselung verglichen.

 

Eigenschaft Obfuscator JarCryp™
Codeschutz Nur Packages, Klassen und Methoden-Namen werden ersetzt. Der Bytecode und insbesondere Konstanten sind immer noch einsehbar und veränderbar. Unter Umständen können zumindest Teile des Quellcodes durch Dekompilierung wieder hergestellt werden. Der gesamte ByteCode ist vollständig verschlüsselt.
Ressourcen-Schutz Keinerlei Schutz für Bilder, Texte, Konfigurationsdateien etc. Alle Dateien sind vollständig verschlüsselt.
Logging, Debugging, Fehlerbehandlung Sinnvolles Logging oder Debugging ist deutlich erschwert. Fehler-Berichte sind u.U. wenig aussagekräftig, da Stack-Traces nicht mehr in gewohnter Weise ausgewertet werden können. Keinerlei Einschränkungen gegenüber unverschlüsselter Anwendungen.
Kompatibilität Probleme durch die massive Code-Veränderung, die an die Grenzen der Java-Byte-Code-Konformität gehen, sind vorprogrammiert. Möglicherweise werden auch nicht alle Java-Versionen (bspw. Java 5.0) unterstützt.

Code, der das Reflection-API verwendet, ist problematisch
Der Byte-Code wird unverändert ausgeführt. Dadurch ist Kompatibilität mit allen Java-Versionen gewährleistet.

Keine Probleme mit dem Reflection-API
Dateigröße JAR-Dateien sind meist deutlich kleiner Nur geringe Größeneinsparung von durchschnittlich ca. 10%.
Plattformunabhängigkeit Meist 100% pures Java Native Bibliothek erforderlich, durch ANSI-C++-Programmierung sind diese aber für fast alle gängigen Betriebssysteme verfügbar. Die Verwendung von JNI (Java Native Interface) macht den Einsatz der Bibliothek problemlos möglich.

 

 

Sehen Sie auf der nächsten Seite Screenshots der JInstaller™ Secure Edition...