новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Яндекс-директ

Запутывание кода 1С

  • Добавить свою разработку
 
Жуков Сергей
Связаться с автором
01.09.2019 10:10:43
0
Обработка запутывания (обфускации) исходного кода 1С с помощью регулярных выражений.
Скриншоты
Описание

За основу взята обработка [2 in 1] «Обфускация кода 1С» и «RegExp Тестер».

Запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ (Википедия).

 

Обработка позволяет проводить обфускацию кода 1С в несколько этапов:

  1. Предварительная обработка исходного кода:
    • Удаление комментариев;
    • Удаление областей и пустых строк;
    • Заполнение настроек. Настройки могут быть описаны в тексте исходного кода.
  2. Добавление условий триал периода. Для этого указывается дата триал периода - после которой обработка перестанет работать и сообщение триал периода которое будет выдаваться. При добавлении ограничений по триал периоду добавляются дополнительные процедуры, что может увеличить текст модуля.
  3. Заполнение дерева запутывания и формирования таблицы соответствий идентификаторов имен процедур, функций и переменных. В настройках можно указать список имен которые будут оставаться неизменными.

    Идентификаторы можно сформировать несколькими способами:

    • Уникальный идентификатор - Например: bf9ee4cee2a04be1b5d029f3456dc126;
    • Символ + счетчик -  Например: i35 (удобно для нахождения по таблице соответствия исходного имени идентификатора);
    • Количество символов - Например: iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.
  4. Получение обработанного кода 1С.

Все можно выполнить по нажатию одной кнопки.

 

 

Инструкции предпроцессора и комментарии с кавычками (для обхода этих ограничений и сделал возможность замены строк кода)

Для шифрования строк требуется capicom.dll, скачать можно с сайта Майкрософт.

RegExp должен быть доступен на сервере.

 

Для обхода ограничений по комментариям с кавычками можно использовать замену строк исходного кода на текст обрабатываемый корректно и возвращать его обратно при получении результата. Например заменить "https://infostart.ru/public/959902/" на "СайтПроекта", а потом вернуть обратно.

Обработать можно процедуры с директивами компиляции и без них.

 

В тексте исходного кода можно указать настройки запутывания кода 1С.

Настройки указываются в формате: //#

Список возможных настроек указанных в тексте модуля:
  • Код_ОчищатьНастройкиПередАнализом  - перед подготовкой кода установить настройки в значения по умолчанию;
  • ИмяИдентификатора_Вариант - вариант формирования идентификатора: Счетчик, УникальныйИдентификатор, СимволКоличество;
  • ИмяИдентификатора_Количество - настройка количество идентификатора (зависит от варианта идентификатора);
  • ИмяИдентификатора_Символ - настройка символ идентификатора (зависит от варианта идентификатора);
  • ТриалПериод_Дата - дата триал периода, после которой обработка перестанет работать;
  • ТриалПериод_Сообщение - сообщение выдаваемое пользователю при наступлении даты триал периода;
  • Код_УбратьПустыеСтроки - убрать пустые строки в коде;
  • Код_ВыполнитьЗаменуСтрок - вернусть строки после обработки кода;
  • Код_ДобавитьТриалПериод - добавить триал период при подготовке кода;
  • Результат_ОграничениеКолВаСимволов - Количество символов в строке результата;
  • Результат_ШифроватьСтроковыеДанные - шифровать строки в результате.
  • GlobalText - заменяемые строки при подготовке кода и возвращаемые в результате, в формате Например: //#GlobalText "https://infostart.ru/public/917931/"  заменить на "СайтПроекта" и при получении результата вернуть обрабтно;
  • GlobalVar или GlobalName - список имен переменных для которых должно остаться исходное имя идентификатора. Например: //#GlobalVar ПараметрыОтчета, ВариантАнализа, КомпоновщикНастроек

 

См. также:

Анализ прав доступа БСП 2+

Анализ ролей пользователей БСП

Журнал учета выдачи расчетных листов. ЗУП 3.1, ЗКГУ 3.1, KA 2, ERP 2, БП 3

Автоматическая рассылка расчетных листов. ЗУП 3.1, ЗКГУ 3.1, КА 2, ERP 2, БП3

Массовое создание справок 2-НДФЛ для сотрудников в разрезе ОКТМО/КПП. ЗУП 3.1, ЗКГУ 3.1, KA 2, ERP 2, БП 3

Ключевые слова:   Запутывание Обфускация Защита Секретность код 1С R
Файлы для скачивания
0
    ≡ к списку разработок
    Яндекс-директ