ioncube加密与解密 php代码

ioncube_encoder用于php代码的加密

ioncube_loaders用户php代码的解密,经ioncube_encoder加密后的代码,不经 ioncube_loaders解密是运行不了的!

ioncube_encoder分免费和收费的两种,以免费版本做测试,加密软件是收费的,解密软件是免费的!

下载ioncube_encoder_evaluation.tar.gz

tar zxvf ioncube_encoder_evaluation.tar.gz
mv ioncube_encoder /usr/local
cd /usr/local
ln -s  ioncube_encoder  encoder 

我已经配置好了lnmp环境,/data/www为为的web目录,该目录下有一个a.php文件

内容如下:

[root@haproxy1 php encode]# cd /data/www/
[root@haproxy1 www]# cat a.php 
phpinfo();
?>

测试解密该文件如下:

[root@haproxy1 www]# /usr/local/encoder/ioncube_encoder54  a.php  -o b.php

[root@haproxy1 www]# cat a.php

phpinfo();

?>

[root@haproxy1 www]# cat b.php

// IONCUBE ENCODER 8.1 EVALUATION

// THIS LICENSE MESSAGE IS ONLY ADDED BY THE EVALUATION ENCODER AND

// IS NOT PRESENT IN PRODUCTION ENCODED FILES

if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199);

?>

HR+cPzNENtYUAQH/StJAMngoAH8Jzces/1y0iBUiJVBFnCx/UUx3bGSrC/fWB8QbKM4Xsd+HAg/5

AxDEAa5jhFePt2RdJbVlIy3mU1nuw5fYoaVaXLh5747OEBv1LeW8DcUCwnaUdm3yhNnn0BwY+Kci

uVjsrhrn+L/9cJhqGhOLoyPOIV+cRtHyBIEPWt5imx77j75JaPcj0ya98nYwSHunAB3jVHdlU6TP

X7r4TVeEk4PS5/A+4TuD81y9FMmTocLoLUp74ntyeg1XXkaVy7tryCOBva59ZCiPMBXkKZBERf8S

BcqXGcLgVzBMhdh3fZtJqsDr254125x2TX+EpAnoatso8JXzpR0z+yDfrCf7h+9tnLwGyRryuzJU

EDajQqPPsuynW1gv2iyb8bYNgoAZy7kPlmuNdiSYta5LNruPJbiGXdHzaEvAlIF1Ewwyd3WH1W==

测试执行b.php,如下提示:

显然解密后的文件,直接是执行不了的!
安装ioncube_loaders即可解决该文件!安装方法如下:
我下载的是 ioncube_loaders_lin_x86.tar.bz2, 我的虚拟机是x86平台的,如果是x86_64平台,则需要下载ioncube_loaders_lin_x86-64.tar.gz
如果在x86 平台上,使用了x86_64上的软件,则会有如下的提示:

 [root@haproxy1 php encode]# tar jxvf ioncube_loaders_lin_x86.tar.bz2

ioncube/

ioncube/ioncube_loader_lin_4.3_ts.so

ioncube/ioncube_loader_lin_5.2_ts.so

ioncube/LICENSE.txt

ioncube/loader-wizard.php

ioncube/ioncube_loader_lin_4.4_ts.so

ioncube/ioncube_loader_lin_5.1_ts.so

ioncube/ioncube_loader_lin_5.0.so

ioncube/ioncube_loader_lin_5.1.so

ioncube/ioncube_loader_lin_5.3_ts.so

ioncube/ioncube_loader_lin_5.4.so

ioncube/ioncube_loader_lin_5.2.so

ioncube/ioncube_loader_lin_4.2.so

ioncube/README.txt

ioncube/ioncube_loader_lin_5.4_ts.so

ioncube/ioncube_loader_lin_5.0_ts.so

ioncube/ioncube_loader_lin_4.3.so

ioncube/ioncube_loader_lin_4.4.so

ioncube/ioncube_loader_lin_4.1.so

ioncube/ioncube_loader_lin_5.3.so

先确认php的版本,

[root@haproxy1 www]# /usr/local/webserver/php/bin/php -v
PHP 5.4.11 (cli) (built: Sep  3 2013 09:55:22) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

[root@haproxy1 php encode]# cp ioncube/ioncube_loader_lin_5.4.so  /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/
[root@haproxy1 php encode]# cp  ioncube/loader-wizard.php          /data/www 

在php.ini文件中加入;

zend_extension = /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/ioncube_loader_lin_5.4.so

然后重启php-fpm和nginx

/etc/init.d/php-fpm restart
/etc/init.d/nginx restart

测试是否ioncube_loader

发表评论