Документация Macro Tools VBA
Удалить пароли с проектов VBA – удаление паролей с проектов VBA, в том числе «Project is UNVIEWABLE», и обратная установка UNVIEWABLE
- “Установить пароль Unviewable” – устанавливает пароль на проект VBA выбранной книги
- “Снять пароль Unviewable” – снимает пароль с проекта VBA выбранной книги
- “Снять пароль VBA” – удаляет пароли со всех активных книг, кроме защищенных паролем “Project is UNVIEWABLE”

“Установить пароль Unviewable” – устанавливает пароль на проект VBA выбранной книги Excel и Word
При использовании инструмента открывается диалоговое окно выбора файла для установки пароля – “Project unviewable”
Снятие паролей с проектов VBA Данный инструмент создает резервную копию используемого файла.


“Снять пароль Unviewable” – снимает пароль с проекта VBA выбранной книги Excel и Word
При использовании инструмента открывается диалоговое окно выбора файла для снятия пароля – “Project unviewable”
После использования инструмента, при открытии файла, должны появиться сообщения в диалоговом окне. Жмем кнопку “Да” до полного закрытия диалогового окна. По завершению переходим в проект VBA – пароль снят!
Как снять защиту (пароль) на VBA проекте в Excel?
![]()
В данном видео описан самый простой способ снять пароль с VBA-проекта в MS Excel. Данная информация будет полезной, в случае утраты пароля от своего VBA-проекта в MS Excel. Для проведения требуемых действий, обязательно загрузите редактор Notepad++ по ссылке: https://notepad-plus-plus.org/ Если видео было полезным — тогда не забывайте ставить лайки. Прошу вас не использовать данные знания, если вы не имеете соответствующих прав на документы.
Показать больше
Войдите , чтобы оставлять комментарии.
Обход защиты VBA
![]()
Если у вас есть документ с проектом VBA, который защищён паролем, и у вас есть проблема с восстановлением пароля и/или разблокировкой проекта VBA, вы можете использовать бэкдор (т.е. обход защиты) VBA . Данный обход защиты работает для всех приложений, которые могут создавать проекты VBA, а не только для Microsoft® Office. Такие приложения, как Corel WordPerfect Office и AutoCAD, также имеют этот бэкдор.
Эта возможность поможет вам обойти защиту паролем вместо того, чтобы его восстанавливать.
Сначала закройте все запущенные экземпляры приложений MS Office.
Нажмите VBA Backdoor на панели инструментов AOPR (или выберите в меню VBA Backdoor | Открыть файл через бэкдор ). Прочтите инструкции в диалоговом окне и откройте файл с проектом VBA:

Затем AOPR будет использовать специальный метод для загрузки документа в приложение, которое использовалось для создания проекта VBA. В этом приложении (например, Microsoft Word) откройте окно свойств VBA, которое обычно находится в разделе «Инструменты | Макрос | Редактор Visual Basic» или «Инструменты | Свойства VBAProject» . Вам будет предложено ввести пароль. Введите любой непустой пароль (например, xyz), и он будет принят.
Если ваш документ был создан в Microsoft® Office 97, вы можете использовать более старшую версию (например, Office 2000 или Office XP), чтобы снять защиту с проекта, но не наоборот.
Вы можете запустить приложение с поддержкой VBA (например, Word®, Excel®, FrontPage, AutoCad и т. д.) через AOPR , используя пункт меню «VBA Backdoor | Запустить приложение». Бэкдор будет активирован в запущенном приложении. После этого будет принят любой непустой пароль для проектов VBA, открытых в этом экземпляре.
Обратите внимание, что этот бэкдор поддерживается только для ограниченного числа версий движка VBA (VBE.DLL, VBE6.DLL, VBE7.DLL) до Microsoft® Office 2013 включительно. После запуска приложения AOPR отметит в журнале размер и номер версии DLL. Если на вашем компьютере не установлена поддерживаемая версия движка VBA, AOPR попытается использовать общий патч, который может не работать при определенных обстоятельствах.
Защита проекта VBA в MS Excel
Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA.
Дисклеймер:
В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сильные и слабые стороны – ранжирование.
Цель статьи показать слабые и сильные стороны каждого вида защиты проекта VBA в MS Office.
Демонстрация разработанных инструментов, в надстройке Macro Tools VBA, для снятия и установки той или иной защиты.
Все инструменты реализованы стандартными средствами VBA, без использования дополнительных библиотек.

Главная панель Надстройки Macro Tools VBA
Первый вид защиты — Обычный пароль
Время на снятие: мгновенно
Недостаток: быстрый доступ к запароленному модулю VBA
Стандартный инструмент (В среде VBE: панель Tools -> VBAProject Properties -> Protection).
Самая легко снимающаяся защита. В интернете легко находится код, для снятия данной защиты.
Данную защиту можно снять следующим инструментом:

Второй вид защиты — Project is Unviewable
Время на снятие: от 10 до 15 мин (в ручную)
Недостаток: доступ к исходному коду модуля VBA
Один из самых распространённых видов защит. Встречается в 95% файлах с защитой модуля VBA. При попытке открыть проект, открывается диалоговое окно, с сообщением: Project is Unviewable.

