php代码混淆器2.0.0版
php代码混淆器2.0.0版
PHPObfuscator2.0.0版
在网上搜索一下有很多 JS的混淆器并且效果很好,但就没有一个混淆PHP代码的工具。为了做PHP代码混淆本人在网上纠结了一段时间。国外的混淆工具也调试了几个,就没有对中文支持的。
之后花了一段时间,从php文件夹遍历到分析PHP代码的特征,然后到字符串的混淆,写了这个简单的PHP代码混淆工具。方法很笨,但混淆的效果还不错,能够实现 PHP变量、函数、类和JS变量、函数、类的混淆,并且将PHP与JS、HTML的混合代码压缩为一行,这样即缩小了PHP文件的大小,又使PHP文件的代码更加难读懂。
本方法的开源地址为:
http://download.csdn.net/source/2805147
版本为 php代码混淆器2.0.0版。
如果你用了这个方法,或是改写了方法中的某部分,可以在QQ群37304662中讨论,或者评论到本文后面。
使用方法如下:
/*
#作者:潇湘博客
#BLOG:http://blog.csdn.net/fkedwgwy
#QQ群:37304662
#开源地址:http://code.google.com/p/omcode/
#本程序采用的是直接替换方法,因此在使用过程中应注意PHP、JS的函数、类的存在位置。
#本程序功能是混淆PHP、JS的变量、函数、类,使得混淆后的程式难以读懂。并对PHP、HTML的混合代码进行格式化为一行。
使用方法:
红色部分是根据你项目的需要进行设置的。
//要混淆的文件位置
$mwww='./libwww1';
//混淆后的文件存放位置
$mdir='./libwww2';
//不混淆的php文件
$notfile=array('pinyin.php');
//要替换的变量
$mreplase=array('$select','$where',);
//要替换的函数
$mrefun=array('seturl','str_check');
//要替换的类
$mreclass=array('UploadFile');
*/
本工具对验证码类的混淆压缩效果如下:
<? # #版权所有@翻版必究 # ?><?php class _RLMS_5fd823d908687d80c5b837be48e93a80b4daca { private $width,$height,$codenum; public $_RLMS_ee09f9ba96ac63eeff9b75417008357f06d3738d783f; private $_RLMS_5a237706df586a68d7bd5622b631f41506d3738d783f37cc29; private $_RLMS_29f57c1ce07ddb52facc8ca41229182106d373c422965c77eeb3849d = ''; function __construct($width='80',$height='20',$codenum='4') { $this->width=$width; $this->height=$height; $this->codenum=$codenum; } function _RLMS_0d870567895d8b2c7f03b06828f3b3fef1584b() { $this->outFileHeader(); $this->createCode(); $this->createImage(); $this->_RLMS_616f711d9800a56e062ef34bbe09b5a98ddf87b656183794e2(); $this->_RLMS_a621b9026cade2311acceb3408dc75d3a95dcbfb6523(); imagepng($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb); imagedestroy($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb); } private function outFileHeader() { header ("Content-type: image/png"); } private function createCode() { $this->checkcode = strtoupper(substr(md5(rand()),0,$this->codenum)); } private function createImage() { $this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb = @imagecreate($this->width,$this->height); $back = imagecolorallocate($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb,255,255,255); $border = imagecolorallocate($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb,0,0,0); imagefilledrectangle($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb,0,0,$this->width - 1,$this->height - 1,$back); imagerectangle($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb,0,0,$this->width - 1,$this->height - 1,$border); } private function _RLMS_616f711d9800a56e062ef34bbe09b5a98ddf87b656183794e2() { for ($_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74=0;$_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74<=200;$_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74++) { $this->disturbColor = imagecolorallocate($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb, rand(0,255), rand(0,255), rand(0,255)); imagesetpixel($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb,rand(2,128),rand(2,38),$this->disturbColor); } } private function _RLMS_a621b9026cade2311acceb3408dc75d3a95dcbfb6523() { for ($_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74=0;$_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74<=$this->codenum;$_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74++) { $bg_color = imagecolorallocate ($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb, rand(0,255), rand(0,128), rand(0,255)); $_RLMS_83082d22f02a8c20bc3a48662fcacad106d3734c010d890386413ca7a65c5cf38004 = floor($this->width/$this->codenum)*$_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74+5; $_RLMS_01700ca6c11bf8f67d9b1a10915a457406d373cf84226b2ee10e2cac2101ffea07e0545d44 = rand(0,$this->height-15); imagechar ($this->_RLMS_fa747dcd2284a7eeb022a47e4493b9e9a9f7e93a311fb7a4f76dcf062b4b2d3b3bfb, rand(5,8), $_RLMS_83082d22f02a8c20bc3a48662fcacad106d3734c010d890386413ca7a65c5cf38004, $_RLMS_01700ca6c11bf8f67d9b1a10915a457406d373cf84226b2ee10e2cac2101ffea07e0545d44, $this->checkcode[$_RLMS_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74], $bg_color); } } function __destruct() { unset($this->width,$this->height,$this->codenum); } } ?>