Обфускация кода 1С (приведение в нечитаемый вид) для платформы 1С:Предприятие 8.3.7

19.05.19

Разработка - Защита ПО и шифрование

Обработка для обфуксации (приведения в нечитаемый вид) кода 1С, это может использоваться как один из способов защиты программных модулей.

Скачать файлы

Наименование Файл Версия Размер
Обфускация кода 1С (приведение в нечитаемый вид) для платформы 1С:Предприятие 8.3.7
.epf 12,79Kb
348
.epf 12,79Kb 348 Скачать

Подобная публикация была, но, как я понимаю, предложенная там обработка уже не поддерживается, и преобразовывать с помощью нее современный код без предварительной обработки невозможно, плюс добавлены некоторое дополнительные возможности.


Выполняются следующие действия:

  • Убираются Области;
  • Убираются все комментарии;
  • Имена не экспортных функций преобразуются в набор символов;
  • Имена переменных преобразуются в набор символов;
  • Убираются переносы строк;
  • Шифруются строковые константы в тексте в нечитаемый набор символов;
  • Вставляются ничего не значащие функции и выражения в код.

Добавлено и исправлено в версии 2:

  • В строковых константах кодируются числа;
  • Операторы препроцессора остаются одни на строке, после обработки кода;
  • Добавлена возможность вручную изменить какие идентификаторы заменять.

С помощью обработки можно изменять код общих модулей и модули объектов и менеджеров.

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

Требуется платформа не ниже версии 8.3.7, в конфигурации не должен быть установлен режим совместимости, поэтому для использования обработки лучше всего создать пустую конфигурацию и запустить её в толстом клиенте обычном приложении, в конфигураци необходимо включить возможность использования модальных окон.

Использование обработки:

  1. В верхнее текстовое поле вставляется исходных код модуля;
  2. Нажимается кнопка «Обработать»;
  3. Выводится список идентификаторов для замены. Те идентификаторы, у которых стоит флаг, считаются экспортными и заменяться не будут.  По умолчанию флаги установлены у экспортных функций и переменных, при необходимости их можно установить/снять вручную.
  4. В нижнем текстовом поле выводится обработанный текст.
 
 

Код обработки открыт.

Используются только средства встроенного языка 1С.

Обфускация защита кода конфигурации нечитаемый код программы

См. также

Запрет глобального поиска в конфигурации

Защита ПО и шифрование Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

09.02.2023    2224    9    aximo    4    

2

Как защитить pdf файл

Защита ПО и шифрование Абонемент ($m)

Для установки защиты pdf документа, полученного в 1С, написано консольное приложение на c#., использующее одну зависимость pdfSharp.dll. В результате работы приложения ограничены операции над документом и записаны метаданные. С помощью аргументов командной строки можно управлять работой приложения.

2 стартмани

30.01.2023    1657    1    olevlasam    3    

3

Универсальный синтаксический анализатор ASN.1 для декодирования .key, .cer, .der, .p7m, .p7s, .crt, .pem

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Универсальный синтаксический анализатор ASN.1, который может декодировать любую допустимую структуру ASN.1 DER или BER, независимо от того, закодирована ли она в кодировке Base64 (распознаются необработанные base64, защита PEM и begin-base64) или в шестнадцатеричном кодировании.

1 стартмани

