estou desenvolvendo uma aplicação java web porem após um determinado tempo não vou usa-la mais e gostaria de saber se tem como eu digitar algo em alguma input text por exemplo e excluir esta aplicação?
tá zuando né…
bom na verdade eu não soube me expressar bem, é claro que uma aplicação não pode excluir a sí própria…, mas já pensei num mecanismo que faz algo semelhante…
vlw desculpem pela viajem…
coloca data de vlaidade para 2012
é uma saída meu amigo…
vlws…
O bom que vai acabar com o mundo né…2012
acho que não precisa colocar não. hehe
[quote=Algebra]bom na verdade eu não soube me expressar bem, é claro que uma aplicação não pode excluir a sí própria…, mas já pensei num mecanismo que faz algo semelhante…
vlw desculpem pela viajem…[/quote]
Para quê vc quer isso ?
Normalmente o que se faz é ter uma licença que expira. Se alagar alguma coisa será a licença, não o programa.
na verdade gostaria de saber se é possível uma aplicação se auto destruir, para fins puramente de curiosidade mesmo.
Obviamente que sim. É para isso que serve o desistalador. A aplicação de auto-destruir significa correr o desinstalador de dentro dela.
Em outro ambientes ha outras opções. Mas é algo estranho e não deve ser feito.
MyApllication.selfDestruction(dtDestruction);
Nunca viram no 24h a Chloe O’Brian tentando quebrar a senha de um laptop que eles recuperaram dos terroristas?
Só que lá a auto destruição, digitou a senha errado e o note explode, KKKKK!!!
Voce pode criar um arquivo bat ou de shell script que deleta a aplicação, fazer um Schedulle com o Quartz por exemplo para executar isso em algum momento enquanto a aplicação não está sendo usada.
Ou então apenas fazer o arquivo bat esperar algum tempo antes de realizar isso e System.exit(0) na aplicação.
Obviamente que sim. É para isso que serve o desistalador. A aplicação de auto-destruir significa correr o desinstalador de dentro dela.
Em outro ambientes ha outras opções. Mas é algo estranho e não deve ser feito. [/quote]
Mas por que raios não deve ser feito? Acho que de certa forma poderia servir de seguro contra caloteiros ou para proteger propriedade intelectual.
Algumas placas de arcade da Capcom têm um complicado sistema de segurança que usa chaves de criptografia e qualquer tentativa detectada pelo sistema de abrir a placa para realizar qualquer processo de engenharia reversa ou sei lá o quê ativa um sistema de auto-destruição que apaga as chaves de criptografia e a placa se torna inútil, fora que se a bateria interna da placa que alimenta esse sistema se esgota as chaves vão para o saco também.
Inté.
É só encher o arquivo de lixo. Lembrando que não pode ser um arquivo compartilhado pelo sistema.
http://server:8080/app/destruir.do (basta adicionar um codigo que apague tudo na servlet e reinicie o container ao final)
Obviamente que sim. É para isso que serve o desistalador. A aplicação de auto-destruir significa correr o desinstalador de dentro dela.
Em outro ambientes ha outras opções. Mas é algo estranho e não deve ser feito. [/quote]
Mas por que raios não deve ser feito? Acho que de certa forma poderia servir de seguro contra caloteiros ou para proteger propriedade intelectual.
Algumas placas de arcade da Capcom têm um complicado sistema de segurança que usa chaves de criptografia e qualquer tentativa detectada pelo sistema de abrir a placa para realizar qualquer processo de engenharia reversa ou sei lá o quê ativa um sistema de auto-destruição que apaga as chaves de criptografia e a placa se torna inútil, fora que se a bateria interna da placa que alimenta esse sistema se esgota as chaves vão para o saco também…[/quote]
Repare que não é a placa que é destruída, é a licença (as chaves criptográficas). Esse é o mecanismo que eu falei antes que é preferivel.
A razão de pq não fazer isso é legal. Vc vende uma licença de uso e define o que o licenciado pode e não pode fazer. Se ele faz algo errado vc processa ele. Vc pode impedir que o usuário use o produto eliminando a licença. É a licença que o cara comprou e vc esta removendo o direito dele baseado no contrato que deve estipular que se o licenciado fizer algo errado sua licença expirará automaticamente. Repare que o licenciado pode não ter culpa do acontecido e querer recuperar a licença, mesmo pagando outra. Mas se vc apagou o software é a mesma coisa que o cara nunca o ter usado, logo ele vai partir para o seu concorrente já que ninguém gosta de ter coisas que desaparecem.
Vc compraria um software que desaparece ? A empresa que faz o software deve explicitar que isso é uma feature e em que condições acontecerá. Se ela esconder isso,será ela a processada. Se ela apresenta essa feature ninguem irá querer comprar.
O controle de pirataria ou de quebra de contrato é baseado na licença. É ela que tem que ser removida, não o software. Porque existe sempre a possibilidade de ter sido um erro, um bug, ou simplesmente o licenciado quer comprar outra licença e continuar usando.
[quote=sergiotaborda]
Repare que não é a placa que é destruída, é a licença (as chaves criptográficas). Esse é o mecanismo que eu falei antes que é preferivel.
A razão de pq não fazer isso é legal. Vc vende uma licença de uso e define o que o licenciado pode e não pode fazer. Se ele faz algo errado vc processa ele. Vc pode impedir que o usuário use o produto eliminando a licença. É a licença que o cara comprou e vc esta removendo o direito dele baseado no contrato que deve estipular que se o licenciado fizer algo errado sua licença expirará automaticamente. Repare que o licenciado pode não ter culpa do acontecido e querer recuperar a licença, mesmo pagando outra. Mas se vc apagou o software é a mesma coisa que o cara nunca o ter usado, logo ele vai partir para o seu concorrente já que ninguém gosta de ter coisas que desaparecem.
Vc compraria um software que desaparece ? A empresa que faz o software deve explicitar que isso é uma feature e em que condições acontecerá. Se ela esconder isso,será ela a processada. Se ela apresenta essa feature ninguem irá querer comprar.
O controle de pirataria ou de quebra de contrato é baseado na licença. É ela que tem que ser removida, não o software. Porque existe sempre a possibilidade de ter sido um erro, um bug, ou simplesmente o licenciado quer comprar outra licença e continuar usando.[/quote]
Não vejo muita coisa de errado com softwares que desaparecem ou que têm prazo de validade e somem do micro sem deixar vestígios, desde que eu soubesse que esse é o comportamento deles ou quais as regras que eu preciso seguir como usuário final.
Então haveria sempre algo de errado com os mecanismos “brickadores” dos eletrônicos em geral? Taí a Apple brickando iPhones modificados, a Microsoft banindo aos montes o pessoal da Live, a Nintendo brickando os Wii, a Sony tentando impedir a instalação de firmwares modificados no PSP.
Inté.
Use o comando
System.autoDestruction(20);
Onde 20 é um contador regressivo, em segundos.
Só cuidado para não confundir com o:
System.destroyMankind(20);
Brincadeiras a parte, é possível usar o Runtime.exec para rodar um desinstalador, ou uma aplicação java que faça a destruição de quem o chamou. Entretanto, é melhor seguir o conselho do Sergio, pois não faz muito sentido mesmo se auto-destruir. Pelo menos, não na maior parte dos casos.
Só vai faltar depois de destruir o aplicativo explodir o computador como nos filmes
, é claro que deves fazer isso com shell script(linux ) ou batch (windows) para apagar os ficheiros e deletar a base de dados, caso haja
Tem alguns processadores com suporte a uma instrução de auto-destruição:
http://en.wikipedia.org/wiki/Halt_and_Catch_Fire
Só disponíveis para a NSA, claro.
Inté.