quarta-feira, 25 de março de 2009

Código java compilado?

Sempre pensei na facilidade de decompilação de um arquivo jar criado em java, buscando uma solução pra isso acabei encontrado o gcj que compila um código java criando um executável sem chance de ser decompilado (ou pelo menos muuuuuuito mais difícil do que o jar), veja um exemplo:

HelloWorld.java:

public class HelloWorld {
public static void main(String [] args) {
System.out.println("Teste com java compilado para codigo nativo$
}
}


Basta compilar assim (claro que o gcj tem que estar previamente instalado):
gcj --main=HelloWorld -o HelloWorld HelloWorld.java


Com isso será criado o arquivo HelloWorld com permissão de execução (no caso do Linux) e para executá-lo:
./HelloWorld

Seria interessante poder utilizar diretamente no NetBeans, pois geralmente um projeto em java não se limita a uma única classe e penso eu que se estiver dentro do NetBeans ele mesmo vai criar as condições necessárias para utilizar o gcj sem muito esforço, então encontrei a página http://wiki.netbeans.org/FaqGcj mas ainda não deu tempo de testar pra ver se realmente funciona.

T+

Um comentário:

Unknown disse...

Pena que utilizando compiladores como o GCJ (em modo nativo) você acaba perdendo a portabilizade.