04.12.2022    2984    12    keyn5565`    0    

13

Шифрование строки на основе мастер-пароля в 1С Предприятие 8.3.19

Защита ПО и шифрование Платформа 1С v8.3 Абонемент ($m)

Демонстрация возможностей шифрования строки на основе мастер-пароля в 1С Предприятие 8.3.19. AES без zip файла, RSA, PKDF2. (c использованием библиотеки С# через com).

2 стартмани

31.08.2022    3832    7    vit59    2    

6

Обфускатор байт-кода

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Обработка, позволяющая запутывать и шифровать байт-код, поставлять модули без исходных текстов и т.д. Протестировано на платформе 8.3.23.1739.

10 стартмани

16.06.2022    10299    79    ZhokhovM    12    

40

Как уберечь конструкторскую документацию от воровства конкурентами?

Защита ПО и шифрование Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

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

2 стартмани

09.03.2022    5654    3    ge_ni    9    

2

Защита конфигураций, обработок, расширений 1С онлайн, управление версиями

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Система построена на веб платформе, все управление происходит на сайте в личном кабинете пользователя.

1 стартмани

27.12.2021    4556    2    idm80    11    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
100. masterkio 334 28.04.18 08:07 Сейчас в теме
(99)
Цитата из описания
Требуется платформа не ниже версии 8.3.7, в конфигурации не должен быть установлен режим совместимости, поэтому для использования обработки лучше всего создать пустую конфигурацию и запустить её в толстом клиенте обычном приложении, в конфигураци необходимо включить возможность использования модальных окон.
101. germax 14.03.19 02:17 Сейчас в теме
Добрый день! Решили проблему с тройными кавычками?
102. masterkio 334 14.03.19 10:03 Сейчас в теме
(101) Активной такой проблемы нет, либо ее нет, либо я не знаю о ее существовании.
107. FractonKireyev 21.05.19 15:12 Сейчас в теме
(102) Проблема есть и ей уже много лет. Для воспроизведения проведите обфускацию текста:
а = """Текст в кавычках""";


и посмотрите на результат. Здесь тройная кавычка в начале и конце выражения. Результатом выполнения будет:

xa510eb9f01b9482a9dee10c0dee50a9a = ""sdferwrrwerwrwer("҆ҙҞҥҦ Җ ҞҔҖүҫҞҔҩ""") ;  функция sdferwrrwerwrwer(Знач jhkkljhasdflkhjshafdk)  skfjasdfu = Новый Структура("s48,s49,s50,s51,s52,s53,s54,s55,s56,s57,s97,s98,s99,s100,s101,s102,s103,s104,s105,s106,s107,s108,s109,s110,s111,s112,s113,s114,s115,s116,s117,s118,s119,s120,s121,s122,s65,s66,s67,s68,s69,s70,s71,s72,s73,s74,s75,s76,s77,s78,s79,s80,s81,s82,s83,s84,s85,s86,s87,s88,s89,s90,s1040,s1041,s1042,s1043,s1044,s1045,s1046,s1047,s1048,s1049,s1050,s1051,s1052,s1053,s1054,s1055,s1056,s1057,s1058,s1059,s1060,s1061,s1062,s1063,s1064,s1065,s1066,s1067,s1068,s1069,s1070,s1071,s1072,s1073,s1074,s1075,s1076,s1077,s1078,s1079,s1080,s1081,s1082,s1083,s1084,s1085,s1086,s1087,s1088,s1089,s1090,s1091,s1092,s1093,s1094,s1095,s1096,s1097,s1098,s1099,s1100,s1101,s1102,s1103,s10","ø","ù","ú","û","ü","ý","þ","ÿ","Ā","ā","ĩ","Ī","ī","Ĭ","ĭ","Į","į","İ","ı","IJ","ij","Ĵ","ĵ","Ķ","ķ","ĸ","Ĺ","ĺ","Ļ","ļ","Ľ","ľ","Ŀ","ŀ","Ł","ł","ĉ","Ċ","ċ","Č","č","Ď","ď","Đ","đ","Ē","ē","Ĕ","ĕ","Ė","ė","Ę","ę","Ě","ě","Ĝ","ĝ","Ğ","ğ","Ġ","ġ","Ģ","Ѵ","ѵ","Ѷ","ѷ","Ѹ","ѹ","Ѻ","ѻ","Ѽ","ѽ","Ѿ","ѿ","Ҁ","ҁ","҂","҃","҄","҅","҆","҇","҈","҉","Ҋ","ҋ","Ҍ","ҍ","Ҏ","ҏ","Ґ","ґ","Ғ","ғ","Ҕ","ҕ","Җ","җ","Ҙ","ҙ","Қ","қ","Ҝ","ҝ","Ҟ","ҟ","Ҡ","ҡ","Ң","ң","Ҥ","ҥ","Ҧ","ҧ","Ҩ","ҩ","Ҫ","ҫ","Ҭ","ҭ","Ү","ү","Ұ","ұ","Ҳ","ҳ","ٿ"); 
 Для каждого sdskfjasdfu из skfjasdfu Цикл jhkkljhasdflkhjshafdk = СтрЗаменить(jhkkljhasdflkhjshafdk,sdskfjasdfu.Значение,Символ(Число(СтрЗаменить(sdskfjasdfu.Ключ,"s","")))); КонецЦикла; jhkkljhasdflkhjshafdk = СтрЗаменить(jhkkljhasdflkhjshafdk,"|"," "); возврат jhkkljhasdflkhjshafdk; КонецФункции


Здесь сразу после знака равенства полная ерунда, которая не проходит синтакс-контроль.
103. kasper076 101 14.05.19 13:15 Сейчас в теме
Функция МояФункция(Знач Параметр1, Параметр2 = "")

заменяется на
Функция x551834fdad0f4d13b2701b2d8bb8ed30 ( знач xb98fd28e3fb84de69f984e1d1524912f , xc4d99f0502a74e80b1283ed32da623a5 = sdferwrrwerwrwer("") )

В итоге получаем ошибку
{Обработка.Обработка.МодульМенеджера(313,81)}: Ожидается константа типа Число, Строка, Дата или Булево
.
Нельзя параметры процедур и функций вида Параметр2 = "", т.е. имеющие значения по умолчанию заменять на xc4d99f0502a74e80b1283ed32da623a5 = sdferwrrwerwrwer("")
104. kasper076 101 14.05.19 17:39 Сейчас в теме
При попытке обфусцировать такой код уходит в себя
Функция Ф()
	//в = """
КонецФункции
105. masterkio 334 15.05.19 10:44 Сейчас в теме
(104)
Проверю по вашим замечаниям, отвечу позже.
106. masterkio 334 19.05.19 09:32 Сейчас в теме
(104) Исправил обработку по вашим замечаниям.
108. maksa2005 530 09.09.20 06:00 Сейчас в теме
Оставьте свое сообщение