PHP威盾解密,urldecode,eval解密

昨天朋友让帮忙解密一个php加密文件,通过查找资料,最终解密出来了。

现在讲解密方式记录下来:

源码如下:

可以看出:在?>之后又有一大段代码;显然,这些数据并不是直接输出给客户端的,而要在服务端经过一定的处理。

所以我们将?>后面的数据单独保存在一个地方备用

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

通过观察,可以看出代码中也有一个eval函数,根据上一篇文章思路,试试解密:

1、将eval替换成echo

2、运行该文件,得到的结果并替换掉刚刚改的echo

<?php
OOO0O0O00 = __FILE__;OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
OO00O0000 = 12764;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';
OO0OO0000 =OOO000000{17} . OOO000000{12} .OOO000000{18} . OOO000000{5} .OOO000000{19};
if (!0) O000O0O00 =OO0OO0000(OOO0O0O00, 'rb');OO0OO000O = OOO000000{17} .OOO000000{20} . OOO000000{5} .OOO000000{9} . OOO000000{16};OO0OO00O0 = OOO000000{14} .OOO000000{0} . OOO000000{20} .OOO000000{0} . OOO000000{20};OO0OO000O(O000O0O00, 1202);OO00O00O0 = (OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00, 380), '10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
eval($OO00O00O0);
return; ?>
//其他数据

3、然后在将eval替换成echo

遗憾的是,这样做不能得到正确的结果。原因是:

  • 文件末有很多数据,这些数据应该包含了经过编码的程序代码。
  • 开头的解码脚本从FILE变量获取当前执行的文件名,然后定位到?>后面数据内部的某个位置(可能是开头或中间),解码并执行那些数据中蕴藏的程序。
  • 第一次解密的时候,开头的解码脚本的长度被改变,造成不能定位到正确的位置。

这样行不通后:整理一下源码并分析一下:

<?php
OOO0O0O00 = __FILE__;OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
OO00O0000 = 12764;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';
OO0OO0000 =OOO000000{17} . OOO000000{12} .OOO000000{18} . OOO000000{5} .OOO000000{19};
if (!0) O000O0O00 =OO0OO0000(OOO0O0O00, 'rb');OO0OO000O = OOO000000{17} .OOO000000{20} . OOO000000{5} .OOO000000{9} . OOO000000{16};OO0OO00O0 = OOO000000{14} .OOO000000{0} . OOO000000{20} .OOO000000{0} . OOO000000{20};OO0OO000O(O000O0O00, 1202);OO00O00O0 = (OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00, 380), '10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
eval($OO00O00O0);
return; ?>

然后,便是一行行弄清解码脚本中每个变量的值,这样就可以看懂其流程。

例如$OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
我们需要知道这个变量是多少