Большинство пользователей Excel, не могут снять данную защиту, так как она имеет множество вариации и нюансов, для ее снятие нужно иметь представление о внутренней структуре файла Excel.
Основан, данный вид защиты, на изменение ключей:
CMG=«4A488FCC54D054D054D054D0» DPB=«0B09CE0F8E108E108E» GC=«CCCE09520B120C120CED»
в файле vbaProject.bin .

Кратко, как создается данная защита
Для создания данной защиты нужно, разархивировать файл Excel. Перейти в архиве в папку xl, открыть файл vbaProject.bin, в конце файла находятся наши ключи, редактируем значения ключей на пусто, сохраняем файл. Переводим наш архив, обратно в файл Excel. Готово!
Это самый простой вариант данной защиты, но существует множество модификаций.
Алгоритм снятия защиты Project is Unviewable.
1) Разархивируем подопытный файл, переходим в файл …\xl\_rels\workbook.xml.rels

2) В файле workbook.xml.rels ищем строку, содержащую слово vbaProject, обычно имеет следующий вид: />. В этой строке нас интересует ключ Target,иего значение. Значение является название файла, в котором находится проект VBA. Иногда, защищающий меняет значения ключа на printerSettings.bin.Получается маскировка файла с проектом VBA под другой файл.
3) Открываем на редактирование файл, указанный в ключе Target, ищем в файле ключи CMG, DPB, GC. И меняем в их названиях любую букву на любую другую, например: CMC, DPC, CC. При поиске нужно быть аккуратным, так как защищающий может поместить в проект форму, подписью повторяющую один из ключей, например такую: DPB=«0B09CE0F8E108E108E». При ее изменении проект VBA, будет удален из книги Excel. Сохраняем и закрываем файл.
4) Переводим архив обратно в файл Excel.
5) Запускаем приложение Excel, выполняем следующее: в Центре управления безопасностью -> Параметры макросов -> Отключить все макросы без уведомления. Перезапускаем Excel. Данная операция нужна, для блокировки защиты, которую иногда ставят авторы макросов. Данная защита реализована следующим образом. В модуле VBA «ЭтаКнига», создается процедуры, реагирующие на события открытия книги или закрытия книги. Эти события обычно проверяют, наличие пароля на проект VBA, запрет сохранения и прочее.
6) Открываем файл. Если все правильно сделано то, Excel, будет ругаться на не правильные ключи, которые мы отредактировали, в пункте 3. Жмем, да, пока данные сообщения не закончатся и диалоговое окно закроется.
Если данное сообщение не появляется то, вы отредактировали не файл который содержит проект VBA.

7) Открываем проект VBA. После всего, проект VBA должен быть доступен.
8) Но иногда защита не снимается, тогда нужно сохранить файл, проверить, что он действительно сохранился! И проделать повторно операции с 1 по 7. Обычно так происходит когда в файле workbook.xml.rels в ключе Target установлено printerSettings.bin.При сохранение, Excel исправляет это на значение на vbaProject.bin
Данную защиту можно установить и снять следующим инструментом:

Третий вид защиты — Hidden Module, скрытые модули VBA
Время на снятие: от 15 до 20 мин (нужен редактор OLE — объектов, Structured Storage Viewer, например.
Недостаток: доступ к коду модуля VBA
Менее распространенный вид защиты обычно встречается в комбинации с защитой Project is Unviewable. При установке данной защиты модуль VBA не отображается в проекте книги Excel. О его существовании можно узнать, проанализировав код VBA (что требует время!) или открыть файл Excel в программе OpenOffice или LibreOffice (так же можно смотреть код при защите Project is Unviewable, но данный способ не дает возможность получить рабочий файл, без пароля).

Просмотр кода VBA в LibreOffice
Кратко, как создается данная защита
Для создания данной защиты нужно отредактировать файл с проектом VBA — vbaProject.bin или printerSettings.bin,в зависимости от настроек в файле …\xl\_rels\workbook.xml.rels. В конце файла удаляются строки вида: Module1=32, 32, 635, 330, Z. С нужными названиями модулей.

Для снятия данной защиты нужно в файле vbaProject.bin — восстановить удаленные записи модулей.
Данную защиту можно установить следующим инструментом.

Четвертый вид защиты — Обфускация кода
Время на снятие: неизвестно, зависит от объема кода и пере использования частей кода

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

Пятый вид защиты — Перенос кода в dll
Время на снятие: неизвестно, зависит от языка программирования и квалификации
Недостаток: необходимости в дополнительном файле dll
Один из самых редких видов защиты. Основная идея перенос основного кода в отдельную библиотеку dll, написанную на любом другом языке программирования. Не распространённость данный вид защиты получил по следующей причине, необходимости за файлом Excel, «таскать» дополнительный файл, dll.
Для получения доступа к коду dll, нужно обладать специальными знаниями.
Заключение
В заключении хочу выделить бесполезность защит: Project is Unviewable и Hidden Module которые, по существу ни отчего не защищают. Позволяют просматривать код VBA, без изменения исходного файла, в таких программах как OpenOffice или LibreOffice. Так и снимаются без особых проблем.
- VBA
- защита проекта VBA
- Project is Unviewable
- Hidden Module
- Информационная безопасность
- Visual Basic for Applications