前几天把 v6.0程序传到网站空间了,但是在 install/index.php?action=register 步骤,一直显示 所请求的页面未找到。以为是改了 php.ini 后apache没有重启的缘故。昨天看了下apache已经被重启了。 于是再试,仍然是同样的错误。
今天整理了下 dezend 工具的用法,往 config.ini 里补充了一些字串,自己用 php 写程序批量反编译的全部zend过的文件。比上次多了些明码函数。更了解了中易的授权检测。
install/index.php?action=check 这一步,会调用 zend_loader_file_licensed 函数,检测授权文件 zyiis.zl 。
Product-Name = ZYADS
Registered-To = www.ad8.cc
Expires = Never
Hardware-Locked = No
Produced-By = YingZhong
Verification-Code = wBgfxTjZPzpdSlPgThYryXOiqnozAhQzDCdF0JTVt38EyoCfScG0+0YNrQ==
开始我把 Registered-To 改成自己的域名, check 这一步就提示 “无法加载授权文件”。经过多次测试,方才弄清楚, 也理解了zend_loader_file_licensed 函数。这个函数只是检测 Registered-To 跟 Verification-Code 是否匹配,并不在于程序运行于哪个域名之下,所以只要有一个合法的 license 文件,就可以进行安装了。
搞清楚了这点,一直困扰我的 register 步骤,就解决了。
在本机,可以修改 localhost,把 reg.zyiis.com 指向本机,在空间,也可以添加一个域名就行。然后传一个reg.php。一路下去安装成功了。
--------------
安装是成功了,可是打开后台的时候提示 Domain error. 在 app\controller\admin.php 找到了对应的代码
if ( !is_numeric( strpos( $_obfuscate_LlIxaWNNzw__['Registered-To'], $GLOBALS['C_ZYIIS']['siteurl'] ) ) )
{
exit( "Domain error." );
}
if ( $_SERVER['HTTP_HOST'] != $_obfuscate_LlIxaWNNzw__['Registered-To'] )
{
exit( "URL ERROR" );
}
if ( $_obfuscate_LlIxaWNNzw__['Registered-To'] != $GLOBALS['C_ZYIIS']['authorized_url'] )
{
exit( "Domain error Name." );
}
要想破解,只有改 Registered-To 为自己的域名,但是改了之后,zend文件授权检测就会失败,整个程序都打不开了。
除非能研究出 Registered-To 跟 Verification-Code 之间的算法。