背景
我正在玩“不朽之夜”,这是头侯系列游戏之一。射击按钮是'z',移动慢是‘移位’,箭头键移动。不幸的是,对我来说,使用shift-z鬼我的右箭头键,所以我不能移动到右边,同时射击。这种鬼影发生在所有的应用程序中,而切换键盘则修复了它。
目标
我希望在反汇编的代码中找到获得键盘输入的directx函数,并将其与'z‘键进行比较,并将该键更改为'a’。我认为这是个有趣的项目。假设扫描代码的大小相同,这应该相当简单。因为可执行文件只有400 K,也许这将为我提供一个独特的机会来探索计算黑社会的阴暗面(开玩笑)。
相关经验
我对汇编中的编码有一定的经验,但在拆卸这类代码方面没有经验。我没有使用DirectX apis的经验。
问题
我需要一些指导。我找到了directx键盘扫描代码的清单,还有一个名为PEExplorer的程序,看起来它可以满足我的需要。
是否有一种方法可以使用C函数调用来转换某些程序集,使其更容易阅读?我需要找到游戏检索当前按下的键的位置,将这些键与列表进行比较,也就是我需要修改的列表。
如有任何意见,将不胜感激。
发布于 2010-03-15 05:31:21
您可能对Microsoft的绕道库感兴趣,它允许您挂钩函数调用并更改它们的参数。这样做,您的代码可以更改扫描代码的键,没有鬼的游戏期望。
https://stackoverflow.com/questions/2445277
复制相似问题