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.
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Latest post of the previous page:

John Doe
А не покажете свой observer.ini?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:А вот и обещанный файлик
Конкретно в этом файле, проблема в том, что между разделом заголовков и содержимым должна пустая строка идти, а тут она отсутствует.
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman
Но учитывая массовость инструмента, производящего такие файлы, нельзя ли их всё же обрабатывать, хотя бы при наличии волшебного слова в конфиге?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Так что, только у меня обсервер его нормально открывает?
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

John Doe wrote:Так что, только у меня обсервер его нормально открывает?
А это у Вас точно не MailView? :ha:
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Точно. Просто версия старая (в 1.8.0 прошлый движок вроде поменяли на более шустрый).
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:Конкретно в этом файле, проблема в том, что между разделом заголовков и содержимым должна пустая строка идти, а тут она отсутствует.
Так, стоп, а где конкретно там должна быть ещё пустая строка? С виду вроде всего хватает…

Или “This is a multi-part message in MIME format.” — это как раз body?
Ага, поставил перед этой строкой пустую, стало открываться. Но ведь не хочется так каждый файл от пользователей дорабатывать напильником.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

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

Post by Centaur »

Напиши разработчику инструмента, пусть поправит баг у себя. Желательно сразу в ДНК.
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Centaur wrote:Напиши разработчику инструмента, пусть поправит баг у себя. Желательно сразу в ДНК.
Мне импонирует Ваш неиссякаемый идеализм, но в повседневной деятельности я не чужд и сугубо практических соображений.
А разработчик инструмента — как уже было упомянуто, корпорация Майкрософт. Притом их-то эта ошибка явно будет интересовать в последнюю очередь, т.к. их браузер (IE) такие файлы за милую душу открывает.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Centaur wrote:Напиши разработчику инструмента, пусть поправит баг у себя. Желательно сразу в ДНК.
У мелкософта багов не бывает, это всё фичи. :ha:
HaRT wrote: т.к. их браузер (IE) такие файлы за милую душу открывает.
Браузеру в этом вопросе значительно проще. Он считает, что всё что на входе с расширением .mht и есть файл в нужном формате. И в крайнем случае можно ошибками плеваться.

Основная проблема в том, что чем более либеральный парсер, тем большее количество левых файлов плагин примет за свои. По умолчанию GMime (библиотека в основе модуля) пытается из всего сделать почтовое сообщение (политика автора такая). И открывает текстовые файлы, торренты и ещё кучу всего как MIME сообщения. Поэтому пришлось либе немного гайки прикрутить. Можно попытаться немного открутить назад (с включением режима через конфиг), но сразу предупреждаю, что появятся артефакты в виде фальшивых срабатываний.
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:
HaRT wrote:0. Очень долго читает файл на входе
А что при этом происходит на экране?
Ariman wrote:
HaRT wrote:Большие файлы всё-таки иногда лочит
Хм. Именно PDB модуль лочит?
Какие-то чудеса: сегодня уже и не тормозит вообще, и файлы не лочит. Возможно, это связано с тем, что вчера я перезагружал систему. Возможно, с чем-то другим, например, отсутствием активного сеанса отладки. Будут новые вводные — отпишусь.
Ariman wrote:Контрольные суммы добавлю, эта инфа есть. Только как это лучше отформатировать? В одну строку, в две или как нибудь иначе?
Я бы предпочёл в одну строку, а разделителем — символ табуляции.
Ariman wrote:Для каждого исходника есть некий UniqueID, это он и выводится. Могу убрать если не нужен.
Пусть остаётся, есть не просит. Предлагаю такой формат: UniqueID табуляция ChecksumType табуляция ChecksumValue табуляция FullPath.
Ariman wrote:
HaRT wrote:А есть ли возможность добавить альтернативный взгляд на файлы исходников, представив их, подобно модулям, деревом в {sources}?
Сделаю.
Спасибо!
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:Можно попытаться немного открутить назад (с включением режима через конфиг), но сразу предупреждаю, что появятся артефакты в виде фальшивых срабатываний.
А нельзя ли в коде завести перечень текстов body, перед которыми может не быть пустой строки? На настоящий момент включить в этот список только “This is a multi-part message in MIME format.” — тогда и практически значимый случай будет покрыт, и ложных срабатываний будет минимум.

Centaur
Не знаете ли, строка “This is a multi-part message in MIME format.” не из RFC ли? Подлежит ли она локализации?

18:25
Практика показала, что PSR в русскоязычной Win7 эту строку (“This is a multi-part message in MIME format.”) в MHT-файлах не локализует.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:Предлагаю такой формат: UniqueID табуляция ChecksumType табуляция ChecksumValue табуляция FullPath.
Ок. Сделаю пока так.
HaRT wrote:А есть ли возможность добавить альтернативный взгляд на файлы исходников, представив их, подобно модулям, деревом в {sources}?
Вопрос по поводу этих исходников. А что показывать в качестве содержимого таких файлов? Просто пустой файл?
HaRT wrote:Практика показала, что PSR в русскоязычной Win7 эту строку (“This is a multi-part message in MIME format.”) в MHT-файлах не локализует.
Эта строка не предназначена для показа в браузере. Это только для программ, которые multipart сообщения парсить не умеют. И локализация там без надобности.
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:Сделаю пока так.
Спасибо.
Ariman wrote:Вопрос по поводу этих исходников. А что показывать в качестве содержимого таких файлов? Просто пустой файл?
Конечно нет!
Подобно тому, как в файлах для модулей показываются данные по одному полю на строку, так и тут стоило бы показывать всё те же UniqueId, ChecksumType, ChecksumValue. Ну и ниже — (самый сок!) [Modules] — в каких модулях упомянут этот исходник, притом идентификация, само собой, по контрольной сумме. Реально?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:так и тут стоило бы показывать всё те же UniqueId, ChecksumType, ChecksumValue.
Вряд ли эти данные будут постоянные для каждого исходника. Вполне вероятно, что разные модули имеют разные версии одного и того же исходника (будет актуально для сорцов из рантайма, они скорее всего будут отличаться от файлов в текущем SDK, с которым личный код собран). Тогда уже имеет смысл заводить упомянутую секцию [Modules] и там писать актуальные чексуммы и id для каждого модуля.
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:Вряд ли эти данные будут постоянные для каждого исходника. Вполне вероятно, что разные модули имеют разные версии одного и того же исходника (будет актуально для сорцов из рантайма, они скорее всего будут отличаться от файлов в текущем SDK, с которым личный код собран). Тогда уже имеет смысл заводить упомянутую секцию [Modules] и там писать актуальные чексуммы и id для каждого модуля.
Вот тут выявилась существенная разница в понятиях. Когда я говорю, что в модуле используется такой-то исходник, я подразумеваю совокупность полного пути и контрольной суммы. Соответственно, в секции [Modules] я ожидаю увидеть все те и только те модули, которые упоминают в точности эту версию этого исходного файла.
Исходники же с разными контрольными суммами я бы хотел видеть отдельными элементами панели, пусть даже и по одинаковому пути.
Если же склеивать все исходники с одним путём в один элемент панели, то разбираться, в каких модулях использована действительно одинаковая версия, а в каких разная, становится несколько муторно.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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