Observer — распаковка файлов из различных контейнеров

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

Хотелки/баги:

Известные проблемы:

Планируемые новые модули:

Если "ничего не работает", то прежде чем писать сюда:


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Last edited by Ariman on Wed 04 May, 2022 14:36, edited 7 times in total.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Latest post of the previous page:

SlashNet wrote:Картинки извлекать умеет "pdfimages"
Уметь то он умеет, но тащит за собой как-то дофига зависимостей.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote: Я посмотрю что либа предлагает на эту тему.
По правде говоря, лично для меня интереснее более общие изменения: поддержка режима Unsorted, показ кол-ва жёстких ссылок, возможность продолжения распаковки в случае ошибки; улучшение/расширение системы диагностики/вывода ошибок.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

HaRT wrote:поддержка режима Unsorted
Фича застряла на стадии поиска максимально быстрого и удобного варианта реализации списка. :)
HaRT wrote:показ кол-ва жёстких ссылок
Теоретически плагин это уже умеет, но практически ни один модуль нужного кода не имеет. И втулить в чужой код это не так то просто.
HaRT wrote:улучшение/расширение системы диагностики/вывода ошибок
В следующей версии модули наконец научатся нормально пробрасывать ошибки в плагин, который сможет их показывать нативным для Фара путем.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote: показывать нативным для Фара путем
А не планируется обсуждавшийся прежде псевдо-файл с диагностикой контейнера?

И вообще приятно, что Вы продолжаете развивать и хост-плагин. Спасибо!
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

HaRT wrote:А не планируется обсуждавшийся прежде псевдо-файл с диагностикой контейнера?
В ближайшее время нет. По хорошему, это фича не маленькая, а в плагине и так есть пока чем заняться.
picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

Observer — распаковка файлов из различных контейнеров

Post by picfar »

Ariman, здравствуйте.

Понадобилось мне влезть в tbb-файл от the bat. Несколько лет назад, для Totalcmd я использовал небольшую программу. Сейчас она не работает - скорее всего из-за смены версии The Bat.
Нашел я ваш плагин, только переписанный для Total Commander - он работает, но есть один баг. Для проверки, я скачал FAR и установил ваш плагин - в нём тот-же баг.

Проблема в том, что некоторые письма не открываются. Методом исключений я понял, что проблема в каком-то странном символе в теме письма.
Открыл я tbb-файл в hex-редакторе. Темы писем там в base64-кодировке. Попробовал несколько онлайн-декодеров, но у них проблемы с русским языком. Нашел на сайте Лебедева artlebedev.ru/tools/decoder/advanced/ - он работает.
Вырезал в начале кусок, который, насколько я понял, описывает кодировку, пока не получил правильный текст:
Decode_(03.03.2017).png
Decode_(03.03.2017).png (15.9 KiB) Viewed 4490 times
было: =?windows-1251?B?xO7h8O4g7+7m4Ovu4uDy/CDt4CDO8uLl8vtATWFpbC5SdQo=?=
стало xO7h8O4g7+7m4Ovu4uDy/CDt4CDO8uLl8vtATWFpbC5SdQo=?=

Видите, в конце маленькую букву о? - это какой-то символ не из алфавита. Его значение в hex = 6F

Все письма, в которых виден этот символ в названии (теме письма) - не открываются. Вот здесь, лучше видно этот символ. Эти 2 письма по F3 не открываются. Просто ничего не происходит.
sym_(03.03.2017).png
sym_(03.03.2017).png (5.86 KiB) Viewed 4490 times
Мне эти письма не важны, но вдруг появятся письма с каким-нибудь подобным знаком.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

picfar wrote: Видите, в конце маленькую букву о? - это какой-то символ не из алфавита. Его значение в hex = 6F
6F — это самая что ни на есть строчная латинская “o”, но вот у Вас в проблемных письмах вовсе не она, а символ LF (никсовый перевод строки). То, что в данном коде ему соответствует буква «o», похожая на символ, отображаемый в Фаре, — просто забавное совпадение. Ну и надо добавить, что приличные отправители перевод строки в заголовок письма не вставляют.
Фар есть инструмент, а не нянька. © 2009 DrKnS
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Observer — распаковка файлов из различных контейнеров

