Criptografar o .class (Protecao contra engenharia reversa)?

Olá Pessoal,

       Gostaria de saber se tem algum jeito de compilar o .class de tal forma que o cliente não consiga fazer engenharia reversa no código (.class)

Agradeço qualquer colaboração!! :smiley:

Você teria que utilizar um Obfuscator. Mas siceramente não vejo necessidade nisso pois quando desenvolvemos um software cedemos todos os fontes para o cliente.

Segue um Obfuscator:

YGuard

O que vc poderia fazer é criar um ClassLoader próprio, que saiba decriptografar os seus bytecodes, e colocar ele como uma biblioteca extension da sua VM. Mas isto teria que ser feito em toda e qualquer máquina que executasse o seu software.
Dai, era só compilar os seus .class, executar um outro programinha que criptografe os seus arquivos, e depois é só empacotar a aplicação e fazer ela rodar em cima do seu ClassLoader.
Estude o funcionamento do ClassLoader do Java, e veja como isto é possível.

Uma época eu tava querendo fazer algo assim como TCC, mas achei que ia ser muito chato.

[quote=rockstorm]Você teria que utilizar um Obfuscator. Mas siceramente não vejo necessidade nisso pois quando desenvolvemos um software cedemos todos os fontes para o cliente.

Segue um Obfuscator:

YGuard
http://www.yworks.com/en/products_yguard_about.html[/quote]

Olá valeu pela dica, mas não entendi como funciona para compilar o java. Achei outro ofuscador proguard mas não funcionou :frowning:

Se alguém tiver uma dica mais simples

[quote=clone_zealot]O que vc poderia fazer é criar um ClassLoader próprio, que saiba decriptografar os seus bytecodes, e colocar ele como uma biblioteca extension da sua VM. Mas isto teria que ser feito em toda e qualquer máquina que executasse o seu software.
Dai, era só compilar os seus .class, executar um outro programinha que criptografe os seus arquivos, e depois é só empacotar a aplicação e fazer ela rodar em cima do seu ClassLoader.
Estude o funcionamento do ClassLoader do Java, e veja como isto é possível.

Uma época eu tava querendo fazer algo assim como TCC, mas achei que ia ser muito chato.[/quote]

Valeu pela dica, mas presciso algo mais simples neste momento só para instalar no cliente sem medo heheheheh…