背景知识¶
本章开始从破解、操控和逆向工程向编码过渡。从现在开始,你将学习如何实际编写自己的破解。为了保持主题聚焦,到目前为止我谈到的所有内容都将被视为背景知识。如果你看到使用的技术不太记得,比如内存扫描、设置内存断点、钩子或写入内存,请翻回相关章节,在继续前多研究一下。在正文中,你会找到提醒你可以在哪里复习特定主题的注释。
具体来说,本章会大量讨论 Direct3D。在第一百七十五页「把跳转钩子和 VF 钩子应用到 Direct3D」中,我解释了如何钩入游戏的 Direct3D 绘制循环。那一章的示例代码在 GameHackingExamples/Chapter8_Direct3DHook 中包括一个功能完整的 Direct3D 钩子引擎。本章的许多破解建立在这个钩子之上,它们的示例代码可以在 Direct3D 钩子代码的 main.cpp 文件中找到。你可以运行 GameHackingExamples/Chapter8_Direct 3DApplication 中的编译应用程序,在测试应用程序上看到这些破解的实际效果。