Hallo,
ich glaube ich muss meine letzte Aussage korrigieren. Natürlich möchte ich nicht eine .class-Datei mit dem Classloader verschlüseln, weil das völlig unsinnig wär!
Mein Vorhaben ist folgendes:
Ich habe die Aufgabe nach einer Möglichkeit zu suchen, .class Dateien zu verschlüsseln und zur Laufzeit wieder zu entschlüsseln, um den Bytecode zu schützen. Das Verschlüsseln kann ich nur in einem seperaten Schritt mit einem kleinen Tool machen.
Das Entschlüsseln der .class Dateien zur Laufzeit ist schon schwerer und deshalb brauche ich eure Hilfe. Man muss sich das vom Sicherheitsstandpunkt vorstellen! Bei Sun's JVM kann man eigene Classloader schreiben, mit denen man die .class Dateien entschlüsseln könnte. Leider ergibt sich daraus das Problem, dass jeder andere diesen Classloader überschreiben und so den Inhalt der .class Dateien z.B. in irgendeine Datei weiterleiten könnte.
Darum war meine Überlegung, den GCJ zu erweitern. Dort werden die entsprechenden Bibliotheken ja kompiliert. Ich habe die Info bekommen, dass man die Entschlüsselung in der Datei libjava/defineclass.cc vornehmen könnte.
Kennt jemand noch andere Möglichkeiten beim GCJ, um einen eigene Classloader zu schreiben bzw. weiß, wo man in diesem File die decrypt-Methode plazieren müsste?
Ich kann kein C++. Vielleicht gibt es hier Leute, die C++ und Java beherrschen und mir weiter helfen können.