Exposição de bytecodes...  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

Ola pessoal! td bem?

Galera, como se faz para esconder a implementação de uma aplicação Java? o arquivo .jar pode ser descompactado e depois descompilado para se obter os fontes da aplicação. Há como esconder essa informação ou toda aplicação Java é implicitamente "open-source"???

Um abraço

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
ZehOliveira
GUJ Ranger

Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline

Pode tentar usar algum obfuscator. Mas eu acho que se sua aplicação usar reflection (se usar Hibernate, por exemplo), não vai funcionar.
cecaldas
Java Ninja

Membro desde: 01/03/2004 13:17:19
Mensagens: 264
Offline

Dau uma olhada nesse tóipico:

http://www.guj.com.br/posts/list/12706.java

E ao oráculo:

http://www.google.com.br/search?hl=pt-BR&client=firefox-a&rls=org.mozilla:pt-BR:official&q=obfuscator+%2B+java&spell=1
gulira
JavaTeenager
[Avatar]

Membro desde: 03/05/2004 10:25:34
Mensagens: 179
Localização: Floresta/Pr
Offline

Infelizmente é possivel descompilar um .class mas vc pode utilizar um ofuscador para mudar as legibilidade do codigo. Aqui vai alguns descompiladores e Ofuscadores:

Descompilador:
Jode Decompiler (jode.sourceforge.net/)
JReversePro Decompiler (jrevpro.sourceforge.net/)

Ofuscadores:
ProGuard Java obfusation (proguard.sourceforge.net/)
RetroGuard Java Obfuscation (www.retrologic.com/retroguard-main.html)

Rodrigo Guedes de Souza @gulira
Dev. Java

SCJP 1.4
SCWCD 5
IBM Certified Solution Developer - WebSphere Portal 5.1