<?php
OOO0O0O00 = __FILE__;
//OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
OOO000000 = 'th6sbehqla4co_sadfpnr';OO00O0000 = 12764;
// 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};
OOO0000O0 = 'base64_decode';O0O0000O0 = 'OOO0000O0';
// OO0OO0000=OOO000000{17}.OOO000000{12}.OOO000000{18}.OOO000000{5}.OOO000000{19};
OO0OO0000 = 'fopen';
// if(!0)
//O000O0O00 = fopen(OOO0O0O00, 'rb');O000O0O00 = fopen(OOO0O0O00, 'rb');
//OO0OO000O=OOO000000{17}.OOO000000{20}.OOO000000{5}.OOO000000{9}.OOO000000{16};OO0OO000O = 'fread';
// OO0OO00O0=OOO000000{14}.OOO000000{0}.OOO000000{20}.OOO000000{0}.OOO000000{20};OO0OO000O(O000O0O00,1202);
OO0OO00O0 = 'strtr';
//OO00O00O0=(OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00,380),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
OO00O00O0=(base64_decode(strtr(fread(fopen(OOO0O0O00, 'rb'),380),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
eval($OO00O00O0);
return; ?>

其中最关键的就是下面这句

$OO00O00O0 = (base64_decode(
strtr(
fread(
fopen($OOO0O0O00, 'rb'), //打开当前文件
380
),
'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
)));  //读取380字节,根据代码表替换字符,base64解码

然后我们将下面读取到380个字节替换上

<?php
OOO0O0O00 = __FILE__;
//OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
OOO000000 = 'th6sbehqla4co_sadfpnr';OO00O0000 = 12764;
// 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};
OOO0000O0 = 'base64_decode';O0O0000O0 = 'OOO0000O0';
// OO0OO0000=OOO000000{17}.OOO000000{12}.OOO000000{18}.OOO000000{5}.OOO000000{19};
OO0OO0000 = 'fopen';
// if(!0)
//O000O0O00 = fopen(OOO0O0O00, 'rb');O000O0O00 = fopen(OOO0O0O00, 'rb');
//OO0OO000O=OOO000000{17}.OOO000000{20}.OOO000000{5}.OOO000000{9}.OOO000000{16};OO0OO000O = 'fread';
// OO0OO00O0=OOO000000{14}.OOO000000{0}.OOO000000{20}.OOO000000{0}.OOO000000{20};OO0OO000O(O000O0O00,1202);
OO0OO00O0 = 'strtr';
//OO00O00O0=(OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00,380),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
a = 'yn9dCa0dCa0dCazxlNymLRhWkGgpjFOriz9GFHwgiz8rbYArAP4QfZ9dCn8Wfx1WbPArAPWSyn9dfx1WCa0dCYOQfZ8WfZ8WCn8WBYedfx0dfx1WCn8Syn8WCa0dCn8WCYWQfZ8WCn8WCa1WBFWrCf0jJI5reZ50MHyPE2cnjnhqeRjAKnqsFRsbKZwUfIzdkz0WHigFLqcxhNehlhj2h3lJMgs6CpCZcfJ3DaQtbxZrbYl0EQcneHjNFnqBFZwcfQ9EHhyfhghIhzojIRgPJ2eqjRlSKIstkGzVk30wLrcZlij3MNq6CanXCxEzcpL4DFUvyXQsBFQ7jRcUk3cqBYedCa1Wfx0dCa1sD2h2JIWSyn9dCa0dCa0dCYQ7';OO00O00O0=(base64_decode(strtr(a,'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
echo(OO00O00O0);
return; ?>

得到的结果是

<?php
OOO0O0O00 = __FILE__;
//OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
OOO000000 = 'th6sbehqla4co_sadfpnr';OO00O0000 = 12764;
// 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};
OOO0000O0 = 'base64_decode';O0O0000O0 = 'OOO0000O0';
// OO0OO0000=OOO000000{17}.OOO000000{12}.OOO000000{18}.OOO000000{5}.OOO000000{19};
OO0OO0000 = 'fopen';
// if(!0)
//O000O0O00 = fopen(OOO0O0O00, 'rb');O000O0O00 = fopen(OOO0O0O00, 'rb');
//OO0OO000O=OOO000000{17}.OOO000000{20}.OOO000000{5}.OOO000000{9}.OOO000000{16};OO0OO000O = 'fread';
// OO0OO00O0=OOO000000{14}.OOO000000{0}.OOO000000{20}.OOO000000{0}.OOO000000{20};OO0OO000O(O000O0O00,1202);
OO0OO00O0 = 'strtr';
//OO00O00O0=(OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00,380),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
a = 'yn9dCa0dCa0dCazxlNymLRhWkGgpjFOriz9GFHwgiz8rbYArAP4QfZ9dCn8Wfx1WbPArAPWSyn9dfx1WCa0dCYOQfZ8WfZ8WCn8WBYedfx0dfx1WCn8Syn8WCa0dCn8WCYWQfZ8WCn8WCa1WBFWrCf0jJI5reZ50MHyPE2cnjnhqeRjAKnqsFRsbKZwUfIzdkz0WHigFLqcxhNehlhj2h3lJMgs6CpCZcfJ3DaQtbxZrbYl0EQcneHjNFnqBFZwcfQ9EHhyfhghIhzojIRgPJ2eqjRlSKIstkGzVk30wLrcZlij3MNq6CanXCxEzcpL4DFUvyXQsBFQ7jRcUk3cqBYedCa1Wfx0dCa1sD2h2JIWSyn9dCa0dCa0dCYQ7';OO00O00O0=(base64_decode(strtr(a,'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));OO00O00O0=str_replace('__FILE__',"'".OOO0O0O00."'",(OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00,OO00O0000),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))));fclose(O000O0O00);eval(OO00O00O0);
return; ?>

替换掉各种变量

<?php
OOO0O0O00 = __FILE__;
//OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
OOO000000 = 'th6sbehqla4co_sadfpnr';OO00O0000 = 12764;
// 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};
OOO0000O0 = 'base64_decode';O0O0000O0 = 'OOO0000O0';
// OO0OO0000=OOO000000{17}.OOO000000{12}.OOO000000{18}.OOO000000{5}.OOO000000{19};
OO0OO0000 = 'fopen';
// if(!0)
//O000O0O00 = fopen(OOO0O0O00, 'rb');O000O0O00 = fopen(OOO0O0O00, 'rb');
//OO0OO000O=OOO000000{17}.OOO000000{20}.OOO000000{5}.OOO000000{9}.OOO000000{16};OO0OO000O = 'fread';
// OO0OO00O0=OOO000000{14}.OOO000000{0}.OOO000000{20}.OOO000000{0}.OOO000000{20};OO0OO000O(O000O0O00,1202);
OO0OO00O0 = 'strtr';
//OO00O00O0=(OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00,380),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
a = 'yn9dCa0dCa0dCazxlNymLRhWkGgpjFOriz9GFHwgiz8rbYArAP4QfZ9dCn8Wfx1WbPArAPWSyn9dfx1WCa0dCYOQfZ8WfZ8WCn8WBYedfx0dfx1WCn8Syn8WCa0dCn8WCYWQfZ8WCn8WCa1WBFWrCf0jJI5reZ50MHyPE2cnjnhqeRjAKnqsFRsbKZwUfIzdkz0WHigFLqcxhNehlhj2h3lJMgs6CpCZcfJ3DaQtbxZrbYl0EQcneHjNFnqBFZwcfQ9EHhyfhghIhzojIRgPJ2eqjRlSKIstkGzVk30wLrcZlij3MNq6CanXCxEzcpL4DFUvyXQsBFQ7jRcUk3cqBYedCa1Wfx0dCa1sD2h2JIWSyn9dCa0dCa0dCYQ7';OO00O00O0=(base64_decode(strtr(a,'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));OO00O00O0=str_replace('__FILE__',"'".OOO0O0O00."'",(base64_decode(strtr(fread(fopen(OOO0O0O00, 'rb'), 12764),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))));fclose(fopen(OOO0O0O00, 'rb'));
eval(OO00O00O0);
return; ?>

发现有用的数据也就最后一段

# 先前已经打开文件,定位到数据开头,读取380字节
OO00O00O0=str_replace('__FILE__',"'".OOO0O0O00."'",
(base64_decode(
strtr(
fread(
fopen(OOO0O0O00, 'rb'), 12764
),
'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
))));//读取12764字节,根据代码表替换字符,base64解码,把__FILE__替换为真正的当前文件名
fclose(O000O0O00);//关闭文件
eval($OO00O00O0);//执行代码

处理方法就很明显了,从原始文件数据开头起,跳过380字节,复制12764字节,替换掉fread(fopen(OOO0O0O00, ‘rb’), 12764),eval换成echo。前面那次解码使用的代码也需要删除,但是OOO0O0O00=FILE;这句要留着,因为str_replace里用到了这个变量。

其实我们的备用数据中也就13144个字节,380+12764正好是13144个字节

下面开始解密

<?php
OOO0O0O00 = __FILE__;
//OOO000000 = urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');
OOO000000 = 'th6sbehqla4co_sadfpnr';OO00O0000 = 12764;
// 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};
OOO0000O0 = 'base64_decode';O0O0000O0 = 'OOO0000O0';
// OO0OO0000=OOO000000{17}.OOO000000{12}.OOO000000{18}.OOO000000{5}.OOO000000{19};
OO0OO0000 = 'fopen';
// if(!0)
//O000O0O00 = fopen(OOO0O0O00, 'rb');O000O0O00 = fopen(OOO0O0O00, 'rb');
//OO0OO000O=OOO000000{17}.OOO000000{20}.OOO000000{5}.OOO000000{9}.OOO000000{16};OO0OO000O = 'fread';
// OO0OO00O0=OOO000000{14}.OOO000000{0}.OOO000000{20}.OOO000000{0}.OOO000000{20};OO0OO000O(O000O0O00,1202);
OO0OO00O0 = 'strtr';
//OO00O00O0=(OOO0000O0(OO0OO00O0(OO0OO000O(O000O0O00,380),'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
// a = 'yn9dCa0dCa0dCazxlNymLRhWkGgpjFOriz9GFHwgiz8rbYArAP4QfZ9dCn8Wfx1WbPArAPWSyn9dfx1WCa0dCYOQfZ8WfZ8WCn8WBYedfx0dfx1WCn8Syn8WCa0dCn8WCYWQfZ8WCn8WCa1WBFWrCf0jJI5reZ50MHyPE2cnjnhqeRjAKnqsFRsbKZwUfIzdkz0WHigFLqcxhNehlhj2h3lJMgs6CpCZcfJ3DaQtbxZrbYl0EQcneHjNFnqBFZwcfQ9EHhyfhghIhzojIRgPJ2eqjRlSKIstkGzVk30wLrcZlij3MNq6CanXCxEzcpL4DFUvyXQsBFQ7jRcUk3cqBYedCa1Wfx0dCa1sD2h2JIWSyn9dCa0dCa0dCYQ7';
//OO00O00O0=(base64_decode(strtr(a,'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));A = 'jIcSkX1r77V/aESrDWZBj2wvJRgUAYexlIyxMicZjIZ7aEsRlI5plGqvkP0NjienJieofR9slGcqBYeZBEZBMWZBj2wvJRgUAYeUKI5tDWZBL3lslGcSAYOQlYQOMWZBJ2gxjF1wDOZByNcwkaZOArcqkGhplY0fKG9WFHEUfRhZH2ovLn5okIHUhicqLQgQjNyqL3COjryvkF0DjiefKG9WAG9XjGhXAGy5AgcSk30yeY0QjicpAGwskIqZAa1UcPA7aEsPLRhoKxUcYRcoL2HOCpScYPexLIW9AYyxjIwqJ3EOhGhokHqnbgeqJIzDJIzqbYoxjIwqJ3EOE2woL3cDJIzqAGjXk2ZOe29vjNcakGgxLX03KGhXjF0akGgxLZqndInVE2woL3cyeYqoLX0akGgxLZ5okIHOjryvkF0HjIgufRgujF0oAG9XjGhXAGy5AgeqJIzyeY0QjicpAGwskIqZAa1UcPA7aEsPLRhoKxUcYRcoL2HOCxScYPexLIW9AYyxjIwqJ3EOH3hWLGw5FHEUe29vjNcDJIzqbnlvk2exH30qJXWPDWZByNcwkY49APoxjIwqJ3EOfRhZH2ovLn5okIHOjryvkF0DjiefKG9WANlSjiyqAgcSk30yeazobqcSk30yeYQOJiCOfRhZH2ovLn5okIHPDWZByNcwkY49AP0RLR9uAgczLN0UMHlvk2exAGnOl2oqLRHOH3eolGH9CF0okREOhGhokHqndp1Ok3yQjiAOJrQOH3hWLGw5FHEOjGhxJX0UKIzslY1WbaJPDWZBJryqJIU7aEspJicqAaE6aESQL3gUdF1PL2hUjIcZAg0zLRcSJicqFHEUe29vjNcDJIzqbnlvk2exH30qJXWPDWZByNcwkY49APoxjIwqJ3EOhicqLQ5okIHOjryvkF0hL2hXfRgujF03KGhXjF0hL2hXFHE9JF5hL2hXFHEsAGgxAghxjiyDJIzqApUcYPexLIWVdFAOjryvkF0HjIguHNhXJ2ooL2HOJF03KGhXjF0flGgZjfZWAG9XjGhXAGy5Ag0zLRcSJicqFHEOjGhxJX0UKIzslY1WbaJPDWZBJryqJIU7aEspJicqAaH6aESQL3gUdF1PL2hUjIcZAnjoLRzELR9zJ2hEkGgVFHEUH3hWLGw5FHEUE2gWlGqvkPWPDWZByNcwkY49APoxjIwqJ3EOe29vjNcDJIzqAGjXk2ZOH3hWLGw5e29vjNCOl2oqLRHOH3hWLGw5FHE9JF5fli0WkNqyeYQOJiCOe29vjNcDJIzqAYA7aESQL3gUbpZPAGjXk2ZOeRgXkh0Xk3hpjh0UJI4OJF03KGhXjF0flGgZjfZwAG9XjGhXAGy5AnjoLRzELR9zJ2hEkGgVFHEOjGhxJX0UKIzslY1WbaJPDWZBJryqJIU7aEspJicqAaJ6aESQL3gUdF1PL2hUjIcZAnwqJicqeRgXkHqnbnwqJicqeRgXkHqZjIzyeYwaJi0ZKI9VbYA7aESQL3gUbpZPBNcqkGhplY0CjIgxjHjoLRzylGhuAGjXk2ZOfGhoL2hGJiyuFieqkF03KGhXjF0CjIgxjHjoLRzylGhuFHE9JF5CjIgxjHjoLRzylGhuFHEsAGgxAnwqJicqeRgXkHqZjIZOApUcYPexLIWVdFAOjryvkF0CjIgxjHjoLRZOJF03KGhXjF0flGgZjfZwAG9XjGhXAGy5AnwqJicqeRgXkHqnAGeqL2COkGquKiEOCYW2ApUcYRyXjIgtDWZBJ2gxjF13DOZByNcwkaZOArcqkGhplY0Hk3hXFieqkHqnbgevliyylGhufRgujFwhL2hXFHEUEIeQLRhxLX1PDWZByNcwkY49AP0RLR9uAgevliyylGhuAGnOl2oqLRHOH3eolGH9CY0UKIzslY1WbaJPDWZBJryqJIU7aEs9aESQLRhxlIwZAaZOkiqxLIwsi3gzjiy5BYeUKI5tbYexLIWsDWZByNC9APA7aEs3KGqUjF1SyNyvlX19AGz5L3gUKh9RjiepKg9oLryoMFOQLRhxlIwZbnzjHzgCiZgfHZ9aBFQOaEs7aESQLX49yxwUKf48Kf4RkIqQjG9ZDxWvKf4rDWZBL3lslGcSAYOQlYQOMWZBJ2gxjF1wDOZByNCwdFeXk3lkAQ5qlgcSk30DJIzqAqZVKIqRBYeXk3lkAqhxjiy0jGeXjicxAqZ9dFLrbYLrbYlkyX4QLR93IXyhL2hXEIeQLRhxLXylbPllyXQ7aESQLX49yxwoAGoXjIJ9ARqVjGh4br0SLa9QkxzaJiyQyR9WdHcoLRefKG9WyqcSk30yeaZrbPeXk3lkAqcSk30yeYylbPLPANeoLRlqlaZPi2yUJI5tAP0ZKieUjfZPyX4QLxnVyXA+yX4QLxnVyxWvJf4rDWZBJryqJIU7aEspJicqAaA6aESQLxn9yNyvlzUPhGhokH5okIHPiF5sKIJSyNyvlzUPE2woL3cDJIzqAqZ9dFLrbYLrbYlkyX4QLR93IXyakGgxLZ5okIHPiF4riFLsDWZByNCVdFL8JF0SLRhRdFyskReqMY5WKN1/jG89E2gXjYjvLazaJiyQhGhokFjHFHE9yX4QLR93IXyHjIguFHEPiF4rAP0ZJiyrjiE9Aq9PkGgVKXAOlGqZkGH9APLVyNCwbPLPdPLVyNCwbPL8b2n+yxUcYRyXjIgtDWZBJ2gxjF1xDOZByNCwdFeXk3lkAQlvk2exfRgujFylbPeXk3lkAQlvk2exH30qJXylbRqsjPOQLR93IXyDjiefKG9WfRgujFyldfZryXWryXWrIXLVyNyvlzUPfRhZH2ovLn5okIHPiF4riFLsDWZByNCVdFL8JF0SLRhRdFyykReqMY5WKN1/jG89E2gXjYjvLazaJiyQe29vjNCRH3hWLGw5FHE9yX4QLR93IXyfli0WkNqyeYylbPLPANeslGwqdFArbPexCF4rAP0ZJiyrjiE9Aq9PkGgVKXA+yX4QLxnVyxWvJf4rDWZBJryqJIU7aEspJicqAaE6aESQLxn9yNyvlzUPhicqLQ5okIHPiF4r6jX15tGYDPLVyNyvlzUPe29vjNcDJIzqAqZVyNyvlzUPe29vjNcfLGhpAqZ7aESQLX49yxwoAGoXjIJ9AQqVjGh4br0SLa9QkxzaJiyQyR9WdHcoLReEkGgVyq0zLRcSJicqFHE9yX4QLR93IXyEliypKGgxjHqnAqZVyXAOlGqZkGH9APLVyNCwbPLPANeoLRlqlaZPi2yUJI5tAp4rbPexCF4rdY9odPL7aEsPLRhoKxUcYRcoL2HOcfScYPexCfZQLR93IXyaJi0ZKI9VAqZVyNyvlzUPe29vjNcDJIzqAqZVyNyvlzUPe29vjNcfLGhpAqZ7aESQLX49yxwoAGoXjIJ9AQqVjGh4br0SLa9QkxzaJiyQyR9WdHcoLReGJiyuHNyvlIcqyqczLN0UMHqndFLVyNyvlzUPH3hWLGw5FHEPiF4ryQjoLRzELR9zJ2hEkGgVFHE9yX4QLR93IXyGJiyuHNyvlIcqHGwokQqnAqZVyXAOlGqZkGH9APLVyNCwbPLPANeoLRlqlaZPi2yUJI5tAp4rbPexCF4rdY9odPL7aEsPLRhoKxUcYRcoL2HOcpScYPexCfZQLR93IXyaJi0ZKI9VAqZVyNyvlzUPfGhoL2hGJiyuFieqkFylDWZByNCVdFL8JF0SLRhRdFyykReqMY5WKN1/jG89E2gXjYjvLazaJiyQfGhoL2hGJiyuyQwqJicqeRgXkHqndFLVyNyvlzUPfGhoL2hGJiyuFHEPiF4ryQwqJicqeRgXkHqZjIzyeaZrbPeCjIgxjHjoLRzylGhuFHEVyXAOlGqZkGH9APLVyNCwbPLPANeoLRlqlaZPi2yUJI5tAp4rbPexCF4rdY9odPL7aEsPLRhoKxUcYRcoL2HOcxScYPexCfZQLR93IXyHk3hXFieqkH5okIHPiF4rIXLVyNyvlzUPEIeQLRhxLXylbPllyxUcYPexbpZrdGnOKNyqjpZPFI5QjiOVLGoWd2evdHcoLRERk319E2gXjgevliARhG9zLQqZjIzyeaZrbPeXk3lkAqevliyylGhuFHEPiF4ryqevliyylGhufRgujfZrbPeHk3hXFieqkH5okIHVyXAOlGqZkGH9APLVyNCwbPLPANeoLRlqlaZPi2yUJI5tAp4rbPexCF4rdY9odPL7aEsPLRhoKxUcYrZcYPexbpZrdY9UKf4rDWZBmEZBLRhZliyVAYexDWZBmEZBD2hpKG8OyxwQKiJOJ2woL3C9ARcvkYzxkFZwCPA+aESOAawQKiJOJ2woL3C9APL7jIcSkX0sKIJSynqxFGgVjaZ9lNyzjFWrJ29UbicubfnXyXWrJ29UbicubfQrBfU7jIcSkX1rAp4cYP1OAY1rDWZBD2hpKG8OyWZBAY1OAawUKI5tAGoXjIJ9AP9WlIyUKICvJ3cxb2gQCP5pL3CPANe5LGH9AreqMNEvJ3cxAP0XjIW9ArcZMIwqL2oqjiEPdOZBAY1OAawxJ3ysLNEOlNqWjfZPlGh4lY9TJijoL2cXKi0ZAP0xLRC9AP9WlIyUKICvKrCvJIEXbRsxAp48b3cpLRqWla4cYOQ8jGq2AGcUJicxdFyPJI5VjiAPdOZBAY1OAY1OdGeslP0pkGgxLxZPjR9Zk3yokInPAGeolGnuJihZk30UJiQ9ArezLRHPAGeolGnul2qQlGO9ApnWCYHPAGeolGnuKGhsj2oZdFAPAGeolGnujRqZdFypk3jqLPAOjGgZJFzxlG9WJihZk30UJiqvkrevlIcSdFyZLrhqAP1OjGgZJFzUk29WdFyZLrhqAP0QJieobIgXLR93LxZPlNyzjFAOjGgZJFzpkGqpKxZPjRgUL2HPAGeolGnuL3lsLGH9AreXlIHPdOZBAY1OAY1OAY18jGq2AGeolGnuKIzrdFAvLNhPkGqpb2quJIlqLX9ojY90enwqJIeqLP5TLGLPAGeolGnuJ2gWlGqvkpZPAp7sSSkqsbfrvStrtTNrQAkrsb7rvTfRq6aRrBxqPyvQVyS8b2eslp4cYP1OAY1OAY1OdGeslP0QJieobIqujxZPb30zJRwsJX9skIgrjiCvJIEvEHefKG9WbRsWjXAOjGgZJFzpJi0ZKI9VdFAPdVMQvVM+sDKIUDM7p+KzpVIhoVImppWvjGq2dOZBAY1OAY1OAY18jGq2AGeolGnuKIzrdFAvLNhPkGqpb2quJIlqLX9ojY90eg0zLRcSJicqbRsWjXAOjGgZJFzpJi0ZKI9VdFAPdVKjtVR1RVK2PDPZVMP1oMKbR+KBqMKOoxWvjGq2dOZBAY1OAY1OAY18jGq2AGeolGnuKIzrdFAvLNhPkGqpb2quJIlqLX9ojY90enjoLRzELR9zJ2HVKr0rAP0QJieobIcoLNesk249APA+5JKL5bTr5jD06KBn5K6KdY9QKiJ+aESOAY1OAY1OAawQKiJOjGgZJFzskIL9AP9WlIyUKICvKIzoj2hxb2gQbZgnfGhoL2hGJiyubRsWjXAOjGgZJFzpJi0ZKI9VdFAPdVK2PDPZVMP1oMMrr+ILUDPNTVI3UMMrpMKQpMIGrDF6s+IfOfWvjGq2dOZBAY1OAY1OAY18jGq2AGeolGnuKIzrdFAvLNhPkGqpb2quJIlqLX9ojY90egevliAVKr0rAP0QJieobIcoLNesk249APA+5JTx5JTS5JKL5kTn5tP45sF26A635sXy5sX657V/6ARX5JKL5bTr5jD0dY9QKiJ+aESOAY1OAY18b2eslp4cYP1OAY18b2eslp4cYOZBAY18b2eslp4cYP1OaESOAawQKiJOJ2woL3C9ARcvkYzxkFZxAN0pL2ovlXA+aESOAY1OyxusjPOQFicAJI5QdfzRJIwxjFQOMxuqJ2ovAYLOAY1OdGeslP0pkGgxLxZPL2qZjFzVk2qZJ2HPdOZBAY1OAY1OdGeslP0pkGgxLxZPL2qZjFzVk2qZJ2HulG9WAp4cYP1OAY1OAY1OdGeslP0pkGgxLxZPJRhRk3yqAYA+aESOAY1OAY1OAY1OdGeslP0pkGgxLxZPLR93ANeqMNEuJ2hVlGhXAp4cYP1OAY1OAY1OAY1OAawQKiJOJ2woL3C9ARcvkaJOkR93LRgWAP0ZKieUjfZP56Mm5jXW5JGK5jXW5bP777XC5JGK5sKW5sM25bVp55Tn5j+D6JMC5JKL5s2e5bT6Ap4cYP1OAY1OAY1OAY1OAY1OyxusjPOQL3hPL3qxlGhuAfZPkGhoL2hRJiyuAPq7D2hpKG8OyX1OAY1OAY1OAY1OAY1OdGnOKNyqjpZPb3qokRLvfGhoL2hGJiyubXAOJ2woL3C9ARyZkP0PlG4uLNyskIgXMF0PlG4ul2gXkRqVjXA+aESOAY1OAY1OAY1OAY1OAY1OdGQOJ2woL3C9ARjoAGjobi0qkRcskYzxLihoLRHukXA+dY9sdVIDV+Mrr+ILU1ZBAY1OAY1OAY1OAY1OAY18b2n+aESOAY1OAY1OAY1OAY1OAYL7mIhUL2HOMxuqJ2ovAYLOAY1OAY1OAY1OAY1OAawoAGoXjIJ9AP95JI5rbzevliAvAP0pkGgxLxZPJreVAGyZkPzWLRquJiy5AGyZkPzQJI5rjiAPANeslGwqdFbSo6tqu7Nrs43RsA3RrArRrbtrV7/SPkbqosxQVTmqQ4NvvAnPdOZBAY1OAY1OAY1OAY1OAY1OAawsAGcUJicxdFyRJF0RJFzplieUjiy5Ap48b2Q+56Mc6A+L546saESOAY1OAY1OAY1OAY1OAaWvJf4cYP1OAY1OAY1OAY1OAY1Oyxu9D2hpKG8OyX1OAY1OAY1OAY1OAY1OaESOAY1OAY1OAY1OAY18b2eslp4cYP1OAY1OAY1OAY1OAawQKiJOJ2woL3C9ARcvkaJOkR93LRgWAp4cYP1OAY1OAY1OAY1OAY1OyxusjPOSyNczJrc5L3eqkfZ9ArqokRLPBI9XBYexlIyxMicZjIZ9dFAPBFq7D2hpKG8OyX1OAY1OAY1OAY1OAY1OdGnOKNyqjpZPb3qokRLvhNyojGHvAP0pkGgxLxZPJreVAGyZkPzWLRquJiy5AGyZkPzxlIcpjicxAP0ZKieUjfZP6JYk56F+576Q5jIG5j+D77XC6b+L56K75JGN5JKF5bXT5JTp5J2w5K6x77X0Ap4cYP1OAY1OAY1OAY1OAY1OAY18KF0pkGgxLxZPjRnOjRnuL2ovLN0skRLuJ2gXlYA+dY9sdVR1R+IhoVImpOZBAY1OAY1OAY1OAY1OAY18b2n+aESOAY1OAY1OAY1OAY1OAYL7mIhUL2HOMxuqJ2ovAYLOAY1OAY1OAY1OAY1OAawoAGoXjIJ9AP95JI5rbXAOJ2woL3C9ARyZkP0PlG4uLNyskIgXMF0PlG4uKI5RkXAOlGqZkGH9AVKyvVR1OVIEPDPNTVI3UMMKoDMQvVM+sD+8pDF4pMILTDI0RVMbtDPopDF+SD+8OFA+aESOAY1OAY1OAY1OAY1OAY1OdGQOJ2woL3C9ARjoAGjobIlXk3hWAp48b2Q+5SR+56F+576QaESOAY1OAY1OAY1OAY1OAaWvJf4cYP1OAY1OAY1OAY1OAY1Oyxu9D2hpKG8OyX1OAY1OAY1OAY1OAaWvjGq2dOZBAY1OAY1OAY1OAaWvjGq2dOZBAY1OAY1OAY18b2eslp4cYOQOAaWvjGq2dP1cYP1OAY1OAawQKiJOJ2woL3C9ArcslGHukR9slGcqbIyvlNevkFA+aESOAY1OAY1OAawzkY0pkGgxLxZPL2qZjFzVk2qZJ2HukRg2AG5vl3yoLYA+aESOAY1OAY1OAY1OdGwsAGcUJicxdFyoJ3eslRHPdpwoAGoXjIJ9APcDk3esJ2HPAGeolGnulG9rj2wqdFyZJIAPdVI4tVIBTfWvJf48b2wsdOZBYEQOAYL7KIJSBYexlIyxMicZjIZ9dFy5JI5rAPqvLPOQL3hPL3qxlGhudfZPAPQsANU7jIcSkX1rAY1OAY1OAY1OAawUKf48JF0SLRhRdFApkreqJIZPAGeolGnulG9rj2wqdFyZJIAPdVKZV+P3O+MQvVM+saWvJf48b2wsdOZBYEQOAYL7mIqRBYexlIyxMicZjIZ9dFyZLRgQjFAsANU7jIcSkX1rAY1OAY1OAY1OAawUKf48JF0SLRhRdFApkrcSk31PAGeolGnulG9rj2wqdFyZJIAPdVKDTDPcQDI6q+RfVpWvJf48b2wsdOZBAY1OAY1OAY1OAawUKf48JF0SLRhRdFApkRlvk2exAP0QJieobievj2lUjfZPlGgPAp7RqtaqqJkqQ4n8b2n+dY9UKf4cYOQyAY1rD3zsjPOQL3hPL3qxlGhudfZPlGhVjGhXAPQOMxuqJ2ovAYLOAY1OAY1OAY1OdGwsdpwoAGoXjIJ9APcVlGhVjGhXAP0QJieobievj2lUjfZPlGgPAP0ZKieUjfZP5sKW6jX15tGY5jIG5sX6Ap7RP5vRPsiRSAL8b2n+dY9UKf4cYOQyAY1rD3zsjPOQL3hPL3qxlGhudfZPjRgXki0Xk3hpjFAsANU7jIcSkX1rAY1OAY1OAY1OAawUKf48JF0SLRhRdFApkRjoLRzWLR9zJ2HPAGeolGnulG9rj2wqdFyZJIAPANeslGwqdFbRqtaqosxQVTmqQ4NsSSfqtstQv6NROK8PdVKLODKIUDRPoDIVRpWvJf48b2wsdOZBYEQOAYL7mIqRBYexlIyxMicZjIZ9dFyUjIgxjIjoLRZPBF07D2hpKG8OyX1OAY1OAY1OAY18kGQ+dGnOKNyqjpZPA25UjIgxjIjoLRZPAGeolGnulG9rj2wqdFyZJIAPANeslGwqdFbRqtaqosxqVSfqo7trs5/Qv6NROK8PdVINVVMrr+IGrDI6oaWvJf48b2wsdOZBYEQOAYL7mIqRBYexlIyxMicZjIZ9dFyZk3hXAPQOMxuqJ2ovAYLOAY1OAY1OAY1OdGwsdpwoAGoXjIJ9APcZk3hXAP0QJieobievj2lUjfZPlGgPAP0ZKieUjfZP5sKW5JKL5kTn6AYa5K+m5sMg5tP46KG555VVAp7qosxqVSfRVbO8b2n+dY9UKf4cYOQyAY1rD3Z7jIcSkX1rAY1OAY1OAY18b3hUdOZBAY1OAY1OAY18jGq2AGcUJicxdFyZJIAuJ29VlGhVlYA+aESOAY1OAY1OAY1OdGeslP0sjaZPfR9ZKIcqAP0pkGgxLxZPlGgPbi0okRHOjRgQjF0skP0oJ3eslRHPdOZBAY1OAY1OAY1OAY1OdNhUAGcUJicxdFyxKieqbI5vKiepjFzUKicZAp4cYP1OAY1OAY1OAY1OAY1OdGwsdpwsdPjuKIeQk3E7dY9sdpwoAGoXjIJ9Ap9QkxzDk3esJ2HRf3yQjiyyeaZwAP0ZKieUjfZP5bV15bRA5sPv5J2a576B572e55Tn5bPK5JTo5TPo5kXd5bPD6BMn5JPj77XmAp7qpJdrvStrvjNrRSfQVytqPTNRTBNqvA/QVA7Ss4fqPyrvvy88b2n+dY9UKf4cYP1OAY1OAY1OAY1OAY1OdGwsdpwsdPjuKIeQk3E7dY9sdpwoAGoXjIJ9Ap9QkxzDk3esJ2HRf3yQjiyyeaZXCYAOlGqZkGH9AVIcO+M+PVM9QMIROVF9qMI0RV+8RVF6QVP0qDM9QFvqosxQVTmqQ4nt6B+K5b+o5bTQ5sPfAp7qpJdrvStrvjNqsSbQvjiqOjtvvytQVsbSOjfrvjnt5JKL5bTr5jD0B+PvRVF/SMF6sDKJQxWvJf48b2wsdOZBAY1OAY1OAY1OAY1OAY18kGQ+dGQ+yRzsjGevlaU8b2Q+dGnOKNyqjpZPd2evdH5vlGqpjFjdLReqLQqndfCPANeslGwqdFbqpJdrvStrvjNqQSxQvBarV5/rqbiqqJkqqJkqr47rvjNrT5rrR7pRt5fvvAxRrArqQ6tQVsvQvyprOtQ/AYA+5J2a576B572e6KBG5KFZ576B5TPo5kXd5sXy5jDT5bTk5bXJ54B5dX18b2n+dY9UKf4cYP1OAY1OAY1OAY1OAY1OdGwsdpwsdPjuKIeQk3E7dY9sdpwoAGoXjIJ9Ap9QkxzDk3esJ2HRf3yQjiyyeaZwcFAOlGqZkGH9AVRPoVIQuDM+PVIROVF9qMKiSDKLtDIAR+F4Rp8PdVRPoVIQuDM+PVIROVF9qMKiSDKLtDIAR+F4Rp88b2n+dY9UKf4cYP1OAY1OAY1OAY1OAY1OdGwsdpwsdPjuKIeQk3E7dY9sdpwoAGoXjIJ9Ap9QkxzDk3esJ2HRf3yQjiyyeaZzAP0ZKieUjfZP5J2a576B572e5jXS5b+l6jTL5tKA6bF56AYg5s2a55VB5sK56j2P77XC5sXy5jDT5bTk5S6r5JP25b+l6jTLdX1PdVIcO+M+PVM9QMILTDF/rMRKrDK2PDPZVMP1oMKlO+MkPVKIVMRlSV+8pDKLPMIfTVF6R+KDs+IAuVF/rMRKra8OdY9odpWvkGQ+aESyAY1yYF1OdGwsAGcUJicxdFyZjioZbiysj2oZAp48JF0SLRhRdFA/jG89fR9ZKIcqyQ9XjGhXFHE9CYA+5sVZ5KFKbP4VdY9odpWvkGQ+aESOAY1OAY1OAY1OAY18b3hUdOZBAY1OAY1OAY1OAaWvjGq2dOZBYEQOAYL7KIJSBYexlIyxMicZjIZ9dFy5JI5rAPqvLPOQL3hPL3qxlGhudfZPAPQsANU7jIcSkX1rAY1OAY1OAY1OAawQKiJOKIE9AR5ZjIguAP0pkGgxLxZPlGgPbi0okRHOjRgQjFA+aESOAY1OAY1OAY1OAY18lIWOJ2woL3C9ArcslGHukR9slGcqbIwsL3EPdOZBYEQyyxuqJ2ovAnlqlneolGgDk2qZJ2HSCPQ7D2hpKG8OyWQyAY1OAaWvlIW+aESOAY1OAY1OAY1OdY9QKiJ+aESyYF1Oyxu9KIJSyNczJrc5L3eqkfZ9AreXJIeqAPQOMxuqJ2ovAYLOAY1OAY1OAY1OdGeslP0sjaZPkrcSk31PAGcUJicxdFyZJIAuLGgVjF0RJIeqAp4cYP1OAY1OAY1OAY1OAawzkY0pkGgxLxZPL2qZjFzVk2qZJ2HukGqxlYA+aESyYEQrD2hpKG8Oe2hZeGgZJH5vKiepjFOwBfU7jIcSkX1rAY1OAY1OAY1OAY1OdY9zka4cYP1OAY1OAY1OAY18b2eslp4cYP1OAY1OAY1OAY18jGq2AGqQdFyVj29vjNCPAGcUJicxdFyZJIAuLGgVjF0RJIeqAp4cYP1OAY1OAY1OAY1OAawzkY0pkGgxLxZPL2qZjFzVk2qZJ2HukGqxlYA+aESyYEQrD2hpKG8Oe2hZeGgZJH5vKiepjFOxBfU7jIcSkX1rYEQOAY1OdY9zka4cYP1OAY1OAY1OAY18b2eslp4cYOQyAY1rD3zsjPOQL3hPL3qxlGhudfZPlGhVjGhXAPQOMxuqJ2ovAYLOAY1OAY1OAY1OdGeslP0sjaZPkreqkReqLPAOJ2woL3C9AreoJPzWJI5qAGjojGHPdOZBAY1OAY1OAY1OAY1OdNhUAGcUJicxdFyxKieqbI5vKiepjFzUKicZAp4cYOQyYFL7jIcSkX0NjienJieofR9slGcqBaEsDxuqJ2ovAYLyYF1OAY18b3hUdOZBAY1OAY1OAY1OAaWvjGq2dOZBYEQOAYL7mIqRBYexlIyxMicZjIZ9dFyRJiyuLNyvlIcqAPQOMxuqJ2ovAYLOAY1OAY1OAY1OdGeslP0sjaZPkRjoLRzWLR9zJ2HPAGcUJicxdFyZJIAuLGgVjF0RJIeqAp4cYP1OAY1OAY1OAY1OAawzkY0pkGgxLxZPL2qZjFzVk2qZJ2HukGqxlYA+aESyYEQrD2hpKG8Oe2hZeGgZJH5vKiepjFOzBfU7jIcSkX1rYEQOAY1OdY9zka4cYP1OAY1OAY1OAY18b2eslp4cYOQyAY1rD3zsjPOQL3hPL3qxlGhudfZPkGhoL2hRJiyuAPQOMxuqJ2ovAYLOAY1OAY1OAY1OdGeslP0sjaZPkRwqJicqjRgXkFAOJ2woL3C9AreoJPzWJI5qAGjojGHPdOZBAY1OAY1OAY1OAY1OdNhUAGcUJicxdFyxKieqbI5vKiepjFzUKicZAp4cYOQyYFL7jIcSkX0NjienJieofR9slGcqBaJsDxuqJ2ovAYLyYF1OAY18b3hUdOZBAY1OAY1OAY1OAaWvjGq2dOZBYEQOAYL7mIqRBYexlIyxMicZjIZ9dFyZk3hXAPQOMxuqJ2ovAYLOAY1OAY1OAY1OdGeslP0sjaZPlG9zLPAOJ2woL3C9AreoJPzWJI5qAGjojGHPdOZBAY1OAY1OAY1OAY1OdNhUAGcUJicxdFyxKieqbI5vKiepjFzUKicZAp4cYOQyYFL7jIcSkX0NjienJieofR9slGcqBaLsDxuqJ2ovAYLyYF1OAY18b3hUdOZBAY1OAY1OAY1OAaWvjGq2dOZBYEQOAYL7mfuqJ2ovAYLOAY1OAY1OAaWvjGq2dOZBAY1OAY1OdY9QKiJ+aESOAY1OdY9QKiJ+aESOAY1Oyxu9D2hpKG8OyX1OdY9QKiJ+aES8b2eslp4cYPL7';
OO00O00O0=str_replace('__FILE__',"'".OOO0O0O00."'",(base64_decode(strtr(A,'10YangGNAyBbCcDdEeFfHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxZz23456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))));fclose(fopen(OOO0O0O00, 'rb'));
echo($OO00O00O0);
return; ?>

得到的结果是

<?php
echo '
';
global subsystem;
function GetDataNoitce(t)
{
global link;
switch (t) {
case 1:
sql = "select ShopID,NetShopName,UserAddress from NetShop order by ShopID desc limit 0,6";
break;
case 2:sql = "select TeamID,TeamName,(select ClassName from GoodsClass where ClassID=a.ClassID)as ClassName from TeamName a order by TeamID desc limit 0,6";
break;
case 3:
sql = "select SupplyID,GoodsName,GoodsSpec,";sql .= "(select NetShopName from NetShop where ShopID=a.ShopID) as NetShopName";
sql .= " from SupplyGoods a where State=1 and TeamID>0 order by SupplyID desc limit 0,6";
break;
case 4:sql = "select PurchaseID,GoodsName,GoodsSpec,";
sql .= "(select UserName from UserName where UserID=a.UserID) as UserName";sql .= " from TeamPurchase a where State=0 order by PurchaseID desc limit 0,6";
break;
case 5:
sql = "select FarmProucePlanID,SupplyID,Caption,";sql .= "(select GoodsName from SupplyGoods where SupplyID=a.SupplyID) as GoodsName ";
sql .= " from FarmProucePlan a where State=1 order by FarmProucePlanID desc limit 0,6";
break;
case 6:sql = "select LeaseFarmID,LeaseFarmItemID,Caption,";
sql .= "(select LeaseFarmItem from LeaseFarmItem where LeaseFarmItemID=a.LeaseFarmItemID) as LeaseFarmItem ";sql .= " from LeaseFarm a where State=1 order by LeaseFarmID desc limit 0,6";
break;
case 7:
sql = "select TourItemID,TourItemName,UserID,Address ";sql .= " from TourItem a where State=0 limit 0,6";
break;
}
result = mysqli_query(link, sql);s = "";
while (row = mysqli_fetch_array(result, MYSQL_ASSOC)) {
s .= '<li><i>·</i>';
switch (t) {
case 1:
s1 =row["NetShopName"] . iif(row["UserAddress"] == '', '', '[' .row["UserAddress"] . ']');
s .= '<a href="index.php?do=Card&op=CardShop&ShopID=' .row["ShopID"] . '" target="_blank" title="' . s1 . '">' .s1 . '</a>';
break;
case 2:
s1 =row["TeamName"] . iif(row["ClassName"] == '', '', '[' .row["ClassName"] . ']');
s .= '<a href="index.php?do=Card&op=CardTeam&TID=' .row["TeamID"] . '" target="_blank" title="' . s1 . '">' .s1 . '</a>';
break;
case 3:
s1 =row["GoodsName"] . row["GoodsSpec"] . iif(row["NetShopName"] == '', '', '[' . row["NetShopName"] . ']');s .= '<a href="Index.php?do=Card&op=CardGoods&SupplyID=' . row["SupplyID"] . '" title="' .s1 . '" target="_blank">' . s1 . '</a>';
break;
case 4:s1 = row["UserName"] . '需求:' .row["GoodsName"] . row["GoodsSpec"];s .= '<a href="Index.php?do=Card&op=CardPlan&PurchaseID=' . row["PurchaseID"] . '" title="' .s1 . '" target="_blank">' . s1 . '</a>';
break;
case 5:s1 = row["Caption"] .row["GoodsName"] . row["GoodsSpec"];s .= '<a href="Index.php?do=Card&op=CardFarmProuce&SupplyID=' . row["SupplyID"] . '&FarmProucePlanID=' .row["FarmProucePlanID"] . '" title="' . s1 . '" target="_blank">' .s1 . '</a>';
break;
case 6:
s1 =row["Caption"] . row["LeaseFarmItem"];s .= '<a href="Index.php?do=Card&op=CardLeaseFarm&LeaseFarmID=' . row["LeaseFarmID"] . '&LeaseFarmItemID=' .LeaseFarmItemID . '" title="' . s1 . '" target="_blank">' .s1 . '</a>';
break;
case 7:
s1 =row["TourItemName"] . '[' . row["Address"] . ']';s .= '<a href="Index.php?do=Card&op=CardTour&TourItemID=' . row["TourItemID"] . '&TourItemName=' .TourItemName . '" title="' . s1 . '" target="_blank">' .s1 . '</a>';
break;
}
s .= '</li>';
}
returns;
}
;
echo '<div class="col-sm-12">
<div class="';
echo iif(IsHand == true, 'col-sm-12', 'col-sm-9');;
echo '">
';;
echo '
<link href="/public/css/ad2.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="/public/js/ad2.js"></script>
<div class="banner">
<div class="fotorama" data-autoplay="ture" data-width="100%" data-height="" data-fit="cover" data-stopautoplayontouch="true"  data-loop="true" data-arrows="true" data-click="false" data-swipe="true">
<div data-img="/public/images/ad/ADLeader.jpg" data-caption="">领头羊管理社群无本创业</div>
<div data-img="/public/images/ad/ADShop.jpg" data-caption="">社群新经济商城</div>
<div data-img="/public/images/ad/ADPurchase.jpg" data-caption="">普通消费者招投标</div>
<div data-img="/public/images/ad/ADFarmProuce.jpg" data-caption="">农产品预定</div>
<div data-img="/public/images/ad/ADLeaseFarm.jpg" data-caption="">消费者租地自己种植农产品</div>
<div data-img="/public/images/ad/ADTour.jpg" data-caption="">劳动农庄游收获有机绿色农产品</div>
</div>
</div>
</div>
<div class="col-sm-3 pcshow">
';
if (IsHand == false) {
;
echo '    <div class="site-noitce">
<div class="site-noitce-top">
<div class="before ">
<div class="row text-center">
<div class="col6 nowrap" title="租地做地主,做新时代的城里农村人">
';
if (subsystem != "leasefarm") {
;
echo '              <a href="/yang/LeaseFarm/" class="btn btn-primary btn-warning">
<i class="fa fa-pencil-square-o"></i>去租地
</a>
';
} else {
;
echo '              <a href="/yang/Tour/" class="btn btn-primary btn-danger" title="自己种植有机绿色农产品!">
<i class="fa fa-cutlery"></i>种菜玩
</a>
';
};
echo '              
</div>
<div class="col6 nowrap">
';
if ((subsystem == "yang") or (subsystem == "")) {
;
echo '              <a href="/yang/Trade/" class="btn btn-primary btn-success" title="逛社群商城,远离假冒伪劣危害!">
<i class="fa fa-shopping-cart"></i>逛商城
</a>
';
} else {
;
echo '              <a href="/yang/" class="btn btn-primary btn-info" title="找适合自己的社群,不在做独行侠!">
<i class="fa fa-group"></i>找社群
</a>
';
};
echo '            </div>
</div>
</div>
</div> 
<div class="site-noitce-bottom">
<ul class="site-noitce-nav nowrap">
<li class="active"><a href="#Notice" data-toggle="tab">帮助</a></li>
';
if ((subsystem == "yang") or (subsystem == "")) {
;
echo '          <li><a href="#nteam" data-toggle="tab">活跃社群</a></li>
';
}
if (subsystem == "trade") {
;
echo '          <li><a href="#nshop" data-toggle="tab">推荐店铺</a></li>
<li><a href="#ngoods" data-toggle="tab">新商品</a></li>
';
}
if (subsystem == "tender") {
;
echo '          <li><a href="#ntender" data-toggle="tab" title="新需求商机">招投标</a></li>
';
}
if (subsystem == "farmprouce") {
;
echo '          <li><a href="#nfarmprouce" data-toggle="tab" title="新农产品预定信息">最新预定</a></li>
';
}
if (subsystem == "leasefarm") {
;
echo '          <li><a href="#nleasefarm" data-toggle="tab" title="新农庄出租信息">出租农庄</a></li>
';
}
if (subsystem == "tour") {
;
echo '          <li><a href="#tour" data-toggle="tab" title="新农庄考察旅游项目">农庄游</a></li>
';
};
echo '        </ul>
<div class="tab-content">
<div id="Notice" class="tab-pane fade in active">
<ul class="site-noitce-list">
<li><i>·</i><a href="?do=Notice&OrderID=1" title="什么是千羊网的业务模式与规则?">千羊网的业务模式与规则?</a></li>
<li><i>·</i><a href="?do=Notice&OrderID=20" title="千羊网如何做:互联网+农产品+诚信交易">千羊网如何做:互联网+农产品+诚信交易</a></li>
<li><i>·</i><a href="?do=Notice&OrderID=3" title="千羊网和传统电商商城网站相比,有哪些优点? ">千羊网领头羊模式有哪些优点? </a></li>
<li><i>·</i><a href="?do=Notice&OrderID=15" title="领头羊如何无本创业?">领头羊如何无本创业?</a></li>
<li><i>·</i><a href="?do=Notice&OrderID=5" title="千羊网在保障消费者权益方面,有哪些控制保障? ">千羊网在保障消费者权益方面,有哪些控制保障? </a></li>
<li class="text-right"><a href="?do=Notice&OrderID=0">更多...</a></li>
</ul>
</div>
';
if ((subsystem == "yang") or (subsystem == "")) {
;
echo '          <div id="nteam" class="tab-pane fade">
<ul class="site-noitce-list">
';
echo GetDataNoitce(2);;
echo '          </ul>
</div>
';
}
if (subsystem == "trade") {
;
echo '          <div id="nshop" class="tab-pane fade">
<ul class="site-noitce-list">
';
echo GetDataNoitce(1);;
echo '            </ul>
</div>
<div id="ngoods" class="tab-pane fade">
<ul class="site-noitce-list">
';
echo GetDataNoitce(3);;
echo '          </ul>
</div>
';
}
if (subsystem == "tender") {
;
echo '          <div id="ntender" class="tab-pane fade">
<ul class="site-noitce-list">
';
echo GetDataNoitce(4);;
echo '          </ul>
</div>
';
}
if (subsystem == "farmprouce") {
;
echo '          <div id="nfarmprouce" class="tab-pane fade">
<ul class="site-noitce-list">
';
echo GetDataNoitce(5);;
echo '          </ul>
</div>
';
}
if (subsystem == "leasefarm") {
;
echo '          <div id="nleasefarm" class="tab-pane fade">
<ul class="site-noitce-list">
';
echo GetDataNoitce(6);;
echo '          </ul>
</div>
';
}
if ($subsystem == "tour") {
;
echo '          <div id="tour" class="tab-pane fade">
<ul class="site-noitce-list">
';
echo GetDataNoitce(7);;
echo '          </ul>
</div>
';
};
echo '        </div>
</div>
</div>
';
};
echo '  </div>
</div>
';
?>

全部接解密完成!

参考文章:php解密方法

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