Обфускация кода – инструмент запутывания кода макроса, с целью защиты его от не санкционированного доступа, сохраняющий его функциональность, но затрудняющий его анализ

Обфускация кода — производится в несколько этапов:
- Парсер кода VBA — сбор, из проекта VBA, названий переменных (локальных и глобальных), названий процедур и функций, название всех модулей VBA, названия «контролов» UserForms
- Обфускация — главный процесс запутывания кода, производится по списку сформированному парсером кода. Перед выполнением операции «Удаление форматирования» — производится тестирование кода на работоспособность.
- Удаление форматирования — удаление из кода: комментариев, форматирование кода, нумерации строк, пустых строк, перенос строк, инструкции «Option»
Обфускация закончена!
Данный инструмент, рекомендуется использовать совместно с инструментами:

Парсер кода VBA:
В процессе парсинга формируются две таблицы — «DATA_OBF_VBATools» и «STRING_OBF_VBATools«.
В таблица DATA_OBF_VBATools, содержит данные о названиях: переменных, процедур и функций, модулей и контролов UserForm. Которым в процессе парсинга присваиваются новые зашифрованные названия. Так же для каждого элемента в таблице можно выбрать шифровать его или нет при обфускации.
В таблица STRING_OBF_VBATools, содержит все строковые переменные используемые в проекте VBA. В процессе обфускации эти данные будут помещены в отдельный модуль проекта VBA. А в модулях где они используются они будут заменены на присвоенный им шифр.

Обфускация кода:
Нужно перейти в сформированную ранее таблицу «DATA_OBF_VBATools«.
На панели инструментов, надстройки Macro Tools VBA, выбрать пункт обфускация кода.
В диалоговом окне выбрать файл который нужно зашифровать.
Дождаться окончания процесса обфускации кода.

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