设为首页收藏本站喵玉殿官方微博

喵玉殿论坛 · 喵玉汉化组

 找回密码
 少女注册中
搜索
12
返回列表 发新帖
楼主: wz520

[编程算法] 【更新到1.40】THKMC - 东方STG专用改键工具(通过直接改EXE实现,非外挂)

[复制链接]
发表于 2020-5-19 09:01:38 | 显示全部楼层
9}~BU]5XSH9}8`]F@H4IYUX.png IJ}3TF@KBKA8K)~M(EO$OI0.png 大佬为什么改了键之后thprac就打不开th10了啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-20 21:15:47 | 显示全部楼层
Satlno 发表于 2020-5-19 09:01
大佬为什么改了键之后thprac就打不开th10了啊

似乎thprac是使用EXE文件的校验码(MD5、SHA1之类的,由于thprac似乎不开源所以不知道具体是什么算法)来识别游戏程序的。
这就意味着thprac不允许游戏程序文件被修改哪怕一个字节,否则就会不认识。但是THKMC就是通过修改游戏程序来达到改键目的的。
我个人建议的解决办法是让thprac作者修改一下识别游戏程序的算法,以更好地兼容已经打过其他补丁的游戏程序。直接使用EXE文件校验码太过严格,不仅不能识别用THKMC改过键的程序,打过任何其他补丁的游戏程序理论上也不能兼容。
像THKMC就是仅仅根据 EXE文件长度 和 PE文件头中的UNIX时间戳(dwTimestamp) 来判断是哪个游戏,而不是简单地使用整个EXE文件的校验码,这样既可以比较准确地判断游戏版本,还可以很好地兼容已经打过其他补丁的游戏程序。(对于两个不同的EXE文件,在没有人工干预的情况下,文件长度和dwTimestamp都相同的几率是很低的。虽然硬要人工干预(修改文件长度和dwTimestamp)也很简单,但是这么做有什么意义?)

【另外要注意】:在thkmc.ini文件里,纯数字代表的是扫描码而非数字键,你截图里写的Z=4,代表的是“将Z键原本的功能映射到扫描码为4的按键”上,而扫描码为4的按键是大键盘数字键3。如果你要映射到大键盘数字键4,你应该写 Z=VK4 或者 Z=5(因为大键盘数字键4的扫描码是5)。当然如果你本来就想映射到数字键3那就当我没说
回复 支持 反对

使用道具 举报

发表于 2021-3-16 10:23:26 | 显示全部楼层
非常感谢~~
右手玩着完全不如左手顺手
回复 支持 反对

使用道具 举报

发表于 2021-6-24 03:47:40 | 显示全部楼层
大佬我问一下,能不能改别的键位啊,把B改成I慢速移动改成L
回复 支持 反对

使用道具 举报

发表于 2021-6-24 18:23:25 | 显示全部楼层
好了好了,原来真的是改记事本就行了,问题已解决
回复 支持 反对

使用道具 举报

发表于 2023-7-27 17:22:32 | 显示全部楼层
th07修改上下左右为其他字母键之后,游戏内慢速下(按住Shift)无法移动了)请问这是什么问题
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 少女注册中

本版积分规则

合作与事务联系|小黑屋|手机版|无图版|喵玉殿

GMT+8, 2024-3-29 17:20

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表