php加密破解版
Zend Guard是目前市面上最成熟的PHP源碼加密產品。
經過本人搜集資料,親身測試後,總結了如何利用Zend Guard對PHP文件進行加密,以及如何利用Zend Loader對加密後的PHP文件進行解密。
我使用的是Wampserver2.2,其中php的版本是5.3.10。(注意:這個裡面自帶的php版本屬於TS版本,即Thread safety線程安全)
Zend Guard的安裝及破解
點擊下載 Zend Guard5.5.0,下載完成後,請自行傻瓜式安裝。
破解需要注意以下幾點:
1、本KEY的有效時間為2010年7月10號,因此激活時,請將自己電腦的系統時間調整到這個時間之前,如:2009-01-01
2、本KEY激活的為試用版,加密過的文件只有14天有效時間,因此在加密文件時,請將自己電腦的系統時間向後調整幾年,如:2020-01-01
3、點擊下載授權文件 zend_guard授權文件.zip,解壓得到zend_guard.zl,即激活用的文件
4、打開Zend Guard 5.5.0,[Help] - [Register] - [Search for a license file on my disk],選擇zend_guard.zl授權文件激活即可
如何使用Zend Guard進行加密?
1、打開Zend Guard 5.5.0,[File]-[New]-[Zend Guard Project],新建項目。
彈出如下的對話框:
2、點擊 Next ,下一步。彈出如下對話框,選擇要進行加密的源文件或文件夾。
本步驟是選擇要加密的文件,可以是單個文件[Add File]或整個文件夾[Add Folder],然後[Next]。
(此處,我選擇的是對整個文件夾進行加密。即 D:\wamp\www\demo 里的所有文件進行加密。)
3、接下來是選擇PHP的版本[與你web伺服器上PHP的版本相對照],這里很重要,版本不對會出錯,[Finish]完成項目的創建。
注意: 對於Zend Guard 5.5.0這個版本的加密軟體,最高只可支持5.3版本的PHP。如果您的PHP版本較高,請到Zend Guard官網下載對應的高版本加密軟體。
(由於,我的PHP版本是PHP 5.3.10,故這里我選擇PHP 5.3,其他地方可以默認,直接點擊完成)
4、在Zend Guard左側的Guard Explorer中,可以看到你新建的項目了,滑鼠選中項目名稱後,右鍵單擊[Encode Project],完成。
如此,就實現了對PHP源碼的最簡單的加密。如果還有更多不明白可以去後盾人看看相關視頻。希望對你有幫助。
⑵ php代碼怎麼加密最好,不能破解的那種
在使用PHP開發Web應用的中,很多的應用都會要求用戶注冊,而注冊的時候就需要我們對用戶的信息進行處理了,最常見的莫過於就是郵箱和密碼了,本文意在討論對密碼的處理:也就是對密碼的加密處理。
MD5
相信很多PHP開發者在最先接觸PHP的時候,處理密碼的首選加密函數可能就是MD5了,我當時就是這樣的:
$password = md5($_POST["password"]);
上面這段代碼是不是很熟悉?然而MD5的加密方式目前在PHP的江湖中貌似不太受歡迎了,因為它的加密演算法實在是顯得有點簡單了,而且很多破解密碼的站點都存放了很多經過MD5加密的密碼字元串,所以這里我是非常不提倡還在單單使用MD5來加密用戶的密碼的。
SHA256 和 SHA512
其實跟前面的MD5同期的還有一個SHA1加密方式的,不過也是演算法比較簡單,所以這里就一筆帶過吧。而這里即將要說到的SHA256 和 SHA512都是來自於SHA2家族的加密函數,看名字可能你就猜的出來了,這兩個加密方式分別生成256和512比特長度的hash字串。
他們的使用方法如下:
<?php
$password = hash("sha256", $password);
PHP內置了hash()函數,你只需要將加密方式傳給hash()函數就好了。你可以直接指明sha256, sha512, md5, sha1等加密方式。
鹽值
在加密的過程,我們還有一個非常常見的小夥伴:鹽值。對,我們在加密的時候其實會給加密的字元串添加一個額外的字元串,以達到提高一定安全的目的:
<?php
function generateHashWithSalt($password) {$intermediateSalt = md5(uniqid(rand(), true));$salt = substr($intermediateSalt, 0, 6);
return hash("sha256", $password . $salt);}
Bcrypt
如果讓我來建議一種加密方式的話,Bcrypt可能是我給你推薦的最低要求了,因為我會強烈推薦你後面會說到的Hashing API,不過Bcrypt也不失為一種比較不錯的加密方式了。
<?php
function generateHash($password) {
if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH) {$salt = '$2y$11$' . substr(md5(uniqid(rand(), true)), 0, 22);return crypt($password, $salt);
}
}
Bcrypt 其實就是Blowfish和crypt()函數的結合,我們這里通過CRYPT_BLOWFISH判斷Blowfish是否可用,然後像上面一樣生成一個鹽值,不過這里需要注意的是,crypt()的鹽值必須以$2a$或者$2y$開頭,詳細資料可以參考下面的鏈接:
http://www.php.net/security/crypt_blowfish.php更多資料可以看這里:
http://php.net/manual/en/function.crypt.phpPassword Hashing API
這里才是我們的重頭戲,Password Hashing API是PHP 5.5之後才有的新特性,它主要是提供下面幾個函數供我們使用:
password_hash() – 對密碼加密.
password_verify() – 驗證已經加密的密碼,檢驗其hash字串是否一致.
password_needs_rehash() – 給密碼重新加密.
password_get_info() – 返回加密演算法的名稱和一些相關信息.
雖然說crypt()函數在使用上已足夠,但是password_hash()不僅可以使我們的代碼更加簡短,而且還在安全方面給了我們更好的保障,所以,現在PHP的官方都是推薦這種方式來加密用戶的密碼,很多流行的框架比如Laravel就是用的這種加密方式。
<?php
$hash = password_hash($passwod, PASSWORD_DEFAULT);對,就是這么簡單,一行代碼,All done。
PASSWORD_DEFAULT目前使用的就是Bcrypt,所以在上面我會說推薦這個,不過因為Password Hashing API做得更好了,我必須鄭重地想你推薦Password Hashing API。這里需要注意的是,如果你代碼使用的都是PASSWORD_DEFAULT加密方式,那麼在資料庫的表中,password欄位就得設置超過60個字元長度,你也可以使用PASSWORD_BCRYPT,這個時候,加密後字串總是60個字元長度。
這里使用password_hash()你完全可以不提供鹽值(salt)和 消耗值 (cost),你可以將後者理解為一種性能的消耗值,cost越大,加密演算法越復雜,消耗的內存也就越大。當然,如果你需要指定對應的鹽值和消耗值,你可以這樣寫:
<?php
$options = [
'salt' => custom_function_for_salt(), //write your own code to generate a suitable salt'cost' => 12 // the default cost is 10
];
$hash = password_hash($password, PASSWORD_DEFAULT, $options);密碼加密過後,我們需要對密碼進行驗證,以此來判斷用戶輸入的密碼是否正確:
<?php
if (password_verify($password, $hash)) {
// Pass
}
else {
// Invalid
}
很簡單的吧,直接使用password_verify就可以對我們之前加密過的字元串(存在資料庫中)進行驗證了。
然而,如果有時候我們需要更改我們的加密方式,如某一天我們突然想更換一下鹽值或者提高一下消耗值,我們這時候就要使用到password_needs_rehash()函數了:
<?php
if (password_needs_rehash($hash, PASSWORD_DEFAULT, ['cost' => 12])) {// cost change to 12
$hash = password_hash($password, PASSWORD_DEFAULT, ['cost' => 12]);// don't forget to store the new hash!
}
只有這樣,PHP的Password Hashing API才會知道我們重現更換了加密方式,這樣的主要目的就是為了後面的密碼驗證。
簡單地說一下password_get_info(),這個函數一般可以看到下面三個信息:
algo – 演算法實例
algoName – 演算法名字
options – 加密時候的可選參數
所以,現在就開始用PHP 5.5吧,別再糾結低版本了。
Happy Hacking
⑶ php怎樣用Zend Guard加密
ZendGuard是一款php的加密工具,它可以編譯php源碼變為位元組碼
加密的具體步驟如下:
在網上下載ZendGuard 關於PHP文件加密的軟體
安裝完畢以後,找到bin目錄下zendenc.exe 。註:(破解版)
使用方法,先找一個你要加密的php文件,比如iii.php
然後在命令行裡面輸入: zendenc iii.php 33.php
第二個參數是你的要加密的php文件,第三個參數是輸出文件的名字. 附件裡面有個最簡單的webshell可加密以後的文件
加密成功,可以把加密的前後的PHP文件進行對比。
⑷ 有沒有可以用的解密zend加密的php文件的軟體啊
你可以用 Dezender 軟體,這是一款可以幾乎完美破解zend加密的軟體,下載地址:
http://down.chinaz.com/soft/20941.htm
因為這個軟體是綠色版,解壓好就可以使用了,不過只支持在DOS環境下運行。這里假設把它解壓到E盤,然後進入E:DezenderPHP5PHP5,修改php.ini文件的最後兩行,修改成如下:
zend_extension_manager.optimizer_ts="E:Dezenderend for PHP5"
zend_extension_ts="E:Dezenderend for PHP5end for PHP5Optimizer-3.3.0php-5.2.xendOptimizer.dll"
根據你要解密的php文件的版本來,如果是php-5.1的就修改成php-5.1.x,它支持php4和php5幾乎所有的版本。
修改好以後,就可以開工了:
運行命令提示符(cmd.exe)
按以下步驟操作(依次輸入命令)
E:
E:>cdE:DezenderPHP5PHP5
php.exe你要解壓的文件(絕對路徑),注意,這兩個之間有空格
呵呵,這樣就大功告成了,會生成一個「文件名.de.php」的文件。
不過解密後的文件不可能跟源文件一模一樣,注釋什麼的肯定是沒有了的,還有偶爾會有些小的錯誤,不過都不礙事,修改一下就可以正常使用了。
⑸ PHP文件被加密了,base64_encode加密的好像,求破解成正常PHP代碼。
<?php
/**
* ============================================================================
* 版權所有 2008-2012 多多科技,並保留所有權利。
* 網站地址: http://soft.oo123.com;
* ----------------------------------------------------------------------------
* 這不是一個自由軟體!您只能在不用於商業目的的前提下對程序代碼進行修改和
* 使用;不允許對程序代碼以任何形式任何目的的再發布。
* ============================================================================
*/
if(!defined('INDEX') && !defined('ADMIN')){
exit('Access Denied');
}
define('MY_PLUGIN_KEY','cpxy'); //插件加密key
define('MY_PLUGIN_CODE','jianban'); //插件標識碼
$plugin_set=dd_get_cache('plugin');
include(DDROOT.'/plugin/plugin.class.php');
$re=check_plugin_auth(MY_PLUGIN_CODE,MY_PLUGIN_KEY);
if($re==Ƈ'){
jump(-1,'不存在授權碼');
}elseif($re==ƈ'){
jump(-1,'授權碼無法解密');
}elseif($re==Ɖ'){
jump(-1,'應用不存在或者已到期');
}elseif($re==Ɗ'){
jump(-1,'授權碼與網站不符');
}
//模板標簽
$moban=dd_get_cache('moban.tag');
$cid1=$moban['info']['cid1'];
$cid2=$moban['info']['cid2'];
if($moban['info']['bjms']==1){
$order='sort desc limit '.$moban['info']['dysl'].''
}elseif($moban['info']['bjms']==2){
$order='rand() desc limit 1'
}else{
$order='sort desc limit 1'
}
//文章1
$article_1=$oo->select_all('article','id,title,addtime','cid="'.$cid1.'" order by sort desc,id desc limit 0,5');
//文章2
$article_2=$oo->select_all('article','id,title,addtime','cid="'.$cid2.'" order by sort desc,id desc limit 0,5');
?>
⑹ 如何破解Zend及ionCube加密的php文件
如何破解Zend及ionCube加密的php文件
PHP加密的種類:
我們知道很多商業php程序為了保護源碼或者設置限制會採取源碼加密,
常見的一般有Zend、微盾(威盾)、ionCube。
其中微盾是不需要伺服器組件支持的,所以也很好破,網上文章很多,大家搜搜就可以得知。
而Zend和ionCube是需要組件支持的,所以在破解上難度會非常大,或者說根本無法破解。
1、Zend Guard
簡單介紹一下Zend Guard:
Zend Guard是PHP市場上第一個保護PHP知識產權的代碼加密解決方案和電子許可管理方案。
Zend Guard通過原始代碼加密以及限制分發沒有授權的軟體來實現軟體的最大化收益。
Zend Guard加密後的PHP源程序需要環境中安裝Zend Optimizer才可以運行,
同時Zend Optimizer在加密的過程中也可以實現優化代碼的作用。
2、ionCube
IonCube是用來加密PHP的工具。ionCube Encoder可以把PHP源代碼轉換成ByteCode。
進行加密授權處理後的PHP代碼就不在開源了,必須使用ionCube loader才可以執行加密過的PHP代碼。
PHP本身沒有帶有ionCube loader模塊, 必須到ionCube網站下載。
ionCube loader是免費的,但是Encoder的價格就比較昂貴。
如何知道文件的加密方式呢?
目前我也只看過zend加密方式,文件頭部會有「Zend」。
zend加密截圖
解密方式:
1、Ioncubed filesv6][v7]及Zend Guard files [v5]加密文件(非通過特殊處理的,特殊處理過的基本沒戲)
本文並不贊成破解,下文提供工具方法僅限測試使用,韋鯤鵬不承擔任何責任。
首先需要保證自己的windows機器上安裝了Microsoft Visual C++ 2008及2010版本。
這里提供2008+2010的x86+x64版本整合下載地址 http://115.com/file/cl31yn62(轉載,不保證無毒)
安裝好後DeZender.DeIoncuber軟體就派上用場了~ 這里提供的版本是29.11.2011
首先將下載到的DeZender.DeIoncuber壓縮包解壓到路徑中沒有空格的地址中。
如D:/DeZender_DeIoncuber/ 中,解壓出來後會看到4個文件夾及7個文件。
其中有README說明文檔,大家也可以看一看。
其中有兩種解碼方式,一種是_RM 另外一種是_NWS. 有些文件兩種均可破解,有些只可一種。
首先講下如何破解單個php加密文件。
將需要破解的文件拖到DECODE_NWS.bat或者DECODE_RM.bat上即可。
如生效,則會在php文件所在目錄生成(同名+.nws/.rm+.su.txt)的文件。
如果要破解多個文件,則將所有要破解的文件復制到程序目錄下的_decode目錄(如D:/DeZender_DeIoncuber/_decode/),
然後運行DECODE_RM.bat或者DECODE_NWS.bat,隨後就會在_decoded_nws/rm 的目錄下生成破解後的文件。
DeZender_DeIoncuber下載地址:http://115.com/file/cl3ybw5e
2、在線解密:http://www.showmycode.com/,不支持批量解密,需要輸入驗證碼。(本人嘗試,這個解密不是很好)
3、下載dezend:http://www.old.necenzurat.com/dezend/
支持php4,php5,免費程序,不支持批量解密,但是可以用批處理,支持捐贈,
作者說:「the money will be used on alcohol, cigars and whores」。
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦
⑺ 有什麼免費的東東可以加密php文件
加密php文件,我建議您還是下載超級加密3000試試。
超級加密3000有超快和最強的文件、文件夾加密功能、數據保護功能,文件夾、文件的粉碎刪除以及文件夾偽裝等功能。
超級加密
3000採用先進的加密演算法,使你的文件和文件夾加密後,真正的達到超高的加密強度,讓你的加密數據無懈可擊。
超級加密3000還支持加密文件的臨時解密,文件加密後,雙擊加密文件,在彈出密碼輸入對話框輸入正確的密碼選擇確定,該加密文件就處於臨時解密,文件使用完畢退出以後,它自動恢復到加密狀態,無需再加密。
超級加密3000是一款不可多得的文件加密軟體,您可以到網路上搜索超級加密3000給您的文件加密試試看。
⑻ php文件被加密怎麼破解
可以用黑刀Dezender來試試,我不擔保可以解出來的哦,
從黑刀Dezender4.3版之後,將著力對混淆函數以及自定義函數的解密進行應對。
大家下載壓縮包並解壓後,會發現有一個「config.ini」的文件,這就是混淆函數庫啦!
打開後,可自行編輯其中的內容,當然,也可以通過黑刀Dezender的升級程序直接下載官方最新的混淆函數庫文件。這個混淆函數庫就相當於是一個字典文件了,在保證格式不變的情況下,大家可以在【黑刀部落】下載《黑刀超級字典生成器》生成字典來掛入主程序進行解密,正確步驟為:先備份、改名自己的config.ini文件,生成的字典文件在第一行加入「[OBFUSCATE_NAME]」,將字典文件改名為config.ini,開始解密。
同時,黑刀部落網站的「項目中心」欄目也開設了用戶提交自己已知程序被混淆的函數列表,這樣的話,就能讓Dezender變得越來越強了。再也不怕混淆函數了。呵呵。
什麼是混淆函數?混淆函數,是從Zend Guard 4.0之後新增的一項功能,能把PHP文件中的所有函數名都進行混淆,混淆後變成以「_OBFUSCATE_」開頭的一串「亂碼」,這種加密方式感覺有點類似Md5,因為函數名已經不是原來的樣子了,所以解密出來的PHP文件是不能正常執行的。黑刀Dezender在4.3版之後,新增加了掛入混淆函數庫參與解密的功能,而混淆函數庫,就像是一個包含了已知函數名的字典,利用這個字典,來與被混淆了的函數名(就是所謂的「亂碼」)進行比對,如果比對結果相同,則解密出來的文件,基本上就可以恢復到加密前的樣子了。如果混淆函數庫中沒有包含該PHP文件中使用的函數名,那麼解密結果依然還是會存在「亂碼」的。掌握了這個原理,我們就可以去想辦法解決問題了。
方式有以下幾種:
第一,使用黑刀超級字典生成器產生一個字典,字典的內容可以自己把握,修改字典文件名為「config.ini」,然後打開字典文件,在第一行插入「[OBFUSCATE_NAME]」標記(注意,方括弧也是需要的,也就是引號內的內容都要加進去),將字典文件拷貝入黑刀Dezender主程序所在目錄,同時注意備份原有的config.ini文件。這種辦法費時費力,也要看運氣,不過卻是最實際的解決辦法。
第二,常看別人源代碼的朋友,可以把自己已經掌握了的混淆函數的真實函數名提交到我的網站上來。操作步驟:進入網站首頁,進入項目中心的「DeZender混淆函數庫更新表」,提交。我會定期查看大家提交上來的數據,加入到官方的混淆函數庫中,不斷的增強和完善官方混淆函數庫,大家可以利用黑刀Dezender的自動升級功能對其進行升級!