AutoRun Murderer v1.0

Iniciado por Germaniac, 30 Octubre 2010, 03:00 AM

0 Miembros y 1 Visitante están viendo este tema.

Germaniac

AutoRun Murderer
Es un script batch que analiza el archivo antorun.inf que comúnmente es usado dentro del malware como medio de propagación y busca el archivo o carpeta al que apunta su contenido permitiendo así eliminar aplicaciones dañinas que se alberguen en memorias flash USB, Memory Stick, SD, etcétera.

Captura:


::AutoRun Murderer v1.0
::Date: 23:30 11/10/2010
::Author: Germaniac

@echo off
setlocal enableextensions enabledelayedexpansion

:init
cls
echo.AutoRun Murderer v1.0
echo.
set "count=0"
for /f "delims=:\ tokens=3" %%d in ('
"reg query HKLM\SYSTEM\MountedDevices 2>nul|find /i "\DosDevices\""
') do vol %%d: >nul 2>nul && (
set /a "count+=1"
set "drive[!count!]=%%d"
echo. !count!. %%d:
)
echo.
set "select="
set /p "select=Select a number of drive>"
if !select! lss 1 goto :init
if !select! gtr %count% goto :init
set "autorun=!drive[%select%]!:\AutoRun.inf"
set "folder=0"
set "option="
call :dirHide %autorun% folder && set /p "option=Delete %autorun% folder [Y/N]:"
if /i !option!==y (
for /l %%f in (%folder%,-1,0) do rd /q /s "\\?\!folder[%%f]!" >nul 2>nul
if exist %autorun%\ (echo.ERROR: %autorun% folder not deleted.) else echo.%autorun% folder deleted.
set /p "=Press any key for continue . . . " <nul
pause >nul

)
if %folder% gtr 0 goto :init
if exist %autorun% if not exist %autorun%\ (
set "line="
echo.Analyzing file %autorun%
for /f "eol=; tokens=1* delims==" %%k in ('
"more %autorun% 2>nul"
') do (
set "line=%%l"
if defined line (
set "line=!line:/=\!"
for %%f in (!line!) do (
set "type="
set "run=!drive[%select%]!:\%%~f"
if exist "!run!" if exist "!run!\" (set "type=folder") else set "type=file"
if defined type (
set "option="
set /p "option=Delete !type! !run! [Y/N]:"
if /i !option!==y (
if !type!==file (
del /f /q /a "!run!" >nul 2>nul
if exist "!run!" (echo.ERROR: Not deleted file.) else echo.Deleted file.
)
if !type!==folder (
set "folder=0"
call :dirHide "!run!" folder
for /l %%f in (!folder!,-1,0) do rd /q /s "\\?\!folder[%%f]!" >nul 2>nul
if exist "!run!\" (echo.ERROR: Not deleted folder.) else echo.Deleted folder.
)
) else echo.Not deleted !type!.
)
)
)
)
del /f /q /a %autorun% >nul 2>nul
if exist %autorun% (
echo.AutoRun.inf file not deleted.
goto :init
)
)
echo.AutoRun.inf not exists.
set /p "=Press any key for continue . . . " <nul
pause >nul
goto :init

:dirHide
if not exist "%~1\" exit /b 1
set "%~2[!%~2!]=%~1"
for /f "tokens=4" %%i in ('
"dir /a:d /x "%~1" 2>nul|find /i "^<dir^>"|more +2"
') do (
set /a "%~2+=1"
call :dirHide "%~1\%%i" "%~2"
)
exit /b 0


Cualquier comentario o aportación es bienvenida.

Saludos.

IMPEESA

buen aporte kompañero ;-)
pero tengo una duda. q extension lleva... :huh:
c4d4 di4 4|90 nu3v0...!!!
Gracias a esta pagina por la enseñanza que aportan...!!!

Germaniac

Se guarda con extensión.bat o .cmd