Pull to refresh

Comments 28

В Windows 10 стандартный архиватор вообще говорит, что архив пустой.
Прилетело письмо на почту:
Приветствую, к сожалению ридонли, заинтересовал пост, автор поста без
контактов. «Затестил в 7zip 9.15 beta — в архиве файл без расширения,
при даблклике — не поддерживаемый метод сжатия для файла» | «WinRar
3.80 — пустой архив». 7zip вообще не разархивирует, рар же пишет в лог
"!: Невозможно создать
! Системе не удается найти указанный путь.
!: Попытка исправить неверное имя файла
"
Было бы отлично попросить автора пересмотреть архив, мб он что-то напутал?
Читайте аннотацию: «Цель – запустить исполняемый файл, выдав его за текстовый документ в zip-архиве, а если запустить вряд ли получится, то не дать распаковать или скрыть файл
Конкретно для 7-zip всех версий и одновременно для WinRAR v3.80 достаточно вставить RLO символ в название файла. Версия 3.80 RLO еще не умеет отображать в качестве стрелки. Чтобы добавить поддержку уязвимости WinRAR 5.3 и спрятать файл для встроенного в проводник архиватора, написал 0x00 в начало имени файла.
Таким образом достигается невозможность распаковки в старых версиях 7-zip, так как иначе он отобразит расширение *.txt и не запустит файл.
В архиве для демонстрации всего один файл. Можно встроить несколько. Одни файлы — прятать, другие — нет.
— Вот еще один архив для всех версий 7-zip, WinRAR 3.8, проводника Windows. Везде файл с расширением *.txt: Sample 2
И не только Windows-архиваторы
image
Как видно, 7-zip сразу сдался

Просто он единственный корректно работает с юникодом :)
Как видно, 7-zip сразу сдался

Прошу прощения, но значок исполняемого файла явно намекает.
MacOS — распаковывает exe и отображает txt со знаком вопроса вместо RLO
Проводник WinXP и Win8.1 не отображает ничего
WinRAR 5.10 отображает файл без имени, распаковывает exe с квадратиком вместо RLO
Total Commander говорит что архив поврежден

ИТОГО: не надёжный способ

ЗЫЖ: ИМХО более надежно вписать в путь к файлу внутри архива с "..\файл.ехе", он не будет отображаться при просмотре, но всеми распаковывается на уровень выше текущей/целевой папки.
Неподдерживаемый метод сжатия для файла 'sample' — 7zip 9.20
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP:
Archive: sample.zip
: mismatching «local» filename (╨Ю╨▒ ╤Г╤Б╨┐тАоtxt.exe),
continuing with «central» filename version
mapname: conversion of failed

В листинге файл и его атрибуты видит, но имя не отображает.

Archive Manager 3.10.2.1 файл в архиве не отображает вообще.
opnSUSE'шный Ark то же самое показывает.
Ark — kde'шный, он не относится к какому-нибудь одному дистрибутиву. (как впрочем 95% софта под линукс).
Так-то оно так, но в других дистрибутивах не проверял, там может быть совсем всё по-другому. Из последнего: убунтушный тарбол не считается архивом в сусе.
Вон ниже, кстати, и скриншот приложили и он совсем другое показывает.
Вот даже радоваться или нет, не пойму. То, что шрифты некачественные (или, наоборот, качественно показывающие разницу между латинскими и русскими буквами схожего начертания) спасет самых внимательных, да.
Тут написано 'Type: DOS/Windows executable', даже на шрифты смотреть не надо. Тем более, exe-шник на линуксе совсем не одним кликом запускается.
Будете смеяться, но это удобно. Даже был свой руссификатор с точками под символами с аналогичным начертанием (а, о, р, е, х и т.д.). Зачем? — бухгалтер в программе (еще под ДОС) оприходовала товар. Например, А1785Н-е. А вот найди его, если не знаешь, на каком языке эти буквы. Устать, если все варианты перебирать.
Смеяться не буду. Наоборот, буду уважать, когда человек делает что-то сознательно, с целью.
$ 7z x sample.zip 
7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: sample.zip
Extracting  sample     Unsupported Method
Sub items Errors: 1
Внутри – программа с иконкой блокнота, запускающая блокнот.

Если быть точным, то программа делает «ShellExecuteW» на «open» для «notepad.exe».
Т.е:
1. Это может быть не блокнот если в системе разбросаны (а вот хочу я так!) в разных местах вирусы с таким именем, то ваша программа может запустить нечто другое — то, что первым ей подсунет система, а это будет не факт что файл из system32.
2. А он, собственно, может и не запуститься, если у меня непонятно что с ассоциациями расширений в системе.

Так что вопрос о том, что делает ваша программа не так прост как кажется на первый взгляд.
Archive Manager Gnome
В 1 архиве — даже распаковать не получается, во втором предлагает запустить под wine)
Sample-1

Win 7 x64, WinRAR 5.30 beta2.
Видится как txt. При попытке открыть — сообщение
«Не удается проверить издателя. Вы действительно хотите запустить эту программу?»

Far Manager 3.0.4400 / Total Commander 8.51 видят как EXEcutable

Ради интереса залил второй пример на VirusTotal (и не я первый). Выявляется Exploit.RTL-ZIP.Gen. Показатель выявления: 9/55.

Там распознается именно попытка скрыть расширение файла? Не пробовали реакцию на другие варианты имени, когда расширение остается?
Скорее всего сравнивается совпадение имен в структуре. Пробывал разные комбинации. Всё работает по-разному в разных архиваторах. Написал о более-менее общих.
UFO landed and left these words here
С 7-zip, действительно, фейл. А вы не пробовали связываться с автором или заводить фича-реквест для программы?
Автору информацию отправлял 09 августа, сейчас повторил.
Only those users with full accounts are able to leave comments. Log in, please.