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

Project is unviewable как снять защиту vba

  • автор:

Project is unviewable как снять защиту vba

Как сделать проект vba «Project is Unviewable»

Алекс:
Добрый день.
Хочу как-то защитить надстройку. Мне достаточно простой защиты — чтобы при попытке открытия выдавалось окно Project is Unviewable.
Долго искал в интернете. Нашел выход что надстройку нужно создать из файла с общим доступом.
Делаю все как по инструкции. Но ничего не выходит.

Собственно вот инструкция (правда на англ).
делаю как написано. но при сохранении ( пункт 13 в списке) этого файла как надстройки, общий доступ как-бы самоликвидируется. И файл xla записывается без него.
Я пробовал закрывать проект программой ProtectVBA — но на работе , почему-то заблокированные программой файлы не открываются (дома все ок). Выдает ошибку при запуске ( Прекращена работа MS Excel, Поиск способа устранения ошибки и т д.)
Поэтому ищу как сделать это вручную.

For anyone interested in truly protecting their VBA projects check out the following step by step guide posted on another forum by Jan Karel Pieterse:

1. Save the Excel workbook (.xls) file into an add-in (File > SaveAs. )
2. After you have the saved add-in (.xla), close the Excel workbook (.xls)
3. Double click on the add-in to open it
4. Press Alt+F11 to access the add-in’s vba project
5. Lock the vba-project with a password
6. Double-click on the «ThisWorkbook» code module
7. Press F4 to open the Properties window
8. Change the «IsAddin» status to FALSE
9. Return to Excel by Pressing Alt+Q (or close the vbe window)
10. Go to Tools > Share Workbook
11. When the dialogue appears, check the box for: (Allow changes by. )
12. Press OK to close the Dialogue
13. When prompted to save, Press OK
14. Press Ok to accept that «macros cannot be accessed»
15. You should feel giddy at this point because you just realized what you have
been missing right under your nose
16. Verify that the [SHARED] appears in the application title bar
17. Now save the workbook again as an Add-in (File > SaveAs. ) overwriting the
previous one
18. Close this Excel workbook without saving the changes (you don’t need it)
19. Test out your newly saved add-in (open it, access the vbe, try to expand
the project window, you should get the new message «Project is Unviewable»
20. Your done

The project can’t be opened using passware software or the «hex method» (at least the tests I’ve done indicate it can’t).

RAN:
Цитата: Алекс от 02.07.2014, 11:49:38

Добрый день.
Хочу как-то защитить надстройку. Мне достаточно простой защиты

Поставьте пароль на проект.
ProtectVBA все равно не спасет

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

Юрий М:
Цитировать

Мне достаточно простой защиты
Цитировать

хочется хоть немного поднять планку
Нужно определиться ))

Алекс:
Цитата: Юрий М от 02.07.2014, 13:39:27

Определился) Хочу руками сделать «Project is Unviewable».
по инструкции не получается. Подскажите, пожалуйста, может я что-то не так делаю(
Не хочет сохраняя в формате xla оставлять общий доступ, который собственно и делает проект в последствии Unviewable.

Project is unviewable как снять защиту vba

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

[Из песочницы] Защита проекта VBA в MS Excel 10.08.2020 10:17

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

Дисклеймер:

В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сильные и слабые стороны — ранжирование.

Цель статьи показать слабые и сильные стороны каждого вида защиты проекта VBA в MS Office.

Демонстрация разработанных инструментов, в надстройке Macro Tools VBA, для снятия и установки той или иной защиты.

Все инструменты реализованы стандартными средствами VBA, без использования дополнительных библиотек.

3caa216ae8856b512c85f028b8872de5.png

Главная панель Надстройки Macro Tools VBA

Первый вид защиты — Обычный пароль

Время на снятие: мгновенно

Недостаток: быстрый доступ к запароленному модулю VBA

Стандартный инструмент (В среде VBE: панель Tools → VBAProject Properties → Protection).

Самая легко снимающаяся защита. В интернете легко находится код, для снятия данной защиты.

Данную защиту можно снять следующим инструментом:

4a0298b9f398cb0a3cbf99dfee517d7c.png

Второй вид защиты — Project is Unviewable

Время на снятие: от 10 до 15 мин (в ручную)

Недостаток: доступ к исходному коду модуля VBA

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

e06ef1d2954f775f7072e160f4d36c7d.png

Большинство пользователей Excel, не могут снять данную защиту, так как она имеет множество вариации и нюансов, для ее снятие нужно иметь представление о внутренней структуре файла Excel.

Основан, данный вид защиты, на изменение ключей:

CMG=«4A488FCC54D054D054D054D0» DPB=«0B09CE0F8E108E108E» GC=«CCCE09520B120C120CED»

в файле vbaProject.bin .

c49096870008968083ab170a8f4e3d13.png

Кратко, как создается данная защита

Для создания данной защиты нужно, разархивировать файл Excel. Перейти в архиве в папку xl, открыть файл vbaProject.bin, в конце файла находятся наши ключи, редактируем значения ключей на пусто, сохраняем файл. Переводим наш архив, обратно в файл Excel. Готово!

Это самый простой вариант данной защиты, но существует множество модификаций.

Алгоритм снятия защиты Project is Unviewable.

1) Разархивируем подопытный файл, переходим в файл …\xl\_rels\workbook.xml.rels

