carlosochoap/win32-keylogger-c
GitHub: carlosochoap/win32-keylogger-c
基于 Win32 API 的 C 语言教学版键盘记录器,帮助安全研究人员理解恶意软件行为特征与检测方法。
Stars: 0 | Forks: 0
# Win32 Keylogger(教学用途)
使用 Win32 API 编写的 C 语言教学版键盘记录器。本项目是恶意软件分析学习路径中的**项目 #2**。
## 功能介绍
- 使用 `GetAsyncKeyState` 轮询捕获任何应用程序的按键输入
- 支持大小写字母(检测 Shift + CapsLock 状态)
- 记录特殊按键:Enter、Backspace、Tab、方向键等
- 通过 `GetForegroundWindow` 跟踪活动窗口标题
- 将捕获的按键连同会话时间戳写入 `keylog.txt`
## 使用的 Win32 API
| API | 用途 |
|-----|---------|
| `GetAsyncKeyState()` | 轮询键盘状态(任何窗口) |
| `GetKeyState()` | 读取切换状态 |
| `GetForegroundWindow()` | 获取活动窗口句柄 |
| `GetWindowTextA()` | 获取窗口标题栏文本 |
| `Sleep()` | 降低轮询周期之间的 CPU 占用 |
## 构建
在 Visual Studio 中打开 `win32-keylogger-c.sln` 并进行构建(Ctrl+Shift+B)。
## 检测特征
如果一个进程导入了 `GetAsyncKeyState` + `GetForegroundWindow` 并且结合了文件写入操作,这就是一个典型的键盘记录器特征。
## 许可证
MIT - 仅供教学用途。
标签:DAST, GetAsyncKeyState, Linux, Win32 API, 云资产清单, 击键记录, 可视化工作室, 安全防护, 客户端加密, 恶意软件分析, 按键监控, 教育项目, 数据展示, 文件写入, 活动窗口追踪, 红队, 编程实战, 网络安全, 软件开发, 逆向工程, 键盘记录器, 隐私保护, 黑客学习