`

PHP脚本urldecode解密算法

    博客分类:
  • php
阅读更多

今天在学习一个ThinkPHP框架——sgcms时,发现一个文件被加密。

<?php
// This file is protected by sgcms & provided under license.
Copyright(C) 2007-2010 www.sgcms.cn, All rights reserved.
 
$OOO0O0O00 = __FILE__ ;
$OOO000000 =urldecode( 'th6sbehqla4co_sadfpnr' );
$OO00O0000 =21496;
$OOO0000O0 = $OOO000000 {4}.
$OOO000000 {9}. $OOO000000 {3}. $OOO000000 {5};
$OOO0000O0 .= $OOO000000 {2}. $OOO000000 {10}. $OOO000000 {13}. $OOO000000 {16};
$OOO0000O0 .= $OOO0000O0 {3}. $OOO000000 {11}. $OOO000000 {12}. $OOO0000O0 {7}. $OOO000000 {5};
$O0O0000O0 = 'OOO0000O0' ;
eval (($ $O0O0000O0 ('JE9PME9PMDAwMD0kT09PMDAwMDAwezE3fS4kT09PMDAwM...

很明显,是使用了某种PHP代码混淆工具混淆了下,Google网上搜了下,问题解决,给遇到同样问题的朋友一个方便。

 

解密php文件:

<?php
 
$filename = "GlobalAction.class.php" ; //要解密的文件
$lines = file( $filename ); //0,1,2行
 
//第一次base64解密
$content = "" ;
if (preg_match( "/O0O0000O0\('.*'\)/" , $lines [1], $y ))
{
     $content = str_replace ( "O0O0000O0('" , "" , $y [0]);
     $content = str_replace ( "')" , "" , $content );
     $content = base64_decode ( $content );
}
//第一次base64解密后的内容中查找密钥
$decode_key = "" ;
if (preg_match( "/\),'.*',/" , $content , $k ))
{
     $decode_key = str_replace ( "),'" , "" , $k [0]);
     $decode_key = str_replace ( "'," , "" , $decode_key );
}
//查找要截取字符串长度
$str_length = "" ;
if (preg_match( "/,\d*\),/" , $content , $k ))
{
     $str_length = str_replace ( ")," , "" , $k [0]);
     $str_length = str_replace ( "," , "" , $str_length );
}
//截取文件加密后的密文
$Secret = substr ( $lines [2], $str_length );
//echo $Secret;
 
//直接还原密文输出
echo "<?php\n" . base64_decode ( strtr ( $Secret , $decode_key ,
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' )).
"?>" ;
 
?>
分享到:
评论

相关推荐

    用JavaScript实现PHP的urldecode/urldecode函数

    这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决

    大文件UrlDecode工具

    UrlDecode是我们天天要用的东西了,小的字符串,我们直接拷到在线网站上处理掉,大量数据呢?这个工具可以高效离线处理,亲测200GB日志,完全满足您的需求。

    js实现urlncode 和urldecode

    js实现urlncode 和urldecode

    urldecode脚本python实现

    使用python2.6.6,windows下直接拖拽文件到图标上即可。 输出文件为UTF-8文件,文件名为原文件名.dec。 代码中把注释去掉则输出变为GB2312,可以自行修改。

    urlEncode or urlDecode

    urlEncode or urlDecode

    php中简单的对称加密算法实现

    在PHP的语法环境里,有urlencode与urldecode,base64_encode和base64_decode自带的对称算法,不过这些自带的算法不能称之为加密算法,只能说是编码方式而已。可是我们可以利用这些来进行一些加工,来实现简单的加密和...

    易语言7位加密算法

    易语言7位加密算法源码,7位加密算法,Encode7bit,Decode7bit

    六个经典的PHP加密解密算法

    $operation:DECODE表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。第六种 函数encrypt($string,$operation,$key)中$string:需要加密解密的字符串;$operation:判断是加密还是解密,E表示加密,D表示...

    PB 进制转换 url编码 urlencode urldecode 数组排序

    自己写的,可能有bug,请大家一块学习 环境为PB12 函数(及参数) 作用 arraysort 对一维数组进行排序 ...urldecode 将指定字符串以进行指定字符集url解码 urlencode 将指定字符串以进行指定字符集url编码 涨价了,哈哈

    urlencode urldecode实现

    urlencode urldecode实现,在xcode里使用c++混编

    用JavaScript实现PHP的urlencode与urldecode函数

    主要介绍了用JavaScript实现PHP的urlencode与urldecode函数,很多情况下我们用了出来php urlencode出来的网址,需要的朋友可以参考下

    ASP的URLDecode函数URLEncode解码函数

    代码如下:‘================================================ ‘函数名:URLDecode ‘作 用:URL解码 ‘================================================ Function URLDecode(ByVal urlcode) Dim start,final,...

    易语言URL编解码

    易语言URL编解码源码,URL编解码,URLEncode,URLDecode

    Java版SMS4和Base64加密算法

    本资源是集合了SMS4和自定义的Base64加密算法。SMS4加密算法中提供了如下接口: private static byte[] encode16(byte[] plain, byte[] key); private static byte[] decode16(byte[] cipher, byte[] key); private ...

    PHP 小心urldecode引发的SQL注入漏洞

    在我初学 PHP 的时候,看的是学校图书馆的一本烂书,里面根本就没写 PHP 在处理表单的时候会自动 urldecode,所以自己用 urldecode 函数来解码

    php自定义urlencode,urldecode函数实例

    主要介绍了php自定义urlencode,urldecode函数,实例分析了php字符串转码的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    用ASP应用程序实现自己的UrlDeCode

    即: 如果有空格就用 代替,如果有其它字符就用%ASCII...具体实现如下: 代码如下:function urldecode(encodestr) newstr=”” havechar=false lastchar=”” for i=1 to len(encodestr) char_c=mid(encode

    php urlencode()与urldecode()函数字符编码原理详解

    中文字符编码研究系列第五期,详解 urlencode()与urldecode()函数字符编码原理,两个函数分别用于编码 URL 字符串和解码已编码的 URL 字符串,实现对中文字符的编码

    url decode 源码

    urldecode 把%20等符号还原成原始值

Global site tag (gtag.js) - Google Analytics