這篇文章將為大家詳細(xì)講解有關(guān)使用PHP怎么實(shí)現(xiàn)代碼加密,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
代碼混淆+加密
實(shí)際加密算不上,具體實(shí)現(xiàn)思路就是把代碼base64加密,然后對(duì)base64里的字符串進(jìn)行字符串映射(隨機(jī)生成字典混淆)然后eval執(zhí)行 這種百分之百能被破解還原
代表代碼如下:
<?php function RandAbc($length = "") { // 返回隨機(jī)字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; return str_shuffle($str); } $filename = 'index.php'; //要加密的文件 $T_k1 = RandAbc(); //隨機(jī)密匙1 $T_k2 = RandAbc(); //隨機(jī)密匙2 $vstr = file_get_contents($filename); $v1 = base64_encode($vstr); $c = strtr($v1, $T_k1, $T_k2); //根據(jù)密匙替換對(duì)應(yīng)字符。 $c = $T_k1.$T_k2.$c; $q1 = "O00O0O"; $q2 = "O0O000"; $q3 = "O0OO00"; $q4 = "OO0O00"; $q5 = "OO0000"; $q6 = "O00OO0"; $s = '$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));'; $s = '<?php '."\n".$s."\n".' ?>'; //echo $s; // 生成 加密后的PHP文件 $fpp1 = fopen('temp_'.$filename, 'w'); fwrite($fpp1, $s) or die('寫(xiě)文件錯(cuò)誤'); ?>
混淆亂碼字符
代碼混淆變量還有一些東西 和1原理差不多,不過(guò)是把字符串換到 ascii 127到255之間非人類(lèi)還有編輯器看不懂的字符 ,結(jié)果也是百分之百能被破解和還原,只是時(shí)間問(wèn)題。
發(fā)放opcode
不分發(fā)代碼,而是先把PHP代碼預(yù)編譯,分發(fā)opcode,PHP7以后opcache深度集成這個(gè)東西 PHP7以后可以用這個(gè)方法保護(hù)源碼,但是也會(huì)被opcode反編譯回去 也會(huì)被破解。
混淆+加密+寫(xiě)PHP擴(kuò)展
混淆+加密+寫(xiě)PHP擴(kuò)展,但是只要是開(kāi)源的PHP擴(kuò)展都會(huì)被破解,除非自己寫(xiě)加密算法,把PHP代碼加密, 然后自己拿C語(yǔ)音寫(xiě)擴(kuò)展閉源, 別人不知道你加密思路和破解思路,被破解的可能性很小。
Swoole Compiler
swoole出的那個(gè),是拿生成的opcode以后混淆加密, 然后這個(gè)就牛逼了,這個(gè)要想執(zhí)行很明顯zend引擎是不太可能認(rèn)識(shí)混淆加密后的opcode,所以他實(shí)際上還需要重寫(xiě)zend,所以說(shuō)配套的zend引擎也要換。
內(nèi)容擴(kuò)展:
<?php function RandAbc($length=""){//返回隨機(jī)字符串 $str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; return str_shuffle($str); } $filepath='index.php'; $path_parts= pathinfo($filepath); $filename=$path_parts["basename"]; $T_k1=RandAbc();//隨機(jī)密匙1 $T_k2=RandAbc();//隨機(jī)密匙2 $vstr=file_get_contents($filename);//要加密的文件 $v1=base64_encode($vstr); $c=strtr($v1,$T_k1,$T_k2);//根據(jù)密匙替換對(duì)應(yīng)字符。 $c=$T_k1.$T_k2.$c; $q1="O00O0O"; $q2="O0O000"; $q3="O0OO00"; $q4="OO0O00"; $q5="OO0000"; $q6="O00OO0"; $s='$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));'; $s='<? '.$s. ' ?>'; echo $s; //生成 加密后的PHP文件 !is_dir('create/') && mkdir('create/'); $fpp1 = fopen('create/'.$filename,'w'); fwrite($fpp1,$s) or die('寫(xiě)文件錯(cuò)誤'); echo '加密成功!';
一、phpStudy,是一個(gè)新手入門(mén)最常用的開(kāi)發(fā)環(huán)境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡(jiǎn)單對(duì)小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個(gè)功能強(qiáng)大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務(wù)器管理軟件,支持windows和linux系統(tǒng)。六、UPUPW,UPUPW是目前Windows平臺(tái)下最具特色的Web服務(wù)器PHP套件。
關(guān)于使用PHP怎么實(shí)現(xiàn)代碼加密就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
文章題目:使用PHP怎么實(shí)現(xiàn)代碼加密-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://m.2m8n56k.cn/article4/dociie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站建設(shè)、定制開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容