Рекурсивные архивы

Автор: Казимиров К.О.

Журнал: Форум молодых ученых @forum-nauka

Статья в выпуске: 9 (25), 2018 года.

Бесплатный доступ

Статья посвящена рекурсивным архивам. В статье рассматривается технология создания рекурсивного архива, цели его создания, а также описывается его механизм работы.

Архивы, вирусы

Короткий адрес: https://sciup.org/140284216

IDR: 140284216

Текст научной статьи Рекурсивные архивы

В старые времена были популярны вирусы - рекурсивные архивы, которые распаковываются сами в себя. В основном их использовали для вывода техники их строя, а также отключения антивируса, с последующим заражением компьютера жертвы.

Опишем принцип работы рекурсивного архива на примере известного файла “42.zip”. Данный файл весит 42 килобайта, но если мы захотим разархивировать его, то столкнемся с тем, что реальный размер данного файла 4.5 петабайта. Данный архив содержит 6 вложенных слоёв, в каждом по 16 архивов, на самом нижнем слое содержится файл размером 4.3 гигабайта.

структура

общее число

Содержание

несжатый общий размер (в байтах)

42 zip

1048576

16 папок

4 503 599 626 321 920 (4.5 ПБ)

— tlbOzip IlbfZlp

1048576

16 папок

4 503 599 626 321 920 (4.5 ПБ)

— bookO zip  boo kf zip

65536

16 папок

281 474 976.645 120 (281 ТБ)

— chapterO zip chapterf zip

4096

16 папок

17 592 186 040 320 (17 ТБ)

— docO zip... docf zip

256

16 папок

1 099.511 627 520 (1 ТБ)

— paged zip pagef zip

16

1 файл

68719476720 (68 Гб)

— 0 dll

1<

4294967295 (4.3 Гб)

Как происходит процесс архивации 4.5 петобайта в 42 килобайта. Файл, находящийся на нижнем слое (0.dll), весит 4.3 гигабайта, такой вес выбран не с проста, данное значение соответствует верхнему пределу распаковки. Файл нижнего слоя является пустышкой, содержащий в себе какой-нибудь повторяющийся символ, пока размер файла не достигнет верхнего предела.

На иллюстрации ниже приведено содержимое файла 0.dll

Рис. 2. Содержимое файла 0.dll

Так как файл содержит в себе всего лишь один символ, то при архивации все эти символы будут заменены всего одним другим символом. Так как все данные в архиве были заменены на один символ, размер данного архива будет ничтожно мал в сравнении с не сжатым файлом. На следующем шаге создаётся 15 копий данного файла, и добавляются в один архив, но так как данные архивы — это копии, следовательно они имеют одну и ту же хэш сумму, поэтому весить они ничего не будут. Затем создаётся ещё 16 копий этого архива, и так делается 6 раз, что в итоге нас приведёт к архиву с шестью слоями. При открытии 42.zip, в нём находится 16, при открытии любого из них, в нём находится ещё 16 архивов и так далее, до нижнего слоя. Распаковка данного архива займет всю оперативную память, что приведёт к зависанию системы. Но после перезагрузки у пользователя не будет проблем. Данный файл использовался для отключения антивируса, который в свою очередь начинал сканировать данный файл и в лучшем случае отключался. Затем жертве отправляли вирус, который антивирус уже не мог проверить.

Список литературы Рекурсивные архивы

  • Архив Смерти // Википедия. [2018]. Дата обновления: 18.06.2018. URL: https://ru.wikipedia.org/?oldid=93391935 (дата обращения: 18.06.2018).
  • Архив (информатика) // Википедия. [2018]. Дата обновления: 29.06.2018. URL: https://ru.wikipedia.org/?oldid=93647027 (дата обращения: 29.06.2018).
Статья научная