蛮值得学习的一个批处理。
太有才了。。
这是提取一些CMD命令回显的字符来当做批处理代码!!太高明了!
你可以把代码改为这样试试:
@echo off
echo %comspec:~-1%%userprofile:~5,1%h%appdata:~-7,1% %appdata:~-7,1%%programfiles:~-5,1%%programfiles:~-5,1%
echo %comspec:~-16,1%%comspec:~-1%%comspec:~-13,1% %comspec:~-13,1%%userprofile:~5,1%%appdata:~-7,1%%appdata:~-15,1%%userprofile:~6,1%=%%bh%%jkq%%vz%%f7%%4c50t%%u1w8%%(cdf9)%%@6tc%%
echo %tcopu:~32,1%%comspec:~-1%%userprofile:~5,1%%tcopu:~2,1%%appdata:~-7,1% %appdata:~-7,1%%tcopu:~11,1%%tcopu:~11,1%
echo %userprofile:~5,1%%appdata:~-13,1%%comspec:~-16,1%
echo %userprofile:~5,1%%appdata:~-7,1%%appdata:~-13,1%%appdata:~-7,1%%programfiles:~4,1% %tcopu:~1,1%
echo %comspec:~-13,1%%programfiles:~-4,1%%comspec:~-13,1%%appdata:~-13,1%%comspec:~-1% S%userprofile:~5,1%%appdata:~-1%%userprofile:~14,1%%programfiles:~-4,1%%userprofile:~14,1%%programfiles:~6,1% B%comspec:~12,1% SYN ** %1-%%comspec:~-9,1% ** %3
echo %comspec:~-16,1%.%appdata:~15,1%%appdata:~-13,1%%appdata:~-13,1% %comspec:~-16,1%%comspec:~12,1%%userprofile:~14,1% %1 %2 %tcopu:~21,1%%tcopu:~14,1%%comspec:~-10,1%%comspec:~-10,1% /%comspec:~-16,1%%appdata:~-1%%tcopu:~8,1%%comspec:~-1%
echo %tcopu:~11,1%%appdata:~-7,1%%programfiles:~4,1% /%tcopu:~11,1% "%comspec:~-1%%appdata:~-7,1%%appdata:~-13,1%=- %comspec:~-13,1%%appdata:~-7,1%%tcopu:~5,1%%comspec:~-1%%userprofile:~14,1%%
pause
看出什么来了吗?
把命令的字符单个单个从系统环境变量及自身提供的环境变量中提取的。
可以用echo空格+每一行解密,遇到设置环境变量,就先设置环境变量再继续下一行。
注意里面还有%1 %2 %3。
@echo oFF
set tcopu=%%bh%%jkq%%vz%%f7%%4c50t%%u1w8%%(cdf9)%%@6tc%%
@echo off
cls
color b
title Scaning By SYN ** %1-2 ** %3
s.dll syn %1 %2 1433 /save
for /f "eol=- token
用的是CMD中命令扩展特性,使用象 %path:10,5% 这样的扩展环境变量可以返回 path 变量值中第11-15个字符的子字符串,用这些字符串拼起来成为真正执行的命令(有些字符在环境中没有使用,他就只好自己写上了,例如里面tcopu、SYN等)。
你可把每行前面加上 echo,运行时则会把实际执行的命令显示出来,但不真的执行。这个程序用这样的方法重复加密了不止一次,所以需要层层剥离。
我剥到第3层剥不下去了……太累眼睛了!
变量加密,利用变量达到处理文字时,自动变成变量.一般网上的那些解密都无法解,但也好解.关键是需要知道这些变量那些是真实的.