Вопрос по excel-vba, passwords, password-protection, excel, vba – Таким образом, мой пароль к проекту Excel-VBA может быть легко взломан ... Какие есть другие варианты?

14

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

Есть ли какие-либо опции в Excel-VBA, или нам действительно нужно скомпилировать отдельное приложение и забыть о нашем интерфейсе на основе Excel?

Если вы ищете VBA obfuscater, я предлагаю проверить вызов инструмента VBASH. ИМХО, это лучше, чем CrunchCode и Obfu-VBA, и определенно лучше, чем защита паролем.ayedeal.com/vbash YeP

Ваш Ответ

4   ответа
1

Нет необходимости переводить на другой язык - вы сможете запутать большую часть своего кода VBA черезwww.vbsobfuscator.com [Примечание: ссылки на archive.org]

Теперь это мертвая ссылка, захваченная скваттером сайта с сомнительными ссылками на сайт.
Я не смог найти текущую версию, поэтому я отредактировал пост, чтобы связать его с самой последней рабочей копией сайта archive.org. Однако я не проверял, что фактическая функция обфускатора сайта все еще работает.
2

Другая хитрость заключается в написании кода для объекта Excel в Access, а затем в файл доступа в .mde http://www.blog.methodsinexcel.co.uk/?s=Access+MDB Бедный, но дешевый ;-)

Данная ссылка не работает, попробуйте этоdatabasedev.co.uk/microsoft-access-mde.html, Выглядит многообещающе.
1

Практически,VBA obfuscators не защищайте код VBA, потому что они оставляют структуру алгоритма неизменной, что можно проследить до исходных алгоритмов, которые затем можно восстановить.

Преобразование вашегоVBA code to VB6 означает, что ваше приложение будет ограничено 32-битным Excel (VB6 не имеет 64-битной версии) и может быть декомпилировано декомпиляторами VB, такими какhttps://www.vb-decompiler.org/

Преобразование вашегоVBA code to VB.NET это тоже не идеальное решение, так как .NET имеет & # x2018; отражение & # x2019; механизм, который может конвертировать скомпилированный код сборки .NET в исходный исходный код.

Вы можете конвертировать вашиVBA code to C/C++Это очень эффективная форма защиты, но поскольку C / C ++ и VBA являются очень разными языками программирования, преобразование кода VBA в C / C ++ является сложным, подверженным ошибкам и, как правило, не стоит огромных затрат времени и усилий. что нужно.

Существует инструмент под названиемVbaCompiler for Excel (http://vbacompiler.com) который преобразуетVBA code to C language code and then compiles it into a DLL, Уровень защиты, который, как утверждает этот инструмент, обеспечивает, подобен уровню преобразования вашего кода VBA в C / C ++, но без огромного количества ручной работы, необходимой для такого процесса.

8

Самый простой и эффективный способ - переместить ваш код VBA в скомпилированный VB6 модуль расширения Com / Automation.

Или вы можете рассмотреть решение .Net (с обфускатором), если производительность не важна.

+1. Я собирался использовать ком-подход, когда смотрел на различные методы защиты аддина, которые я рассматривал как коммерциализацию. Это был явно самый безопасный вариант. И я второе, что запутывание может быть очень эффективным

Похожие вопросы