php源碼如何加密-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)php源碼如何加密,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

主要從事網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)公司、程序開發(fā)、微網(wǎng)站、重慶小程序開發(fā)公司等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項(xiàng)目的能力。

php源碼怎么加密?

php源碼加密的方法:

一、無需任何PHP擴(kuò)展的加密

此類加密的代表有 威盾PHP加密專家、PHP在線加密平臺、PHP神盾 等。

此類加密都是以eval函數(shù)為核心,輔以各式各樣的字符串混淆和各種小技巧,來達(dá)到加密目的(更準(zhǔn)確的說,應(yīng)該算是混淆)。下面以一個(gè)簡單的hello world為例來說明此類加密的大體過程。

<?php
  echo "hello world";

首先,我們把這段代碼變?yōu)橥ㄟ^eval執(zhí)行的

<?php
  eval('echo "hello world";');

然后,我們再進(jìn)行一些轉(zhuǎn)換,比如說base64編碼

<?php 
  eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));

就這樣子,我們的第一個(gè)加密過的php代碼新鮮出爐了。。。

上面這個(gè)例子非常非常簡單,基本上任何有一點(diǎn)php語言基礎(chǔ)甚至別的語言基礎(chǔ)的人都能輕松的看懂并解密。因此,我們需要一些方法讓這個(gè)加密至少看上去不是那么簡單。

二、同時(shí)采用多種編碼函數(shù)

除了剛才提到的base64,php還有許多內(nèi)置的編碼函數(shù),例如urlencode、gzcompress等。把這些函數(shù)混合使用可以提高解密的復(fù)雜度(不是難度),此外還可以使用strtr來制定自己的編碼規(guī)則。 使用變量來代替函數(shù)名 使用特定字符來命名變量

這兒所說的特定字符是一些極其相似的字符,如I和1,0和O。試想一下滿屏都是O和0組成的變量,并且每一個(gè)的名字長度都在10個(gè)字符以上。。。 判斷文件自身是否被修改

這個(gè)功能看似容易,對文件做一下摘要再進(jìn)行下對比即可知道是否被修改了,但是如何才能在文件內(nèi)把摘要嵌入進(jìn)去呢?我沒有找到完美的方案,但一個(gè)變通的方案還是很容易的。。。

<?php
$code = substr(file_get_contents(__FILE__), 0, -32);
$hash = substr(file_get_contents(__FILE__), -32);
if(md5($code) !== $hash) {
  exit('file edited');
}
ACBC41F727E00F85BEB3440D751BB4E3

當(dāng)然,你可以把這個(gè)校驗(yàn)字符串放在別的位置來提高破解的難度。有了這個(gè),別人想破解你的程序可就得多費(fèi)一點(diǎn)功夫了。。。

既然知道了原理,那解密自然也就非常簡單了,總體來說就三步:

把eval替換為輸出,比如echo 根據(jù)編碼規(guī)則把字符串還原 如果文件未解密完全,從第一步開始繼續(xù)

當(dāng)然,實(shí)際上的解密過程并沒有這么簡單,比如說如果加密的時(shí)候使用了gzcompress,那得到的數(shù)據(jù)將會包含一些二進(jìn)制數(shù)據(jù),而采用一般的文本編輯器打開時(shí)這些數(shù)據(jù)都會顯示為亂碼,并且在保存時(shí)丟失部分?jǐn)?shù)據(jù)。解決方法很簡單也很麻煩,那就是使用二進(jìn)制(16進(jìn)制)方式打開、修改和保存。

關(guān)于php源碼如何加密就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)頁名稱:php源碼如何加密-創(chuàng)新互聯(lián)
瀏覽路徑:http://bm7419.com/article24/gosce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站網(wǎng)站制作、定制開發(fā)、網(wǎng)站改版、Google、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化