Как отобразить "пропавшее" содержимое флешки

  • Автор темы Автор темы akok
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

akok

Команда форума
Администратор
Ассоциация VN
Сообщения
25,320
Решения
5
Реакции
13,844
В общем кратенькое вступление, есть такие вирусы которые создают на флешке копии исполнимых файлов, равных имени папке в которой они находятся и если папок много то Name_Folder.exe будет столько же, где Name_Folder это имя папки в которой находится исполняемый файл. Пример отобраных файлов виден на скрине.

1696094761649.webp


Мне всегда было интересно как с этим бороться, на случаях которые я встречал раньше, я просто отключал автозапуск с флешки и поиском по маске .exe через Total Comander выискивал все такие файлы и удалял их. Современные антивирусы детектируют такую гадость. В моём случае, содержимое флешки не скрывалось. Но вот узнал что такой вирус прячет содержимое флешки, и при этом ты ничего не видишь на флешке, но размер показывает что содержимое есть и никуда не делось. Как с этим бороться? Вернее, как отобразить содержимое флешки? Можно вручную

1. Пуск -> Выполнить -> вводим cmd -> Enter.
2. В командной строке вводим
Код:
cd X:\
где X: - буква проблемной флешки.
3. Потом вводим команду
Код:
DIR X:\ /X
где X: - буква флешки, а ключ /X включает отображение дос-имени
4. После этого на консоли отобразится структура папок и файлов находящихся на флешке. В некоторых случаях она будет такой
Код:
 Том в устройстве X не имеет метки.
 Серийный номер тома: 8ADE-1F5A

 Содержимое папки X:\

22.10.2010  09:56    <DIR>          E2E2~1     ..[/B]
               0 файлов              0 байт
               1 папок   1*499*287*552 байт свободно
5. Слева мы видим дос-имя E2E2~1, правее "псевдоним" этой папки ".." (две точки). Нам нужно это дос-имя E2E2~1, запомнили его.
6. И теперь переименовываем папку с его дос-имени на любое приемлемое, пусть это будет MyFolder
Код:
ren X:\E2E2~1 MyFolder
где Х:\ буква проблемной флэшки
7. Всё, проблема решена.
_________________​

Но сами понимаете, что не зная или не помня команды, сложновато будет пояснить кому-то или сделать самому, поэтому хотелось бы написать универсальный или полуавтоматический скрипт или же программу решающую эту проблему. У меня получилось следующее, для затравки:
1. Применяя этот пакетный файл
Код:
@echo off

DIR X:\ /X > StructuraX.txt
exit.
мы получаем файл StructuraX.txt в котором будет структура папок и файлов из пункта 4.
2. Дальше мы копируем дос-имя E2E2~1 и пишем такой батник
Код:
@echo off

Ren H:\E2E2~1 RestroreMyFolder
DIR H:\ /X > StructuraXFolder.txt
exit
Папка E2E2~1 переименуется в RestroreMyFolder и создастся файл отчёта StructuraXFolder.txt о новом содержимом. Вид у него будет примерно следующим
Код:
 Том в устройстве X не имеет метки.
 Серийный номер тома: 8ADE-1F5A

 Содержимое папки X:\

22.10.2010  09:56    <DIR>         RESTRO~1     RestroreMyFolder
               0 файлов              0 байт
               1 папок   1 499 287 552 байт свободно

Всё проходит в два действия, мы же хотим всё слить в одно, для этого нада распарсить строку и получив имя E2E2~1
Код:
22.10.2010  09:56    <DIR>          [B][COLOR="Blue"]E2E2~1     ..[/COLOR][/B]
использовать в качестве первого параметра команды переименования ren
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу