Перейти к содержимому
Aback Tools Logo

VBA P-код/экстрактор сжатых макросов

Извлекайте и распаковывайте макросы VBA из документов Office (DOCX, XLSX, PPTX). Анализируйте ZIP-архивы OOXML, распаковывайте сжатые потоки vbaProject.bin PERFORMED/DEFLATE и восстанавливайте исходный код макросов из модулей проекта VBA. Макросы, запускаемые автоматически, помечаются событиями их триггера для анализа безопасности. Бесплатно, конфиденциально и не требует регистрации.

VBA P-Code / Compressed Macro Extractor

Upload Office documents (DOCX, XLSX, PPTX) to extract and decompress embedded VBA macros. Recovers macro source code from compressed vbaProject.bin streams, detects auto-execute macros, and provides hex dump views for forensic analysis. All processing runs locally in your browser.

Drop a document here or click to browse

Supports DOCX, XLSX, and PPTX files

How to Use the VBA P-Code/Compressed Macro Extractor

Upload any Office Open XML document (DOCX, XLSX, PPTX) to extract embedded VBA macro source code. The tool parses the ZIP-based OOXML structure, finds vbaProject.bin entries, decompresses DEFLATE-compressed PERFORMED data streams, and recovers VBA source code from the project modules. All processing is done entirely in your browser — no data is uploaded to any server. Auto-execute macros are flagged with their trigger events for security analysis.

Зачем использовать наш экстрактор VBA P-кода/сжатых макросов?

  • Извлечение макросов VBA из документов Office: загрузите файлы DOCX, XLSX или PPTX, чтобы извлечь встроенные макросы VBA. Наш инструмент автоматически анализирует структуру Office Open XML на основе ZIP, находит записи vbaProject.bin, распаковывает сжатые дефлятом потоки и извлекает исходный код макросов из потока хранилища проекта VBA. Работает с любым документом Office, содержащим макросы.
  • Безопасное и конфиденциальное извлечение макросов: все извлечение, распаковка и декомпиляция макросов VBA происходит полностью в вашем браузере. Ваши документы Office, извлеченные макросы и распакованный исходный код никогда не покинут ваше устройство. Никакие данные не загружаются на какой-либо сервер, не отслеживаются и не требуют регистрации — полная конфиденциальность для анализа конфиденциальных документов.
  • Восстановить исходный код из запутанных макросов. Извлеките исходный код макросов VBA из документов, в которых макросы сжаты, закодированы или запутаны. Инструмент распаковывает потоки PERFORMED с использованием стандартного сжатия DEFLATE (RFC 1951) и восстанавливает исходный исходный код VBA из потоков PROJECT и модулей. Поддерживает как сжатые, так и несжатые форматы проектов VBA.
  • Подробный анализ макросов с помощью шестнадцатеричного представления: просмотр извлеченных макросов с предварительным просмотром исходного кода, подсчетом строк и анализом символов. Для каждого обнаруженного макроса указано имя модуля, тип (под/функция/модуль), статус автоматического выполнения и размеры в сжатом или несжатом виде. Представление шестнадцатеричного дампа необработанных данных проекта VBA, доступное для судебно-медицинской экспертизы.

Что такое P-код VBA и хранилище сжатых макросов?

VBA P-Code (псевдокод) — это промежуточное представление исходного кода VBA, которое среда выполнения VBA компилирует перед выполнением. Когда вы создаете макрос в приложении Office, исходный код VBA сохраняется в сжатом токенизированном формате в составной файловой структуре OLE2 документа. Документы Office (DOCX, XLSX, PPTX) на самом деле представляют собой ZIP-архивы, содержащие файлы XML и двоичные потоки. Проект VBA хранится как vbaProject.bin внутри ZIP-архива, который содержит несколько потоков, включая поток PROJECT (инвентаризация модулей и ссылки), потоки VBA/ModuleName (сжатый исходный код с использованием сжатия PERFORMED/DEFLATE) и поток PROJECTTKB (библиотека типов и информация о зависимостях). Наш инструмент анализирует всю эту структуру, чтобы восстановить исходный источник VBA.

Как работает наш экстрактор VBA P-кода/сжатых макросов

  1. 1. Загрузите документ Office. Выберите любой файл Office Open XML (DOCX, XLSX, PPTX) с помощью средства выбора файлов или перетаскивания. Инструмент проверяет подпись ZIP и определяет тип документа — Word, Excel или PowerPoint. Файл полностью обрабатывается в вашем браузере без загрузки на какой-либо сервер.
  2. 2. Извлеките и распакуйте проект VBA. Инструмент анализирует ZIP-архив, чтобы найти все записи vbaProject.bin. Двоичный файл проекта VBA распаковывается с использованием стандартного сжатия DEFLATE (RFC 1951) через собственный API-интерфейс DecompressionStream браузера. Поток PROJECT анализируется для перечисления всех имен модулей, а каждый поток модулей VBA распаковывается для восстановления исходного исходного кода VBA.
  3. 3. Просмотр и анализ извлеченных макросов. Извлеченный исходный код макроса отображается с именами модулей, количеством строк и анализом символов. Макросы, выполняющиеся автоматически, помечаются событиями их триггера (Document_Open, AutoOpen, Workbook_Open и т. д.). Представление шестнадцатеричного дампа необработанных данных проекта VBA доступно для глубокого криминалистического анализа. Нажмите «Копировать», чтобы сохранить извлеченный исходный код для дальнейшего исследования.

Структура хранения документов Office VBA

  • ZIP-архив OOXML: документы Office (DOCX, XLSX, PPTX) представляют собой ZIP-архивы, содержащие типизированные части XML и двоичные потоки. Проект VBA хранится в виде двоичного потока в word/vbaProject.bin, xl/vbaProject.bin или ppt/vbaProject.bin в зависимости от типа документа.
  • PROJECT Stream: содержит список модулей, в котором перечислены имена каждого модуля VBA, ассоциации классов документов и ссылки на проекты. Этот поток сохраняется в виде обычного текста в Юникоде и анализируется для идентификации всех записей модуля перед извлечением их исходного кода.
  • Потоки модулей (VBA/ModuleName). Каждый модуль VBA имеет соответствующий поток, содержащий сжатый исходный код. Исходный код сжимается с использованием сжатия PERFORMED, которое является вариантом DEFLATE (RFC 1951) со специфичным для VBA заголовком. Инструмент обнаруживает и распаковывает этот формат для восстановления исходного исходного кода VBA.
  • Автоматическое выполнение макросов. Определенные имена макросов автоматически активируются событиями Office: Auto_Open, Document_Open, Workbook_Open и т. д. Они помечаются во время извлечения, поскольку обычно используются вредоносными программами для автоматического выполнения при открытии документа.

Конфиденциальность, безопасность и доступность

VBA P-Code/Compressed Macro Extractor абсолютно бесплатен и не требует регистрации. Весь анализ документов, извлечение ZIP, распаковка DEFLATE и анализ проекта VBA выполняются локально в вашем браузере — ваши документы Office, извлеченные макросы и распакованные исходные коды никогда не покидают ваше устройство. Никаких ограничений или лимитов на использование нет. Инструмент поддерживает загрузку файлов методом перетаскивания, несколько форматов документов (DOCX, XLSX, PPTX), автоматическое обнаружение макросов с именами триггеров, просмотр шестнадцатеричного дампа для судебно-медицинского анализа и копирование извлеченного исходного кода одним щелчком мыши. Используйте его столько раз, сколько необходимо для исследования безопасности, анализа вредоносного ПО или в образовательных целях.

Часто задаваемые вопросы

VBA P-Code (псевдокод) — это промежуточное токенизированное представление исходного кода VBA, хранящееся внутри документов Office. При сохранении документа с поддержкой макросов исходный код VBA сжимается и сохраняется в потоке vbaProject.bin с использованием сжатия PERFORMED/DEFLATE. Наш инструмент анализирует структуру OOXML на основе ZIP, находит записи vbaProject.bin, распаковывает данные, сжатые с помощью DEFLATE, и восстанавливает исходный исходный код VBA путем анализа потока PROJECT и потоков модулей.

