Olá, tô com uma duvida aq sobre segurança do meu fonte,
gostaria de saber se existe alguma forma de recuperar
o codigo fonte apartir dos arquivos .class? se existir como posso me
protejer disso?
a) Sim - descompilação
b) Você pode dificultar um pouco isso, com “obfuscators”; mas não há proteção total.
Mal comparando, é igual a pôr um muro de 20 cm em uma casa que não tinha muros. Só serve para atrapalhar um pouco, mas não protege quase nada.
c) Se você quer proteção um pouco melhor, use uma outra linguagem (não, .NET tem o mesmo problema, e obviamente linguagens de script não têm proteção nenhuma), e use um dispositivo de hardware (“dongle”). Isso equivale a pôr um muro mais alto (digamos de 2 metros), mas também não é 100% eficiente.
Ola a todos…
thingol:
Faz um tempinho que estou pra perguntar… considerando uma aplicação desktop do tipo client/server… isso significa que a string de conexão do aplicativo com o BD é facilmente visualizada ?
Como isso é resolvido na pratica ?
[]s
a) Sim
b) Evitando usar aplicação do tipo client/server
Brincadeira; é melhor, no seu caso, conservar esse usuário e senha criptografados com a senha que você usa para você entrar no seu sistema.
Se por acaso você errar a senha na entrada do sistema, você não conseguirá decifrar o usuário e senha para o banco, e não conseguirá entrar de jeito nenhum.
Vixi… acho que to enferrujado…
Não entendi quem faria essa criptografia… seria uma classe do Java ?
Se sim, o que impediria de descompilar essa classe que criptografa e descriptografar ?
Ou você sugere utilizar o que para fazer essa criptografia ?
Hehehe… essa minha mensagem também parece que foi criptografada de tão confusa que está ! Mas você entendeu né ?
[]s
É o seguinte: você pode usar algum dos algoritmos-padrão de criptografia do Java (procure por JCE e “Password-Based Encryption”).
Se o usuário e senha do banco estiverem salvos em um arquivo, mas com uma chave que só pode ser decifrada se você souber o usuário e senha de seu sistema, então não importa se o algoritmo é público. Você só consegue com a senha correta de seu sistema.
Sei que estou abusando… me desculpe, mas vou escrever um passo a passo e você ve se eu entendi:
1-Crio um arquivo utilizando um algoritmo padrão de criptografia e dentro desse arquivo gravo o usuário e senha do banco de dados
2-No momento do login o usuario vai colocar a senha que “abre” esse arquivo e o sistema então descobre qual o usuario e senha do banco
É isso ?
Mas olha só: isso não quer dizer que eu vou ter uma única combinação de usuario+senha que abre esse arquivo criptografado ?
O que vai implicar em ter um único login de acesso ao meu sistema ?
Como faço para ter um sistema multi-usuário com login individual ?
Já passou por essa situação ? Se sim como resolveu ?
Valeu !
[]s