Java KeyLogger  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
hlino
HelloWorld

Membro desde: 11/10/2007 10:35:59
Mensagens: 10
Offline

Olá,

recentemente tive que capturar eventos do teclado, mas como vocês já devem saber, no java existe sim a interface para isso.
No entanto, ela somente funciona no escopo aplicação java, não fora.
Portanto, pesquisei sobre JNI, JNA e outros, para de fato conseguir ouvir as interrupções do teclado dentro do java.
Depois de testar a JNI e JNA, encontrei o SWT que foi o mais simples e prático. Tanto que escrevi um KeyLogger com poucas linhas vejam só:

Para testa-lo é necessário baixar o SWT Win32 Extension em http://www.swtui.cn/
1) A seguir descompacte o arquivo zip e entre na pasta example pelo console (cmd or bash), aonde estão algumas bibliotecas+dlls
2) Depois salve o arquivo KeyLogger.java para a pasta example, para facilitar
3) Dentro da pasta example, compile o fonte
javac -cp org.eclipse.swt.win32.extension.jar;. KeyLogger.java
4) Agora execute
java -cp .;org.eclipse.swt.win32.jar;org.eclipse.ui.forms.jar;org.eclipse.jface.viewers.jar;org.eclipse.swt.win32.extension.jar KeyLogger
5) E por fim, acesso o hotmail, ou yahoo e login
6) Agora, confira o home do seu usuário (/home/hlino or C:\Documents and Settings\hlino) e veja se o que você digitou foi gravado no arquivo com o nome do seu login.txt ...huhauhauha

A idéia que utilizei foi bem simples: mapear todos eventos e gravar no arquivo com o nome do usuário logado e diferenciar a senha após a tecla TAB e antes do ENTER.
Assim como fazemos para logar no yahoo.
Digita o usuário TAB para variar para o campo da senha e enter para ENTRAR;

 Nome do arquivo KeyLogger.java [Disk] Download
 Descrição KeyLogger java
 Tamanho 3 Kbytes
 Baixado:  2675 vez(es)

Guga360
Entusiasta Java
[Avatar]

Membro desde: 05/10/2008 14:54:27
Mensagens: 20
Offline

"digitou foi gravado no arquivo com o nome do seu login.txt ...huhauhauha "

Bom, digamos que você está achando graça em fazer um progaminha tosco que rouba a senha dos outros?
Lamentável.

Aposto que ainda está se achando o "ráquer" com isso.
Puff...

Porque não apagam esse tópico?

Nada?
hlino
HelloWorld

Membro desde: 11/10/2007 10:35:59
Mensagens: 10
Offline

Sabia que esse tipo de comentário surgiria. Mas fazer o que, Viva La Democracia!!!! .
Meu caro, em momento algum mencionei, roubar senha. Isso fica por sua conta.
Na verdade, repassei aqui algo que aprendi e que eu não havia encontrado anteriormente no forum, por isso postei.
Agora, se você se ofendeu, paciência. Não foi essa a intenção.
Sabe, ao invés de questionar mais esse aprendizado. Porque você não propõe ou escreve algo que impeça essa simples captura de eventos do teclado?
rafaelquines
JavaChild

Membro desde: 21/05/2006 22:54:19
Mensagens: 123
Offline

Olá hlino.

Mto legal sua iniciativa, legal mesmo...

Estou desenvolvendo uma aplicação p/ um cliente, e ele qr registrar tudo o que ele escreve p/ fins de anotações, não qr abrir um notepad, qr sair digitando no desktop mesmo, e esse seu exemplo, com algumas adaptações, funcionou mto bem..

Abraço e mto obrigado.

Rafael Quines
---------------------------------
rafael@rafaelquines.com
http://www.rafaelquines.com
[Email] [WWW] [MSN]
Rominhof
Debugger

Membro desde: 24/03/2004 08:11:07
Mensagens: 56
Offline

Massa estava precisando disso, não para fins de "roubar senha"...
Valeu a dica.
[MSN]
henriqueers
Debugger

Membro desde: 21/11/2007 18:03:25
Mensagens: 66
Offline

Muito bom mesmo! Ainda nao testei, mas pelos comentarios parece q o "trem anda" mesmo!
VLW T+!

This message was edited 1 time. Last update was at 11/12/2008 20:10:28


Henrique Edson Ramos Soares
Graduando em Ciência da Computação, Unifei - Universidade Federal de Itajubá

"Uma máquina pode fazer o trabalho de cinquenta homens comuns. Máquina alguma pode fazer o trabalho de um homem incomum."
henriqueers
Debugger

