Skip to content

Go1c/renderdoc

 
 

Repository files navigation

MIT licensed CI Contributor Covenant

RenderDoc is a frame-capture based graphics debugger, currently available for Vulkan, D3D11, D3D12, OpenGL, and OpenGL ES development on Windows, Linux, Android, and Nintendo Switch™. It is completely open-source under the MIT license.


魔改版说明(ACE 反外挂绕过 · UE5 D3D12)

本分支在原版 RenderDoc 基础上进行了魔改,目标是绕过 ACE(Anti-Cheat Expert)反外挂系统,实现对 UE5 D3D12 游戏的截帧调试。

核心改动

改动 说明
全局特征重命名 renderdocrendertest,覆盖 DLL 名、导出符号、窗口类名、共享内存等约 40 处
新增 version_proxy/ dxgi.dll proxy DLL,DllMain 中缓存真实函数指针、磁盘重命名 + PEB 模块名伪装,绕过 ACE 检测
win32_hook.cpp inline hook 安装时优先选择 System32 模块(而非同名 proxy),并直接重新获取函数地址
win32_process.cpp 新增 SetThreadContext 线程劫持注入方式(fallback 到 CreateRemoteThread
新增 process_injector/ 独立注入测试工具
新增 renderdoc/3rdparty/minhook 作为 submodule 引入 TsudaKageyu/minhook
VS 工具集升级 .vcxproj 工具集升级至 v143(VS2022),输出文件名对应重命名

文档

构建产物

编译环境:VS2022,工具集 v143,Release x64

  • dxgi.dll — proxy DLL(version_proxy 项目)
  • rendertest.dll — RenderDoc 核心 DLL(renderdoc 项目)
  • qrendertest.exe — 截帧 UI 工具(qrenderdoc 项目)

RenderDoc is intended for debugging your own programs only. Any discussion of capturing programs that you did not create will not be allowed in any official public RenderDoc setting, including the issue tracker, discord, or via email. For example this includes capturing commercial games that you did not create, or capturing Google Maps or Google Earth. Note: Capturing projects you created that use a third party engine like Unreal or Unity, or open source and free projects is completely fine and supported.

If you have any questions, suggestions or problems or you can create an issue here on github, email me directly or come into IRC or Discord to discuss it.

To install on windows run the appropriate installer for your OS (64-bit | 32-bit) or download the portable zip from the builds page. The 64-bit windows build fully supports capturing from 32-bit programs. On linux only 64-bit x86 is supported - there is a precompiled binary tarball available, or your distribution may package it. If not you can build from source.

Screenshots

Texture view Pixel history & shader debug
Mesh viewer Pipeline viewer & constants

API Support

Windows Linux Android
Vulkan ✔️ ✔️ ✔️
OpenGL ES 2.0 - 3.2 ✔️ ✔️ ✔️
OpenGL 3.2 - 4.6 Core ✔️ ✔️ N/A
D3D11 & D3D12 ✔️ N/A N/A
OpenGL 1.0 - 2.0 Compat ✖️ ✖️ N/A
D3D9 & 10 ✖️ N/A N/A
Metal N/A N/A N/A
  • Nintendo Switch™ support is distributed separately for authorized developers as part of the NintendoSDK. For more information, consult the Nintendo Developer Portal.

Downloads

There are binary releases available, built from the release targets. If you just want to use the program and you ended up here, this is what you want :).

It's recommended that if you're new you start with the stable builds. Nightly builds are available every day from the v1.x branch here if you need it, but correspondingly may be less stable.

Documentation

The text documentation is available online for the latest stable version, as well as in renderdoc.chm in any build. It's built from restructured text with sphinx.

As mentioned above there are some youtube videos showing the use of some basic features and an introduction/overview.

There is also a great presentation by @Icetigris which goes into some details of how RenderDoc can be used in real world situations: slides are up here.

License

RenderDoc is released under the MIT license, see LICENSE.md for full text as well as 3rd party library acknowledgements.

Compiling

Building RenderDoc is fairly straight forward on most platforms. See Compiling.md for more details.

Contributing & Development

I've added some notes on how to contribute, as well as where to get started looking through the code in Developing-Change.md. All contribution information is available under CONTRIBUTING.md.

About

RenderDoc is a stand-alone graphics debugging tool.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 82.6%
  • C 14.7%
  • Python 1.7%
  • Objective-C++ 0.2%
  • HLSL 0.2%
  • CMake 0.2%
  • Other 0.4%