MatiasZapf/win-mediakey-lolbin
GitHub: MatiasZapf/win-mediakey-lolbin
一个超轻量级的 LOLBin 示例,利用 csc.exe 编译实现无需安装、4KB 体积的 Windows 媒体键控制。
Stars: 15 | Forks: 1
# win-mediakey-lolbin [](https://unlicense.org/) []() []()
一个超轻量级的 Windows 原生实用程序(~4KB),用于通过命令行控制媒体播放(播放/暂停、下一曲、上一曲)。
## 上下文:LOLBin 与 MITRE ATT&CK
该项目也是一个关于 **LOLBins**(Living Off the Land Binaries)的教育性证明概念。
它在 MITRE ATT&CK 中被记录为 [T1027.004 "交付后编译"](https://attack.mitre.org/techniques/T1027/004/),这是一种通过将代码以明文形式传递并在原位使用 `csc.exe`(Windows 自带的 .NET Framework 编译器)进行编译的规避技术。
在此案例中,该用法是完全合法的:一个用于控制音乐播放器的 4KB 实用程序。
## 存在的原因
- 无需安装
- 可执行文件极小(~4KB)
- 无后台进程或托盘图标
- 非常适合绑定到鼠标手势、流控台或快捷键
- 纯 Windows 原生(无第三方依赖)
## 功能
编译生成单个可执行文件:`MediaKey.exe`
支持以下命令:
- `MediaKey.exe playpause` → 播放/暂停
- `MediaKey.exe next` → 下一曲
- `MediaKey.exe prev` → 上一曲
适用于尊重媒体键的播放器(Spotify、浏览器中的 YouTube、VLC 等)。
## 系统要求
- Windows 10/11
- .NET Framework 4.x(以确保 `csc.exe` 可用)
- 典型路径(x64):
- `C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe`
- 典型路径(x86):
- `C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe`
## 编译
1. 克隆/下载该仓库。
2. 运行:
```
.\scripts\compile.bat
```
该脚本会:
* 检测 `csc.exe`(Framework64 → Framework → PATH),
* 创建 `.\bin\` 目录,
* 以 **winexe** 模式编译(无控制台窗口),
* 显示生成文件的大小与用法。
示例输出:
```
Compiling bin\MediaKey.exe...
OK: Compilation successful.
Generated: ".\bin\MediaKey.exe" (4096 bytes)
Usage:
MediaKey.exe playpause
MediaKey.exe next
MediaKey.exe prev
```
## 用法
```
.\bin\MediaKey.exe playpause
.\bin\MediaKey.exe next
.\bin\MediaKey.exe prev
```
Logitech Options+/G Hub(环动操作)的示例配置:
* 动作 1:`MediaKey.exe playpause`
* 动作 2:`MediaKey.exe next`
* 动作 3:`MediaKey.exe prev`
## 工作原理
程序使用 P/Invoke 调用 `user32.dll` 中的 `keybd_event`,通过以下虚拟键码模拟媒体按键:
| 命令 | 虚拟键码 | 常量 |
|----------|----------|--------------------------|
| `playpause` | `0xB3` | VK_MEDIA_PLAY_PAUSE |
| `next` | `0xB0` | VK_MEDIA_NEXT_TRACK |
| `prev` | `0xB1` | VK_MEDIA_PREV_TRACK |
简短的 `Sleep()` 调用确保 Windows 在进程退出前处理完按键事件。
## 许可证
该项目已奉献至公共领域 - [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/)。
无任何权利保留。
标签:4KB, Cloudflare, csc.exe, LangChain, Living Off the Land, LOLBin, MITRE ATT&CK, .NET Framework, Next Track, PlayPause, Previous Track, T1027.004, Windows 10, Windows 11, Windows媒体控制, winexe, 免安装, 原生编译, 可执行文件, 媒体按键, 快捷键, 教育演示, 无依赖, 流Deck, 编译后交付, 脚本编译, 轻量级, 鼠标手势