Bom dia Pessoal,
estava pesquisando sobre como proteger meu codigo fonte, vi muitas coisas, ofuscadores, criptografia, contratos e purai vai…acho que é uma pergunta basica:
Se eu tranformar meu .jar em um executavel alguem ainda consegue pegar meu codigo fonte?
Alguem conhece o excelsior jet? ele vale a pena? ou jsmooth?
Se for em código nativo é bem mais difícil que em .class. O código nativo gerado pelo ExcelsiorJet é um bocadinho difícil de ser reconvertido para sua forma original .class; acho que só russos ou chineses bem motivados é que conseguem fazer esse serviço difícil e trabalhoso.
Tecnicamente o código-fonte (programa Java + comentários) não pode ser recuperado a partir de um arquivo .class, mas para o que interessa (algoritmos etc.) é plenamente possível recuperar o tal fonte, se você aceitar que os comentários sejam perdidos e algumas variáveis locais fiquem sem nome definido corretamente. Um exemplo:
Programa original
import java.util.*;
public class ListPropertiesMS {
public static void main(String[] args) {
Properties prop = System.getProperties();
for (Enumeration en = prop.propertyNames(); en.hasMoreElements(); ) {
String name = (String)en.nextElement();
System .out .println (name + "=" + prop.getProperty (name));
}
}
}
Programa descompilado com o Jode:
import java.util.Enumeration;
import java.util.Properties;
public class ListPropertiesMS
{
public static void main(String[] args) {
Properties prop = System.getProperties();
Enumeration en = prop.propertyNames();
while (en.hasMoreElements()) {
String name = (String) en.nextElement();
System.out.println(name + "=" + prop.getProperty(name));
}
}
}
Embora o programa não seja igualzinho, pode perfeitamente ser modificado e recompilado. É por isso que muita gente não usa Java porque seu programa pode ser “descompilado”.
Mas ele perguntou se iriam acessar o código fonte dele !? Coisa que não vai acontecer pq so vai ser gerado o code que a jvm vai gerar , portanto não vai ser legivel !!!
Agora ser fizerem a engenharia reversa é outra coisa que vai dar mais um pouquinho de trabalho …