+ -
当前位置:首页 → 问答吧 → ZG5已被攻破……

ZG5已被攻破……

时间:2007-12-26

来源:互联网

deZend程序下载地址:http://www.mmscn.org/index.php?showtopic=3052

作者: forwardlau   发布时间: 2007-12-25

我们知道,Zend Guard有三层保护机制:编码,混淆和license管理。
        经过我在Zend Guard最新的5.0.1上的测试,deZend通过反编译,针对PHP5,可以破解Zend Guard的第一层保护机制:编码。但是还无法破解另外两次保护机制。以下是我使用Zend Guard混淆功能加密后,再使用deZend反编译后的代码截图:
        
anti-encoded.JPG (43.54 KB)
2007-12-26 14:24


        我们可以看的比较清楚,破解是不完全的。

        在这里我强烈建议各个Zend Guard用户加密时,在security选项时按下图进行配置,最大化保护您的利益!
        
security.JPG (13.42 KB)
2007-12-26 14:24

        关于部分已经破解的问题,我会尽快反馈给Zend。

作者: haitao   发布时间: 2007-12-26

呵呵,又是个标题党,人云亦云。
事实胜于雄辩。

作者: PHPChina   发布时间: 2007-12-26

其实虽然这个破解不是很完全,但是除了那些函数名称和相关的参数不完全,其他的都已经很完整了

而且虽然变量名称和函数名称都是乱七八糟的东西,其实仔细看一下还是可以用的,因为同一个变量名称在一个文件里面它所出现的乱七八糟的文字也是一样的,不会出现不一样的名称

所以也就可以当作遇到了一个没有按照常规来定义变量名称和函数名称一样,从这个角度来说,那其实这个加密信息就已经算是被破解了,我只要花点时间把那些乱七八糟的名称按照一样的规律改一下名字就行了,虽然可能改好了和原来的不一样,但是只要能用,只要可以看名称程序就行了。

作者: aaabbbaaa   发布时间: 2007-12-27

引用:
原帖由 haitao 于 2007-12-26 14:24 发表
我们知道,Zend Guard有三层保护机制:编码,混淆和license管理。
        经过我在Zend Guard最新的5.0.1上的测试,deZend通过反编译,针对PHP5,可以破解Zend Guard的第一层保护机制:编码。但是还无法破解另外两次 ...
ZG 5.0.1 已经出了?在哪里可以下载?

作者: diekiss   发布时间: 2007-12-27

http://www.phpchina.com/download/

作者: haitao   发布时间: 2007-12-29

个人觉得破了又如何,开源PHP那么多,还不是一样看不明白逻辑在那

作者: dhgdmw   发布时间: 2007-12-31

可以用来破解杜江老师随书赠送的部分加密代码了
杜江老师的代码我看了下,好像是只打算能用起来即可,要安装要手工修改配置文件的,mysql有100多M,导不了

作者: jyb21   发布时间: 2008-01-01

引用:
原帖由 haitao 于 2007-12-26 14:24 发表
我们知道,Zend Guard有三层保护机制:编码,混淆和license管理。
        经过我在Zend Guard最新的5.0.1上的测试,deZend通过反编译,针对PHP5,可以破解Zend Guard的第一层保护机制:编码。但是还无法破解另外两次 ...
回复下2楼

虽然zend guard有三层保护,但是一旦编码被反编译,那么剩下的license管理已经形同虚设;而从二楼给出来的图看,ZG的混淆不过是只基于函数名和class的,php有多少个函数大家很清楚,常用的不过20%,也就百来个,根据上下文和参数,很容易就把这些函数猜出来了。之后做一个批量替换,整个文件就完全被复原了。

换句话说,zg现在已经价值不大了。开始成为防君子不防小人的东西。

而且如果光是混淆的话,又何必花钱买zg,网上有很多开源免费的php混淆器可以使用。

作者: easy   发布时间: 2008-01-01

