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ó:
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;
"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?
H
hlino1 like
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?
R
rafaelquines
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.
R
Rominhof
Massa estava precisando disso, não para fins de “roubar senha”…
Valeu a dica.
H
henriqueers
Muito bom mesmo! Ainda nao testei, mas pelos comentarios parece q o “trem anda” mesmo! :lol:
VLW T+!
H
henriqueers
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
Hook.KEYBOARD.install();
Ta dando o seguinte erro:
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/eclipse/swt/internal/win32/OS
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at org.sf.feeling.swt.win32.internal.extension.EventObject.<init>(EventObject.java:34)
at org.sf.feeling.swt.win32.extension.hook.Hook$HookEventLoop.run(Hook.java:328)
at java.lang.Thread.run(Unknown Source)
Por favor alguem me da uma luz ae!
H
henriqueers
EDIT: Consegui! :lol:
H
henriqueers
EDIT: Se alguem quizer saber oq eu fiz pra funcionar eh soh falar q eu posto aki! :lol:
H
henriqueers
EDIT: Soh tava com problema de importação de DDL´s :lol:
R
rodrigo_rosalin
Guga360:
"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.
M
Marky.Vasconcelos
Guga360:
"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
C
cyberwolf1 like
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…
L
luiz.carlos
Ai pessoal … Tem como alguém disponivilizar outro link para esse jar… esse link está quebrado?
M
Marcelo_FS
M
Marky.Vasconcelos
hAUhUA…
é a terceira vez que eu vejo esse tópico renascendo… tem bastante gente procurando KeyLogger por ai.
xD
D
deli
eu penso que o conhecimento nao tem limite, para fazer o bem ou o mal apenes os melhores se destacam
R
raimundo_de_sousa
hlino:
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ó:
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;
K
ken420
Muito bom o topico, acho que cada um usa da forma que achar ideal se vc axa ideal sair robando senha por ae, vai da pessoa, mas aposto que muita pessoa pego esse codigo para estudar e sim conhecer mais sobre java, vlw otimo topico irei pegar e estudar! abracao!
M
Marky.Vasconcelos
As Dlls são do projeto GTK do Eclipse… ele explicou lá…
E daonde que começou a ideia de usarem pro mal aqui?
Se for um mal entendido do que eu disse a minha intenção era apenas dizer que tem bastante gente digitando KeyLogger na busca do fórum.
Conhecimento é sim para ser compartilhado… mas como isso é um assunto muito longo, não tenho tempo para dar opnião.
L
luiz.carlos
Cara faz um favor para mim posta problema ai tive esse mesmo problema…
E
Eucassio
Alguém sabe se esse código realmente funciona no linux? pq estou querendo q minha aplicação saia do System tray com o pressionamento de algumas teclas
de atalho e achei essa uma boa opção, mas como importo as dll’s para meu projeto? e será q funcionaria no linux?
vlw
I
igson_mendes_da_silv
As dll que vc esta utlizando vc mesmo desenvolveu ou vc só fez pegar do S.O ?