Post by 2useven10 »

picfar, Попробуйте eDecoder, как форматный sub-plugin для arclite.
*.dll надо переименовать в *.format и положить в Plugins/arclite/Formats/ нужной битности.
Заходить в файлы можно по Ctrl-PgDn или через F1->arclite->...

add: в TC он тоже должен работать
add-add: Ну и в 7z[FM] естестественно...
picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

Observer — распаковка файлов из различных контейнеров

Post by picfar »

HaRT - вы правы, я чего-то не проверил. Просто на вид мне она показалась непохожей на "о".
Но я не вижу там hex-кода перевода строки.
На быстрый взгляд, отличия только в одном. Вместо = стоит буква о Qo=?=

Т.е:
Q==?= - работает 51 3D 3D 3F 3D 0D 0A
Qo=?= - нет 51 6F 3D 3F 3D 0D 0A

в hex, в обоих случаях, в конце есть 0D 0A . Это вроде и есть перевод строки.

Может где-то еще собака зарыта? Завтра еще посмотрю.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

picfar wrote: в обоих случаях, в конце есть 0D 0A
Я вижу, что Вы вообще плохо представляете, что такое кодирование и декодирование. Вам ещё рано разбираться с такими вещами, как Base64 и MIME. Что там на самом деле происходит, я написал выше.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

2 picfar

HaRT, в принципе, хорошо расписал откуда уши растут и без меня. А для исправления хорошо бы примерчик такого файла для отладки получить.
picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

Observer — распаковка файлов из различных контейнеров

Post by picfar »

2useven10 wrote: Попробуйте eDecoder
Спасибо, попробую =)
HaRT wrote: что такое кодирование и декодирование
А, кажется понял. Вы имеете в виду то, что при кодировании перевода строки и получается эта буква "о"? Ведь в base64 используются только символы из ASCII таблицы. Там и не могло быть никакого символа извне. А я ковыряю текст в base64, а нужно смотреть на декодированный вариант.
Ariman wrote: А для исправления хорошо бы примерчик такого файла для отладки получить.
Кусок tbb-файла подойдет? Я вырезал кусок с начала tbb-файла с несколькими письмами. Всего 3 письма:
1) Открывается
2) Проблемный с переводом строки
3) Открывается
Attachments
MESSAGES_cut.zip
(2.18 KiB) Downloaded 48 times
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Observer — распаковка файлов из различных контейнеров

Post by 2useven10 »

picfar,
eDecoder открывает все 3, но заголовки он не показывает.
Если .TBB открыть через eDecoder, то вложенные сообщения Observer тоже все открывает.
picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

Observer — распаковка файлов из различных контейнеров

Post by picfar »

2useven10 wrote: eDecoder открывает все 3, но заголовки он не показывает.
Исправить можно и вручную. Я просто взял и в hex-редакторе изменил Qo=?= на Q==?= и всё открылось. Можно попробовать сделать полную автозамену (сделав бэкап, конечно). Но вдруг еще какая-нибудь бяка вылезет в будущем - лучше чтобы плагин игнорировал переводы строк на Win,Unix и прочие символы в теме письма и еще где нужно.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Спасибо за файлик.
Забавная ошибка. Оказывается винда не разрешает наличие символа 0А в имени файла. Не хочет его создавать с таким именем.
Исправил, теперь такие символы (ну и 0D до кучи) удаляются с тем писем.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote: теперь такие символы (ну и 0D до кучи) удаляются с тем писем
Это хорошо сработает только в том случае, когда они с краю. А если вдруг окажется в середине, то слова склеятся. Может, лучше только с краёв выкидывать, а в середине каждую последовательность „плохих“ пробельных символов заменять одним пробелом?

Кстати, напомните, пжлст, а что сейчас делается, скажем, с двоеточиями из Темы письма? (Ну а потенциально и с другими символами, не разрешёнными в именах файлов.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Обсуждение плагинов”