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

Здесь можно обсудить ваш любимый плагин.
User avatar
HaRT
Moderator
Posts: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

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

Postby HaRT » Fri 03 Mar, 2017 21:47

Latest post of the previous page:

picfar wrote:Source of the post Видите, в конце маленькую букву о? - это какой-то символ не из алфавита. Его значение в hex = 6F
6F — это самая что ни на есть строчная латинская “o”, но вот у Вас в проблемных письмах вовсе не она, а символ LF (никсовый перевод строки). То, что в данном коде ему соответствует буква «o», похожая на символ, отображаемый в Фаре, — просто забавное совпадение. Ну и надо добавить, что приличные отправители перевод строки в заголовок письма не вставляют.
Last edited by HaRT on Fri 03 Mar, 2017 21:52, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS

2useven10
Posts: 2876
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 76 times

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

Postby 2useven10 » Fri 03 Mar, 2017 21:49

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

add: в TC он тоже должен работать
add-add: Ну и в 7z[FM] естестественно...
Last edited by 2useven10 on Fri 03 Mar, 2017 22:09, edited 3 times in total.

picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

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

Postby picfar » Fri 03 Mar, 2017 22:39

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: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

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

Postby HaRT » Fri 03 Mar, 2017 23:35

picfar wrote:Source of the post в обоих случаях, в конце есть 0D 0A
Я вижу, что Вы вообще плохо представляете, что такое кодирование и декодирование. Вам ещё рано разбираться с такими вещами, как Base64 и MIME. Что там на самом деле происходит, я написал выше.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1114
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 7 times
Been thanked: 22 times
Contact:

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

Postby Ariman » Sat 04 Mar, 2017 08:05

2 picfar

HaRT, в принципе, хорошо расписал откуда уши растут и без меня. А для исправления хорошо бы примерчик такого файла для отладки получить.

picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

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

Postby picfar » Sat 04 Mar, 2017 09:18

2useven10 wrote:Source of the post Попробуйте eDecoder

Спасибо, попробую =)

HaRT wrote:Source of the post что такое кодирование и декодирование

А, кажется понял. Вы имеете в виду то, что при кодировании перевода строки и получается эта буква "о"? Ведь в base64 используются только символы из ASCII таблицы. Там и не могло быть никакого символа извне. А я ковыряю текст в base64, а нужно смотреть на декодированный вариант.

Ariman wrote:Source of the post А для исправления хорошо бы примерчик такого файла для отладки получить.

Кусок tbb-файла подойдет? Я вырезал кусок с начала tbb-файла с несколькими письмами. Всего 3 письма:
1) Открывается
2) Проблемный с переводом строки
3) Открывается
Attachments
MESSAGES_cut.zip
(2.18 KiB) Downloaded 19 times

2useven10
Posts: 2876
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 76 times

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

Postby 2useven10 » Sat 04 Mar, 2017 12:00

picfar,
eDecoder открывает все 3, но заголовки он не показывает.
Если .TBB открыть через eDecoder, то вложенные сообщения Observer тоже все открывает.

picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

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

Postby picfar » Sat 04 Mar, 2017 16:05

2useven10 wrote:Source of the post eDecoder открывает все 3, но заголовки он не показывает.


Исправить можно и вручную. Я просто взял и в hex-редакторе изменил Qo=?= на Q==?= и всё открылось. Можно попробовать сделать полную автозамену (сделав бэкап, конечно). Но вдруг еще какая-нибудь бяка вылезет в будущем - лучше чтобы плагин игнорировал переводы строк на Win,Unix и прочие символы в теме письма и еще где нужно.

Ariman
Posts: 1114
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 7 times
Been thanked: 22 times
Contact:

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

Postby Ariman » Mon 06 Mar, 2017 15:03

Спасибо за файлик.
Забавная ошибка. Оказывается винда не разрешает наличие символа 0А в имени файла. Не хочет его создавать с таким именем.
Исправил, теперь такие символы (ну и 0D до кучи) удаляются с тем писем.

User avatar
HaRT
Moderator
Posts: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

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

