今天在学习一个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+/'
)).
"?>"
;
?>
分享到:
相关推荐
这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决
UrlDecode是我们天天要用的东西了,小的字符串,我们直接拷到在线网站上处理掉,大量数据呢?这个工具可以高效离线处理,亲测200GB日志,完全满足您的需求。
js实现urlncode 和urldecode
使用python2.6.6,windows下直接拖拽文件到图标上即可。 输出文件为UTF-8文件,文件名为原文件名.dec。 代码中把注释去掉则输出变为GB2312,可以自行修改。
urlEncode or urlDecode
在PHP的语法环境里,有urlencode与urldecode,base64_encode和base64_decode自带的对称算法,不过这些自带的算法不能称之为加密算法,只能说是编码方式而已。可是我们可以利用这些来进行一些加工,来实现简单的加密和...
易语言7位加密算法源码,7位加密算法,Encode7bit,Decode7bit
$operation:DECODE表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。第六种 函数encrypt($string,$operation,$key)中$string:需要加密解密的字符串;$operation:判断是加密还是解密,E表示加密,D表示...
自己写的,可能有bug,请大家一块学习 环境为PB12 函数(及参数) 作用 arraysort 对一维数组进行排序 ...urldecode 将指定字符串以进行指定字符集url解码 urlencode 将指定字符串以进行指定字符集url编码 涨价了,哈哈
urlencode urldecode实现,在xcode里使用c++混编
主要介绍了用JavaScript实现PHP的urlencode与urldecode函数,很多情况下我们用了出来php urlencode出来的网址,需要的朋友可以参考下
代码如下:‘================================================ ‘函数名:URLDecode ‘作 用:URL解码 ‘================================================ Function URLDecode(ByVal urlcode) Dim start,final,...
易语言URL编解码源码,URL编解码,URLEncode,URLDecode
本资源是集合了SMS4和自定义的Base64加密算法。SMS4加密算法中提供了如下接口: private static byte[] encode16(byte[] plain, byte[] key); private static byte[] decode16(byte[] cipher, byte[] key); private ...
在我初学 PHP 的时候,看的是学校图书馆的一本烂书,里面根本就没写 PHP 在处理表单的时候会自动 urldecode,所以自己用 urldecode 函数来解码
主要介绍了php自定义urlencode,urldecode函数,实例分析了php字符串转码的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
即: 如果有空格就用 代替,如果有其它字符就用%ASCII...具体实现如下: 代码如下:function urldecode(encodestr) newstr=”” havechar=false lastchar=”” for i=1 to len(encodestr) char_c=mid(encode
中文字符编码研究系列第五期,详解 urlencode()与urldecode()函数字符编码原理,两个函数分别用于编码 URL 字符串和解码已编码的 URL 字符串,实现对中文字符的编码
urldecode 把%20等符号还原成原始值