Ocultar el c贸digo de java

Solange
03 de Enero del 2004
Hola a todos!
Alguien sabe como ocultar o encriptar el c贸digo de java (no javascript) cosa de hacer despistar a los descompiladores de .class ???.

cualquier cosa porfa escribanme al correo. Grax ;)

Roger
03 de Enero del 2004
Bueno, esto es algo que a muchisimos programadores, no solo de java, sino de c, c++, etc nos gustaria hacer. Antes era realmente sencillo, pues el propio programa regeneraba su codigo directamente en la memoria, es decir, ese codigo no estaba escrito, porque en msdos se podia acceder directamente al bloque de la ram donde se ejecuta el codigo. Actualemente, ventanitas no nos lo permite (mejor...), por lo que tenemos que aguantarnos y hacer frente a los desensambladores y descompiladores... de igual forma, como partidario del freeware y la licencia libre, siempre anexo el fuente a mis programas, por lo que esto no me preocupa especialmente. Para cualquier otra cosa me escribes al correo. Roger.

Heihachi
03 de Enero del 2004
Se pueden encriptar los .class y usar un classLoader propio para desencriptarlos. Eso previene en principio que descompilen los .class.

Aqu铆 explican como se puede hacer:

http://www.javaworld.com/javaworld/javaqa/2003-05/01-qa-0509-jcrypt.html

y (siento desilusionar) tambi茅n explican como obtener los .class desenriptados independientemente del m茅todo usado para encriptar

Aunque al menos se complica un poco la tarea de obtenerlos...

Tambi茅n puedes optar por la ofuscaci贸n. Con la ofuscaci贸n obtienes unos nuevos .class en los que se modifican los nombres de clases, variables y m茅todos por cadenas sin sentido con lo que se dificulta la lectura del c贸digo descompilado

Yo he probado el proguard con una aplicaci贸n con muchas clases y la verdad es que te tienes que armar de paciencia para entender algo.

Hay ofuscadores que tambien encriptan todos los String y que a帽aden fragmentos de c贸digo que no se usan. Con eso puedes desanimar a m谩s de uno...

Saludos!

Roger
03 de Enero del 2004
Pese a que las tecnicas de encriptacion han avanzado, las tecnicas anti-encriptacion lo han hecho el doble. He estado preguntando a colegas d argentina y de mejico, y todos me han dixo lo mismo: no hay ningun metodo para encriptar .class que un pardillo sin idea de java no pueda desencriptar.