0
0
php代码混淆器2.0.0版
在网上搜索一下有很多 JS的混淆器并且效果很好,但就没有一个混淆PHP代码的工具。为了做PHP代码混淆本人在网上纠结了一段时间。国外的混淆工具也调试了几个,就没有对中文支持的。
之后花了一段时间,从php文件夹遍历到分析PHP代码的特征,然后到字符串的混淆,写了这个简单的PHP代码混淆工具。方法很笨,但混淆的效果还不错,能够实现 PHP变量、函数、类和JS变量、函数、类的混淆,并且将PHP与JS、HTML的混合代码压缩为一行,这样即缩小了PHP文件的大小,又使PHP文件的代码更加难读懂工。
本方法的开源地址为:
http://code.google.com/p/omcode/downloads/detail?name=php%E4%BB%A3%E7%A0%81%E6%B7%B7%E6%B7%86%E5%99%A82.0.0.rar&can=2&q=#makechanges
版本为 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');
*/
本工具对验证码类的压缩效果如下:
# [email protected] # ?>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_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74disturbColor = 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_586ca1c0f20074d205c4e7b591870c5f06d3739d7bdf05a60d7fc402d97c74codenum;$_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); } } ?>
相关文章
高频查PHP静态怎么用_PHP静态调用省实例化的常见场景【技巧】
PHP静态能直接访问吗_PHP静态成员调用方式与实例演示【方法】
PHP静态调用报错怎么办_PHP静态方法未定义错误排查思路【详解】
php静态属性访问方式怎改_php静态属性访问修改法【调用】
PHPTrait怎样复用调用服务逻辑_PHPTrait复用调用逻辑法【复用】
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。
446
2026.02.06
本专题汇总了快手网页版的最新入口地址和电脑版使用方法,详细提供快手官网直接访问链接、网页端操作教程,以及如何无需下载安装直接观看短视频的方式,帮助用户轻松浏览和观看快手短视频内容。
258
2026.02.06
本专题深入讲解 C# 中多线程与异步编程的核心概念与实战技巧,包括线程池管理、Task 类的使用、async/await 异步编程模式、并发控制与线程同步、死锁与竞态条件的解决方案。通过实际项目,帮助开发者掌握 如何在 C# 中构建高并发、低延迟的异步系统,提升应用性能和响应速度。
18
2026.02.06
本专题系统讲解 Python 微服务架构设计与 FastAPI 框架应用,涵盖 FastAPI 的快速开发、路由与依赖注入、数据模型验证、API 文档自动生成、OAuth2 与 JWT 身份验证、异步支持、部署与扩展等。通过实际案例,帮助学习者掌握 使用 FastAPI 构建高效、可扩展的微服务应用,提高服务响应速度与系统可维护性。
9
2026.02.06
本专题深入讲解 JavaScript 异步编程与事件驱动架构,涵盖 Promise、async/await、事件循环机制、回调函数、任务队列与微任务队列、以及如何设计高效的异步应用架构。通过多个实际示例,帮助开发者掌握 如何处理复杂异步操作,并利用事件驱动设计模式构建高效、响应式应用。
12
2026.02.06
热门下载
相关下载
精品课程
最新文章





