“Virtools Script Deobfuscation/zh”的版本间的差异
小 (改变称谓) |
小 (修正错误) |
||
第6行: | 第6行: | ||
|suit= | |suit= | ||
|link=[https://tieba.baidu.com/p/5568364314 发布帖]<br />[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库] | |link=[https://tieba.baidu.com/p/5568364314 发布帖]<br />[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库] | ||
− | |dependency=[[Virtools SDK/zh|Virtools SDK]] | + | |dependency=[[Virtools SDK/zh|Virtools SDK]] 3.5用作编译库<br />至少Visual Studio 2017且附带了C++编译环境用于编译插件 |
|status=pause | |status=pause | ||
|date=2018年2月27日 | |date=2018年2月27日 | ||
第19行: | 第19行: | ||
但是时至今日,Ballance这一步操作反而阻挡了将其发扬光大的操作,因为无法探知游戏内部机制,因而制作各类补丁和新功能变得更加困难。 | 但是时至今日,Ballance这一步操作反而阻挡了将其发扬光大的操作,因为无法探知游戏内部机制,因而制作各类补丁和新功能变得更加困难。 | ||
− | chirs241094和2jjy使用了Virtools | + | chirs241094和2jjy使用了Virtools SDK 3.5来完成Virtools Script Deobfuscation,通过底层的逆向工程还原了Virtools存储脚本图结构信息的内部模式。 |
由于Script Hidden只删除了编辑界面上的图结构信息,并没有删除诸如Building Blocks之间链接线等逻辑信息,因此chirs241094和2jjy通过算法生成了这些缺失的信息,虽然和原脚本相比排布会更加混乱一些(无法完全精确恢复排布位置),但让它们能被Virtools Dev的编辑器所接受,并且基本上可以让人理解。 | 由于Script Hidden只删除了编辑界面上的图结构信息,并没有删除诸如Building Blocks之间链接线等逻辑信息,因此chirs241094和2jjy通过算法生成了这些缺失的信息,虽然和原脚本相比排布会更加混乱一些(无法完全精确恢复排布位置),但让它们能被Virtools Dev的编辑器所接受,并且基本上可以让人理解。 | ||
第27行: | 第27行: | ||
前往[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库]自行编译使用。编译教程已写在工程中。 | 前往[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库]自行编译使用。编译教程已写在工程中。 | ||
− | 使用方法并未写出。<ref> | + | 使用方法并未写出。<ref>使用方法正在项目中等待被合并到主线</ref> |
== 另请参见 == | == 另请参见 == | ||
第37行: | 第37行: | ||
* 2jjy通过分析解析出来的游戏内核文件发现了当时仍然未被发现的[[gravity彩蛋]] | * 2jjy通过分析解析出来的游戏内核文件发现了当时仍然未被发现的[[gravity彩蛋]] | ||
+ | * 解析脚本后发现了“调试模式”与“上帝模式”,开启后按下数字键1,2以及F1等均会产生不同的效果 | ||
== 引用 == | == 引用 == |
2020年3月28日 (六) 15:34的版本
Virtools Script Deobfuscation | |
---|---|
一张使用Virtools Script Deobfuscation进行还原脚本后的Ballance游戏核心文件的截图 | |
基本信息 | |
作者 | chirs241097, 2jjy |
依赖 |
Virtools SDK 3.5用作编译库 至少Visual Studio 2017且附带了C++编译环境用于编译插件 |
发布时间 | 2018年2月27日 |
项目地址 |
发布帖 Github仓库 |
开发状态 | 开发停滞 |
Virtools Script Deobfuscation是由chirs241094和2jjy主要负责开发的一款Virtools插件。
介绍
众所周知,Virtools的CMO文件,又或者NMO文件中可以嵌入脚本,使得可以通过一些事件的触发来产生另一些事件,同时也可用于编辑游戏本体的逻辑,Ballance的游戏逻辑就是这样被编码在其中的。而Virtools提供了一个特性,开发者可以通过勾选一个选项来使得发布后的脚本结构被隐藏,显示为Script Hidden从而避免一些用户自行修改脚本,篡改游戏。
但是时至今日,Ballance这一步操作反而阻挡了将其发扬光大的操作,因为无法探知游戏内部机制,因而制作各类补丁和新功能变得更加困难。
chirs241094和2jjy使用了Virtools SDK 3.5来完成Virtools Script Deobfuscation,通过底层的逆向工程还原了Virtools存储脚本图结构信息的内部模式。
由于Script Hidden只删除了编辑界面上的图结构信息,并没有删除诸如Building Blocks之间链接线等逻辑信息,因此chirs241094和2jjy通过算法生成了这些缺失的信息,虽然和原脚本相比排布会更加混乱一些(无法完全精确恢复排布位置),但让它们能被Virtools Dev的编辑器所接受,并且基本上可以让人理解。
下载和使用
前往Github仓库自行编译使用。编译教程已写在工程中。
使用方法并未写出。[1]
另请参见
- 已经完全解析好的游戏内核文件已经释出,参见:Github仓库
- chirs241097的另一逆向工具:Script-Materializer
你知道吗?
- 2jjy通过分析解析出来的游戏内核文件发现了当时仍然未被发现的gravity彩蛋
- 解析脚本后发现了“调试模式”与“上帝模式”,开启后按下数字键1,2以及F1等均会产生不同的效果
引用
- ↑ 使用方法正在项目中等待被合并到主线