1,136
个编辑
更改
创建页面,内容为“{{Appbox/zh |name=Virtools Script Deobfuscation |screenshot=Virtools Script Deobfuscation.png |screenshotDesc=一张使用Virtools Script Deobfuscation进行还原…”
{{Appbox/zh
|name=Virtools Script Deobfuscation
|screenshot=Virtools Script Deobfuscation.png
|screenshotDesc=一张使用Virtools Script Deobfuscation进行还原脚本后的Ballance游戏核心文件的截图
|author=[[chirs241097]], [[2jjy]]
|suit=
|link=[https://tieba.baidu.com/p/5568364314 发布帖]<br />[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库]
|dependency=[[Virtools SDK/zh|Virtools SDK]] 2.1用作编译库<br />至少Visual Studio 2017且附带了C++编译环境用于编译插件
|status=pause
|date=2018年2月27日
}}
Virtools Script Deobfuscation是由chirs241094和2jjy主要负责开发的一款[[Virtools/zh|Virtools]]插件。
== 介绍 ==
众所周知,Virtools的[[CMO文件]],又或者[[NMO文件]]中可以嵌入[[脚本]],使得可以通过一些事件的触发来产生另一些事件,同时也可用于编辑游戏本体的逻辑,Ballance的游戏逻辑就是这样被编码在其中的。而Virtools提供了一个特性,开发者可以通过勾选一个选项来使得发布后的脚本结构被隐藏,显示为Script Hidden从而避免一些用户自行修改脚本,篡改游戏。
但是时至今日,Ballance这一步操作反而阻挡了将其发扬光大的操作,因为无法探知游戏内部机制,因而制作各类补丁和新功能变得更加困难。
chirs241094和2jjy使用了Virtools Dev 3.5的SDK来完成Virtools Script Deobfuscation,通过底层的逆向工程还原了Virtools存储脚本图结构信息的内部模式。
由于Script Hidden只删除了编辑界面上的图结构信息,并没有删除诸如Building Blocks之间链接线等逻辑信息,因此chirs241094和2jjy通过算法生成了这些缺失的信息,虽然和原脚本相比排布会更加混乱一些(无法完全精确恢复排布位置),但让它们能被Virtools Dev的编辑器所接受,并且基本上可以让人理解。
== 下载和使用 ==
前往[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库]自行编译使用。编译教程已写在工程中。
使用方法并未写出。<ref>我测试的时候编译成功了,但是执行脚本的时候总是给我抛出Bug,连原版文件的解析都不能复现。</ref>
== 另请参见 ==
* 已经完全解析好的游戏内核文件已经释出,参见:[https://github.com/BearKidsTeam/BallanceModding Github仓库]
* chirs241097的另一逆向工具:[[Script-Materializer/zh|Script-Materializer]]
== 你知道吗? ==
* chirs241094通过分析解析出来的游戏内核文件发现了当时仍然未被发现的[[gravity彩蛋]]
== 引用 ==
<references />
[[Category:工具箱]]
|name=Virtools Script Deobfuscation
|screenshot=Virtools Script Deobfuscation.png
|screenshotDesc=一张使用Virtools Script Deobfuscation进行还原脚本后的Ballance游戏核心文件的截图
|author=[[chirs241097]], [[2jjy]]
|suit=
|link=[https://tieba.baidu.com/p/5568364314 发布帖]<br />[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库]
|dependency=[[Virtools SDK/zh|Virtools SDK]] 2.1用作编译库<br />至少Visual Studio 2017且附带了C++编译环境用于编译插件
|status=pause
|date=2018年2月27日
}}
Virtools Script Deobfuscation是由chirs241094和2jjy主要负责开发的一款[[Virtools/zh|Virtools]]插件。
== 介绍 ==
众所周知,Virtools的[[CMO文件]],又或者[[NMO文件]]中可以嵌入[[脚本]],使得可以通过一些事件的触发来产生另一些事件,同时也可用于编辑游戏本体的逻辑,Ballance的游戏逻辑就是这样被编码在其中的。而Virtools提供了一个特性,开发者可以通过勾选一个选项来使得发布后的脚本结构被隐藏,显示为Script Hidden从而避免一些用户自行修改脚本,篡改游戏。
但是时至今日,Ballance这一步操作反而阻挡了将其发扬光大的操作,因为无法探知游戏内部机制,因而制作各类补丁和新功能变得更加困难。
chirs241094和2jjy使用了Virtools Dev 3.5的SDK来完成Virtools Script Deobfuscation,通过底层的逆向工程还原了Virtools存储脚本图结构信息的内部模式。
由于Script Hidden只删除了编辑界面上的图结构信息,并没有删除诸如Building Blocks之间链接线等逻辑信息,因此chirs241094和2jjy通过算法生成了这些缺失的信息,虽然和原脚本相比排布会更加混乱一些(无法完全精确恢复排布位置),但让它们能被Virtools Dev的编辑器所接受,并且基本上可以让人理解。
== 下载和使用 ==
前往[https://github.com/BearKidsTeam/VirtoolsScriptDeobfuscation Github仓库]自行编译使用。编译教程已写在工程中。
使用方法并未写出。<ref>我测试的时候编译成功了,但是执行脚本的时候总是给我抛出Bug,连原版文件的解析都不能复现。</ref>
== 另请参见 ==
* 已经完全解析好的游戏内核文件已经释出,参见:[https://github.com/BearKidsTeam/BallanceModding Github仓库]
* chirs241097的另一逆向工具:[[Script-Materializer/zh|Script-Materializer]]
== 你知道吗? ==
* chirs241094通过分析解析出来的游戏内核文件发现了当时仍然未被发现的[[gravity彩蛋]]
== 引用 ==
<references />
[[Category:工具箱]]