背景
我在玩东方系列游戏之一的不朽之夜。射击按钮是'z',移动较慢的是'shift',箭头键移动。对我来说不幸的是,使用 shift-z 会重影我的右箭头键,所以我在射击时无法向右移动。这种重影发生在所有应用程序中,并且切换键盘可以解决它。
目标
我想在反汇编代码中找到获取键盘输入并将其与“z”键进行比较的directx 函数,然后将该键更改为“a”。我认为这是一个有趣的项目。假设扫描码的大小相同,这应该相当简单。而且因为可执行文件只有400k,也许这将为我提供一个独特的机会来探索计算黑社会的黑暗面(开玩笑)。
相关经验
我有一些在汇编中编码的经验,但在反汇编方面没有。我没有使用 DirectX api 的经验。
问题
我需要一些指导。我找到了一个directx 键盘扫描代码列表,以及一个名为PEExplorer 的程序,看起来它可以满足我的需求。
有没有一种方法可以让我使用 C 函数调用来转换一些程序集,以便更容易阅读?我需要找到游戏检索当前按键的位置,将它们与列表进行比较,这就是我需要修改的列表。
任何投入将不胜感激。