Linux Counter ID:312396
"Quanto mais aumenta nosso conhecimento, mais evidente fica nossa ignorância."(John Kennedy)
[Email] [WWW] [MSN] [ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

"Infelizmente"? Isso eh mesmo um problema tao grave?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
ZehOliveira
GUJ Ranger

Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline

Sim. Dá pra todo mundo ver a caca que é o código-fonte, portanto, o quanto programadores ruins somos.

This message was edited 1 time. Last update was at 22/05/2005 11:52:56

Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

gulira wrote:Infelizmente é possivel descompilar um .class mas vc pode utilizar um ofuscador para mudar as legibilidade do codigo.


Nunca vi ninguém que trabalha desenvolvendo softwares comerciais se preocupando em usar esse tipo de coisa, além do que, mexer no código (alterando nomes de propriedades, classes e métodos) pode deixar o código inútil pra bibliotecas que se baseiam em reflexão, como o Hibernate.

Pra mim isso é uma bela duma furada.

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Não existe código que sobreviva a uma decompilação e pareça bonitinho.

Se tua preocupação é essa, a solução é facil, escreva programas melhores

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
gulira
JavaTeenager
[Avatar]

Membro desde: 03/05/2004 10:25:34
Mensagens: 179
Localização: Floresta/Pr
Offline

Maurício Linhares wrote:
gulira wrote:Infelizmente é possivel descompilar um .class mas vc pode utilizar um ofuscador para mudar as legibilidade do codigo.


Nunca vi ninguém que trabalha desenvolvendo softwares comerciais se preocupando em usar esse tipo de coisa, além do que, mexer no código (alterando nomes de propriedades, classes e métodos) pode deixar o código inútil pra bibliotecas que se baseiam em reflexão, como o Hibernate.

Pra mim isso é uma bela duma furada.


Dependendo do tipo de sistema não concordo...... Tá, quando se utiliza reflexão até posso concordar, más quando não se utiliza é sempre bem vindo um ofuscador. Tanto é que que o sistema para declaração de Imposto de renda da RECEITA FEDERAL - BRASIL ou as applets do site do BANCO DO BRASIL utiliza-se de ofuscador em uma grande parte do seu código. E outra, se fosse furada te guaranto q a SUN não iria dar suporte a ofuscador de codigo no se seu Toolkit Wireless para j2me.

This message was edited 3 times. Last update was at 22/05/2005 14:16:42


Rodrigo Guedes de Souza @gulira
Dev. Java

SCJP 1.4
SCWCD 5
IBM Certified Solution Developer - WebSphere Portal 5.1

Linux Counter ID:312396
"Quanto mais aumenta nosso conhecimento, mais evidente fica nossa ignorância."(John Kennedy)
[Email] [WWW] [MSN] [ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

gulira wrote:Tanto é que que o sistema para declaração de Imposto de renda da RECEITA FEDERAL - BRASIL ou as applets do site do BANCO DO BRASIL utiliza-se de ofuscador em uma grande parte do seu código.


Eu me pergunto pq os sistemas feitos pela receita federal, com dinheiro que saiu dos seus bolsos (e costumava sair dos meus, tambem), nao tem o codigo aberto. Ja parou pra pensar que um ofuscador eh justamente o contrario do que voce quer do codigo vindo de uma instituicao governamental?

gulira wrote:E outra, se fosse furada te guaranto q a SUN não iria dar suporte a ofuscador de codigo no se seu Toolkit Wireless para j2me.


Uma outra razao importante (e que, nesse caso, tem muito mais influencia) para se usar ofuscadores eh que eles conseguem, em muitos casos, reduzir o tamanho do codigo compilado - coisa que, quando se tem alguns miseros kbytes de memoria pra brincar, eh extremamente relevante.
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

gulira wrote: E outra, se fosse furada te guaranto q a SUN não iria dar suporte a ofuscador de codigo no se seu Toolkit Wireless para j2me.


O ofuscador do J2ME não tem por objetivo "esconder" código não, ele está lá pra retirar código inútil, como métodos, propriedades e classes inúteis.

cv wrote: Eu me pergunto pq os sistemas feitos pela receita federal, com dinheiro que saiu dos seus bolsos (e costumava sair dos meus, tambem), nao tem o codigo aberto. Ja parou pra pensar que um ofuscador eh justamente o contrario do que voce quer do codigo vindo de uma instituicao governamental?


Isso realmente deveria ser mudado, mas o da receita federal não é feito por uma empresa privada não? Que botou até o framework que eles criaram como Open Source?

Quem sabe isso não termina acontecendo mesmo, o governo tá dando muito apoio a esse tipo de inciativa. Pelo menos nesse governo (na nossa área) agente não tem tanto o que reclamar né, tão dando uma força grande pra informática.

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
rogeriop80
JavaEvangelist
[Avatar]

Membro desde: 20/04/2004 17:10:50
Mensagens: 313
Localização: Caçapava/SJC - SP
Offline

cv wrote:
Eu me pergunto pq os sistemas feitos pela receita federal, com dinheiro que saiu dos seus bolsos (e costumava sair dos meus, tambem), nao tem o codigo aberto. Ja parou pra pensar que um ofuscador eh justamente o contrario do que voce quer do codigo vindo de uma instituicao governamental?


CV,

Espero ter entendido sua colocação, mas este exemplo da receita federal foi infeliz. vc imaginou se o codigo desses caras fossem abertos ?! A quantidade de fraude que poderia rolar (mais do que já rola).

Abraços.

This message was edited 1 time. Last update was at 22/05/2005 17:41:24


Rogério Peres Gomes
E TENHO DITO !
[WWW] [MSN]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

rogeriop80 wrote:Espero ter entendido sua colocação, mas este exemplo da receita federal foi infeliz. vc imaginou se o codigo desses caras fossem abertos ?! A quantidade de fraude que poderia rolar (mais do que já rola).


E a seguranca por obscuridade vai mesmo nos proteger de fraudes, do mesmo jeito que protegeu a criptografia dos DVDs, do mesmo jeito que protegeu a Lexmark de cartuchos de impressao feitos por terceiros, do mesmo jeito que protegeu as falhas de seguranca do Windows, Internet Explorer, PDF, e tantas outras coisas...

O ponto aqui nao eh nem esse. O ponto eh que o dinheiro pra fazer esse software saiu, dentre tantos outros, DO SEU BOLSO, e se vc quiser saber se o servico foi bem feito, vc tem todo o direito de poder faze-lo, nao? Se voce quiser descobrir se existe uma possibilidade de fraude, qual maneira melhor do que olhar o codigo do bicho, e avisar os desenvolvedores, ou consertar vc mesmo, caso vc tenha o tempo/paciencia/vontade? Pq, pode ter certeza, pra quem ta interessado em fraude, um ofuscador nao faz a menor diferenca.
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

Galera, descobrio o exe4j ( http://www.ej-technologies.com/download/exe4j ). Excelente!!! Ele gera o .exe a partir dos .class ou dos .jar.
Dêem uma olhada e depois me contem o q acharam.

Um abraço

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

só tem um pequeno problema: continua dependendo dos .class....

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team