Captura através do sistema operacional...  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
marthian_2
JavaBaby
[Avatar]

Membro desde: 24/09/2007 12:44:38
Mensagens: 92
Offline

Pessoal, tou precisando criar uma ferramenta que funcione em modo promíscuo e capture as açoes do mouse e do teclado, tipo um keylogger. Tem como fazer isso em Java? Sugerem outra linguangem?
[MSN]
victor.godinho
Java Ninja
[Avatar]

Membro desde: 22/04/2007 14:33:46
Mensagens: 256
Offline

hahaha, ôôôôôô malandrinho... hahaha


Então velhão, com java isso ai não vai rolar não, pra entender o porque, é que o Java trabalha com o conceito sandbox.

Sugiro C. Mas nada de vírus rapá!


Falows

--
http://victorgodinho.com
[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Você precisa:

- Baixar o Windows DDK para a versão do Windows que você deseja fazer esse programa

- Criar dois device drivers que se amarram aos device drivers de mouse e teclado

- Solicitar à Microsoft que os assine digitalmente (esse passo não é opcional, porque senão o driver não é fácil de instalar. Você deve ter visto alguns drivers de vídeo que não são assinados, e você tem de plantar bananeira para poder instalá-los corretamente no seu micro.)

- Instalá-los adequadamente

Esse tipo de software não é trivial de fazer; normalmente é feito em C e um pouco de assembly.
[WWW]
psevestre
JavaEvangelist

Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline

Da última vez que mexi com isto, não cheguei a precisar usar nada em Assembler. C deu conta do recado sem muito problema, mas talvez hoje a coisa tenha mudado (estou falando de Win311, Win95...).

Procure sobre Hooks na documentação do Windows.

Alternativamente, sugiro uma olhada no utilitário AutoHotKey. Acho que ele dá suporte a algumas coisas do gênero.

http://justaphilpicks.blogspot.com/
[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Se você tiver um anti-spyware instalado (o que é o caso com qualquer Windows Vista que tenha o Windows Defender habilitado, se não me engano), então hooks não funcionam direito, e você tem de usar device drivers. Uma solução antiga que eu tinha escrito para um fabricante de hardware usando apenas hooks passou a não funcionar mais por causa desses anti-spywares que interceptam todos os hooks e passam a "matá-los", e foi abandonada - o fabricante simplesmente não quis ter mais dores de cabeça com isso.
[WWW]
psevestre
JavaEvangelist

Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline

thingol wrote:Se você tiver um anti-spyware instalado (o que é o caso com qualquer Windows Vista que tenha o Windows Defender habilitado, se não me engano), então hooks não funcionam direito, e você tem de usar device drivers. Uma solução antiga que eu tinha escrito para um fabricante de hardware usando apenas hooks passou a não funcionar mais por causa desses anti-spywares que interceptam todos os hooks e passam a "matá-los", e foi abandonada - o fabricante simplesmente não quis ter mais dores de cabeça com isso.


Se isto é vero, então é um bom motivo para migrar do XP para o Vista ;^)

Este troço de hooks sempre foi uma baita gambiarra mesmo !!! Mas fico curioso: uma alteração nesta API deve ter quebrado um _monte_ de aplicações, incluindo boa parte das baseadas no MFC, que instala hooks como parte da inicialização (se bem que acho que eram hooks "locais"). De qualquer forma, a API ainda está na documentação do MSDN, sem nenhum comentário específico do Vista (o que não quer dizer muita coisa...)

Uma googlada rápida mostrou que muita gente teve problemas com o SetWindowsHookEx em vista, mas parece que há solução: ex, aqui.

Um bom artigo sobre o assunto, pré-vista: [url=http://www.codeguru.com/Cpp/W-P/system/misc/article.php/c5667[/url]
[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team