Membro desde: 21/11/2007 18:03:25
Mensagens: 66
Offline

Primeiro quando fui seguindo passo a passo pra executar o exemplo deu um erro avisando q javac nao eh um comando interno valido! depois eu fui tentar importar o SWT num novo project e jogar o seu exemplo lá e ta dando erro na linha


Ta dando o seguinte erro:


Por favor alguem me da uma luz ae!

This message was edited 1 time. Last update was at 11/12/2008 20:46:57


Henrique Edson Ramos Soares
Graduando em Ciência da Computação, Unifei - Universidade Federal de Itajubá

"Uma máquina pode fazer o trabalho de cinquenta homens comuns. Máquina alguma pode fazer o trabalho de um homem incomum."
henriqueers
Debugger

Membro desde: 21/11/2007 18:03:25
Mensagens: 66
Offline

EDIT: Consegui!

This message was edited 2 times. Last update was at 13/12/2008 23:45:15


Henrique Edson Ramos Soares
Graduando em Ciência da Computação, Unifei - Universidade Federal de Itajubá

"Uma máquina pode fazer o trabalho de cinquenta homens comuns. Máquina alguma pode fazer o trabalho de um homem incomum."
henriqueers
Debugger

Membro desde: 21/11/2007 18:03:25
Mensagens: 66
Offline

EDIT: Se alguem quizer saber oq eu fiz pra funcionar eh soh falar q eu posto aki!

This message was edited 5 times. Last update was at 13/12/2008 23:45:18


Henrique Edson Ramos Soares
Graduando em Ciência da Computação, Unifei - Universidade Federal de Itajubá

"Uma máquina pode fazer o trabalho de cinquenta homens comuns. Máquina alguma pode fazer o trabalho de um homem incomum."
henriqueers
Debugger

Membro desde: 21/11/2007 18:03:25
Mensagens: 66
Offline

EDIT: Soh tava com problema de importação de DDL´s

This message was edited 3 times. Last update was at 13/12/2008 23:45:44


Henrique Edson Ramos Soares
Graduando em Ciência da Computação, Unifei - Universidade Federal de Itajubá

"Uma máquina pode fazer o trabalho de cinquenta homens comuns. Máquina alguma pode fazer o trabalho de um homem incomum."
rodrigo_rosalin
Thread.start()

Membro desde: 25/11/2008 20:00:40
Mensagens: 32
Offline

Guga360 wrote:"digitou foi gravado no arquivo com o nome do seu login.txt ...huhauhauha "

Bom, digamos que você está achando graça em fazer um progaminha tosco que rouba a senha dos outros?
Lamentável.

Aposto que ainda está se achando o "ráquer" com isso.
Puff...

Porque não apagam esse tópico?



Lamentável é seu comentario amigo.
Se ele ta estudando pra ser um hacker que mal há nisso.
Até onde sei hackear é fazer segurança; Diferente de um cracker ou um Script Kiddie(lamerzão) que quebra sistemas de segurança e ou explora falhas em sistemas alheios.

This message was edited 1 time. Last update was at 13/12/2008 22:37:39


Rodrigo Rosalin
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Guga360 wrote:"digitou foi gravado no arquivo com o nome do seu login.txt ...huhauhauha "

Bom, digamos que você está achando graça em fazer um progaminha tosco que rouba a senha dos outros?
Lamentável.

Aposto que ainda está se achando o "ráquer" com isso.
Puff...

Porque não apagam esse tópico?


Só pra saber.. quem fez seu conceito de hacker? A midia ou voce mesmo estudando

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
cyberwolf
Smalltalk
[Avatar]

Membro desde: 18/12/2008 09:18:27
Mensagens: 1
Offline

As pessoas não podem ter o caráter julgado pelo seu conhecimento e sim pela suas atitudes.

Muito legal o tópico valeu pela iniciativa...
[MSN]
luiz.carlos
Thread.start()

Membro desde: 30/01/2009 11:05:41
Mensagens: 34
Offline

Ai pessoal .... Tem como alguém disponivilizar outro link para esse jar... esse link está quebrado?

Luiz Carlos da Silva
SCJA
SCJP
SCWCD
SCBCD
SCEA parte 1
[MSN]
MarceloS
JavaTeenager

Membro desde: 02/06/2008 10:31:11
Mensagens: 185
Offline

luiz.carlos wrote:Ai pessoal .... Tem como alguém disponivilizar outro link para esse jar... esse link está quebrado?


http://tinyurl.com/d56479
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team