为了保证混淆后的cmd命令行能够在每个电脑上都能运行,所以需要使用大多相同的环境变量。
- PATHEXT的前几个
- TEMP
- ComSpec
- PROCESSOR_IDENTIFIER
- PSModulePath
- windir
- ALLUSERSPROFILE
- ProgramData
- APPDATA
- ProgramFiles(x86)
- SystemRoot
- OS- 获取:
%变量名% - 截取其中部分字符:
- a:
%ProgramData:~-1% - b:
%PATHEXT:~11,1% - ab:
%ProgramData:~-1%%PATHEXT:~11,1% - cmd.exe:
%comspec:~-7% - 整体语法为:
%变量名:~起始位置,获取字符个数%
- a:
同样要求通用性,并非每台电脑都有相同的文件类型
- exe
- txt
- jpg
- gif
- png
- mp3-
截取其中部分字符:
-
获取:
assoc [尾缀名] -
因为是语句所以无法使用
%%截取 -
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters] <- 需要使用的是这个
- ```python #python format "for /f "delims={1} tokens={2}" %f IN ('assoc .{0}') do @echo %f" -
-
格式化模板:
-
"set {envName}={envRandStr} && for %{randVarChar} in ({needCharInEnvIndex},{indexEndTag}) do @call set {commandEnvName}=!{commandEnvName}!!{envName}:~%{randVarChar},1!&& if %{randVarChar}=={indexEndTag} !{commandEnvName}:~-{commandLength}! {commandFinalSyllable}“ -
例子:
-
for /f "delims=B= tokens=2" %f IN ('assoc .vbs') do @call %ComSpec:~-7% /%f:ON /c "set sklxpyfc=q0KY'+CI o/bsz{n%-8SJr5wuy!U=4T#t}v.1j-Q$VAMmE\aN6W9~cBHg;*PeO:lfkLX7p,iDdF@G2Rhx3Z && for %u in (12,79,24,32,73,9,23,15,3586) do @call set txirwfxz=!txirwfxz!!sklxpyfc:~%u,1!&& if %u==3586 !txirwfxz:~-8!
-
拆分:
-
for /f "delims=B= tokens=2" %f IN ('assoc .vbs')- 获取字符
v
- 获取字符
-
do @call %ComSpec:~-7% /%f:ON /c- 执行cmd.exe /v:ON /c
/v:ON的设置是为了同时使用!!%%
- 执行cmd.exe /v:ON /c
-
"set sklxpyfc=q0KY'+CI o/bsz{n%-8SJr5wuy!U=4T#t}v.1j-Q$VAMmE\aN6W9~cBHg;*PeO:lfkLX7p,iDdF@G2Rhx3Z && for %u in (12,79,24,32,73,9,23,15,3586) do @call set txirwfxz=!txirwfxz!!sklxpyfc:~%u,1!&& if %u==3586 !txirwfxz:~-8!- 拆分:
set sklxpyfc=q0KY'+CI o/bsz{n%-8SJr5wuy!U=4T#t}v.1j-Q$VAMmE\aN6W9~cBHg;*PeO:lfkLX7p,iDdF@G2Rhx3Z- 设置环境变量用于之后获取字符
&& for %u in (12,79,24,32,73,9,23,15,3586)- 设定语句需要的字符位于环境变量的下标
do @call set txirwfxz=!txirwfxz!!sklxpyfc:~%u,1!- 拼接从环境变量中取出的字符
&& if %u==3586 !txirwfxz:~-8!- 执行
-
^
-
&&
-
((((((()))))))
-
@











