php威盾
1. 請問如何將威盾phpCodeLock加密的php程序解密
偶發現PHPCodeLock這個工具,感覺不錯,尤其不需要像Zend那樣還需要載入特殊插件才能進行正常執行,於是研究了一番它的加密方式,當然同時也對其解密進行了嘗試,不敢獨享,與眾PHP愛好者分享一下。 下載威盾PHP加密專家,並運行,如果按如下圖所示的選項進行加密: 在Input目錄中,我放入一個簡單的php程序,其內容為: -------------------------------------------------------------------------- <?php phpinfo(); echo "test"; ?> -------------------------------------------------------------------------- 那麼,點擊加密後,將在Output目錄中生成同名的一個加密後的文件,其內容為: --------------------------------------------------------------------------- <?php $OOO0O0O00=__FILE__;$OOO000000=urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');$OO00O0000=40;$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$O0O0000O0='OOO0000O0';eval(($$O0O0000O0('ZXZhbCgkT08wME8wME8wKTs=')));return;?> == --------------------------------------------------------------------------- 那麼簡單的兩行代碼,加密後居然變得如此恐怖,其實仔細研究後,不難發現它只是多次使用了以下一些php的特性進行多次編譯生成的這種復雜字元串: 1.php中變數的變數特性,比如$a="abc",那麼$$a將代表$abc,並且$a()將調用函數abc(),這種非常獨特的使用方法是該加密方法里重要的一個基礎,其他語言恐怕就不要想這樣弄了; 2.base64的編碼和解碼,多次使用,使一個字元串看上去無法理解,不過還原也不難; 3.字元串編碼後直接使用eval函數進行執行,即可和原始程序一模一樣了。 由此可見,這樣的加密文件是完全可逆,並且可以100%還原其源代碼的,經過我的實踐,已經完全反編譯還原了以下一些經過加密的程序並且完全正常運行: 1.通達OA2009最新版的數個重要加密文件; 2.UChome 的音樂盒插件最新版; 3.Discuz7論壇程序的Wap插件等。 如還有不明白的,可參看參考資料中的網址!
參考資料: http://hi..com/phpcodelock/blog/item/687e638e8c0974f3503d920a.html
2. 威盾PHP加密求解密 威盾php解密
<?php
require_once $GLOBALS['OOO0000O0']('Y29uZmlnLnBocA==');
require_once $GLOBALS['OOO0000O0']('cHVibGljL3dmc2VuZC5waHA=');
function WFCode($string,$operation,$key){
$key=md5($GLOBALS['OOO0000O0']('V0ZQSFBXRU5GRUkyMDEyODg4OA=='));
$key_length=strlen($key);
$string=$operation==$GLOBALS['OOO0000O0']('RA==')?$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSWwx')]($string):$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFJ')](md5($string.$key),0,8).$string;
$string_length=strlen($string);
$rndkey=$box=array();
$result=$GLOBALS['OOO0000O0']('');
for($i=0;$i<=255;$i++){
$rndkey[$i]=$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbGxJ')]($key[$i%$key_length]);
$box[$i]=$i;
}
for($j=$i=0;$i<256;$i++){
$j=($j+$box[$i]+$rndkey[$i])%256;
$tmp=$box[$i];
$box[$i]=$box[$j];
$box[$j]=$tmp;
}
for($a=$j=$i=0;$i<$string_length;$i++){
$a=($a+1)%256;
$j=($j+$box[$a])%256;
$tmp=$box[$a];
$box[$a]=$box[$j];
$box[$j]=$tmp;
$result.=$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbDFs')]($GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbGxJ')]($string[$i])^($box[($box[$a]+$box[$j])%256]));
}
if($operation==$GLOBALS['OOO0000O0']('RA==')){
if($GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFJ')]($result,0,8)==$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFJ')](md5($GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFJ')]($result,8).$key),0,8)){
return $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFJ')]($result,8);
}
else{
return$GLOBALS['OOO0000O0']('');
}
}
else{
return str_replace($GLOBALS['OOO0000O0']('PQ=='),$GLOBALS['OOO0000O0'](''),$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbDEx')]($result));
}
}
$errormsg = WFCode($GLOBALS['OOO0000O0']('Y5NA=='),$GLOBALS['OOO0000O0']('RA=='),$GLOBALS['OOO0000O0']('V0ZQSFA='));
$smtpm = WFCode($GLOBALS['OOO0000O0']('ZDhUVXp5Mw=='),$GLOBALS['OOO0000O0']('RA=='),$GLOBALS['OOO0000O0']('V0ZQSFA='));
if($usmtp!= WFCode($GLOBALS['OOO0000O0'](''),$GLOBALS['OOO0000O0']('RA=='),$GLOBALS['OOO0000O0']('V0ZQSFA=')).$wsmtp){echo $smtpm;exit;}
$out_trade_no = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJMWwx')]($GLOBALS['OOO0000O0']('WW1kSGlz'));
$dddate = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJMWwx')]($GLOBALS['OOO0000O0']('WS1tLWQgSDpp'));
$proct = $_POST[$GLOBALS['OOO0000O0']('cHJvZHVjdA==')];
$proctb = $_POST[$GLOBALS['OOO0000O0']('cHJvZHVjdGI=')];
$proctdx = $_POST[$GLOBALS['OOO0000O0']('cHJvZHVjdGR4')];
$proctc = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsSWxJ')]($GLOBALS['OOO0000O0']('PGJyPg=='),$proctdx);
$cpmun = $_POST[$GLOBALS['OOO0000O0']('Y3BtdW4=')];
$price = $_POST[$GLOBALS['OOO0000O0']('cHJpY2U=')];
$zfbjg = $price * $alipayzk;
$dgname = $_POST[$GLOBALS['OOO0000O0']('ZGYW1l')];
$province = $_POST[$GLOBALS['OOO0000O0']('cHJvdmluY2U=')];
$city = $_POST[$GLOBALS['OOO0000O0']('Y2l0eQ==')];
$area = $_POST[$GLOBALS['OOO0000O0']('YXJlYQ==')];
$address = $_POST[$GLOBALS['OOO0000O0']('YWRkcmVzcw==')];
$post = $_POST[$GLOBALS['OOO0000O0']('cG9zdA==')];
$mob = $_POST[$GLOBALS['OOO0000O0']('bW9i')];
$tel = $_POST[$GLOBALS['OOO0000O0']('dGVs')];
$qq = $_POST[$GLOBALS['OOO0000O0']('cXE=')];
$email = $_POST[$GLOBALS['OOO0000O0']('ZW1haWw=')];
$paytype = $_POST[$GLOBALS['OOO0000O0']('cGF5dHlwZQ==')];
$guest = $_POST[$GLOBALS['OOO0000O0']('Z3Vlc3Q=')];
$mail = new PHPMailer();
$mail->CharSet = $GLOBALS['OOO0000O0']('Z2IyMzEy');
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Port = 25;
$mail->Host = $Mailhost;
$mail->Username = $MailUsername;
$mail->Password = $MailPassword;
$mail->From = $MailFrom;
$mail->FromName = $FromName;
$mail->AddAddress($MailTo,$FromName);
$mail->AddAddress($MailTob,$FromName);
$mail->WordWrap = 50;
$mail->IsHTML(true);
?>
3. PHP威盾解密求助!
用黑刀試試看。
4. php文件怎麼加密不影響運行
php加密方式有很多,比如用zend,phpjm,威盾,都可以的,加密後不會影響運行
5. php威盾解密有接觸過的嗎
有啊,能解的。
6. 威盾PHP加密破解
去黑刀部落看下吧,那有解密機
7. 請問以下是用什麼加密了PHP文件
這事威盾PHP加密專家加密後的產物,其實也不能算什麼加密,只是用別的編碼編譯下而已,完全可以反編譯回來,
8. 威盾PHP加密代碼解密後,為什麼不能用
<?php
/***********************************
*威盾PHP加密專家解密演算法 By:SPY64
*
*2009-10-5
***********************************/
$filename="play-js.php";//要解密的文件
$lines = file($filename);//0,1,2行
//第一次base64解密
$content="";
if(preg_match("/O0O0000O0\('.*'\)/",$lines[1],$y))
{
$content=str_replace("O0O0000O0('","",$y[0]);
$content=str_replace("')","",$content);
$content=base64_decode($content);
}
//第一次base64解密後的內容中查找密鑰
$decode_key="";
if(preg_match("/\),'.*',/",$content,$k))
{
$decode_key=str_replace("),'","",$k[0]);
$decode_key=str_replace("',","",$decode_key);
}
//查找要截取字元串長度
$str_length="";
if(preg_match("/,\d*\),/",$content,$k))
{
$str_length=str_replace("),","",$k[0]);
$str_length=str_replace(",","",$str_length);
}
//截取文件加密後的密文
$Secret=substr($lines[2],$str_length);
//echo $Secret;
//直接還原密文輸出
echo "<?php\n".base64_decode(strtr($Secret,$decode_key,'+/'))."?>";
?>
9. php威盾解密
這種東西沒有密鑰解不開的 直接聯系開發商吧