A Windows keylogger implementation written in Rust for educational and security research purposes.
This project is intended for educational purposes only and should only be used on systems you own or have explicit permission to monitor. Unauthorized keylogging is illegal and unethical.
This keylogger demonstrates low-level Windows API integration with Rust, focusing on:
- System-level programming: Direct Windows API calls using Rust
- Security research: Understanding keystroke capture mechanisms
- Evasion techniques: Modern approaches to avoid detection
- Data protection: Encryption and secure storage methods
- Basic project structure
- Core keylogger functionality
-
Keystroke Hooking Module
- Low-level keyboard hook via WinAPI
- System-wide keystroke capture
- Special key handling (SHIFT, CTRL, ENTER, etc.)
- when user clicks with mouse, capture the application in focus and coordinates of the click (with resolution scaling support)
- Timestamp logging
-
Context Awareness Module
- Active application identification
- Window title capture
- Credential form detection
- PII and financial data form detection
-
Secure Storage Module
- Background process persistence
- Log encryption (AES-GCM/ChaCha20-Poly1305)
- String obfuscation
- Dynamic API loading
-
Data Exfiltration Module
- Scheduled log transmission
- Remote server communication
- Local log cleanup
-
Masquerading Module
- Legitimate application wrapper
- Multi-threaded operation
winapi- Windows API bindingschrono- Timestamp managementaes-gcmorchacha20poly1305- Encryptionreqwest- HTTP requests (future)
Use responsibly and in accordance with local laws and regulations.