Skip to content

A simple educational Java keylogger that securely logs keystrokes with AES encryption and provides a CLI tool for decryption. For security research and learning purposes only.

License

Notifications You must be signed in to change notification settings

GiorgosG1an/keylogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keylogger

Overview

This project is an educational keylogger application designed for security research and learning purposes. It demonstrates techniques for capturing and securely logging keyboard input on a system, with a focus on encryption and responsible usage.

Disclaimer: This tool is intended strictly for educational and authorized use only. Unauthorized use of keyloggers is illegal and unethical.

Features

  • Captures keystrokes globally in real-time
  • Logs data to an encrypted file using AES encryption
  • User-defined encryption password
  • Lightweight and efficient Java implementation
  • Includes a CLI tool for secure log decryption

Installation

  1. Clone the repository:
    git clone https://github.com/giorgosg1an/keylogger.git
  2. Navigate to the project directory:
    cd keylogger
  3. Install dependencies:
    • Ensure you have Java 11+ installed.
    • Download dependencies using your preferred build tool (e.g., Maven or Gradle), or manually add JNativeHook to your classpath.

Usage

Running the Keylogger

  1. Build the project (if using Maven):
    mvn clean package
  2. Run the keylogger:
    java -cp target/keylogger-1.0.jar;path/to/jnativehook.jar com.github.giorgosg1an.Main
    • You will be prompted to enter an encryption password.
    • Keystrokes will be logged to logs/keystrokes.enc in encrypted form.
    • Press ESC to exit the keylogger safely.

Decrypting the Logs

  1. Run the decryptor CLI:
    java -cp target/keylogger-1.0.jar;path/to/jnativehook.jar com.github.giorgosg1an.DecryptorCLI
    • Enter the same password used during logging.
    • Decrypted keystrokes will be printed to the console.

Project Structure

keylogger/
├── src/
│   └── main/
│       └── java/
│           └── com/github/giorgosg1an/
│               ├── Main.java
│               ├── KeyLogger.java
│               ├── EncryptedLogger.java
│               ├── DecryptorCLI.java
│               └── TimestampUtil.java
├── logs/
│   └── keystrokes.enc
├── README.md
└── ...

Security & Ethical Notice

  • Use this software only on systems you own or have explicit permission to monitor.
  • The authors are not responsible for any misuse or illegal activity.
  • All logged data is encrypted; the password is never stored.

License

This project is licensed under the MIT License.

Acknowledgments

  • JNativeHook for global keyboard event capture.
  • Java Cryptography Architecture for secure encryption.

**For educational and ethical hacking

About

A simple educational Java keylogger that securely logs keystrokes with AES encryption and provides a CLI tool for decryption. For security research and learning purposes only.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages