Pour info on peut définir des classes a partir d'un byte[] qui peut venir d'un fichier .class (ou autre) crypté.
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html#defineClass%28byte[],%20int,%20int%29
(la fonction est deprecated mais toujours présente en java 6)
http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html#defineClass%28byte[],%20int,%20int%29