Page 119 of 147
Observer — распаковка файлов из различных контейнеров
Posted: Mon 31 Aug, 2009 11:29
by Ariman
Observer — распаковка файлов из различных контейнеров
Posted: Fri 03 Mar, 2017 21:47
by HaRT
Latest post of the previous page:
picfar wrote: Видите, в конце маленькую букву о? - это какой-то символ не из алфавита. Его значение в hex = 6F
6F — это самая что ни на есть строчная латинская “o”, но вот у Вас в проблемных письмах вовсе не она, а символ
LF (никсовый перевод строки). То, что в данном коде ему соответствует буква «o», похожая на символ, отображаемый в Фаре, — просто забавное совпадение. Ну и надо добавить, что приличные отправители перевод строки в заголовок письма не вставляют.
Observer — распаковка файлов из различных контейнеров
Posted: Fri 03 Mar, 2017 21:49
by 2useven10
picfar, Попробуйте
eDecoder, как форматный sub-plugin для arclite.
*.dll надо переименовать в
*.format и положить в
Plugins/arclite/Formats/ нужной битности.
Заходить в файлы можно по
Ctrl-PgDn или через
F1->arclite->...
add: в TC он тоже
должен работать
add-add: Ну и в 7z[FM] естестественно...
Observer — распаковка файлов из различных контейнеров
Posted: Fri 03 Mar, 2017 22:39
by picfar
HaRT - вы правы, я чего-то не проверил. Просто на вид мне она показалась непохожей на "о".
Но я не вижу там hex-кода перевода строки.
На быстрый взгляд, отличия только в одном. Вместо = стоит буква о Qo=?=
Т.е:
Q==?= - работает 51 3D 3D 3F 3D 0D 0A
Qo=?= - нет 51 6F 3D 3F 3D 0D 0A
в hex, в обоих случаях, в конце есть 0D 0A . Это вроде и есть перевод строки.
Может где-то еще собака зарыта? Завтра еще посмотрю.
Observer — распаковка файлов из различных контейнеров
Posted: Fri 03 Mar, 2017 23:35
by HaRT
picfar wrote: в обоих случаях, в конце есть 0D 0A
Я вижу, что Вы вообще плохо представляете, что такое кодирование и декодирование. Вам ещё рано разбираться с такими вещами, как Base64 и MIME. Что там на самом деле происходит, я написал выше.
Observer — распаковка файлов из различных контейнеров
Posted: Sat 04 Mar, 2017 08:05
by Ariman
2 picfar
HaRT, в принципе, хорошо расписал откуда уши растут и без меня. А для исправления хорошо бы примерчик такого файла для отладки получить.
Observer — распаковка файлов из различных контейнеров
Posted: Sat 04 Mar, 2017 09:18
by picfar
2useven10 wrote: Попробуйте eDecoder
Спасибо, попробую =)
HaRT wrote: что такое кодирование и декодирование
А, кажется понял. Вы имеете в виду то, что при кодировании перевода строки и получается эта буква "о"? Ведь в base64 используются только символы из ASCII таблицы. Там и не могло быть никакого символа извне. А я ковыряю текст в base64, а нужно смотреть на декодированный вариант.
Ariman wrote: А для исправления хорошо бы примерчик такого файла для отладки получить.
Кусок tbb-файла подойдет? Я вырезал кусок с начала tbb-файла с несколькими письмами. Всего 3 письма:
1) Открывается
2) Проблемный с переводом строки
3) Открывается
Observer — распаковка файлов из различных контейнеров
Posted: Sat 04 Mar, 2017 12:00
by 2useven10
picfar,
eDecoder открывает все 3, но заголовки он не показывает.
Если .TBB открыть через eDecoder, то вложенные сообщения Observer тоже все открывает.
Observer — распаковка файлов из различных контейнеров
Posted: Sat 04 Mar, 2017 16:05
by picfar
2useven10 wrote: eDecoder открывает все 3, но заголовки он не показывает.
Исправить можно и вручную. Я просто взял и в hex-редакторе изменил
Qo=?= на
Q==?= и всё открылось. Можно попробовать сделать полную автозамену (сделав бэкап, конечно). Но вдруг еще какая-нибудь бяка вылезет в будущем - лучше чтобы плагин игнорировал переводы строк на Win,Unix и прочие символы в теме письма и еще где нужно.
Observer — распаковка файлов из различных контейнеров
Posted: Mon 06 Mar, 2017 15:03
by Ariman
Спасибо за файлик.
Забавная ошибка. Оказывается винда не разрешает наличие символа 0А в имени файла. Не хочет его создавать с таким именем.
Исправил, теперь такие символы (ну и 0D до кучи) удаляются с тем писем.
Observer — распаковка файлов из различных контейнеров
Posted: Mon 06 Mar, 2017 16:12
by HaRT
Ariman wrote: теперь такие символы (ну и 0D до кучи) удаляются с тем писем
Это хорошо сработает только в том случае, когда они с краю. А если вдруг окажется в середине, то слова склеятся. Может, лучше только с краёв выкидывать, а в середине каждую последовательность „плохих“ пробельных символов заменять
одним пробелом?
Кстати, напомните, пжлст, а что сейчас делается, скажем, с двоеточиями из Темы письма? (Ну а потенциально и с другими символами, не разрешёнными в именах файлов.)
Observer — распаковка файлов из различных контейнеров
Posted: Mon 06 Mar, 2017 16:46
by Ariman
HaRT wrote:Может, лучше только с краёв выкидывать, а в середине каждую последовательность „плохих“ пробельных символов заменять одним пробелом?
Согласен, имеет смысл.
HaRT wrote:Кстати, напомните, пжлст, а что сейчас делается, скажем, с двоеточиями из Темы письма? (Ну а потенциально и с другими символами, не разрешёнными в именах файлов.)
Заменяются на символ _.
Observer — распаковка файлов из различных контейнеров
Posted: Sun 19 Mar, 2017 06:18
by Taciturn
Файлы из MSI дистрибутива PuTTY 0.68 (
32 и
64) не распаковываются.
Code: Select all
Ошибка извлечения для файла:
SourceDir\PFiles\PuTTY\putty.exe
Observer — распаковка файлов из различных контейнеров
Posted: Mon 20 Mar, 2017 08:30
by Ariman
Taciturn wrote:Файлы из MSI дистрибутива PuTTY 0.68 (32 и 64) не распаковываются.
Да, есть такое.
Некоторые инсталяхи, собранные через WIX, имеют какие-то проблемы в структуре. И через стандартное MSI API невозможно достать встроенный cab файл. А без него нужные файлы не извлечь.
Observer — распаковка файлов из различных контейнеров
Posted: Mon 20 Mar, 2017 12:19
by HaRT
Ariman wrote: через стандартное MSI API невозможно достать встроенный cab файл
А какой вызов обламывается? И как именно?
Observer — распаковка файлов из различных контейнеров
Posted: Mon 20 Mar, 2017 12:24
by Ariman
HaRT wrote:А какой вызов обламывается? И как именно?
В MSI есть псевдо-таблица
_Streams. Запрашивая её можно получить содержимое cab-ов. Но для проблемных файлов запрос к ней выдает, что такая таблица не существует.
Observer — распаковка файлов из различных контейнеров
Posted: Mon 20 Mar, 2017 12:34
by HaRT
Ariman wrote:В MSI есть псевдо-таблица
_Streams. Запрашивая её можно получить содержимое cab-ов. Но для проблемных файлов запрос к ней выдает, что такая таблица не существует.
По ссылке пишут: “This is a
temporary table, created only when referenced by a SQL statement” (выделение моё). Непохоже, что её отсутствие может считаться „проблемой в структуре“.
К тому же плагин
OLE2Viewer показывает, что в
[b][i]putty-0.68-installer.msi[/i][/b]
есть поток
[b][i]putty.cab[/i][/b]
.