Mbetull/Keylogger

GitHub: Mbetull/Keylogger

这是一个Python编写的教育用键盘记录器,用于记录键盘输入并可选通过Telegram发送警报。

Stars: 0 | Forks: 0

# 键盘记录器 一个用Python编写的小型键盘记录器,可以捕获记录键盘输入,并可选通过Telegram发送通知。日志文件保存在带时间戳的`logs/`目录下,还能将检测到的快捷键事件发送至Telegram机器人。 ## 功能 - 使用`pynput`捕获键盘输入 - 检测桌面快捷键,例如: - `Ctrl+C`, `Ctrl+V`, `Ctrl+X`, `Ctrl+A`, `Ctrl+S`, `Ctrl+T`, `Ctrl+W`, `Ctrl+U` - `Ctrl+Shift+R`, `Ctrl+Shift+T`, `Ctrl+Shift+N`, `Ctrl+Shift+I`, `Ctrl+Shift+P`, `Ctrl+Shift+S` - `Alt+Tab`, `Alt+F4`, `Ctrl+Shift+Esc`, `Ctrl+Alt+Del`, `Win+R`, `Win+D`, `Win+E`, `Win+L` - 在输出中明确记录`Enter`和`Backspace`按键事件 - 将捕获的按键保存至`logs/`目录下的日志文件 - 将快捷键通知发送至Telegram机器人 - 启动时提示选择输出目标 - 支持命令行标志以跳过提示选择 - 使用`.env`文件存储Telegram凭证,也可在运行时询问 - 通过`Pause`、`ScrollLock`或`Ctrl+Alt+Shift+Q`退出程序 ## 前置条件 - Python 3.8+ - `pynput` 包 - 可选:若需`.env`支持Telegram凭证,请安装`python-dotenv` ## 设置 1. 克隆仓库: ``` git clone https://github.com/Mbetull/Keylogger.git cd Keylogger ``` 2. 创建并激活虚拟环境: ``` python -m venv .venv .\.venv\Scripts\Activate.ps1 ``` 3. 安装依赖: ``` pip install pynput pip install python-dotenv ``` 4. 若需本地存储默认Telegram token/聊天ID,请将`.env.example`复制为`.env`: ``` copy .env.example .env ``` 然后编辑`.env`文件填入您的机器人凭证。 ## 配置 应用优先从环境变量读取Telegram凭证,若已安装`python-dotenv`即可使用`.env`文件。 在`.env`中配置以下值: ``` TELEGRAM_BOT_TOKEN=your_bot_token_here TELEGRAM_CHAT_ID=your_chat_id_here ``` 若凭证缺失或无效且选择了Telegram日志功能,应用将在运行时要求输入。 ## 运行 在项目根目录执行: ``` python .\app.py ``` 若不带参数运行,应用将提示: ``` Save captured keys to [t]elegram, [f]ile, or [b]oth? ``` 选择: - `t` → 仅将日志发送至Telegram - `f` → 仅将日志保存至文件 - `b` → 同时保存至文件并发送至Telegram ## 命令行选项 可通过标志跳过交互提示: ``` python .\app.py --telegram python .\app.py --file python .\app.py --both ``` 也可直接通过命令行传递Telegram凭证: ``` python .\app.py --telegram --bot-token --chat-id ``` ## 日志文件输出 启用文件日志后,日志将写入带时间戳的`logs/`文件中,例如: ``` logs/keylog_2026-05-17_170543.txt ``` 应用每隔数秒向文件写入可读的批量内容,包括输入文本和特殊按键标签。仅修改键事件(如`Ctrl`、`Alt`、`Shift`)在文件中将被忽略,实际按键操作会被记录。 ## Telegram通知 启用Telegram日志后,检测到的快捷键通知将发送至配置的机器人/聊天ID。 通知示例: - `检测到复制操作:Ctrl + C` - `检测到粘贴操作:Ctrl + V` - `检测到刷新快捷键:Ctrl+Shift+R` - `检测到Win+L:锁定屏幕` ## 退出说明 程序不会因单独按`Esc`而停止。 请使用以下方式安全退出: - `Pause`(Break)键 - `ScrollLock`键 - `Ctrl+Alt+Shift+Q` 若上述按键在您的环境不可用或失效,可在终端使用`Ctrl+C`或通过任务管理器终止Python进程。 ## 注意事项 - 请勿将真实的`.env`文件或机器人token提交至GitHub。 - `.gitignore`已排除`.env`文件。 - 本代码仅限学习和调试用途,禁止用于未授权监控。 ## 许可证 本项目基于MIT许可证发布 — 详情请参阅[LICENSE](LICENSE)。
标签:ETW劫持, pynput库, Python开发, Telegram通知, 命令行应用, 快捷键检测, 按键捕获, 教育用途, 日志记录, 系统工具, 网络安全, 输入监控, 逆向工具, 键盘记录器, 隐私保护