Подтвердить что ты не робот

Чтение макросов VBA (или vbaProject.bin) файла Excel без его открытия в MS Excel

Я хотел бы проанализировать файлы Excel, особенно те, которые содержат программы VBA внутри. потому что я планирую запустить этот анализ на большом количестве файлов Excel один за другим, я не хочу открывать эти файлы в Microsoft Excel для их анализа.

Одна трудность состоит в том, чтобы найти и проанализировать макросы VBA файла Excel. Мы знаем, что файл Excel можно преобразовать в файл .zip, который содержит много .xml и vbaProject.bin, вполне очевидно, что макросы VBA находятся в vbaProject.bin. Однако проблема в том, как его прочитать?

Кто-нибудь знает, есть ли какой-либо инструмент или API для поиска и анализа макросов VBA?

Кто-нибудь знает, есть ли какой-либо инструмент или API для чтения vbaProject.bin?

4b9b3361

Ответ 1

Существует очень большой PDF файл от Microsoft, в котором vbaproject.bin как извлечь функции из vbaproject.bin:

https://interoperability.blob.core.windows.net/files/MS-OVBA/%5bMS-OVBA%5d.pdf [ Источник ]

Этот ресурс является текущим и доступным по состоянию на 27 июня 2019 года. Событие, при котором эта ссылка устарела (Microsoft периодически меняет структуру своих постоянных ссылок или иным образом изменяет способ реализации своих хранилищ документации/ответов и т.д.), MS-OVBA.pdf поиск MS-OVBA.pdf,

Некоторая дополнительная информация, которая может или не может быть дополнительной к вышеупомянутому:

http://www.codeproject.com/Articles/15216/Office-2007-bin-file-format

Ответ 2

Вот статья, обновленная в 2017 году, в которой перечислены несколько инструментов, помогающих с этим. Мне удалось извлечь код VBA из файла vbaProject.bin с помощью инструмента OfficeMalScanner. Изменить: спустя несколько месяцев после успешного использования этого инструмента Windows обнаруживает в нем вредоносное ПО. Ссылка была www точка восстановления точка org/code/OfficeMalScanner.zip. Используйте на свой страх и риск - мне удалось извлечь кучу необходимого кода VBA из проекта после потери исходного кода.