亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

這是一個(gè)很笨的加密器

我們可以經(jīng)常在某些經(jīng)過加密文件的php文件代碼格式大體如下:

xxx_loader_lable
<?php
if(!function_exists("xxx_loader")){
   die('xxx_loader not install');
}
//encrypt part
xxxxxxxxxxx

我們就以swoole_loader為例子,它加密后的文件格式大體如下

SWOOLEC<?php extension_loaded('swoole_loader') or die(' Loader ext not installed');?>
//encrypt part
xxxxxxxxxxxxxxxxxxxxx

這個(gè)文件。正常情況下,php是無法解析的。但是呢,zend_vm的一些接口,允許我們載入某些文件的時(shí)候,對文件進(jìn)行預(yù)處理。因此我的拓展需要做的事情就是,如果遇到這樣格式的文件,那么我把他解析為以下兩部分:

  • 部分1
    <?php
    if(!function_exists("xxx_loader")){
    die('xxx_loader not install');
    }
  • 部分2
    //encrypt part
    xxxxxxxxxxx

因此,code就是我經(jīng)過加密后的目標(biāo)字符串,顯然,我們需要完成的一個(gè)步驟就是、字符串到代碼的轉(zhuǎn)變。而這個(gè)時(shí)候,如果有敏感的同學(xué),就會(huì)想到一個(gè)東西,那就是 eval()。因此以上代碼等價(jià)于:

<?php
if(!function_exists("xxx_loader")){
   die('xxx_loader not install');
}
eval(encrypt part);

但是實(shí)際上,并沒有這么簡單,如果我需要實(shí)現(xiàn)對機(jī)器授權(quán)的限制,那么應(yīng)該是這樣的。

$info = xxx_loader->decode(encrypPart);
$license = $info->licenseCheck();
if($license){
    eval($info->realyCode);
}

因此,如何保護(hù)我這個(gè)xxx_loader的實(shí)現(xiàn)邏輯,或者是加密秘鑰,成為了代碼加解密的關(guān)鍵。但是用php的話,容易出現(xiàn),被逆向比如目前場景的php混淆,很容易破解。 因此就有人提出想法,如果我把這個(gè)加密的函數(shù)協(xié)程php拓展編譯成so動(dòng)態(tài)庫文件,然后so在做加殼混淆,不就完美的解決了嗎。畢竟、so加殼混淆的方案,可是非常成熟的。

主站蜘蛛池模板: 亚洲欧美日韩网站 | 毛片无遮挡高清免费观看 | 国产18精品乱码免费看 | 国产一区黄 | 中文字幕第一页在线播放 | 夜夜草视频 | 久久免费网 | 一区二区免费 | 亚洲va欧美va国产综合剧情 | 免费婷婷 | 久操中文| 欧美一级毛片免费看 | 成人国产一区二区 | 一本之道新久 | a级高清免费毛片av a级高清免费毛片av播放 | 91国内精品久久久 | 日韩中文字幕区一区有砖一区 | 久久国产一级毛片一区二区 | 色妞色视频一区二区三区四区 | www一区二区www免费 | 黄色激情视频网站 | 国产精品久久久久久久久免费高 | 日本三级电影在线播放 | 国产免费一级 | 亚洲国产成人av | 欧美成在线观看 | 欧美小视频在线 | 亚洲精品免费视频 | 亚洲二区在线播放视频 | 在线观看国产一区二区 | 欧美日韩成人精品 | 国产一级特黄a高潮片 | 羞羞答答一区 | 青草视频在线观看视频 | 国产91精品高清一区二区三区 | 亚洲精品永久入口 | 久色亚洲| 欧美日韩国产一区 | 美女很黄很黄是免费的 | 精品九九 | 91视频在线观看 |