当前位置: 首页 > 图文教程 > 网络编程 > PHP > wiki-shan写的php在线加密的解密程序

PHP
php 服务器调试 Zend Debugger 的安装教程
从Web查询数据库之PHP与MySQL篇
php 应用程序安全防范技术研究
php 不同编码下的字符串长度区分
php 生成饼图 三维饼图
PHP 字符截取 解决中文的截取问题,不用mb系列
PHP5 操作MySQL数据库基础代码
php面向对象全攻略 (一) 面向对象基础知识
php面向对象全攻略 (二) 实例化对象 使用对象成员
php面向对象全攻略 (三)特殊的引用“$this”的使用
php面向对象全攻略 (四)构造方法与析构方法
php面向对象全攻略 (五) 封装性
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
php面向对象全攻略 (七) 继承性
php面向对象全攻略 (八)重载新的方法
php面向对象全攻略 (九)访问类型
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php面向对象全攻略 (十二) 抽象方法和抽象类
php面向对象全攻略 (十四) php5接口技术

PHP 中的 wiki-shan写的php在线加密的解密程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 406 ::
收藏到网摘: n/a

找了一下非扩展方式的php加密方法: 这里有个在线的,还不错。木马防杀还行,要保护代码可就不行了。 对应的写了一个简单的解密的,专门针对eval。这个原理很有用途的,在这里记下。
复制代码 代码如下:

<?php
/*
author:zhiwushan
date:20080411
*/
 
//已经加密的文件内容
$a="
eval(gzinflate(str_rot13(base64_decode('DdNUsptVAADQq2vn7+oFGU6VPb+EyE4EiSA2LhAZUZN2OP343eF9//f7+1S+Jd1KbNZ90SVY/jUv098JLgT1lSZmztJ/s/wNs/zrp5jd/XZLrter6I6UEqkkshUXmfWmEQNnhJfcdH7qCvlmY60ku0QVlfMMSUMnMO5EAo7RTF3GKem+RGMeDAg96YCxmZf+wUVdJUVUJTyId9BivvZlTpv64zYb80BDE2znHTa/CFBbxGMa66VW9ucZl6uTunr8bXPRSB+ziagCm+pJxOtHPbpOJarMvXb8XjD1B7RMGC/g0vsFnElCvW7KUD1OLRPt7MPJPVJpwW/vnS0l1TnALytgP5GMZt1IdEWat3XONVendoWF5ZbuJcdYIIeNfxeNsX74gMnpTZgoBByrZo/1ZZ9CmjIktXDBdoe4X+JigbtDgnlXWxJDa6i/hh7MtRibAPdhFxwldbPEonbZdfSeK8XNzFTB501FlIcFB8Oo+W8dOYmQeSf3P6q6SQx4KeEAZ2Y6Cnm6OeHMEOqBkkvIzXj08Jh5HMrXXMSHtz4Pk1wvV2kTDlDZoxjKTzdb7XpcMzPXDvIW6gfYsdcJz93w2hFQsQRQliFwK82cblUfV+CQHU+73AT7PL3fKMHXa0ZJtpLVZ7bEPGE/yIO1Wmelx/LiUXU+Ikv9ZwLyRWRYZ32ElLZCdmBIcUAfFlAl+pwdrpiucej6AA68JfQJfJuIhmQOqk9UHlJl2Ufp5tKbM+PYBU504baq0nurFEj1cXYaPtGOKimjKzIOJ4rHWXCvP2SZ04MsA4qbNkYwm3xqIk6VWKLLC659Hwxc+DQN75dIOfd9K/asb3ldWzcZ/0dwzUqGbNfs9uTnD+xRQRp1g5dK9loQMQk3amvCjyrdCzuYVHqsVTayHr58EMmM+807dukI4bTEMgRtxk+YIdqA0BfjrtAQLuBvZtHHsRPzvN2Q02hCn121Z2ETWe0nDACMxhhu//Pn569/vv8t/R8='))));
";
echo decodephp($a);
 
function decodephp($a) {
$max_level=300; //最大层数
for($i=0;$i<$max_level;$i++) {
ob_start();
eval(str_replace('eval','echo',$a));
$a = ob_get_clean();
if(strpos($a,'eval(gzinflate(str_rot13(base64_decode')===false) {
return $a;
}
}
}
?>