|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Скрытые файлы на флешке |
|
CMD/BAT - Скрытые файлы на флешке
|
Старожил Сообщения: 489 |
Здравствуйте, подскажите можно ли сделать BAT который будет справляться с вирусом который создаёт на флешке скрытую папку с названием флешки и переносит все её содержимое туда, т.е. нужно чтобы BAT файл проверил нет ли на флешке скрытой папки с названием флешки (например Вася) и переносил бы из неё файлы назад в корень флешки. Можно ли это осуществить, и, если можно, то как?
|
|
Отправлено: 19:42, 18-08-2016 |
Старожил Сообщения: 489
|
Профиль | Отправить PM | Цитировать 1. Приложил файл то что в корне флешки
2. Я не знаю что происходит когда у флешки нет имени (наверное Съёмный диск), не знаю как действует вирус, у меня флешка называется Гена и все файлы переместились с появившуюся скрытую папку Гена, у знакомых у всех флешка как-то называется, просто последнее время на работе многие жалуются на то что на флешке почти всё занято а открываешь её и она пустая |
Отправлено: 21:14, 20-08-2016 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Valek271183, похоже на ученические проделки.
Скорее всего в файле ntuser.bak сидит именно имя папки, куда всё перемещается и которое читается из метки тома. И если у флэшки нет имени — то или такая флэшка останется неизменённой, или сюда запишется любое имя, которое и будет именем папки, куда всё будет ссыпано. Имя тома прочитать проблем нет, проанализировав или вывод команды Vol X:, или даже первую строку вывода команды Dir (команды, которая всё равно потребуется для анализа каталогов, находящихся в корне диска): dir X:\ /AD И там и там Х — это буква анализируемого диска. Можно сделать батник, на который кидать интересующий диск из окна "Мой Компьютер" — тогда его строка, где выделяется метка тома, будет выглядеть как dir %~d1\ | find /i "Том в устройстве " а строка для вывода списка каталогов, который можно проанализировать — как dir %~d1\ /AD /B (ключ /B — чтобы выводились только имена каталогов, без дополнительной информации о них и о диске) Типа этого:
f:\>dir T:\ | find /i "Том в устройстве "
Том в устройстве T имеет метку _TEST1_ f:\>dir T:\ /AD /B $OEM$ autorun.inf TEMP Но похоже всё же, что вместо метки тома надо брать строку из X:\ntuser.bak |
------- Последний раз редактировалось mwz, 21-08-2016 в 00:34. Отправлено: 00:23, 21-08-2016 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ну, с учётом всего вышеизложенного, давайте попробуем так (на WSH):
Скрытый текст
Option Explicit Const Hidden = 2 Dim objDrive Dim strPath2ntuser1bak Dim strSourceFolder Dim objFolder With WScript.CreateObject("Scripting.FileSystemObject") For Each objDrive In .Drives strPath2ntuser1bak = .BuildPath(objDrive.RootFolder.Path, "ntuser1.bak") If .FileExists(strPath2ntuser1bak) Then With .OpenTextFile(strPath2ntuser1bak) strSourceFolder = .ReadLine() .Close End With If .FolderExists(.BuildPath(objDrive.RootFolder.Path, strSourceFolder)) Then Set objFolder =.GetFolder(.BuildPath(objDrive.RootFolder.Path, strSourceFolder)) If objFolder.Attributes And Hidden Then .MoveFolder .BuildPath(objFolder.Path, "*.*"), objDrive.RootFolder.Path .MoveFile .BuildPath(objFolder.Path, "*.*"), objDrive.RootFolder.Path If objFolder.SubFolders.Count = 0 And objFolder.Files.Count = 0 Then objFolder.Delete True Else WScript.Echo "Can't move all files and folders from folder [" & strSourceFolder & "] on drive [" & objDrive.DriveLetter & "] into [" & objDrive.RootFolder.Path & "]." WScript.Echo "Hidden folder [" & strSourceFolder & "] on drive [" & objDrive.DriveLetter & "] not delete." WScript.Quit 3 End If Else WScript.Echo "Folder [" & strSourceFolder & "] found on drive [" & objDrive.DriveLetter & "], but not hidden." WScript.Quit 2 End If Set objFolder = Nothing Else WScript.Echo "File [" & strPath2ntuser1bak & "] found on drive [" & objDrive.DriveLetter & "], but folder [" & strSourceFolder & "] on drive [" & objDrive.DriveLetter & "] not found." WScript.Quit 1 End If .DeleteFile strPath2ntuser1bak, True End If Next End With WScript.Quit 0 Хотя, на мой взгляд, куда как проще и надёжнее делать сие под каким-нибудь сторонним файловым менеджером, типа Far Manager. |
Отправлено: 03:58, 21-08-2016 | #13 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Ну, с учётом всего вышеизложенного, давайте попробуем так :) (на СMD):
@echo off cls chcp 1251 >nul Set "File=ntuser1.bak" If "%1"=="" Echo Not parameters &Pause &GoTo :Eof Set "Vol=%1:" Set "Vol=%Vol:~0,2%" Set "File=%Vol%\%File% Attrib -S -H "%File%" >nul 2>nul If Not Exist "%File%" Echo File "%File%" Not Exist &GoTo :Eof Set "Metka=" FOR /F "usebackq delims=" %%i IN ("%File%") DO Set "Metka=%%~i" &GoTo :Cont :Cont If "%Metka%"=="" Echo Not mark in %File% &GoTo :Eof Attrib -S -H "%Vol%\%Metka%" >nul 2>nul If Not Exist "%Vol%\%Metka%" Echo Folder "%Vol%\%Metka%1" Not Exist &GoTo :Eof pushd "%Vol%\%Metka%" Attrib -S -H /S /D popd FOR /F "usebackq delims=" %%i IN (`Dir "%Vol%\%Metka%\" /b 2^>nul`) DO Move "%Vol%\%Metka%\%%i" "%Vol%\" >nul rd "%Vol%\%Metka%" |
------- Отправлено: 14:00, 21-08-2016 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:16, 21-08-2016 | #15 |
Старожил Сообщения: 489
|
Профиль | Отправить PM | Цитировать мне проще если скопирую файлик на флешку и запущу из неё, так можно что бы не нужно было указывать букву диска?
|
Отправлено: 16:37, 21-08-2016 | #16 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать если скопирую файлик на флешку и запущу из неё, так можно что бы не нужно было указывать букву диска
@echo off cls chcp 1251 >nul Set "File=ntuser1.bak" Set "Vol=%~d0" Set "File=%Vol%\%File% Attrib -S -H "%File%" >nul 2>nul If Not Exist "%File%" Echo File "%File%" Not Exist &GoTo :Eof Set "Metka=" FOR /F "usebackq delims=" %%i IN ("%File%") DO Set "Metka=%%~i" &GoTo :Cont :Cont If "%Metka%"=="" Echo Not mark in %File% &GoTo :Eof Attrib -S -H "%Vol%\%Metka%" >nul 2>nul If Not Exist "%Vol%\%Metka%" Echo Folder "%Vol%\%Metka%1" Not Exist &GoTo :Eof pushd "%Vol%\%Metka%" Attrib -S -H /S /D popd FOR /F "usebackq delims=" %%i IN (`Dir "%Vol%\%Metka%\" /b 2^>nul`) DO Move "%Vol%\%Metka%\%%i" "%Vol%\" >nul rd "%Vol%\%Metka%" |
------- Отправлено: 20:12, 21-08-2016 | #17 |
Старожил Сообщения: 489
|
Профиль | Отправить PM | Цитировать megaloman,не сочтите за наглость, но задам ещё один вопрос, в скрытой папке с названием флешки было ещё 2 скрытые папки, они удалились при выполнении bat файла, можно что бы скрытые папки тоже переносились?
|
Отправлено: 20:25, 21-08-2016 | #18 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Valek271183:
Цитата Valek271183:
|
||
Отправлено: 20:48, 21-08-2016 | #19 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Valek271183,
Цитата:
![]() Цитата Iska:
|
||
------- Последний раз редактировалось megaloman, 21-08-2016 в 22:50. Отправлено: 22:06, 21-08-2016 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
защитить файлы на флешке | Winlogon | Хочу все знать | 8 | 22-05-2015 03:31 | |
Не открываются файлы на флешке. | panzerfaust | Лечение систем от вредоносных программ | 1 | 14-05-2015 12:27 | |
Flash - Пропали файлы на флешке | danneo | Накопители (SSD, HDD, USB Flash) | 1 | 27-12-2012 12:51 | |
Flash - [решено] файлы на флешке | sashok60 | Накопители (SSD, HDD, USB Flash) | 5 | 08-10-2009 13:14 | |
[решено] Скрытые файлы на CD | Котяра | Хочу все знать | 6 | 05-11-2008 23:45 |
|