This project is a keylogger application (spyware) that logs keystrokes from a client machine and sends them to a server for storage and retrieval. It includes a Flask-based server for log storage and retrieval, a client-side keylogger, and utility functions for managing client identifiers and communication.
‼️ ‼️ ☠️‼️ ‼️ This project is intended for educational and ethical use only. It must not be used for unauthorized or malicious activities. The developers are not responsible for any misuse of this software. Ensure compliance with legal and ethical standards before deployment.
The Flask server provides endpoints to log and retrieve data.
GET /
- Serves an HTML page displaying the stored logs.POST /log
- Receives log data from clients and stores it.
Flask
json
os
sys
Pathlib
Run the server using:
python app.py
The server listens on 0.0.0.0:8080
.
Handles reading and writing log data.
read_logs(url='storage/logs.json')
: Reads log data from a JSON file.write_logs(new_data, url='storage/logs.json')
: Writes new log data.get_html_template()
: Generates an HTML interface to display logs.
A client-side script that captures keyboard input and sends it to the server.
- Uses
pynput.keyboard
to listen for key presses. - Simulates an installation process as a distraction.
- Sends logged keystrokes to the server.
Run the client with:
python app_client.py
Helper functions for generating client IDs and sending data.
create_id()
: Generates a unique client identifier.send_to_server()
: Sends captured logs to the server.print_log(key)
: Formats and logs keystrokes.
- Python 3.x
- Required libraries:
pip install flask pynput requests
- Start the Flask server:
python app.py
- Run the keylogger on the client machine:
python app_client.py
This project logs keystrokes and transmits them to a remote server. Ensure compliance with legal and ethical standards before deployment.