Показать полную графическую версию : [решено] Скрипит для восстановления скрытых файлов и папок на флешках от червей
vinsent200002
19-03-2019, 23:15
Здравствуйте ! Написал тут недавно скрипт и хотел бы доработать его немного но к сожалению не знаю как :( Во первых хотелось бы сделать диск "С" исключением. Второе (если конечно можно) что бы скрипт сам выбирал букву съемных устройств, а не что бы за это отвечала переманенная. Буду очень благодарен за помощь в доработке :)
https://github.com/vinsent2002/USB-Guard
(Может кому поможет) http://forum.oszone.net/thread-211016.html
@echo off
color A
title USB Guard
echo ----------------------------------------------
echo USB Guard v 3.0 by vinsent2002
echo ----------------------------------------------
: created 19.03.2019
echo _____
echo [ ]
echo [ * * ]
echo [_____]
echo [ ]
echo [ ]
echo [ ]
echo [ U ]
echo [ S ]
echo [ B ]
echo [ ]
echo [ ]
echo [_____]
ver
echo.
set /p drive="Enter a drive letter (F or G...)(Please do not select drive C):"
cls
echo.
echo Please wait...
echo.
:Hidden folders
attrib -h -r -s /d /s %drive%:\*.*
:Quarantine
mkdir %drive%:\Quarantine
attrib +h -r %drive%:\Quarantine
:Malware
move /Y %drive%:\*.exe %drive%:\Quarantine\
move /Y %drive%:\*.com %drive%:\Quarantine\
move /Y %drive%:\*.scr %drive%:\Quarantine\
move /Y %drive%:\*.vb %drive%:\Quarantine\
move /Y %drive%:\*.vbs %drive%:\Quarantine\
move /Y %drive%:\*.vbe %drive%:\Quarantine\
move /Y %drive%:\*.js %drive%:\Quarantine\
move /Y %drive%:\*.jse %drive%:\Quarantine\
move /Y %drive%:\*.inf %drive%:\Quarantine\
move /Y %drive%:\*.dll %drive%:\Quarantine\
:Remove
del /f /s /q %drive%:\*.lnk
del /f /s /q %drive%:\*.tmp
echo.
pause
Во первых хотелось бы сделать диск "С" исключением »
Так проверяйте, чтобы %drive% не было равно C.
А что если вы воткнёте флешку в компьютер, где есть диски не только C: и выберете букву такого диска?
Кстати, у меня на ряде флешек есть и *.exe, и *.dll и прочая. Правда, у вас это только из корня удаляется — но у меня и там есть некоторые из этих расширений...
Рискованный скрипт...
vinsent200002
20-03-2019, 00:04
Так проверяйте, чтобы %drive% не было равно C.
А что если вы воткнёте флешку в компьютер, где есть диски не только C: и выберете букву такого диска?
Кстати, у меня на ряде флешек есть и *.exe, и *.dll и прочая. Правда, у вас это только из корня удаляется — но у меня и там есть некоторые из этих расширений...
Рискованный скрипт... »
Это еще бета версия :))) Но поверьте на практике так оно и бывает. У меня целая коллекция червей в архиве есть могу вам скинуть для тестирования скрипта. Кстати а как сделать это в bat скрипте что бы как вы говорите %drive% не был равен "C" ? Я просто новичок :))))
а как сделать это в bat »
Если тупо — то:
:LoopC
set /p drive="Enter a drive letter (F or G...)(Please do not select drive C):"
if "%drive%"=="c" goto LoopC
if "%drive%"=="C" goto LoopC
У меня целая коллекция червей в архиве есть могу вам скинуть для тестирования скрипта. »
Зачем нам Ваши черви?! Ваш пакетный файл всё равно никак не отличит червя от, например, Блокнота.
vinsent200002
20-03-2019, 07:25
:LoopC
set /p drive="Enter a drive letter (F or G...)(Please do not select drive C):"
if "%drive%"=="c" goto LoopC
if "%drive%"=="C" goto LoopC »
Спасибо попробую.
Зачем нам Ваши черви?! Ваш пакетный файл всё равно никак не отличит червя от, например, Блокнота. »
Согласен не антивирус конечно но работает. На флешках сотрудников а тем более прямо в ее корне exe файлы редкость за исключением червей конечно :)
vinsent200002
20-03-2019, 07:50
:LoopC
set /p drive="Enter a drive letter (F or G...)(Please do not select drive C):"
if "%drive%"=="c" goto LoopC
if "%drive%"=="C" goto LoopC »
Спасибо вам большое я проверил на своем компьютере действительно работает :) Скоро выпущу версию 3.0 на github. Вот бы еще сделать так что бы он сам на флешки нацеливался но это я наверное слишком многого хочу.
Несколько оффтоп, но это опять "антивирус Бабушкина"!
vinsent200002, не хотелось бы затыкать сразу такое начинание (тем более, что в плане наступания на грабли, изобретения велосипеда и сооружения костылей сие начинание весьма даже сойдет), но предложенный код является ни разу не безопасной затычкой, создающей только иллюзию безопасности. Уже очень давно вирусоподобная хрень умеет защищать свои куски (в т.ч. *.src, *.tmp, *.com, *.lnk и т.д.) весьма простым и примитивным образом - заменой прав и владельца. Поэтому кусок батника который занимается удалением/перемещением - есть потенциальная кака.
сделать так что бы он сам на флешки нацеливался »
да это не проблема
@echo off
for /f %%a in ('"2>nul wmic path Win32_LogicalDisk where (drivetype="2" and mediatype=null) get name|find ":""') do if exist "%%a" call :# "%%a"
pause& exit
:#
fsutil fsinfo drivetype "%~1"
echo Работаем с "%~1"
exit /b
vinsent200002
20-03-2019, 17:46
Несколько оффтоп, но это опять "антивирус Бабушкина"!
vinsent200002, не хотелось бы затыкать сразу такое начинание (тем более, что в плане наступания на грабли, изобретения велосипеда и сооружения костылей сие начинание весьма даже сойдет), но предложенный код является ни разу не безопасной затычкой, создающей только иллюзию безопасности. Уже очень давно вирусоподобная хрень умеет защищать свои куски (в т.ч. *.src, *.tmp, *.com, *.lnk и т.д.) весьма простым и примитивным образом - заменой прав и владельца. Поэтому кусок батника который занимается удалением/перемещением - есть потенциальная кака. » Да возможно. Но в том месте где сейчас я располагаюсь этот скрипт будет вполне эффективен т.к. малварь которая водится у меня пока к счастью так не умеет :)
vinsent200002
20-03-2019, 21:00
да это не проблема
Код:
@echo off
for /f %%a in ('"2>nul wmic path Win32_LogicalDisk where (drivetype="2" and mediatype=null) get name|find ":""') do if exist "%%a" call :# "%%a"
pause& exit
:#
fsutil fsinfo drivetype "%~1"
echo Работаем с "%~1"
exit /b »
Здравствуйте я попробовал. Да ! Действительно работает :) Только вот почему то после завершения всех операций происходит выбор диска "C:'\". Загрузил сюда в архиве исправьте пожалуйста мою ошибку и загрузите пожалуйста сюда если можете.156935
vinsent200002,
я не люблю и не хочу разбираться в чьих-то кодах, если человек мало что понимает, но хочет сделать сам. Тут или делать код полностью за вас или все в ваших руках. А, если учесть, что я совершенно не вижу смысла в вашем коде, то делать за вас я его не буду, остается только второе - дерзайте, изучайте. тренируйтесь, благо информации хватает.
P.S.
добавлю почему так жестко (или жестоко)
вы делаете код и не просто его делаете для себя, а пытаетесь преподнести как нужный большому числу пользователей инструмент, выступаете автором.
вот вы просите помощи, но там не помощь нужна, а полная переделка кода, например на такой вариант
@echo off
set "d=Quarantine"
for /f %%a in ('"2>nul wmic path Win32_LogicalDisk where (drivetype="2" and mediatype=null) get name|find ":""') do set "fl=%%a"& if exist "%%a" call :# "%%a"
if not defined fl echo Нет вставленной флешки
pause& exit
:#
Selected disc: %~1
pushd "%~1"
attrib -h -r -s /d /s "*.*"
if not exist "%d%" md "%d%"
attrib +h -r "%d%"
for %%a in ("exe" "scr" "vb" "vbs" "vbe" "inf" "dll") do move /y "*.%%~a" "%d%"
del /f /s /q "*.lnk" "*.tmp"
popd
exit /b
но как теперь после этого вы будете автором этого кода, если практически весь код теперь уже написал я. Вы скажете, хорошо, будьте соавтором и пусть вопросы по коду и его КАЧЕСТВУ (здесь имеется ввиду конкретная работа по борьбе с червями, только она раз так в тысячу серьезнее чем отображено в вашем коде) адресуют и мне - так? А я не хочу в этом участвовать, так как в очередной раз повторяю, ваш код не стоит и выеденного яйца и совершенно никому не нужен и даже вреден как и говорили выше и я первый с этим согласен.
vinsent200002
21-03-2019, 07:45
добавлю почему так жестко (или жестоко)
вы делаете код и не просто его делаете для себя, а пытаетесь преподнести как нужный большому числу пользователей инструмент, выступаете автором.
вот вы просите помощи, но там не помощь нужна, а полная переделка кода, например на такой вариант
Скрытый текст
Код:
@echo off
set "d=Quarantine"
for /f %%a in ('"2>nul wmic path Win32_LogicalDisk where (drivetype="2" and mediatype=null) get name|find ":""') do set "fl=%%a"& if exist "%%a" call :# "%%a"
if not defined fl echo Нет вставленной флешки
pause& exit
:#
Selected disc: %~1
pushd "%~1"
attrib -h -r -s /d /s "*.*"
if not exist "%d%" md "%d%"
attrib +h -r "%d%"
for %%a in ("exe" "scr" "vb" "vbs" "vbe" "inf" "dll") do move /y "*.%%~a" "%d%"
del /f /s /q "*.lnk" "*.tmp"
popd
exit /b
но как теперь после этого вы будете автором этого кода, если практически весь код теперь уже написал я. Вы скажете, хорошо, будьте соавтором и пусть вопросы по коду и его КАЧЕСТВУ (здесь имеется ввиду конкретная работа по борьбе с червями, только она раз так в тысячу серьезнее чем отображено в вашем коде) адресуют и мне - так? А я не хочу в этом участвовать, так как в очередной раз повторяю, ваш код не стоит и выеденного яйца и совершенно никому не нужен и даже вреден как и говорили выше и я первый с этим согласен. »
Я просто хочу помочь людям восстановить свои утерянные папки. На счет авторства вы правы. Ваш новый код работает действительно отлично. Могу ли я добавить свое лого и ваш ник вместо своего и загрузить его на свой github ? (Вот если что моя почта для связи : vinsent2002@protonmail.com) :)
Я просто хочу помочь людям »
смотрите чтобы это не оказалось "медвежьей услугой" и желательно ограничится людьми своего близкого к вашему коду окружения.
С моим кодом делайте что хотите, хоть полностью за свой изначально выдавайте, только меня туда не вмешивайте никаким боком.
vinsent200002
21-03-2019, 19:13
смотрите чтобы это не оказалось "медвежьей услугой" и желательно ограничится людьми своего близкого к вашему коду окружения.
С моим кодом делайте что хотите, хоть полностью за свой изначально выдавайте, только меня туда не вмешивайте никаким боком. »
Хорошо я вас понял. Я просто загружу его на свой github под именем USB Guard Auto и не буду в нем что либо менять. Большое вам спасибо :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.