Page 2 of 3

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Mon 19 Dec, 2016 11:27
by rivitna
Обсуждение плагина OLE2Viewer

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Wed 18 Jan, 2017 12:02
by rivitna

Latest post of the previous page:

Версия 1.0.4 rc
* BUG: исправление ошибки открытия плагина через меню "Команды плагинов" во временной панели;
* BUG: исправление ошибки открытия плагина через командную строку с префиксом "ole2";
+ Декодирование имен элементов в инсталляционных пакетах MSI/MSP/MSM.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Mon 13 Feb, 2017 22:41
by rivitna
Версия 1.0.5 rc
+ Извлечение вложенных объектов из потоков "☺Ole10Native";
+ Отображение "потерянных" записей каталога.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Sun 19 Feb, 2017 10:04
by rivitna
Версия 1.0.6 rc
+ Извлечение текста из документов Word формата быстрого сохранения (complex file Word);
+ Корректно извлекаемый из документов текст кодируется в UTF-8.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Wed 08 Mar, 2017 20:59
by abc007
Не всегда декодируются скрипты. Пример файла в аттаче (файл со спама, пароль на архив: virus)

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Mon 13 Mar, 2017 05:45
by rivitna
abc007 wrote: Не всегда декодируются скрипты. Пример файла в аттаче (файл со спама, пароль на архив: virus)
Спасибо Вам за файлик, там интересный заголовок блока с исходником макроса, который ранее мне не встречался. В ближайшее время сделаю новую сборку.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Wed 15 Mar, 2017 21:27
by rivitna
Поправил плагин с учетом предоставленного файла.
А файлик-то вредоносный: макрос файла извлекает downloader на JavaScript, ссылка уже убитая, но, судя по всему, там был вымогатель-шифровальщик.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Wed 15 Mar, 2017 21:27
by rivitna
Версия 1.0.7 rc
+ Усовершенствование алгоритма извлечения исходных кодов макросов VBA;
+ Улучшение работы с памятью.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Wed 15 Mar, 2017 23:19
by HaRT
rivitna wrote: А файлик-то вредоносный
А как Вы смотрите текст макросов?
Я в директории Macros вижу файлы

Code: Select all

VBA/_VBA_PROJECT
VBA/dir
VBA/ThisDocument
PROJECT
PROJECTwm
но ни один из них не похож на текст макросов…

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 08:44
by rivitna
HaRT wrote: А как Вы смотрите текст макросов?
Я в директории Macros вижу файлы
...
но ни один из них не похож на текст макросов…
Макросные стримы (потоки) находятся в каталоге "VBA", там помимо макросных стримов находятся служебные стримы "_VBA_PROJECT" и "dir", а также могут быть стримы с названиями типа "__SRP_N", там содержится скомпилированный исполняемый код макросов. Таким образом, остается "ThisDocument" - это и есть макросный стрим, в нем содержится p-code и запакованный исходный код макроса. Надо просто на стрим нажать "Enter". Кстати, Ctrl-PgDn надо добавить. :oops:
Кроме того, в стриме "PROJECTwm" содержатся наименования всех макросных стримов проекта VBA в ANSI и Unicode, ну или просто определить перебором, нажимая на Enter :)

Конечно, в идеале хочется подсвечивать стримы-контейнеры, из которых плагин что-то извлекает, но с подсветкой я так и не разобрался: мне не понятно, как подсвечивать внутри плагина стримы, но так, чтобы было единообразие с подсветкой файлов-архивов в реальной файловой системе.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 12:16
by rivitna
Увы, усовершенствование привело к поломке алгоритма распаковки в 64-битной версии плагина :(

Версия 1.0.8 rc
* BUG: исправление ошибки распаковки исходного кода макроса в 64-битной версии плагина;
+ Открытие потока, содержащего вложенные объекты, при нажатии [Ctrl-PageDown].

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 12:44
by HaRT
rivitna wrote: Ctrl-PgDn надо добавить
Да, хорошо бы. Лично для меня Enter на файле — это его запуск.
Upd: а, как я погляжу, уже. Спасибо.
rivitna wrote: в стриме "PROJECTwm" содержатся наименования всех макросных стримов проекта VBA в ANSI и Unicode
И как их там лучше всего посмотреть?
rivitna wrote: подсвечивать стримы-контейнеры
Почему Вы говорите об этом в терминах подсветки? Если стрим контейнерный, то пусть он будет директорией, чтобы было сразу понятно, что туда можно войти.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 13:19
by abc007
rivitna wrote: BUG: исправление ошибки распаковки исходного кода макроса в 64-битной версии плагина;
Спасибо! Теперь всё работает

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 16:02
by zg
HaRT wrote:Если стрим контейнерный, то пусть он будет директорией, чтобы было сразу понятно, что туда можно войти.
обсуждалось, типа кому-то может понадобиться извлечь в виде файла.

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 16:51
by HaRT
zg wrote: кому-то может понадобиться извлечь в виде файла
Ну может тогда стоило бы помечать такие файлы каким-то атрибутом, чтобы можно было навесить раскраску? Возможно ли в FAR API придать элементу панели атрибут Directory (в том смысле, как это используется в фильтрах), но при этом чтобы на панели этот элемент не был директорией? Или, скажем, нельзя ли так настроить элемент-директорию, чтобы её можно было экспортировать (просмотреть/скопировать) как один файл?

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 18:54
by HaRT

OLE2Viewer - анализ и просмотр структуры файлов OLE2

Posted: Thu 16 Mar, 2017 19:22
by rivitna
HaRT wrote: И как их там лучше всего посмотреть?
По F3 проще всего, не хочется городить, тем более Microsoft считает данный стрим необязательным.
HaRT wrote: Почему Вы говорите об этом в терминах подсветки? Если стрим контейнерный, то пусть он будет директорией, чтобы было сразу понятно, что туда можно войти.
Да, все верно, такая функциональность необходима:
zg wrote: обсуждалось, типа кому-то может понадобиться извлечь в виде файла.