第 2 章 用 OllyDbg 调试游戏¶
用 Cheat Engine,你可以触及游戏运行时的表面现象;但有了一个好的调试器,你可以深入挖掘,直到理解游戏的结构和执行流程。这使得 OllyDbg 成为你游戏破解武器库中不可或缺的工具。它内置了大量强大工具,比如条件断点、引用字符串搜索、汇编模式搜索和执行跟踪,是一款面向 32 位 Windows 应用程序的健壮汇编级调试器。
我会在第 4 章详细讲解底层代码结构,但本章假设你至少熟悉现代代码级调试器,比如 Microsoft Visual Studio 自带的那个。OllyDbg 在功能上与之类似,但有一个重大区别:它与应用程序的汇编代码交互,即使在缺少源代码和调试符号的情况下也能工作,这使得它成为你深入游戏内部时的理想工具。毕竟,游戏公司很少会好心(或愚蠢)到把调试符号随游戏一起发布!
在本章中,我将介绍 OllyDbg 的用户界面,展示如何使用它最常见的调试功能,剖析它的表达式引擎,并提供一些真实示例,展示如何把它融入你的游戏破解工作。作为收尾,我会教你一些有用的插件,并送给你一个测试游戏,让你在 OllyDbg 中起步。
注 本章以 OllyDbg 1.10 为重点,对更高版本可能不完全准确。我使用这个版本,是因为在写作时,OllyDbg 2 的插件接口远不如 OllyDbg 1 的健壮。
当你觉得已经掌握 OllyDbg 的界面和功能后,可以按照第四十六页的「修补 if() 语句」自己在一款游戏上试一试。