Sire1.29 引进了自定义包(Sire Customized Package)的功能,以下为 RK 原文:
随着311技术普及,越来越多的人可以改代码,因此sire提供了自定义包加载功能,未来各路大神的自定义包都可以以DLC的形式加载,比如火神的功勋解锁特技: 把自定义包放到相应目录里,就可以使用了,还可以改参数哦~~
但这些自定义包的开发基本只在技术圈内大佬之间进行研究,网上关于这方面的介绍少之又少。作为 311+sire 的忠实拥趸,长期享受各位大佬的用爱发电的成果,有时也会冒出一些改进游戏的想法,因此决定自行研究下如何编写 sire 自定义包,并在此记录,以作参考。
(PS:本人有一定编程经验,但对汇编反汇编这块还是小白一枚,一切从1(这个项目)开始,有何不对之处望各位大佬指正)
主要资源
- 311MemoryResearch是我了解 sire 工作原理的重要来源
- big-guy-examples文件夹中为一些大佬的自定义包,是我制作自定义包的重要参考,感谢各位大佬的辛勤付出。
- examples中为本教程(姑且称之为教程~)的自制包。
开发环境
参考sjn4048在项目311MemoryResearch中提及的内容,结合自己最近学习开发的一些经验,这里也给一些参考:
- IDA Pro:汇编反汇编神器,必装,网上有破解的,在此我就不多介绍了,网上自取。下面为一些我认为比较有用的插件:
- HexCopy:IDA 插件,用于快速将反汇编代码复制为编码的十六进制字节
- 此外,我自己在学习过程中也自己开发了一些 IDA 插件,推荐使用:
- hexpaste:用于将Hex码快速拷贝进内存(原IDA里的change bytes一次只能替换16字节,拷贝自己修改的机械码太痛苦了)
- big5-decode:将字节以big5字符进行解码,结果添加为 repeatable comment ,支持批量(游戏内存里big5字符串都是存在一段连续的内存的,用这个插件可以迅速对各个字符串添加注释)
- make-word-dword:可以在IDA视图和Struct视图中通过快捷键创建 word 和 double word,这在标记数据或结构体时非常有用(原IDA中的快捷方式真是一言难尽,常用的功能不是缺少快捷键就是有快捷键但按键特别别扭)
- 311mem_tool: san11pk内存地址记录工具,支持:内存地址汇总.md 中的记录导入到 IDA 中; IDA 中的内存地址记录导出到 内存地址汇总.md
- 311stru_tool: san11pk结构体记录工具.
- Cheat Engine:喜羊羊与RK都在用的动态调试神器,可以动态查看运行时的内存。暂时还没用到,因为目前的修改都比较简单。
- Hex WorkShop:用于改.exe,暂时还没用到