最近有一些朋友问过相关的问题遂写下此文。不过由于截帧本身处于灰色地带,所以本文不会介绍具体如何修改Renderdoc也不会传播二次修改后的renderdoc源码,就像链接老哥说的一样(不过也会有小小的提示)。
I did not want to detail or show code for my custom app & injector, it’s very far & beyond the scope of this article. But just wanted to let you know how things gone at the start of capturing process. Also, i always believe that there is a gray thin line between digging to learn and to do pure harmful piracy. As a programmer, i learned over the years that we’ve the tools and the knowledge, but it is up to us, to either use those for advancement or to cause harm. Any programmer with enough years of experience can do reverse engineering and can even make cracks & trainers to any game…or they can use that exact same knowledge and experience in getting better, improve and push their space forward as much as possible in a good way.
我不想详细说明或显示我的自定义应用程序和注入器的代码,它远远超出了本文的范围。但只是想让您知道捕获过程开始时情况如何。另外,我始终相信,为了学习而挖掘和纯粹有害的盗版行为之间存在着一条灰色的细线。作为一名程序员,多年来我了解到我们拥有工具和知识,但要利用这些工具和知识来进步还是造成伤害取决于我们。任何具有足够多年经验的程序员都可以进行逆向工程,甚至可以对任何游戏进行破解和训练……或者他们可以使用完全相同的知识和经验以良好的方式尽可能地变得更好、改进和推动他们的空间向前发展。
目前大多我们熟悉的游戏会对图形工具做检测,对渲染有兴趣的开发者要查看需要绕过检测才能截帧查看。
本地编译renderdoc,查看文档作者说Win平台下可以直接进行编译。我使用的是IDE是VS2022,只需要重定目标解决方案就可以直接编译,无异常。
Renderdoc注入的原理是拦截应用程序对图形 API 的调用来捕获帧,在应用程序调用图形 API 函数,插入自己的代码,这一过程就是hook,所以本地修改的关键就是修改hook相关函数,编译自己的注入器。
不过,网上原神的相关渲染解析到处都是,图形上比较大的更新只有PC端的GI系统了,如果只是看人物相关渲染和早先版本无太大差距。