利用Zend Guard 加密php文件, 常量、字符串的没有难阅读化的问题
Zend Guard 可以加密php的代码文件, 但是问题依然不小,将加密后的文件恢复可以看到,Zend Guard 的加密使原文件中的“变量”“类名”都发生了变化,使之难阅读化了(变量名很怪),但是对于字符串的加密却没有改变使之难阅读化。
如下所示是加密原文件和加密破解后文件,这样的话,如果我写:
define('CLASSNAME1', 'myNewClass');
$c = new CLASSNAME1;
这样的语句系统就会提示找不到名为myNewClass的类,原因很简单,因为myNewClass的文件一旦被加密,myNewClass这样的名称
其实不再存在了,它被“难阅读化了”,可能叫V92ebdpoerdasew5ffe之类的怪名字了。
如何解决这个问题,我还没找到答案,请各位帮帮忙。
test.php
<?php
$a = 1;
$b = 2;
$c = $a + $b;
echo $c;
/* comment comment comment */
echo "zzzzzzzzzzzzzzzzzzz\n";
class TestClass {
var $test;
function setTest($var){
$this->test = $var;
}
function getTest(){
return $this->test;
}
}
// comment
$obj = new TestClass();
$obj->setTest(1);
echo $obj->getTest();
?>
test.php 難読化後
<?php $V0cc175b9 = 1; $V92eb5ffe = 2; $V4a8a08f0 = $V0cc175b9 + $V92eb5ffe; echo $V4a8a08f0; echo "zzzzzzzzzzzzzzzzzzz\n";
class F3b5abadd { var $V098f6bcd; function F5f854b88($Vb2145aac){ $this->V098f6bcd= $Vb2145aac; }
function F9c25887d(){ return $this->V098f6bcd; } } $Vbe8f8018 = new F3b5abadd(); $Vbe8f8018->F5f854b88(1);
echo $Vbe8f8018->F9c25887d(); ?> 这好象不是zend guard加密的
页:
[1]
