Proteger codigo

Os amigos do forum conhecem alguma maneira eficas de proteger o codigo fonte , pra ser direto preciso proteger uma
Classe que eu passo o usuario e senha do banco de dados…alteraram certos dados de um banco usando esse recurso…

Grato pela ajuda!!

Vc precisa proteger o código fonte ou o acesso à classe através de outras classes?

O codigo fonte!!

[quote=irmao_de_luta]Os amigos do forum conhecem alguma maneira eficas de proteger o codigo fonte , pra ser direto preciso proteger uma
Classe que eu passo o usuario e senha do banco de dados…alteraram certos dados de um banco usando esse recurso…

Grato pela ajuda!![/quote]

Uma forma é não usar usuário e senha. Se estiver usando o Oracle, por exemplo, pode-se usar o “Oracle Wallet”

Talvez esse artigo te ajude (nunca testei mas talvez te dê uma luz):

http://evandropaes.wordpress.com/2008/06/20/protegendo-o-seu-codigo-java-da-engenharia-reversa/

Não se esqueça que usuários e senhas não devem ser guardados em código.
Suponha que você, por algum motivo, tenha usado um método de criptografia que faça com que, em vez de você guardar a combinação “scott/tiger” no seu código, guarde “InNjb3R0IiANCg==” e “InRpZ2VyIiANCg==”.
Com um pouco de paciência, qualquer pessoa com um pouco mais de cabeça consegue rodar seu programa em um debugador e separar a classe Java que você escreveu e que descriptografa essas duas strings e as converte em “scott” / “tiger” - não adianta fazer obfuscação do código porque basta botar um breakpoint naquela rotina que abre uma conexão com o banco de dados e chama um determinado método do JDBC. Nesse ponto as strings devem estar “em claro”.

[quote=entanglement]Não se esqueça que usuários e senhas não devem ser guardados em código.
Suponha que você, por algum motivo, tenha usado um método de criptografia que faça com que, em vez de você guardar a combinação “scott/tiger” no seu código, guarde “InNjb3R0IiANCg==” e “InRpZ2VyIiANCg==”.
Com um pouco de paciência, qualquer pessoa com um pouco mais de cabeça consegue rodar seu programa em um debugador e separar a classe Java que você escreveu e que descriptografa essas duas strings e as converte em “scott” / “tiger” - não adianta fazer obfuscação do código porque basta botar um breakpoint naquela rotina que abre uma conexão com o banco de dados e chama um determinado método do JDBC. Nesse ponto as strings devem estar “em claro”.
[/quote]

Muito interessante esse post. Pode me dizer o nome dessa rotina? :lol:

Então, você pode pôr um breakpoint no código da classe do seu driver JDBC que implementa java.sql.DriverManager.getConnection() - lá, como você deve saber, deve ficar a string de conexão ao banco, e o objeto Properties que normalmente contém usuário e senha.

http://docs.oracle.com/javase/6/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String,%20java.util.Properties)

Ou seja, você não precisa ser um hacker russo ou chinês - basta conseguir debugar o código Java e botar um breakpoint no lugar certo.