Postby HaRT » Mon 06 Mar, 2017 16:12

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

Кстати, напомните, пжлст, а что сейчас делается, скажем, с двоеточиями из Темы письма? (Ну а потенциально и с другими символами, не разрешёнными в именах файлов.)
Last edited by HaRT on Mon 06 Mar, 2017 16:17, edited 2 times in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1114
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 7 times
Been thanked: 22 times
Contact:

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

Postby Ariman » Mon 06 Mar, 2017 16:46

HaRT wrote:Может, лучше только с краёв выкидывать, а в середине каждую последовательность „плохих“ пробельных символов заменять одним пробелом?
Согласен, имеет смысл.
HaRT wrote:Кстати, напомните, пжлст, а что сейчас делается, скажем, с двоеточиями из Темы письма? (Ну а потенциально и с другими символами, не разрешёнными в именах файлов.)
Заменяются на символ _.

Taciturn
Posts: 313
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Been thanked: 2 times
Contact:

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

Postby Taciturn » Sun 19 Mar, 2017 06:18

Файлы из MSI дистрибутива PuTTY 0.68 (32 и 64) не распаковываются.

Code: Select all

Ошибка извлечения для файла:
SourceDir\PFiles\PuTTY\putty.exe

Ariman
Posts: 1114
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 7 times
Been thanked: 22 times
Contact:

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

Postby Ariman » Mon 20 Mar, 2017 08:30

Taciturn wrote:Файлы из MSI дистрибутива PuTTY 0.68 (32 и 64) не распаковываются.
Да, есть такое.
Некоторые инсталяхи, собранные через WIX, имеют какие-то проблемы в структуре. И через стандартное MSI API невозможно достать встроенный cab файл. А без него нужные файлы не извлечь.

User avatar
HaRT
Moderator
Posts: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

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

Postby HaRT » Mon 20 Mar, 2017 12:19

Ariman wrote:Source of the post через стандартное MSI API невозможно достать встроенный cab файл
А какой вызов обламывается? И как именно?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1114
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 7 times
Been thanked: 22 times
Contact:

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

Postby Ariman » Mon 20 Mar, 2017 12:24

HaRT wrote:А какой вызов обламывается? И как именно?
В MSI есть псевдо-таблица _Streams. Запрашивая её можно получить содержимое cab-ов. Но для проблемных файлов запрос к ней выдает, что такая таблица не существует.

User avatar
HaRT
Moderator
Posts: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

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

Postby HaRT » Mon 20 Mar, 2017 12:34

Ariman wrote:Source of the postВ MSI есть псевдо-таблица _Streams. Запрашивая её можно получить содержимое cab-ов. Но для проблемных файлов запрос к ней выдает, что такая таблица не существует.
По ссылке пишут: “This is a temporary table, created only when referenced by a SQL statement” (выделение моё). Непохоже, что её отсутствие может считаться „проблемой в структуре“.
К тому же плагин OLE2Viewer показывает, что в putty-0.68-installer.msi есть поток putty.cab.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Ariman
Posts: 1114
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 7 times
Been thanked: 22 times
Contact:

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

Postby Ariman » Mon 20 Mar, 2017 13:25

HaRT wrote:Непохоже, что её отсутствие может считаться „проблемой в структуре“
MSI движок должен строить таблицу в памяти и выдавать данные с неё по запросу. Если он не может это сделать только в файлах построенных WIX-ом, да и то, возможно, не во всех, то логично предположить что в таких файлах что-то не так.
HaRT wrote:К тому же плагин OLE2Viewer показывает, что в putty-0.68-installer.msi есть поток putty.cab.
Так и есть, cab внутри находиться. Инсталяха то работает нормально, всё устанавливается успешно. Но MSI API не может нормально работать с такими файлами по какой-то причине.
Выход, как мне видится, это открывать msi как Compound File и доставать cab таким способом. Я экспериментирую на эту тему. Костыльно как-то, но зато вроде работает.


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

Who is online

Users browsing this forum: No registered users and 18 guests