| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2008 17:52:41
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Aproveitando que este tópico foi desenterrado das cinzas, queria levantar umas idéias aqui. Estava discutindo com o peleteiro sobre modelos de ofuscação como os do Mingle para linguagens interpretadas/facilmente descompilaveis (Ruby, Java, C#, Lisp, Python...) e na conversa surgiu a idéia de termos algo como uma imagem de VMWare ou outro esquema de virtualização que dificultasse o acess ao fonte. Pode ser que a VM não tenha modo interativo, shell e coisas do tipo, por exemplo. Assim quem quiser manter código fechado teria um cadim mais de confiança e você ainda poderia disponibilizar seu produto via download.
Não tenho idéia de como isso seria feito num SO mas acho que pode dar certo, o que vocês acham?
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2008 12:47:22
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Deixa ver se eu entendi. A idéia é basicamente ter um binário em C que embute uma máquina virtual que simplesmente disponibiliza um par ip:porta para os usuários finais.
É uma solução interessante, porem:
-Tua aplicação vai passar a usar uns 100 megas de ram a mais a troco de quase nada.
-O binário ficaria zilhões de vezes maior para download via internet - em vez de 1 WAR, vai ser 1 SO inteiro + máquina virtual.
-Troubleshooting vai ser muito mais complicado já que a aplicação vai ser muito menos acessível.
-Espaço em disco não vai ser uma coisa simples de resolver. Mesmo usando LVM você teria que disponibilizar alguma ferramenta administrativa para adicionar novos discos a imagem.
-Existem drivers linux que montam imagens de VMWare ou Xen.
-Recovery não é simples já que é uma caixa preta.
Porém tem a vantagem de ser um sistema completamente isolado. Então toneladas de problemas devido ao ambiente do usuário e ambiente não existiriam.
Sinceramente acho que uma solução de AOT é o melhor. Distribuir binários com código x86 que são infinitamente mais difícil de descompilar. A performance, principalmente para Java, seria pior, mas resolveria o problema de uma vez por todas.
Isso é um recurso que a comunidade Java deseja desesperadamente a quase uma década. Minha sugestão é contruir uma prova de conceito com o OpenJDK e depois pressionar pela padronização através de uma jsr.
|
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2008 13:36:21
|
rafagil
JavaGuru
![[Avatar]](/images/avatar/2fdddc426480d46ce18affae5e455c82.jpg)
Membro desde: 01/12/2006 01:05:30
Mensagens: 204
Localização: São Bernardo do Campo - SP
Offline
|
Também sou a favor de uma Solução de AOT. Mesmo porque, "burlar" uma maquina virtual não seria uma tarefa muito difícil.
|
Sun Certified Java Programmer 5.0
Soluções inteligentes em TI: http://www.elgitech.com.br |
|
|
 |
|
|