日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

php源碼怎么加密

 求知_時(shí)光 2019-05-25

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

      此類(lèi)加密的代表有 威盾PHP加密專(zhuān)家、PHP在線加密平臺(tái)、PHP神盾 等。

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

echo 'hello world';

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

eval('echo 'hello world';');

然后,我們?cè)龠M(jìn)行一些轉(zhuǎn)換,比如說(shuō)base64編碼

eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));

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

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

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

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

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

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

$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)字符串放在別的位置來(lái)提高破解的難度。有了這個(gè),別人想破解你的程序可就得多費(fèi)一點(diǎn)功夫了。。。

      既然知道了原理,那解密自然也就非常簡(jiǎn)單了,總體來(lái)說(shuō)就三步:

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

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多