Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Защита VBA кода. Новое решение - VBACompiler
 
Привет всем!

Рано или поздно, почти каждый разработчик сталкивается с вопросом защиты своего кода от нежелательного распространения.
Данная тема поднимается периодически. На мой взгляд, самая толковая информация была здесь - http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=45829&TITLE_SEO=4...

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

И вот захожу я на http://doneex.com/ дабы оплатить это чудо (в хорошем смысле), как вижу новую кнопочку - мол есть новый продукт.
Перехожу на http://vbacompiler.com/, изучаю (сайт пока что откровенно лаконичен).
Решение - давняя моя (и не только) мечта - макросы (вернее их Си-версия) переносятся в DLL-ку!

А мне как раз срочно надо распространить один свой файл, но только так чтобы он дальше не пошел. В итоге я на эмоциях и цейтноте решился сразу взять новый продукт. Все-таки решение гораздо красивее и логичнее. К сожалению, именно мой файл он "кушать" отказался, даже после исправления мной пары ошибок. Выслал разработчикам - все-таки бетта-версия. Уже через сутки прислали ссылку на новый релиз. Теперь компиляция проходила успешно. Но во время работы файл "падает". Еще причину не понял, но пока грешу на себя - возможно, где-то обнуляющие set-ы не использую, плюс у меня для он-лайн обновления данных используется несколько кривое, поспешное решение через постоянный запуск процедуры самой себя через OnTime. В общем буду искать ошибки и помогать разработчикам. С учетом того, что они смогли сотворить в первом своем продукте - в успехе даже не сомневаюсь.

О результатах обязательно проинформирую. Все-таки выход практически компилятора VBA считаю значимым событием. Хочу также убедить разработчиков добавить функцию не изменять (не шифровать) имена процедур/функций, т.к. я бы лично значительную часть своих вспомогательных библиотек с большой радостью таскал не в коде, а в виде DLL. Даже не защиты ради, а ради облегчения взгляда на код.
 
В ту же копилочку:
Компилятор VBA в dll VB.NET
http://analystcave.com/vba-compiler-add-in-to-vb-net/
F1 творит чудеса
 
т.е., насколько поняла, по линку из #2
Цитата
'Load the DLL into memory
dll загружается в память... в придачу к открытому файлу... наверно, остаётся проблема memory-efficiency, если в dll'ке большой функционал... по логике
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Всем доброго времени.
Вот и мне понадобился функционал защиты своего проекта.
Функционал  http://vbacompiler.com/ хорош, но не работает с большими проектами, к тому же стоимость пока за такой сырой продукт весьма высокая. и есть подтормаживания.
Protect VBA - отличный инструмент, но его легко победить с помощью ОО или последних ЛибрО.
Подскажите, можно ли внедрить в код файла xlsm ЗАЦИКЛЕННЫЙ макрос АВТООТКРЫТИЯ ТОЛЬКО для этих офисов (а не для Excel), чтобы они зависали при открытии файла в них
Например, если переменная >0 , к ней будет прибавляться 1.
небольшая, но всё таки защита будет от не очень продвинутых.
Изменено: Sobes - 10 Июн 2017 19:51:55
 
Открыли с отключенными макросами - и ковыряйте... без зависаний.
 
Вариант с DLL плох тем, что нужно иметь две отдельные DLL: для 32 битного Office и для 64-битного.
Для защиты коммерческих надстроек XLAM без использования EXE и DLL часто используют Unviewable+. Защита не идеальная, но вполне достаточна для коммерческих целей.
Изменено: ZVI - 11 Июн 2017 14:38:26
Vladimir Zakharov
Microsoft MVP – Office Apps & Services
 
Доброе время суток.
Владимир, а после защиты Unviewable  код xlam нельзя просмотреть в Libre?
 
Добрый день, Андрей. Libre Office (текущая версия 5.3) не видит VBA код любой надстройки XLAM.
На сайте по приведенной мною ссылке в примерах есть пара зашифрованных надстроек XLAM, можете с ними поэкспериментировать в разных программах.
Изменено: ZVI - 11 Июн 2017 12:56:28
Vladimir Zakharov
Microsoft MVP – Office Apps & Services
 
удалено эту надстройку "удалено" видит без проблем.
 
Да, очень жаль.
Чуть было не купил.
Но ломается на раз-два-три
Прошу прощения. Видео удалю
Изменено: Sobes - 11 Июн 2017 14:34:55
 
Цитата
Sobes написал:...Но ломается на раз-два-три
Вы взяли не самый защищенный вариант, который там в надстройке
WC2014-Locked-Ultimate-MultiLayer.xlam
То, что Вы попытаетесь вскрыть не будет тем, что делает надстройка, проверьте.
Изменено: ZVI - 11 Июн 2017 15:01:28
Vladimir Zakharov
Microsoft MVP – Office Apps & Services
 
Извините. Видео удалил
 
Цитата
RAN написал: Libre Office3.5 эту надстройку видит без проблем.
Андрей, очевидно, там уже не уровень защиты Locked-Ultimate-MultiLayer, возможно, автора теперь устраивает цифровая подпись.
Уберите, пожалуйста, название надстройки из сообщения, чтобы не подставлять её автора.
Попробуйте поэкспериментировать с WC2014-Locked-Ultimate-MultiLayer.xlam
Изменено: ZVI - 11 Июн 2017 15:00:47
Vladimir Zakharov
Microsoft MVP – Office Apps & Services
 
Напомню на всякий случай, что про Unviewable+ в сообщении #6 я уточнял, что "Защита не идеальная, но вполне достаточна для коммерческих целей".
По крайней мере, так считают ряд зарубежных разработчиков VBA-надстроек. Ссылку дал не ради рекламы, сам этой утилитой не пользуюсь.
Vladimir Zakharov
Microsoft MVP – Office Apps & Services
 
Владимир. Вам большое спасибо.
Действительно, указанная Вами надстройка защищена очень хорошо.
По крайней мере от таких. как я.
Пожалуй. всё таки куплю данный продукт.
Изменено: Sobes - 11 Июн 2017 15:10:23
 
Владмир, большое спасибо.
До 15 июня VBA не доступен, тогда и попробую, отношусь.
 
Вернулся, а, оказывается, модератор за меня просьбу выполнил. За что ему отдельное спасибо.
Владимир, код надстроек по ссылке посмотреть не удалось.
Изменено: RAN - 11 Июн 2017 18:08:56
 
Доброе время суток.
Цитата
ZVI написал:
Попробуйте поэкспериментировать с  WC2014-Locked-Ultimate-MultiLayer.xlam
Владимир, попробовал. Честно говоря не нашёл разницы с обсуждавшимися здесь ProtectVBA, LockXLS, которые заменяют несколько байтов в файле VBAProject.bin. Для примера
Файл: WC2014-Locked-Ultimate-Encrypted.xlam
Модуль: mRibbonTabActivate
часть кода

Файл: VBA Tools-Demo-Ultimate locked.xlam
Модуль: mWebLink
код

Как было описано в обсуждении по ссылке выше, вполне после двух команд в Immediate, код просматривается в LibreOffece. Так что защита  Unviewable+, на мой взгляд, ничем не отличается от ProtectVBA. Или я что-то упускаю? Собственно, Владимир, мой вопрос и был вызван этим моментом - в чём разница и преимущество Unviewable+? Предполагал, что вы общаетесь с авторами и владеете информацией почему + :)
Изменено: Андрей VG - 16 Июн 2017 09:44:54
Страницы: 1
Читают тему (гостей: 1)
Наверх