出招指令文件:command_table.lua
文件位置:..\King of Fighters XIII\fighter
前期准备处理流程:
1)源文件处于加密状态,直接看就是乱码,所幸加密方式简单,可用工具中的“Lua解密.py”进行解密,获得解密文件。
2)解密文件仍然不能直接看到内容,但是在16进制阅读器中可以看到一部分有效信息,工具中的“010Editor”是修改文件的重要工具。但这不够直观,此时文件内储存的是编译过后的字节码,所以要对文件进行反编译。工具中的“LuacGUI.exe”可以直接使用但效率低下,“unluac.jar”需要配置java环境,准备工作复杂,但搭配上自己编写的辅助文件,效率直线提升,二者选一即可,获得反编译文件。
3)反编译文件可以用记事本直接打开,但仍然推荐找一个合适的阅读器来使用,现在文件内容是比较直观的代码了,可以直接提取更多有效信息。可以到B站看看发的“拳皇13 KOFXIII SE 文件修改 部分内容”文集内容。
4)为了修改出招,需要定位,但招式名字都是“\xxx\xxx\xxx”之类的代码,根本看不懂,其实它们是Unicode (UTF-8)编码的一种形式,例如:拳皇的“拳”,十进制编码为15109043,十六进制编码为E68BB3。那么,这些编码和“\xxx\xxx\xxx”有什么关系呢?我们把十六进制E68BB3拆分为\E6\8B\B3,再转换为十进制\230\139\179,这样就联系起来了。接下来逆向转换就可以把“\xxx\xxx\xxx”形式的代码转换为“你好 世界!”的自然语言形式方便阅读。一个一个转换显然不现实,只能自己编写一个转换程序,这一步花了我3个月的空闲时间,终于实习半自动批量转换,得到翻译文件。
5)到此为止,准备工作完成,我们需要的两个文件到手:解密文件和翻译文件。
修改流程:
1)目前没有完美编译的办法,直接编译再加密会导致游戏报错崩溃,所以只能修改解密文件。
2)翻译文件是用来分析出招内容的辅助文件,是为了提取有效信息存在的,不自己参与修改文件内容的流程。
3)在解密文件中,相同的出招指令只出现一次,修改这一个会对所有相同的指令产生修改效果。
例如:草薙京的“暗拂”↓↘→ + LP or HP EX的指令236a、236c、236ac在出招文件中实际上是3条指令,需要分别修改。236a指令在解密文件中是“2[5]3,<69>,p”,但它的出现是在伊丽莎白的“水泡”旁。
4)完整的指令编码是“04 0D 00 00 00 32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”,可以分为3个部分“04”、“0D 00 00 00”、“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”,“04”是固定的,意义是分配4个字节给“0D 00 00 00”,“0D 00 00 00”中的“0D”意义是分配13个字节给“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”,“00 00 00”则是固定的,“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”中的“00”是标志位,代表结束,“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70”的意义是“2[5]3,<69>,p”指令的ASCII十六进制编码,这样就知道要修改什么东西了。
5)最后一步,编写符合语法规则的指令来替代原指令,目前发现有“123456789”、“udfb”代表方向,“pPkPZ”代表动作,“[]”代表帧数,“<>”代表选择,“()”代表同时,“,”代表隔断,“^”代表持续,“|”代表有效期,“-”代表松开,“!”、“?”、“/”代表什么还不清楚。
结语:
以上的修改只是最简单初期的修改,希望大家能够有更加深入的开发。
欢迎到B站我的“拳皇13 KOFXIII SE 文件修改 部分内容”文集内容下积极评论。
欢迎关注我的B站账号。
相关内容:
1)B站:leonardydd
2)B站:星夜仰望
3)https://www.haomeili.net/Code?co ... d=139&Third=179
文件位置:..\King of Fighters XIII\fighter
前期准备处理流程:
1)源文件处于加密状态,直接看就是乱码,所幸加密方式简单,可用工具中的“Lua解密.py”进行解密,获得解密文件。
2)解密文件仍然不能直接看到内容,但是在16进制阅读器中可以看到一部分有效信息,工具中的“010Editor”是修改文件的重要工具。但这不够直观,此时文件内储存的是编译过后的字节码,所以要对文件进行反编译。工具中的“LuacGUI.exe”可以直接使用但效率低下,“unluac.jar”需要配置java环境,准备工作复杂,但搭配上自己编写的辅助文件,效率直线提升,二者选一即可,获得反编译文件。
3)反编译文件可以用记事本直接打开,但仍然推荐找一个合适的阅读器来使用,现在文件内容是比较直观的代码了,可以直接提取更多有效信息。可以到B站看看发的“拳皇13 KOFXIII SE 文件修改 部分内容”文集内容。
4)为了修改出招,需要定位,但招式名字都是“\xxx\xxx\xxx”之类的代码,根本看不懂,其实它们是Unicode (UTF-8)编码的一种形式,例如:拳皇的“拳”,十进制编码为15109043,十六进制编码为E68BB3。那么,这些编码和“\xxx\xxx\xxx”有什么关系呢?我们把十六进制E68BB3拆分为\E6\8B\B3,再转换为十进制\230\139\179,这样就联系起来了。接下来逆向转换就可以把“\xxx\xxx\xxx”形式的代码转换为“你好 世界!”的自然语言形式方便阅读。一个一个转换显然不现实,只能自己编写一个转换程序,这一步花了我3个月的空闲时间,终于实习半自动批量转换,得到翻译文件。
5)到此为止,准备工作完成,我们需要的两个文件到手:解密文件和翻译文件。
修改流程:
1)目前没有完美编译的办法,直接编译再加密会导致游戏报错崩溃,所以只能修改解密文件。
2)翻译文件是用来分析出招内容的辅助文件,是为了提取有效信息存在的,不自己参与修改文件内容的流程。
3)在解密文件中,相同的出招指令只出现一次,修改这一个会对所有相同的指令产生修改效果。
例如:草薙京的“暗拂”↓↘→ + LP or HP EX的指令236a、236c、236ac在出招文件中实际上是3条指令,需要分别修改。236a指令在解密文件中是“2[5]3,<69>,p”,但它的出现是在伊丽莎白的“水泡”旁。
4)完整的指令编码是“04 0D 00 00 00 32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”,可以分为3个部分“04”、“0D 00 00 00”、“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”,“04”是固定的,意义是分配4个字节给“0D 00 00 00”,“0D 00 00 00”中的“0D”意义是分配13个字节给“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”,“00 00 00”则是固定的,“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70 00”中的“00”是标志位,代表结束,“32 5B 35 5D 33 2C 3C 36 39 3E 2C 70”的意义是“2[5]3,<69>,p”指令的ASCII十六进制编码,这样就知道要修改什么东西了。
5)最后一步,编写符合语法规则的指令来替代原指令,目前发现有“123456789”、“udfb”代表方向,“pPkPZ”代表动作,“[]”代表帧数,“<>”代表选择,“()”代表同时,“,”代表隔断,“^”代表持续,“|”代表有效期,“-”代表松开,“!”、“?”、“/”代表什么还不清楚。
结语:
以上的修改只是最简单初期的修改,希望大家能够有更加深入的开发。
欢迎到B站我的“拳皇13 KOFXIII SE 文件修改 部分内容”文集内容下积极评论。
欢迎关注我的B站账号。
相关内容:
1)B站:leonardydd
2)B站:星夜仰望
3)https://www.haomeili.net/Code?co ... d=139&Third=179