VI Explorer VI破解源码
VI Explorer 源代码
这个 php-vi-Explorer 项目代码的源代码可以在 GitHub
https://github.com/tomsoftware/VI-Explorer 找到
简短描述
.VI 文件是一种基于容器的文件格式。所有部分(我称它们为“块”)都有“BDPW”或“FPHx”之类的名称(“x”代表表示该块版本的字母,例如。“a”或“b”)。
每个块都可以(不经常)容纳几个子块(实际上我不知道为什么)。
一些块使用 ZLIB(PHP:gzcompress())进行压缩。
(见clLabView.php)
方框图
框图存储在“BDHx”块中。它使用二叉树格式来存储层次结构。它们使用一种“xml 标签”来打开和关闭对象。
(有关二进制格式和clBDHx.php,请参阅clObjFile.php)
前面板
二进制格式与框图相同,但类型略有不同。
(有关二进制格式和clFPHx.php,请参阅clObjFile.php)
图标
对于图标的不同颜色模式,有不同的块名(例如“icl8”、“icl4”、“ICON”)。 图像存储为二进制位图。
(见clIcon.php)
文件版本
.VI 文件的版本存储在“LVSR”和“vers”块中。
(见clLVSR.php)
端子/连接
.VI 使用的所有终端和 .VI 本身的终端都存储在“VCTP”块中。VCTP 包含自下而上的对象。这意味着对象可以继承自先前定义的对象。 因此,要定义集群,他们首先定义每个元素,然后添加一个集群对象,其中包含集群使用的所有先前定义的元素的索引表。
(见clVCTP.php)
密码保护
每。VI 文件具有包含三个 16 字节二进制 md5 哈希的“BDPW”块。
第一个哈希值是用于“保护”框图的密码的 md5。
第二个是由第一个与两个块“LIBN”、“LVSR”以及自 LV2012 以来的盐组合而成的。第三
个哈希值是从第二个哈希值和框图“BDHc”块
创建的,盐由三个 32 位整数组成。这些数字表示 vi 文件使用的类型(数字、字符串、路径)的端子连接数(参见 [端子/连接])。
(参见clBDPW.php - 函数 getHash() )