PHP项目又不只由几个文件组成,大型项目是由成百个上千个文件组成,楼上未免有些鼠目寸光了,也许一,两个文件你可以有心情去猜,但是成百上千的文件你都要一个一个去猜吗?

作者: zendchina   发布时间: 2008-01-01

引用:
原帖由 easy 于 2008-1-1 11:38 发表


回复下2楼

虽然zend guard有三层保护,但是一旦编码被反编译,那么剩下的license管理已经形同虚设;而从二楼给出来的图看,ZG的混淆不过是只基于函数名和class的,php有多少个函数大家很清楚,常用的不过20%, ...
未经实战的猜测总是很轻松……

easy 倒是推荐一款免费的工具用用。

作者: diekiss   发布时间: 2008-01-01

引用:
原帖由 zendchina 于 2008-1-1 15:12 发表
PHP项目又不只由几个文件组成,大型项目是由成百个上千个文件组成,楼上未免有些鼠目寸光了,也许一,两个文件你可以有心情去猜,但是成百上千的文件你都要一个一个去猜吗?
唉 首先项目不是所有代码都加密的,为了扩展性,不少项目都是核心代码加密。

然后,变量不用去猜的,比如一些授权显示逻辑,只要直接返回布尔值就好了。

我拿上边的链接的代码轻松搞定好多个加密项目,你自己去dezend下dz原来的加密版就清楚你说的有没有用了。

作者: easy   发布时间: 2008-01-04

引用:
原帖由 diekiss 于 2008-1-1 15:46 发表

未经实战的猜测总是很轻松……

easy 倒是推荐一款免费的工具用用。
呃 本来不太想跑这里搅场子的 只是想ZG给个真正解决的方案出来 不过看来都不太友好啊   ...


那我就顺手贴一个了  http://www.raizlabs.com/software/phpobfuscator/

更多的 点这里 http://del.icio.us/search/?fr=del_icio_us&p=Obfuscator+php&type=all

作者: easy   发布时间: 2008-01-04

引用:
原帖由 easy 于 2008-1-4 09:59 发表


唉 首先项目不是所有代码都加密的,为了扩展性,不少项目都是核心代码加密。

然后,变量不用去猜的,比如一些授权显示逻辑,只要直接返回布尔值就好了。

我拿上边的链接的代码轻松搞定好多个加密项目,你自 ...
Dz 加密的版本那是什么时代了,貌似Dz4.0以后的版本就不再加密(请容许我这样说因为我没有看过Dz每一个文件)。那是至少一年半前的事情了吧?那个时候ZG5还没出呢。

作者: diekiss   发布时间: 2008-01-04

easy 可否试试解密我提供的一个加密文件,看看相似度?
http://bbs.phpchina.com/thread-42767-1-1.html

作者: diekiss   发布时间: 2008-01-04

刚试了一下 DeZender 5,的确可以还原ZG5 encode的文件(无混淆情况下)。
相似度 100%(虽然有些HTML和PHP混合写法经过了转换,但实现还是一样的);并且排版很整洁 :)

作者: diekiss   发布时间: 2008-01-04

引用:
原帖由 haitao 于 2007-12-26 14:24 发表
我们知道,Zend Guard有三层保护机制:编码,混淆和license管理。
        经过我在Zend Guard最新的5.0.1上的测试,deZend通过反编译,针对PHP5,可以破解Zend Guard的第一层保护机制:编码。但是还无法破解另外两次 ...
按照你的建议,采取三层加密,运行出错。请版主帮助,正版ZG5

Variables 通过
Functions 出错如下
Classes 出错如下

Fatal error: Call to undefined function login() in ....
Fatal error: Call to undefined method Smarty:: y{j;() in ...

作者: julia_yl   发布时间: 2008-01-16

我也遇到这个问题。

作者: diekiss   发布时间: 2008-04-27

官方也没办法

作者: diekiss   发布时间: 2008-05-03

热门下载

更多