Mad-code33/discord-opus-mic-gain-hook

GitHub: Mad-code33/discord-opus-mic-gain-hook

该工具通过挂钩 Discord 的 Opus 语音编码器,在编码前对 PCM 信号进行增益放大,实现本地麦克风音量增强。

Stars: 2 | Forks: 0

# FreeHook — Discord Opus 麦克风增益 Hook 适用于 Windows 的 Discord 麦克风增益 / 大音量麦克风 Hook —— 在 Opus 编码前提升你的麦克风音量。 Discord 麦克风 Hook:增益旋钮,仅此而已。开源。 **由 madect 创建**

FreeHook — Discord mic gain hook GUI

## 这是什么 FreeHook 是一个适用于 Windows 的轻量级 **Discord mic gain hook**。该 DLL 会挂钩到 `discord_voice.node` 中的语音编码 (Opus) 函数,并在送入编码器**之前**将你的 PCM 信号乘以增益系数 —— 让别人听起来你的声音更大,且所有处理都在你的本地完成(麦克风增强 / 大音量麦克风)。 ## 功能 (Features) - **麦克风增益 (Mic gain)** 支持 1x – 16x 并附带预设。 - 在 **Opus 编码前** (`WebRtcOpus_Encode_wrapper`) 进行处理 —— 纯粹的音量提升。 - 轻量级的 **ImGui 覆盖层**,悬浮在 Discord 窗口之上(置顶,且不会在 taskbar 显示图标)。 - 通过 **RVA + 特征码 (AOB)** 定位函数 —— 即使 Discord 更新版本也能继续工作。 - 通过关闭按钮**安全卸载** DLL —— 一切恢复原状。 - 无限制器:由你自己调节音量。 ## 下载 (Download) 编译好的 `injector.exe` 和 `hookdll.dll` 位于 [**Releases**](https://github.com/Mad-code33/discord-opus-mic-gain-hook/releases/latest) 页面。 无需自行编译 —— 下载并运行即可。 ## 工作原理 - `injector.exe` 会寻找加载了 `discord_voice.node` 的 `Discord.exe` 进程(这意味着你正处于语音频道中),并通过 `CreateRemoteThread` + `LoadLibraryW` 注入 `hookdll.dll`。 - `hookdll.dll` 借助 [MinHook](https://github.com/TsudaKageyu/minhook) 对 `WebRtcOpus_Encode_wrapper` 安装 Hook。 - 在拦截处理中,每个采样值都会乘以 `gain`,截断限制在 `int16` 范围内,随后调用原函数。 - 函数地址通过模块基址的 RVA 寻找,如果 Discord 版本不同,则通过扫描函数序言的特征码(第一个唯一匹配项)来定位。覆盖界面使用的是基于 DX11 的 Dear ImGui。 ## 地址与特征码 ``` модуль: discord_voice.node WebRtcOpus_Encode_wrapper RVA: 0x713280 proto: int __fastcall ( void* opus_inst, // RCX int16_t* pcm, // RDX — буфер для правки uint64_t samples_per_channel, // R8 int max_encoded_bytes, // R9 uint8_t* encoded_out) // stack пролог (16 байт): 56 57 48 83 EC 28 BF FF FF FF FF 49 81 F8 80 16 каналы: opus_inst + 0x10 (uint64, 1..8) размер: samples_per_channel * channels ``` RVA 依赖于特定版本:如果无法匹配,特征码扫描将会生效;如果函数序言发生改变,请根据你当前版本的 `discord_voice.node` 更新特征码字节。 ## 编译 (Build / Installation) 需要 Visual Studio Build Tools (MSVC + Windows SDK),`vcvars64.bat` 的路径对应于 `build.bat` 中的 `VCVARS` 变量。 ``` cd C:\...\freehook build.bat ``` 输出文件:`build\hookdll.dll`, `build\injector.exe`。 ## 运行 (Usage) 1. 打开 Discord 并进入语音频道。 2. 运行 `injector.exe`。 3. **FreeHook** 窗口将出现在 Discord 上方。**Insert** — 隐藏/显示,**X** — 移除 Hook 并卸载 DLL。 ## 联系方式 Discord — **madect**
标签:C++, Discord, DLL注入, Hook, 云资产清单, 数据擦除, 流量审计, 端点可见性, 逆向工程, 音频处理