问题的切入点很小啦,但感觉涉及一些我不懂的方法,如果掌握了应该可以用在更多修改场合吧,麻烦大神看看能否点拨点拨。
问题是:吃到移动力buff后,武将界面显示的是 8(+2),(图1)。强迫症觉得这里全角括号搭配半角数字太别扭了,如果显示 8 (+2) 就舒服了。想把全角括号的这个字符改掉。这个字符不出意外总是藏在exe里某个位置的吧。
我的尝试过程是:
1,故意把一个兵种名称改成(),用UE打开exe,找到存放兵种名称的位置,就知道了在UE里(的编码是A3A8,)的编码是A3A9(图2)。然后在UE搜索A3A8,本以为总能找到一个存放各类文字信息的区域,再把A3A8改成半角括号的编码就行了。结果是找不到(找到一处明显不是文字区域的,只是程序代码碰巧撞上A3A8了吧)……于是用UE就不会改了。
2,用OB打开exe,用 查找——常量 的功能,图3,之前在找一些数值常量时屡试不爽,现在查A3A8或A8A3(我略懂有低位高位的故事,吃不准就两个都查一下),结果是都查不到。
3,还是在OB,在做另一项修改时碰巧发现了这个地方,图4。我完全不懂那些汇编代码,但外行都能看出这里就是程序拼写移动力的地方了。%d是原始移动力,%u是实际移动力,将它们和()+- 等符号拼成了最终的8(+2)的字符串。
那太好了,只要修改这里的()字符就行了,但发现不会改……图中的ASCII "%u ( +%d )"这列只是OB给出的批注信息吧,真正的代码是 B9 C0EB4800,或者说是 mov ecx,Ekd5.0048EBC0 。像是调用了Edk5.exe自己的一个函数?怎么追溯到那个函数的真正位置呢?0048EBC0 这个地址在OB里找不到嘛。OB主窗口的最大地址也只到00485FFF,另外一个不知什么窗口的地址从00486000紧接下去,但最大也只到0048AFFC。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=a20081d08afc1e17fdbf8c397a92f67c/c457f3deb48f8c547547f3e97f292df5e1fe7f62.jpg?tbpicau=2025-02-28-05_5122ddfa03de432810c9b6200d9db01a)
这可能就是所有拼图里我缺失的一块,请指导一下,谢谢~~
问题是:吃到移动力buff后,武将界面显示的是 8(+2),(图1)。强迫症觉得这里全角括号搭配半角数字太别扭了,如果显示 8 (+2) 就舒服了。想把全角括号的这个字符改掉。这个字符不出意外总是藏在exe里某个位置的吧。
我的尝试过程是:
1,故意把一个兵种名称改成(),用UE打开exe,找到存放兵种名称的位置,就知道了在UE里(的编码是A3A8,)的编码是A3A9(图2)。然后在UE搜索A3A8,本以为总能找到一个存放各类文字信息的区域,再把A3A8改成半角括号的编码就行了。结果是找不到(找到一处明显不是文字区域的,只是程序代码碰巧撞上A3A8了吧)……于是用UE就不会改了。
2,用OB打开exe,用 查找——常量 的功能,图3,之前在找一些数值常量时屡试不爽,现在查A3A8或A8A3(我略懂有低位高位的故事,吃不准就两个都查一下),结果是都查不到。
3,还是在OB,在做另一项修改时碰巧发现了这个地方,图4。我完全不懂那些汇编代码,但外行都能看出这里就是程序拼写移动力的地方了。%d是原始移动力,%u是实际移动力,将它们和()+- 等符号拼成了最终的8(+2)的字符串。
那太好了,只要修改这里的()字符就行了,但发现不会改……图中的ASCII "%u ( +%d )"这列只是OB给出的批注信息吧,真正的代码是 B9 C0EB4800,或者说是 mov ecx,Ekd5.0048EBC0 。像是调用了Edk5.exe自己的一个函数?怎么追溯到那个函数的真正位置呢?0048EBC0 这个地址在OB里找不到嘛。OB主窗口的最大地址也只到00485FFF,另外一个不知什么窗口的地址从00486000紧接下去,但最大也只到0048AFFC。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=a20081d08afc1e17fdbf8c397a92f67c/c457f3deb48f8c547547f3e97f292df5e1fe7f62.jpg?tbpicau=2025-02-28-05_5122ddfa03de432810c9b6200d9db01a)
这可能就是所有拼图里我缺失的一块,请指导一下,谢谢~~