更改

跳转至: 导航搜索

BallanceRecordChanger/zh

添加584字节2020年3月15日 (日) 16:28
无编辑摘要
|screenshot=BallanceRecordChangerResult.png
|screenshotDesc=经过BallanceRecordChanger修改后的高分榜单(同时使用了与之无关的[[材质包]])
|author=文件加密分析:{{来源请求|文件加密分析:[[jxpxxzjGamepiaynmo]]}} <ref>Gamepiaynmo于2014年8月25日发表的帖子:https://tieba.baidu.com/p/3254431621</ref> <br />文件结构分析:jxpxxzj,文件结构分析:<br />Gamepiaynmo(基础结构)<br />[[yyc12345]] (被丢弃的字段) <br />主程:yyc12345 主程:<br />Gamepiaynmo(C++版本)<ref>这一版本并非隶属于BallanceRecordChanger,标明只是为了指明代码源头</ref><br />jxpxxzj(C#第一版)<br />yyc12345(C#第二版和第三版)
|suit=[[Ballance]]的[[Database.tdb/zh|Database.tdb]]文件
|link=[https://github.com/BearKidsTeam/BallanceRecordChanger Github仓库]
'''BallanceRecordChanger'''是一款能够解码,修改和复原[[Database.tdb/zh|Database.tdb]]文件的程序。其主要功能是修改排行榜成绩,或者强制解锁全部关卡。但是它同时也可以修改一部分设置,例如游戏中的按键键位等,这是由于Database.tdb文件也同时存储了这些数据。
2018年10月5日前,yyc12345想要将2014年8月25日,Gamepiaynmo于贴吧发帖称已经解密了Database.tdb文件并附上了加解密的程序与C++源码,jxpxxzj随后花费一些时间将其转为C#代码并随后将其应用到了[[Score Manager/zh|Score Manager]]中的记录榜读取部分代码单独抽取出来并开源,并希望通过自身努利将之前为了防止修改排行榜而未书写的数据库写入函数完成。此后通过对读取代码的分析和对文件格式的探究,在两天的时间内写完了数据库写入函数并在包装后进行了开源。中。 2018年10月5日前,yyc12345想要将Score Manager中的记录榜读取部分代码单独抽取出来并开源,并希望通过自身努利将之前为了防止修改排行榜而未书写的数据库写入函数完成。此后通过对读取代码的分析和对文件格式的探究,在两天的时间内写完了数据库写入函数并在包装后进行了开源。
2020年1月3日,yyc12345在编写[[ScoreManager-Magic/zh|ScoreManager-Magic]]时无意中发现了代码中的一个Bug,该Bug影响了修改第13关关卡的数据。在稍早之前,jxpxxzj曾诉说:“这个程序的数据库读取部分是在没有意识到C#有成熟的数据读取类时盲目地使用C语言的思想写出来的程序。”且事实上,代码在经过几轮修改后已经杂乱不堪,可扩展性也难以做到,支持v1.0版本的Database.tdb也是有一些困难。故yyc12345通过一些时间的研究,在完全弄清Database.tdb文件的结构之后完全重写了程序的核心。修复了Bug,同时支持了v1.0版本的Database.tdb文件读取和写入。
一段时间后程序输出<code>New Database.tdb file has been written into Database.new.tdb. Press any key to quit app.</code>,此使可以按回车或者直接关闭来退出程序,新生成的数据库文件名为<code>Database.new.tdb</code>(请尽量在上一步回车之前确保此文件不存在),此数据库文件即为按照您修改后的Json文件生成的数据库文件,可以自由地被加载。
 
== 注释 ==
 
<references />
[[Category:工具箱]]
1,132
个编辑

导航菜单