Инструмент поддерживает форматы файлов DOCX (Word), XLSX (Excel) и PPTX (PowerPoint) — современные форматы Office Open XML, которые представляют собой внутренние ZIP-архивы. Старые двоичные форматы OLE2 (DOC, XLS, PPT) напрямую не поддерживаются. Если у вас есть документ в двоичном формате, вы можете открыть его в последней версии Office и повторно сохранить в формате OOXML (например, .docx вместо .doc) перед загрузкой.

Инструмент может обнаруживать и извлекать необработанный двоичный файл проекта VBA из документов, защищенных паролем. Однако реальный исходный код VBA в проектах, зашифрованных паролем, может быть зашифрован с использованием пароля проекта в качестве криптографического ключа. Инструмент по-прежнему будет отображать шестнадцатеричный дамп и метаданные потока проекта, но исходный код может выглядеть как искаженный двоичный файл, если потоки модуля зашифрованы. Для стандартных сжатых (но не защищенных паролем) макросов исходный код полностью восстанавливается.

В Office используется сжатие PERFORMED, которое представляет собой собственный вариант стандартного сжатия DEFLATE (RFC 1951) со специфичным для VBA заголовком кадрирования. Потоки сжатых модулей начинаются с байта подписи (0x01 для несжатого, 0x02 для сжатого), за которым следуют полезные данные сжатых данных. Наш инструмент использует собственный API DecompressionStream браузера для распаковки потока DEFLATE и обрабатывает заголовки, специфичные для VBA, для восстановления исходного исходного кода.

Макросы автоматического выполнения — это процедуры VBA со специальными именами, которые Office запускает автоматически в ответ на события документа или приложения. Общие имена автоматического выполнения включают Auto_Open, Document_Open, Workbook_Open, Auto_Exec и Sheet_Activate. Авторы вредоносных программ часто используют макросы автоматического выполнения для запуска вредоносного кода сразу после открытия документа — часто без ведома пользователя. Инструмент помечает эти макросы конкретными триггерными событиями, чтобы помочь аналитикам безопасности быстро идентифицировать потенциально опасные документы.

Да, 100% безопасно. VBA P-Code/Compressed Macro Extractor полностью работает в вашем браузере. Ваши документы Office, извлеченный исходный код макросов, распакованные данные, шестнадцатеричные дампы и результаты анализа никогда не загружаются на какой-либо сервер, не сохраняются в какой-либо базе данных и не передаются по сети. Весь анализ ZIP, распаковка DEFLATE, анализ потока проекта VBA и восстановление исходного кода выполняются локально на вашем устройстве без вызовов API или сбора данных.

Несколько факторов могут препятствовать полному восстановлению источника макроса: проект VBA может быть зашифрован паролем (потоки модуля зашифрованы паролем проекта), документ может использовать более старый двоичный формат OLE2 вместо OOXML, при сжатии может использоваться нестандартный вариант, не поддерживаемый встроенной функцией распаковки, или проект VBA может быть пустым (фактический код макроса не был сохранен). В таких случаях инструмент всегда передает необработанные двоичные данные VBA и шестнадцатеричный дамп для ручного анализа.

Да — на 100 % бесплатно, без регистрации, аккаунта и ограничений на использование. Извлекайте и распаковывайте макросы VBA из любого количества документов Office столько раз, сколько захотите. Все функции — загрузка файлов перетаскиванием, поддержка всех форматов документов (DOCX/XLSX/PPTX), распаковка DEFLATE, просмотр модулей, предварительный просмотр исходного кода, просмотр шестнадцатеричного дампа, просмотр потока PROJECT, обнаружение автоматического выполнения макросов, копирование отдельного или всего исходного кода и загрузка файлов .bas — доступны без каких-либо ограничений. Никаких премиальных уровней, скрытых платежей или каких-либо ограничений ставок.