[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
啊!我讨厌加密!!
请问楼主,怎样实现“在线检查更新”啊?
教教我可以吗~

TOP

回复 1# bluewing009


我真的很讨厌加密!
突然我想到荣誉版主youxi01在批处理经典代码合集发的经典代码合集内有个加密程序~
误打误撞~
把你的加密档案解密了~
我把代码发出来的唯一希望是:开源最好!
把代吗发出来是为了精益求精吗~
再说几十个网友的眼睛甚至有几百到几千个眼睛都会来看你的代码呢~
他们说不定也会帮你简化代码~
希望把代吗发出来不会侵犯大大~
如果愿意~
我可以马上把代码删掉~
————————————代码分割线——————————————————
  1. cls
  2. @echo off
  3. Color 3F
  4. goto Check_Updates
  5. :Main
  6. Mode con cols=46 lines=12
  7. Title 危险等级分析工具
  8. cls
  9. echo;
  10. echo   ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  11. echo   ☆                                      ☆
  12. echo   ★       批处理危险等级分析助工具       ★
  13. echo   ☆                                      ☆
  14. echo   ★                             V 1.0    ★
  15. echo   ☆                                      ☆
  16. echo   ★                        bluewing009   ★
  17. echo   ☆                       QQ :961881006 ☆
  18. echo   ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  19. ping /n 3 127.1>nul
  20. :Target_Get
  21. cls
  22. echo;
  23. echo  请选择要分析的批处理(Q=退出):
  24. echo;
  25. echo   拖动或输入均可
  26. echo;
  27. set /p Target=
  28. set "Target=%Target:"=%"
  29. if /i "%Target%"=="q" exit
  30. if /i "%Target:~-4%"==".bat" if exist "%Target%" goto Prepare
  31. if /i "%Target:~-4%"==".cmd" if exist "%Target%" goto Prepare
  32. echo 目标文件不是批处理文件(*.bat  *.cmd)
  33. ping /n 3 127.1>nul
  34. goto Target_Get
  35. :Prepare
  36. for /f "delims=" %%i in ("%Target%") do (
  37.     set Target_Name=%%~ni
  38.     set Target_path=%%~dpi
  39. )
  40. findstr "echo" "%Target%" >nul 2>nul
  41. if %errorlevel%==1 goto choose
  42. if %errorlevel%==0 copy /y "%Target%" "%temp%\decrypt.txt">nul
  43. :Analyze
  44. cls
  45. set /a NO.=Risk_level_=Key_NO.=0
  46. echo 批处理可疑程度分析报告>%temp%\详细分析_1.txt
  47. echo By bluewing009   QQ 961881006 >>%temp%\详细分析_1.txt
  48. echo;>>%temp%\详细分析_1.txt
  49. echo 分析文件:%Target% >>%temp%\详细分析_1.txt
  50. findstr /i /b /v "echo set pause : rem" "%temp%\decrypt.txt">%temp%\key_code.txt
  51. findstr /i /b "echo" "%Target%" |find  ">" >%temp%\key_code_output.txt
  52. findstr /i /b "for if" "%temp%\key_code.txt">%temp%\key_code_special.txt
  53. for /f "usebackq tokens=1* delims=:" %%i in (`findstr /n .* "%temp%\key_code.txt"`) do set /a Key_NO.=%%i
  54. for %%m in (
  55.     "5 : format : 格式化磁盘"
  56.     "5 : debug : 内存修改"
  57.     "5 : ftp : 传输未知文件"
  58.     "4 : assoc : 修改文件关联"
  59.     "4 : start : 调用未知文件"
  60.     "4 : reg : 操作注册表键值"
  61.     "4 : cacls : 修改文件访问控制"
  62.     "4 : Bootcfg : 修改系统加载项目"
  63.     "4 : ntsd : 进程调试"
  64.     "4 : regsvr32 : 注册dll文件"
  65.     "4 : route : 路由操作"
  66.     "4 : sc : 服务操作"
  67.     "4 : arp : 修改地址解析协议(ARP)"
  68.     "3 : del : 删除文件"
  69.     "3 : rd : 删除目录"
  70.     "3 : rmdir : 删除目录"
  71.     "3 : cprofile : 清除配置文件"
  72.     "3 : ftype : 修改文件关联扩展"
  73.     "3 : replace : 替换文件"
  74.     "2 : attrib : 修改文件属性"
  75.     "2 : convert : 修改卷类型"
  76.     "2 : device : 加载设备驱动"
  77.     "2 : schtasks : 修改计划任务"
  78.     "2 : shutdown : 关闭计算机"
  79.     "2 : subst : 虚拟驱动器"
  80.     "2 : taskkill : 结束任务或进程"
  81.     "1 : copy : 复制文件"
  82.     "1 : xcopy : 复制文件夹"
  83.     "1 : mkdir : 创建目录或子目录"
  84.     "1 : md : 创建目录或子目录"
  85.     "1 : move : 移动文件"
  86.     "1 : ren : 修改文件名"
  87.     "1 : rename : 修改文件名"
  88. ) do (
  89.         set /a NO._Doing+=3
  90.         cls
  91.         echo;
  92.         echo;
  93.         echo  正在解析,请稍后
  94.         echo;
  95.         echo;
  96.         echo                    !NO._Doing! %%%
  97.     for /f "tokens=1,2,* delims=:" %%i in ("%%m") do (
  98.         set Risk_level_temp=%%i
  99.         set Risk_level_temp=!Risk_level_temp:~1,-1!
  100.         set Code_temp=%%j
  101.         set Code=!Code_temp:~1,-1!
  102.         set Exegesis_temp=%%k
  103.         set Exegesis=!Exegesis_temp:~1,-1!
  104.         
  105.         for /f "usebackq tokens=1* delims=:" %%u in (`findstr /n /i /b "!code! @!code!" "%temp%\decrypt.txt"`) do (
  106.             echo 第%%u行   !Exegesis!   %%v >>%temp%\详细分析_2.txt
  107.             set /a NO.+=1
  108.             if !Risk_level_! leq !Risk_level_temp! set /a Risk_level_=!Risk_level_temp!
  109.         )
  110.         
  111.         for /f "usebackq tokens=1* delims=:" %%u in (`findstr /n /i /C:"!code! " "%temp%\key_code_special.txt"`) do (
  112.             echo 第%%u行   !Exegesis!   %%v >>%temp%\详细分析_2.txt
  113.             set /a NO.+=1
  114.             if !Risk_level_! leq !Risk_level_temp! set /a Risk_level_=!Risk_level_temp!
  115.         )
  116.         for /f "usebackq tokens=1* delims=:" %%u in (`findstr /n /i /C:"!code! " "%temp%\key_code_output.txt"`) do (
  117.             echo 第%%u行   !Exegesis!   %%v >>%temp%\详细分析_2.txt
  118.             set /a NO.+=1
  119.             if !Risk_level_! leq !Risk_level_temp! set /a Risk_level_=!Risk_level_temp!
  120.         )
  121.         
  122.     )
  123. )
  124. if !Risk_level_!==5 set Risk_level=★★★★★ & set Risk_=极度危险
  125. if !Risk_level_!==4 set Risk_level=★★★★☆ & set Risk_=中度危险
  126. if !Risk_level_!==3 set Risk_level=★★★☆☆ & set Risk_=轻度危险
  127. if !Risk_level_!==2 set Risk_level=★★☆☆☆ & set Risk_=需要关注
  128. if !Risk_level_!==1 set Risk_level=★☆☆☆☆ & set Risk_=需要注意
  129. if !Risk_level_!==0 set Risk_level=☆☆☆☆☆ & set Risk_=没有危险
  130. set /a Suspicious_level=!NO.!*100/!Key_NO.!
  131. del  "%temp%\result.txt"  "%temp%\decrypt.txt" "%temp%\key_code.txt" "%temp%\key_code_special.txt" "%temp%\key_code_output.txt" >nul
  132. if "%Decrypt%"=="1" (
  133.     echo;>>%temp%\详细分析_1.txt
  134.     echo ★ 提示:>>%temp%\详细分析_1.txt
  135.     echo    文件可能被加密变形,您在解析时未选择解密,请注意。>>%temp%\详细分析_1.txt
  136. )
  137. echo ============================================== >>%temp%\详细分析_1.txt
  138. echo    危险等级: !Risk_level!   !Risk_! >>%temp%\详细分析_1.txt
  139. echo    可疑程度: !Suspicious_level!%%>>%temp%\详细分析_1.txt
  140. echo ============================================== >>%temp%\详细分析_1.txt
  141. copy /b %temp%\详细分析_1.txt+%temp%\详细分析_2.txt "%Target_path%%Target_Name%_详细分析.txt"
  142. del %temp%\详细分析_1.txt %temp%\详细分析_2.txt >nul
  143. cls
  144. echo;
  145. echo                  分 析 结 果
  146. echo ==============================================
  147. echo;
  148. echo 可疑程度越高则说明目标为恶意批处理的可能越大
  149. echo    可疑程度: !Suspicious_level!%%
  150. echo;
  151. echo 危险等级越高则说明可能造成的危害程度越大
  152. echo    危险等级: !Risk_level!
  153. echo;
  154. ping /n 3 127.1>nul
  155. start "" "%Target_path%%Target_Name%_详细分析.txt"
  156. pause>nul  
  157. exit
  158. rem 以下为调用组件
  159. :Bat_Decrypt
  160. cls
  161. del /f /s /q %temp%\decrypt.txt >nul 2>nul
  162. echo;
  163. echo;
  164. echo                正在尝试解密
  165. echo;
  166. echo             耗时与文件大小有关
  167. echo;
  168. echo             ... 请耐心等待 ...
  169. ping /n 2 127.1>nul
  170. set /a NO._Now=0
  171. for /f "usebackq tokens=1* delims=:" %%i in (`findstr/n .* "%Target%"`) do set NO._all=%%i
  172. (
  173.     for /f "usebackq delims=" %%a in ("%Target%") do (
  174.         set var_change=%%a
  175.         set /a NO._Now+=1
  176.         cls
  177.         echo;
  178.         echo;
  179.         echo    正在解析    !NO._Now!/!NO._all!
  180.         setlocal enabledelayedexpansion
  181.         set var_change=!var_change:^&=#_1_#!
  182.         set var_change=!var_change:^|=#_2_#!
  183.         set var_change=!var_change:^<=#_3_#!
  184.         set var_change=!var_change:^>=#_4_#!
  185.         set var_change=!var_change:^^=^^^^!
  186.         for /f "delims=" %%b in ("!var_change!") do (
  187.             endlocal
  188.             echo; | ^> %temp%\temp_.txt echo %%b
  189.         )
  190.         for /f "delims=" %%b in (%temp%\temp_.txt) do (
  191.             set var_change_back=%%b
  192.             setlocal enabledelayedexpansion
  193.             set var_change_back=!var_change_back:#_1_#=^&!
  194.             set var_change_back=!var_change_back:#_2_#=^|!
  195.             set var_change_back=!var_change_back:#_3_#=^<!
  196.             set var_change_back=!var_change_back:#_4_#=^>!
  197.             echo !var_change_back!>>%temp%\decrypt.txt
  198.             if "!var_change_back:set =!" neq "!var_change_back!" (endlocal&call %%a) else (endlocal)
  199.         )
  200.     )
  201. del %temp%\temp_.txt >nul
  202. ) 2>nul
  203. goto :eof
  204. :choose
  205. cls
  206. echo ==============================================
  207. echo;
  208. echo               文件可能被加密
  209. echo;
  210. echo              是否调用解密组件
  211. echo;
  212. set choose=~
  213. set /p choose= (Y/N)?
  214. if /i %choose%==n (
  215.     set Decrypt=1
  216.     copy /y "%Target%" "%temp%\decrypt.txt">nul
  217.     goto Analyze
  218. )
  219. if /i %choose%==y (
  220.     call :Bat_Decrypt
  221.     goto Analyze
  222. )
  223. goto choose
  224. :Check_Updates
  225. Setlocal enabledelayedexpansion
  226. Mode con cols=50 lines=10
  227. Title 在线更新
  228. set version_New=未知
  229. cls
  230. echo.
  231. echo.
  232. echo.
  233. echo                    正在检查更新
  234. echo.
  235. echo                    ...请稍后...
  236. echo on error resume next >%temp%\Updates_.vbs.vbs
  237. echo set arg=wscript.arguments >>%temp%\Updates_.vbs.vbs
  238. echo if arg.count=0 then wscript.quit >>%temp%\Updates_.vbs.vbs
  239. echo Set Message = CreateObject("CDO.Message") >>%temp%\Updates_.vbs.vbs
  240. echo Message.CreateMHTMLBody arg(0),31 >>%temp%\Updates_.vbs.vbs
  241. echo DownLoad= Message.HTMLBody >>%temp%\Updates_.vbs.vbs
  242. echo Set Message = Nothing >>%temp%\Updates_.vbs.vbs
  243. echo Set DownRecord=CreateObject("ADODB.Recordset") >>%temp%\Updates_.vbs.vbs
  244. echo Length=Len(DownLoad)/2 >>%temp%\Updates_.vbs.vbs
  245. echo DownRecord.Fields.Append "Content",205,Length>>%temp%\Updates_.vbs.vbs
  246. echo DownRecord.Open:DownRecord.AddNew >>%temp%\Updates_.vbs.vbs
  247. echo DownRecord("Content")=DownLoad^&ChrB(0) >>%temp%\Updates_.vbs.vbs
  248. echo DownRecord.Update >>%temp%\Updates_.vbs.vbs
  249. echo DownLoad=DownRecord("Content").GetChunk(Length) >>%temp%\Updates_.vbs.vbs
  250. echo Set DownContent=CreateObject("ADODB.Stream") >>%temp%\Updates_.vbs.vbs
  251. echo With DownContent >>%temp%\Updates_.vbs.vbs
  252. echo .Mode = 3 >>%temp%\Updates_.vbs.vbs
  253. echo .Type = 1 >>%temp%\Updates_.vbs.vbs
  254. echo .Open() >>%temp%\Updates_.vbs.vbs
  255. echo .Write DownLoad >>%temp%\Updates_.vbs.vbs
  256. echo .SaveToFile arg(1),2 >>%temp%\Updates_.vbs.vbs
  257. echo End with>>%temp%\Updates_.vbs.vbs
  258. cscript %temp%\Updates_.vbs.vbs http://www.bluewing009.co.cc/批处理危险等级_版本标记.htm %temp%/批处理危险等级_版本标记.txt >nul
  259. for /f %%i in (%temp%\批处理危险等级_版本标记.txt) do set version_New=%%i
  260. if "%version_New%"=="未知" goto Check_Updates_Error
  261. for /f "tokens=1* delims=:" %%i in ('findstr /n .* %0') do if %%i==18 for /f "tokens=3" %%m in ('%%j') do set version_Now=%%m
  262. if %version_Now%==%version_New% goto Main else  Check_Updates_Do
  263. :Check_Updates_Do
  264. cls
  265. echo.
  266. echo.
  267. echo.
  268. echo                    正在下载更新
  269. echo.
  270. echo                    ...请稍后...
  271. cscript %temp%\Updates_.vbs.vbs http://www.bluewing009.co.cc/批处理危险等级_代码.htm %temp%\批处理危险等级.bat >nul
  272. echo @echo off>%temp%\批处理危险等级_更新.bat
  273. echo Mode con cols=50 lines=10>>%temp%\批处理危险等级_更新.bat
  274. echo Color 3F>>%temp%\批处理危险等级_更新.bat
  275. echo Title 在线更新>>%temp%\批处理危险等级_更新.bat
  276. echo echo.>>%temp%\批处理危险等级_更新.bat
  277. echo echo.>>%temp%\批处理危险等级_更新.bat
  278. echo echo.>>%temp%\批处理危险等级_更新.bat
  279. echo echo.>>%temp%\批处理危险等级_更新.bat
  280. echo echo                   ...重新启动...>>%temp%\批处理危险等级_更新.bat
  281. echo ping /n 3 127.1^>nul>>%temp%\批处理危险等级_更新.bat
  282. echo copy /y "%temp%\批处理危险等级.bat" "%~dp0\%~n0.bat"^>nul >>%temp%\批处理危险等级_更新.bat
  283. echo start "" "%~dp0\%~n0.bat">>%temp%\批处理危险等级_更新.bat
  284. echo Exit>>%temp%\批处理危险等级_更新.bat
  285. start %temp%\批处理危险等级_更新.bat
  286. exit
  287. :Check_Updates_Error
  288. cls
  289. echo.
  290. echo.
  291. echo                 无法连接更新服务器
  292. echo.
  293. echo                     请下载更新
  294. ping /n 3 127.1>nul
  295. goto Main
复制代码
再次:希望没有侵犯你~

TOP

返回列表