5d77f6a067b147d197a460de17af4fd6.png

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.

91cd2470a3f945057e4fd1fc36056073.png

7) Открываем проект VBA. После всего, проект VBA должен быть доступен.

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

Данную защиту можно установить и снять следующим инструментом:

64cd82f6c5ee548ed80966b87d79426f.png

Третий вид защиты — Hidden Module, скрытые модули VBA

Время на снятие: от 15 до 20 мин (нужен редактор OLE — объектов, Structured Storage Viewer, например.

Недостаток: доступ к коду модуля VBA

Менее распространенный вид защиты обычно встречается в комбинации с защитой Project is Unviewable. При установке данной защиты модуль VBA не отображается в проекте книги Excel. О его существовании можно узнать, проанализировав код VBA (что требует время!) или открыть файл Excel в программе OpenOffice или LibreOffice (так же можно смотреть код при защите Project is Unviewable, но данный способ не дает возможность получить рабочий файл, без пароля).

895b4114ed5027bc7d2011577d878b33.png

Просмотр кода VBA в LibreOffice

Кратко, как создается данная защита

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

a2a27459c756e66a1c4e5f5af1eeef57.png

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

Данную защиту можно установить следующим инструментом.

be9ec75f5a228e35e02152bb4cbc141a.png

Четвертый вид защиты — Обфускация кода

Время на снятие: неизвестно, зависит от объема кода и пере использования частей кода

8e4a0265bf3d3fb85adccd47084a0441.png

Обфусцированный код VBA

Недостаток: необходимость тестирование файла после обфускации, на работоспособность

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

Для де-обфускации кода нужно иметь время, специализированное ПО.

Данную защиту можно установить следующим инструментом.

92f730ade1c1a1c20f22a59c745a9a82.png

Пятый вид защиты — Перенос кода в dll

Время на снятие: неизвестно, зависит от языка программирования и квалификации

Недостаток: необходимости в дополнительном файле dll

Один из самых редких видов защиты. Основная идея перенос основного кода в отдельную библиотеку dll, написанную на любом другом языке программирования. Не распространённость данный вид защиты получил по следующей причине, необходимости за файлом Excel, «таскать» дополнительный файл, dll.

Для получения доступа к коду dll, нужно обладать специальными знаниями.

Заключение

В заключении хочу выделить бесполезность защит: Project is Unviewable и Hidden Module которые, по существу ни отчего не защищают. Позволяют просматривать код VBA, без изменения исходного файла, в таких программах как OpenOffice или LibreOffice. Так и снимаются без особых проблем.

Project is unviewable как снять защиту vba

Прошу подсказать, что делать.
Неожиданно при попытке открыть проект стало открываться сообщение «Project is unviewable», как разлочить.

Пользователь (т.е. Я) защит и паролей не устанавливал.
Заранее благодарю за помощь.

PS файл несколько раз пере сохранялся. Не открывается код только в 2 последних версиях.

Прошу подсказать, что делать.
Неожиданно при попытке открыть проект стало открываться сообщение «Project is unviewable», как разлочить.

Пользователь (т.е. Я) защит и паролей не устанавливал.
Заранее благодарю за помощь.

PS файл несколько раз пере сохранялся. Не открывается код только в 2 последних версиях. tanver

Сообщение Добрый день.

Прошу подсказать, что делать.
Неожиданно при попытке открыть проект стало открываться сообщение «Project is unviewable», как разлочить.

Пользователь (т.е. Я) защит и паролей не устанавливал.
Заранее благодарю за помощь.

PS файл несколько раз пере сохранялся. Не открывается код только в 2 последних версиях. Автор — tanver
Дата добавления — 09.03.2016 в 18:02

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *