Como faço para “obfuscar” o código dentro de um properties ? Tem como ?
Eu tô querendo colocar o código SQL da minha aplicação tudo dentro do properties.
Mas aí o problema é que qdo. mandar p/ o cliente a aplicação, terei q mandar o arquivo properties junto p/ o sistema poder ler, (a não ser que tenha um modo de não precisar mandar o properties junto c/ o .class, eu não conheço…)
Aí o cara pode abrir o properties e ver todo meu código SQL, alterar e fazer o diabo no sistema.
Tem alguma solução p/ ele não conseguir ver o código SQL q tá no properties ?
Solução [trivial] 1:
- Colocar o atributo do arquivo como READ-ONLY (apenas leitura)
Solução [ruim] 2:
- Colocar SQL hard-coded (dentro da classe)
Solução [boa] 3:
- Encriptar o arquivo com os SQLs
Sei não…mas eu acho que as sentenças SQL serão “texto puro”. Então, mesmo que você “ofusque” os arquivos .class que as conterão, se o cliente o descompilar, vai poder alterar da mesma forma.
Eu escrevi .class porque um motivo simples: são as classes que você ofusca, não os properties!
Você pode fazer uma sacanagenzinha: os arquivos de propriedades serem, na verdade, arquivo compactados. Tá certo que se o cara tiver um pouco de cérebro vai se tocar disso…mas como usuário geralmente não tem muito desse material tão precioso… :twisted:
Se é uma aplicação que acessa um servidor remoto, a forma mais segura é usar stored procedures (se o banco de dados permitir). Dessa forma, você estará se protegendo de sentenças SQL alteradas, já que elas não estarão armazenadas no cliente!
Agora, se é tudo local, o máximo que você pode fazer é: mexeu no programa? Alterou algo que não devia? “So sorry…meu preço por hora é X para arrumar a caca”!
Voce pode gravar as Strings SQL utilizando o proprio java, so q em modo binario, utilize para gravar os arquivos properties o metodo getBytes() da classe String.
Assim vc pode fazer assim prop1.insert=<string_de_insert>.getBytes();
e mandar gravar. Depois he so pegar a <string_de_insert> e decodificar.
Nunca testei… :lol: Mas acho q pode funcionar…
hehehe, gostei disso
Valeu pessoal…