AMD Fusion游戏工具在Intel平台上的运行
08-27
AMD Fusion for Gaming是AMD为游戏玩家提供的一款轻量级优化工具,能够根据预设对系统进行调整,优化资源占用和软硬件性能,在玩家需要游戏的时候暂时禁用不必要的后台服务,实现系统计算性能的最大化。经过四个月的测试后,AMD终于放出了该工具的1.0正式版,支持所有AMD处理器平台。不过使用Intel处理器的系统并非一点希望也没有,日前Tom's Hardware网站的Steve Seguin就教了我们一手,告诉我们如何通过修改AMD Fusion for Gaming的执行文件来达到在Intel平台上运行的目的,有兴趣的朋友可以试试看。
首先我们要下载AMD Fusion for Gaming的最新1.0版本,安装完毕后直接运行,如果你没有一颗AMD的“芯”的话,就会出现如下图的提示,提醒你必须使用AMD处理器的系统才能运行此程序。
接下来我们就来尝试在其它处理器平台上尝试使用这款有意思的小程序。在开始之前你需要准备一款debug程序,我们使用的Ollydbg v1.10。官方网站:http://www.ollydbg.de/
打开Ollydbg程序,注意确认使用Adminstrator身份运行。找到"AMDFusion.exe"文件,在Ollydbg中打开,"AMDFusion.exe"文件默认安装目录为C:/Program Files/AMD/AMD Fusion for Gaming 1.0。
如果你之前有过debug程序经验的话,下面这些步骤对你来说一点也不难以理解,如果你没有,那么仔细照着这些步骤来进行你也能够顺利的完成AMDFusion.exe文件的Hack任务。
我们知道AMDfusion.exe文件在执行之后会检测处理器类型,在发现不是AMD处理器后就弹出警告终止运行,所以我们要做的工作就是找出检测处理器类型这部分的代码,然后绕过去使得非AMD处理器系统也能够顺利运行AMDfusion.exe。
下面我们就开始正式行动了,我们已经在Ollydbg中打开了"AMDFusion.exe"文件,接下来我们在主程序窗口点右键选择"Search for"-"All referenced text strings",然后会新弹出一个窗口,新窗口中列出了"AMDFusion.exe"文件的所有字符串代码。
在新窗口的代码中我们仔细寻找这些挨在一起的字符串文字: "AuthenticAMD"、"GenuineIntel"、"CyrixInstead"、"CentaurHauls",这些字符串就是处理器类型检测部分的关键代码。
我们双击"AuthenticAMD"字符串,在新开窗口中就能看到"AuthenticAMD"字符串真实的汇编运行代码了,另外一个关键词"GenuineIntel"也就在 "AuthenticAMD"代码下面。我们双击"AuthenticAMD"和"GenuineIntel"两个字符串,可以比较出二者实际运行汇编代码的不同,一个是"PUSH AMDFusio.00420E64" (for AMD)、一个"PUSH AMDFusio.00420E54" (for Intel),我们所需要做的只是简单的将"PUSH 420E64"修改成为"PUSH 420E54"就可以了。
修改完两行代码之后,我们就可以在Intel平台上测试工作成果了。在Ollydbg程序中执行Menu > Debug > Run,如果AMDFusion.exe文件正常打开运行,那么证明我们的修改工作已经获得了成功。
到目前为止我们已经验证通过Hack "AMDFusion.exe"文件的原始汇编代码可以在Intel平台上运行AMDFusion程序了,不过上述这些步骤都还只是在内存中完成,实际的"AMDFusion.exe"文件并没有被修改,所以我们还需要一款Hex编辑工具来完成对"AMDFusion.exe"文件的修改。
我们使用的是Hex编辑器为Hex Editor XVI32 2.51版,利用XVI32打开"AMDFusion.exe"文件之后,我们在其中搜寻所有"68 64 0E 42 00"字串,然后将其修改为"68 54 0E 42 00"既可。之后就可以而保存文件了,小心起见我们可以把文件另存为 "IntelFusion.exe",然后就可以随意的在Intel平台上享受自己的劳动成果了。注意:如果你对上面的大通步骤感觉厌烦的话,直接按照最后这段的说明进行操作就是了。