wiki-shan写的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;
        }
    }
}
?>

(0)

相关推荐

  • php加密算法之实现可逆加密算法和解密分享

    加密算法如下: 复制代码 代码如下: function encrypt($data, $key){ $key = md5($key);    $x  = 0;    $len = strlen($data);    $l  = strlen($key);    for ($i = 0; $i < $len; $i++)    {        if ($x == $l)         {         $x = 0;        }        $char .= $key{$x};   

  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能. 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand((double)microtime() * 1000000); $encrypt_key=md5(rand(0, 32000)); $ctr=0; $tmp=''; for($i=0;$i<strlen($str);$i++){

  • php中AES加密解密的例子小结

    aesDemo.php: 例子, 复制代码 代码如下: <?phprequire_once('./AES.php');//$aes = new AES();$aes = new AES(true);// 把加密后的字符串按十六进制进行存储//$aes = new AES(true,true);// 带有调试信息且加密字符串按十六进制存储$key = "this is a 32 byte key";// 密钥$keys = $aes->makeKey($key);$encod

  • 2个比较经典的PHP加密解密函数分享

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些API数据交换的场景. 笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家.加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果. 1.非常给力的authcode加密函数,Discuz!经典代码(带详解): 复制代码 代码如下: function authcode

  • PHP 加密与解密的斗争

    但是PHP反编译系统的出现却迅速引起了Zend公司甚至整个PHP用户群的恐慌,包括上述产品在内的几乎所有大型PHP产品全部出现了破解版本甚至出现了完整的源代码.如此一来,Zend不得不向Cracker们低头,承认所有的加密技术都有破解的办法,并承诺对加密产品进行改进以便提供更强的保护. PHP加密技术可以追溯到01年,当时PHP已经很火爆,所以许多公司希望能推出商业化的PHP系统,于是PHP加密(编译)产品应运而生,随后PHP大颚Zend公司推出了自己的Zend Encoder,直到现在,Zen

  • PHP中加密解密函数与DES加密解密实例

    本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考.具体如下: 例子,php加密解密的例子 加密函数: 复制代码 代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数  srand((double)microtime() * 1000000);  $encrypt_key=md5(rand(0, 32000));  $ctr=0;  $t

  • PHP 加密解密内部算法

    将它们打包成一个文件就叫fun.php吧 复制代码 代码如下: <?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ''; for($i = 0;$i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ?

  • PHP可逆加密/解密函数分享

    函数源码 复制代码 代码如下: function encrypt($data, $key) { $prep_code = serialize($data); $block = mcrypt_get_block_size('des', 'ecb'); if (($pad = $block - (strlen($prep_code) % $block)) < $block) { $prep_code .= str_repeat(chr($pad), $pad); } $encrypt = mcryp

  • php rsa加密解密使用详解

    1.加密解密的第一步是生成公钥.私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin目录,执行以下命令: 复制代码 代码如下: openssl genrsa -out rsa_private_key.pem 1024 openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out

  • PHP实现加强版加密解密类实例

    本文实例讲述了PHP实现加强版加密解密类.分享给大家供大家参考.具体如下: <?php class Ender{ private $enkey;//加密解密用的密钥 private $rep_char='#'; //替换加密后的base64字符串中的=,因为=在有些场合是禁止使用的, //这里可以用一个允许的字符作为替换. //构造参数是密钥 public function __construct($key=''){ if(!$key){ $this->enkey=$key; } } //设置

  • 一组PHP可逆加密解密算法实例代码

    对于大部分密码加密,我们可以采用md5.sha1等方法.可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密. 对于需要还原的信息,则需要采用可逆的加密解密算法. 下面一组PHP函数是实现此加密解密的方法: 加密算法如下: 复制代码 代码如下: function encrypt($data, $key){ $key = md5($key);    $x  = 0;    $len = strlen($data);    $l  = strlen($key);    for ($i = 0

  • 当前比较流行的两款PHP加密、解密工具Zend Guard和iconCube介绍

    当前市场上较流行的对PHP进行上述加密授权的软件主要有二种: (1)Zend公司的ZendGuard. (2)ionCube公司的ionCube PHP Encode. ZendGuard只能对带有PHP标记或源码的文件进行加密(如:.php,inc等),对于其他不带有PHP标记的文本方式保存的文件不能进行加密操作,支持期限,注册码. ionCube PHP Encode,由ionCube开发,用于对PHP或非PHP文件进行加密工作.ionCube在功能方面经过测试可以优胜于Zend公司的Zen

  • ionCube 一款类似zend的PHP加密/解密工具

    PHP本身没有带有ionCube loader模块, 必须到ionCube网站下载.ionCube loader是免费的,但是Encoder的价格就比较昂贵(起价$199). 下面要介绍如何在Linux下安装ionCube Loader. 1. 下载ionCube http://www.ioncube.com/loader_download.php, 通过这个链接可以找到对应的版本,我使用wget从命令行获取Linux64版本. wget -c http://downloads2.ioncube

  • 微盾PHP脚本加密专家php解密算法

    复制代码 代码如下: <?php /*********************************** *威盾PHP加密专家解密算法 By:Neeao *http://Neeao.com *2009-09-10 ***********************************/ $filename="play-js.php";//要解密的文件 $lines = file($filename);//0,1,2行 //第一次base64解密 $content="&

  • 怎样给PHP源代码加密?PHP二进制加密与解密的解决办法

    分享2种PHP的源码加密方式,此加密方法支持任意PHP版. 注意,加密后的PHP代码无需第三方工具解密,像往常一样,直接运行即可. 复制代码 代码如下: <?php   function encode_file_contents($filename) {       $type=strtolower(substr(strrchr($filename,'.'),1));       if ('php' == $type && is_file($filename) &&

  • 兼容PHP和Java的des加密解密代码分享

    php代码: <?php class DES { var $key; var $iv; //偏移量 function DES($key, $iv=0) { $this->key = $key; if($iv == 0) { $this->iv = $key; } else { $this->iv = $iv; } } //加密 function encrypt($str) { $size = mcrypt_get_block_size ( MCRYPT_DES, MCRYPT_MO

随机推荐