Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
OBS-graphics-hook32-Hook — 演示如何挂钩 OBS graphics-hook32.dll 的 D3D9 Present 指针,以实现防直播渲染,从而规避反作弊游戏画面捕获检测。 | Kitploit
工具/GitHubGitHub/gmh5225/obs-graphics-hook32-hook
Web代理与拦截IDS/IPS规避逆向工程二进制分析学习与教育红队反机器人
GitHubgmh5225/obs-graphics-hook32-hook

OBS-graphics-hook32-Hook

演示如何挂钩 OBS graphics-hook32.dll 的 D3D9 Present 指针,以实现防直播渲染,从而规避反作弊游戏画面捕获检测。

查看仓库
214年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

OBS-graphics-hook32-Hook

不是我的。仅供保存。 https://www.unknowncheats.me/forum/anti-cheat-bypass/501609-obs-graphics-hook32-hook.html

我之前研究过许多种 hook 技术,这类东西引起了我的注意,因为它可以被用来实现防直播渲染。

所以我想把它分享给那些初学者们。 image

"graphics-hook32.dll + 32DC8" 就是我们的目标地址,在你的 IDA 中它应该看起来像这样,或者参考 https://github.com/obsproject/obs-st...pture.cpp#L651

image

之后,你只需要替换指针(老办法)。 因为 mov eax, Hook_Present_Addr Hook_Present_Addr = &Present_hook ??? 收益 准备 P2C KEKEKEKEKEKW

void MainThread()
{
	while (!obsBase) // 检查 graphics-hook32.dll 是否未加载
	{
		obsBase = (DWORD)GetModuleHandleA(XorStr("graphics-hook32.dll"));
		if (!obsBase)
			Sleep(200);
		else
			isOBSFound = true; 
	}
	if (isOBSFound)
	{
		renderOBSPresent = obsBase + 0x32DC8;
		while (!*reinterpret_cast<uintptr_t*>(renderOBSPresent))
		{
			Sleep(200);
		}
		OrigPresent = SwapPointer<Present_t>((uintptr_t)renderOBSPresent, (uintptr_t)&Hooked_Present);
	}
}

我们要替换的函数指针是 IDA 中显示的 "RealPresent",而不是 present_begin(RealPresent 函数是一个 .data 指针)。你也可以 hook present_begin 来达到同样的效果。这同样适用于 obs 的 x64 版本。

注意:这仅适用于游戏捕获和 d3d9 游戏

下载工具