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

14.08.09

Разработка - Инструментарий разработчика

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

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Obfuscare_1C.zip
.1212492350 25,56Kb
3249 Скачать бесплатно
RegExp_Tester.zip
.1212492391 6,45Kb
1645 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

1. Обфускация кода 1С.
Что же такое обфускация? Как говорит Википедия:
Обфускация (от лат. obfuscare, «затенять, затемнять») — запутывание кода программы, то есть приведение исходного текста или исполняемого кода к виду, сохраняющему функциональность программы, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции. Применяется для защиты программ от декомпиляции и незаконного использования, нарушения авторских прав программистов.

Данная обработка является упрощенным обфускатором для встроенного языка 1С. В ней используются только некоторые способы лексического запутывания, такие как:
- замена имен переменных/процедур/функций/параметров на трудночитаемые;
- удаление форматирования текста;
- шифрование строковых переменных (может потребоваться capicom.dll).

Результат работы этой обработки можно увидеть на примере её исходного кода :)

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

Для работы может потребоваться capicom.dll, скачать можно с сайта Майкрософт: http://www.microsoft.com/downloads/details.aspx?familyid=ca930018-4a66-4da6-a6c5-206df13af316&displaylang=en

2. RegExp Тестер (бонус).
Обработка, предназначенная для программистов, использующих в своих программах регулярные выражения. Позволяет протестировать шаблоны выражений до непосредственного использования в коде. Так же можно использовать для поиска совпадений в произвольном тексте с использованием шаблонов.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)

Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.

50000 руб.

10.09.2026    13303    104    0    

78

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    83192    431    171    

361

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    285540    1606    423    

1220

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    16711    63    62    

73

Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    44141    122    54    

135

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    76782    147    41    

154

Разработка Инструментарий разработчика Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Pilot 1C превращает задачу, поставленную обычными словами, в техническое задание, код на встроенном языке и сценарии проверки. Прежде чем что-то предложить, он сверяется с устройством вашей конфигурации через граф Analyzer 1C: существует ли объект, из чего он состоит, кто его вызывает, какие роли дают права. Чего найти не удалось – спрашивает, а не выдумывает. Готовый код проходит более полутора сотен проверок по справочнику языка и стандартам разработки, который приезжает вместе с продуктом. Модель – ваша: любой сервер, совместимый с программным интерфейсом OpenAI, в том числе локальный. Правки в конфигурацию Pilot не вносит – их применяет разработчик.

18300 руб.

11.09.2026    3688    5    0    

10

Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    28707    103    46    

107
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. coder1cv8 3487 03.06.08 15:35 Сейчас в теме
Обфускатор 1С пока находиться на стадии тестирования, поэтому прошу сообщать об обнаруженных багах.
На коде 7.7 не тестировал (так как "вживую" семерку уже давно не видел), но вероятно будет работать и для него.
5. awa 2619 03.06.08 20:25 Сейчас в теме
(1) Насколько я понял, так как обработка исходного текста происходит в отрыве от контекста, то надо самому определять, какие имена процедур, функций и переменных можно заменять на белиберду, а какие - нет. Ведь нет никакой информации о том, какие переменные, процедуры и функции являются глобальными, какие переменные являются реквизитами объекта или формы и т.д.
Но, по крайней мере, можно определить некоторые имена переменных, процедур и функций, которые нельзя менять - те, которые объявлены со словом Экспорт. Сейчас обработки слова Экспорт нет совсем. Более того, если переменная объявлена с Экспорт, она обфусцируется вне зависимости от флажка в дереве лексического анализа.
Также нет обработки английских синонимов ключевых слов.
И еще есть траблы с регистром - если процедура объявлена как "Процедура", то в дереве лексического анализа она показывается как процедура, если же она объявлена как "процедура" или "ПроцедурА", например, то в дереве лексического анализа она становится вдруг функцией!
_user1619761; vladimir_zherdev; coder1cv8; +3 – Ответить
9. coder1cv8 3487 04.06.08 08:30 Сейчас в теме
(5) > "Насколько я понял, так как обработка исходного текста происходит в отрыве от контекста, то надо самому определять, какие имена процедур, функций и переменных можно заменять на белиберду, а какие - нет."

Именно так, если бы можно было получать текст модуля штатными средствами, то наверное имело бы смысл выбирать не просто код, а объект, например обработку или объект метаданных из конфигурации. А уже из него получать исходный код, с разбором на реквизиты формы, объекта и т.д. Да и я думаю, определить имена обработчиков событий, так же не возможно штатно. Поэтому здесь, ответственность за "проставление галочек" ложиться на пользователя.

По-поводу того что обфусцируется в независимости от флажка - это не правда ) Просто сейчас пока есть такой недостаток: если нажать "Выполнить", а потом поменять флажки без выполнения "Анализа" заново, то уже обфусцированные переменные остануться. Доработкой этого недостатка займусь в ближайшее время.

По-поводу траблов с регистром написания, странно, не должно быть... Проверю.

ЗЫ: Спасибо за грамотные замечания.
23. coder1cv8 3487 04.06.08 12:16 Сейчас в теме
Исправлена недоработка о которой я говорил в (9). Теперь можно перевыбирать заменяемые переменные без необходимости повторного анализа исходного кода.
11. coder1cv8 3487 04.06.08 09:28 Сейчас в теме
(5) > "Сейчас обработки слова Экспорт нет совсем."

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

> "Также нет обработки английских синонимов ключевых слов."

Принято.
65. SONICUS 04.01.09 22:38 Сейчас в теме
Попробовал открыть обработку вылезла ошибка:
{Форма.Форма(1)}: Метод объекта не обнаружен (SetSecret)
по причине:
{Форма.Форма(1)}: Метод объекта не обнаружен (SetSecret)

Чо с ней делать? Платформа 8.1.12.101
66. coder1cv8 3487 10.01.09 09:49 Сейчас в теме
(65) Как написано выше, в описании: при использовании шифрования строковых переменных может потребоваться capicom.dll.
Что делать? Варианта 2: либо не устанавливать галочку "шифровать строковые переменные" при обфускации, либо скачать и зарегистрировать эту dll-ку.
2. coder1cv8 3487 03.06.08 15:58 Сейчас в теме
Пока имеется только один баг: нельзя использовать ковычки в комментарии.
Кто подскажет мне шаблон регулярного выражения, способного отличить двойной слэш внутри строковой константы от комментария, буду очень признателен )
3. German 416 03.06.08 16:47 Сейчас в теме
Обфуксатор оч.даже + а вот Для отладки RegExp лучше использовать RegexBuddy
4. coder1cv8 3487 03.06.08 16:53 Сейчас в теме
(3) Не знал, поэтому и нарисовал по-быстрому свою обработку, гляну эту программу, спасибо... )
6. German 416 03.06.08 21:19 Сейчас в теме
Посмотри Ei // там с структуре модуля разбираются процедуры функции и переменные http://enterpriseintegrator.googlepages.com/StructureModule.jpg
10. Asdam 120 04.06.08 08:49 Сейчас в теме
(6) Сорри, что не в тему. German, подскажи плиз, а чем это ты смотришь структуру модуля?
22. German 416 04.06.08 11:56 Сейчас в теме
(10) в смысле чем? какой обработкой? - Ei.... На чем реализовано?- На RegExp.. немного не понял вопроса.
24. Asdam 120 04.06.08 12:38 Сейчас в теме
12. coder1cv8 3487 04.06.08 09:31 Сейчас в теме
(6) Герман, до твоих гениальных (в хорошем смысле этого слова :) ) творений мне долековато что и говорить... )
7. CheBurator 3235 03.06.08 22:06 Сейчас в теме
На 7.7 это - типичный кирпичиватель - я таким только одну свою разработку закрыл (строк на 40), требуется явное указание в области описания всех используемых переменных, + не забывать про имена функция в реквизитах диалогов.. мое резюме - вполне нормальная защита...
13. coder1cv8 3487 04.06.08 09:34 Сейчас в теме
(7) Слышал про "закирпичиватель" на 7.7, но не разу не видел его в живую... Наверно потому, что у меня ещё не возникало необходимости таким образом скрывать свои алгоритмы, я ещё не написал свою "нетленку" ))
8. tormozit 7393 04.06.08 08:22 Сейчас в теме
Гиблая затея, хотя и смелая =)
14. coder1cv8 3487 04.06.08 09:35 Сейчас в теме
15. coder1cv8 3487 04.06.08 09:48 Сейчас в теме
Исправлен баг с регистром написания. Например, "ПроЦедурА" обрабатывается корректно.
16. azernot 781 04.06.08 10:41 Сейчас в теме
А я вот не считаю такую защиту сколь либо действенной.
Сам таким образом ковырял закирпиченный Rocket Launcher, вполне успешно (только т-с-с-с!)...
Будем ждать КЗК 3.0 для 8-ки...
18. coder1cv8 3487 04.06.08 11:00 Сейчас в теме
(16) Согласен. Данная обработка написана мной чисто из интереса, без какой-либо практической цели.
Я считаю, что будущее защиты исходного кода для восьмерки за обфускаторами так называемого "байт-кода". Более тего, я тестировал бэта-версию такого обфускатора и могу сказать, что существующие на данный момент декомпиляторы просто вываливаются с ошибкой при попытке декомпеляции защищенного таким образом модуля (только не просите у меня эту обработку, я не автор и распространением не занимаюсь).
19. MMF 677 04.06.08 11:06 Сейчас в теме
(18) обработку не надо, дай исходный байт-код + перекомпиллированный
20. coder1cv8 3487 04.06.08 11:10 Сейчас в теме
(19) MMF, я даже не сомневаюсь, что ты разберешь ) Но скорее всего, прийдется поковыряться ручками, как с любым хорошо запутанным кодом.
17. coder1cv8 3487 04.06.08 10:52 Сейчас в теме
Добавлена обработка английских синонимов ключевых слов.
21. German 416 04.06.08 11:54 Сейчас в теме
ручками .. это не для нас...
25. coder1cv8 3487 04.06.08 13:01 Сейчас в теме
Добавлена обработка ключевого слова Экспорт.
26. shachneff 04.06.08 17:09 Сейчас в теме
а можно еще случайным образом использовать смесь рус и анг операторов?
27. vip 04.06.08 17:12 Сейчас в теме
(26) Никак нетленку сваял, Алеша?
28. coder1cv8 3487 04.06.08 17:29 Сейчас в теме
(26) Можно. Ещё можно делать ложные переходы (оператором goto), разбавлять код "мусором", заменять константы формулами и т.д. Моя обработка всего лишь пример. По теории запутывающих преобразований я бы советовал читать это: http://www.citforum.ru/security/articles/analysis/ Очень позновательно! )
voneska7; Lemoi; Sol; +3 – Ответить
29. пользователь 04.06.08 17:37
Сообщение было скрыто модератором.
...
30. coder1cv8 3487 04.06.08 17:54 Сейчас в теме
(29) Без всякого смысла ) Просто "RegExp Тестер" не заслуживает вобщем-то особого внимания, но тем не менее очень помогла мне разобраться с регулярными выражениями и я решил её добавить в качестве бонуса )
31. Abadonna 3979 04.06.08 17:54 Сейчас в теме
(29)А почему бы не сделать две разработки???
Просто автор, как я понимаю, не гонится за дешевой популярностью, плодя количество разработок с целью получения поболее плюсиков. За это ему - ПЛЮС
vladimir_zherdev; +1 – Ответить
32. coder1cv8 3487 04.06.08 17:57 Сейчас в теме
(31) И это тоже ) Ещё не люблю "попрошайничество плюсов", если об этом зашел разговор...
_user1619761; jacks000n; vladimir_zherdev; maXon777; Abadonna; +5 – Ответить
33. Abadonna 3979 04.06.08 18:00 Сейчас в теме
(32) Блин, придется еще один поставить - заслужил :))))))))))))))
34. coder1cv8 3487 04.06.08 18:52 Сейчас в теме
35. awa 2619 04.06.08 20:23 Сейчас в теме
Ключевое слово Экспорт уже распознается, но по-прежнему у переменных, объявленных с Экспорт по-умолчанию стоит галка в дереве лексического запутывания. Все-таки надо бы по-умолчанию галку снимать. И еще неплохо бы было как-то выделять в дереве процедуры и переменные с Экспорт, как предупреждение, что не стоит тут ставить галку (или вообще запретить ее ставить).
Еще есть глюк с совпадающими именами переменных и функций. Вот такой код обфусцируется неправильно:
Код
Сообщить = "Тест";
Сообщить(Сообщить);
Показать полностью

При обфускации переменной Сообщить, неправомерно обфусцируется системная функция Сообщить.
coder1cv8; +1 – Ответить
36. coder1cv8 3487 05.06.08 07:12 Сейчас в теме
38. coder1cv8 3487 05.06.08 13:07 Сейчас в теме
Файл обновлен.
Исправлена ошибка о которой говорится в (35). Доработан интерфейс.
Итак совместными усилиями с awa обработка начинает приобретать законченный вид. )

(37) Эта идея стара как мир )
39. awa 2619 05.06.08 13:58 Сейчас в теме
(38) Не смотрел, но вот такой вопрос: не будет ли проблем с проблем с инструкциями препроцессора? Ведь инструкции препроцессора должны обязательно содержаться в отдельной строке, засовывать их в одну строку с простым кодом нельзя!
40. coder1cv8 3487 05.06.08 15:04 Сейчас в теме
(39) Точно! ) Инструкции препроцессора пока не поддерживаются...
37. aim 05.06.08 11:34 Сейчас в теме
Спасибо за идею интеграции RegExp в 1С. Как раз хотел этим заняться.
41. Трактор 1297 08.06.08 23:28 Сейчас в теме
Прикольно. Как-то я делал такое вручную. Но это было давно. С тех у меня не было необходимости шифровать свои разработки.
42. coder1cv8 3487 09.06.08 07:58 Сейчас в теме
(41) Аналогично. ) Эта разработка скорее "для удовольствия". Было интересно сделать парсинг кода самому.
43. German 416 08.07.08 10:36 Сейчас в теме
Ну что обфуксатор заглох .. хотя ОЧ. необходимая вешь.
предлагаю следующее развитие событий.
1. Вместо Уникальных идентификаторов использовать _______________________________ ну и с каким нибуть символом на конце или в начале .. а то длинны может не хватить
2. Замена множества процедур или функций на одну, вставляя определенный параметр... в дальнейшем условие по данному параметру будет определять границы алгоритма входящего в функцию.
3. Убрать все строки и другие значения в BASE64 ... в дальнейшем можно будет написать ВК, которая будет шифровать строки нормально (одну и туже строку,значение с разным результатом, что бы исключить возможность поиска по модулю).
4. Также можно применить запутывание процедур и функций.. как в статье описано .. но это на сладкое
5. Ну и после этого на все это ДОБРО можно смело ставить пароль, декомпилятор улетит
KSy; fedor40; coder1cv8; +3 – Ответить
45. German 416 08.07.08 10:39 Сейчас в теме
(43) + ну и циклы переделать в GoTO
46. coder1cv8 3487 08.07.08 11:25 Сейчас в теме
(43) Да, сейчас немножко не хватает времени на развлечения, занят серьезными делами )
Далее по пунктам:
1. Тоже думал о этом, специально оставил возможность редактировать имя НА которое заменяется. Можно дорисовать кнопочку "Заполнить" в "Дереве лексического запутывания", которая будет заполнять колонку "Идентификатор после" по любому понравившемуся алгоритму... )
2. Не хочется возиться с изменением структуры самого кода...
3. И об этом тоже думал, вот идея шифровать строковые данные мне очень нравиться! Обязательно займусь этим как только будет время...

ЗЫ: Хотя я здесь уже говорил, что всё это баловство, нужно обфусцировать непосредственно байт-код! )
47. coder1cv8 3487 08.07.08 11:28 Сейчас в теме
+(46) Как всегда спасибо за грамотные замечания!
44. German 416 08.07.08 10:38 Сейчас в теме
Хотя прикольно.. Сами написали декомпилятор, теперь пишут обфуксатор :). потом будет декомпилятор обфуксатора
48. fedor40 708 11.11.08 17:44 Сейчас в теме
Хорошая наверно вешь. Я уже + поставил. Вот только не работает !

{ВнешняяОбработка.АРМзакупок(1070,6250)}: Ожидается ключевое слово 'Тогда' ('Then').
49. coder1cv8 3487 11.11.08 19:07 Сейчас в теме
(48) Читай внимательно комменты, в частности комментарий номер (2) :)
Если не поможет, то прошу в личку кусочек кода который не корректно обфусцируется, будем разбираться...
50. fedor40 708 18.11.08 23:37 Сейчас в теме
А если просто добавить множество переменных ? C названием от 10 до 100 символов ? И разными типами...
51. coder1cv8 3487 19.11.08 09:35 Сейчас в теме
(50) Можно... Можно ещё переходами и просто "левым" кодом разбавлять...
Но пока я пытаюсь сделать шифрование строк, в свободное время...
ЗЫ: Помогло-то (49)?... )
52. coder1cv8 3487 20.11.08 10:44 Сейчас в теме
Внимание! Наконец реализованно шифрование строковых данных, содержащихся в коде! )
Шифрование довольно простенькое, с открытым ключем даже, но тем не менее, я думаю, значительно усложнит чтение кода... Плюс, не требуется никаких dll - всё штатными средствами Windows.
Светлый ум; VsHome; adhocprog; Maks_Alexey; bugmenot; Evg-Lylyk; awa; JohnyDeath; luns; German; +10 – Ответить
55. awa 2619 20.11.08 15:45 Сейчас в теме
(52) В шифрованных строках можно смело убирать переносы строк, для дешифровки это не критично, зато модуль будет опять, как и раньше состоять из одной единственной длиннннннннющей строки! ))
56. coder1cv8 3487 20.11.08 16:10 Сейчас в теме
(55) Есть тут не большая загвоздка, не пойму чем строки переносятся?... Вот так не катит:
Код
ЭлементыФормы.Результат.УстановитьТекст(СтрЗаменить(Текст,Символы.ПС,""));
Показать полностью
57. coder1cv8 3487 20.11.08 16:27 Сейчас в теме
+(56) Всё! Разобрался! ) Теперь как раньше, весь код в одну строку.
Файл обновлен.
58. awa 2619 20.11.08 16:28 Сейчас в теме
(56) Ну обычно перенос бывает либо LF, либо CR+LF
попробуй
Код
ЭлементыФормы.Результат.УстановитьТекст(СтрЗаменить(Текст, Символы.ВК + Символы.ПС, ""));
ЭлементыФормы.Результат.УстановитьТекст(СтрЗаменить(Текст, Символы.ПС, ""));
Показать полностью

Вторая строка - контрольная))
59. awa 2619 20.11.08 16:30 Сейчас в теме
53. ValeriVP 1376 20.11.08 14:57 Сейчас в теме
ИМХО баловство все это.
Необходимо для начала ответить на вопрос, что и зачем вы хотите таким образом защитить?
если какую-нить хрень за 50р, то наверное оно того стоит.
если же что-то серьезное - то надо понимать, от чего вы защищаете свое творение. и только после получения ответов на эти вопросы стоит разрабатывать систему защиты конфигурации.
54. coder1cv8 3487 20.11.08 15:42 Сейчас в теме
(53) Ты совершенно прав! 80% из того что я здесь выкладываю - это баловство, сделанное исключительно из интереса и для саморазвития... :)
60. fedor40 708 20.11.08 22:48 Сейчас в теме
Вот думаю. Если выпускать, доработку за 8 000 рублей и потом может еще 2000 в год брать за тех поддержку, то какая защита необходима ?
61. fedor40 708 20.11.08 23:40 Сейчас в теме
Что думаете о ключах rutoken, guardant, senselock ?
Самый дешевы Guardant Stealth III (2kb) можно взять за 475р. Как думаете он защитит ?
http://www.guardant.ru/products/guardant-stealth/
62. coder1cv8 3487 21.11.08 08:02 Сейчас в теме
(61) Я думаю, моя обфускация в совокупности с обфускацией "байт-кода" вполне достаточны. Лично я, ни за какие шиши, в таком коде копаться не буду! ) По-поводу ключей, есть тут у нас специалист... )
63. fedor40 708 21.11.08 08:41 Сейчас в теме
Что значит: "По-поводу ключей, есть тут у нас специалист... ) " ...
67. SONICUS 10.01.09 15:49 Сейчас в теме
Не знаю как на счет первого варианта(обработка не запускалась изначально, а значит и галочку снимать не от куда было), но второй вариант прошел, после того как я скачал с сайта майкрософт пакет CAPICOM-KB931906-v2102. Так что в моем случае, чтобы воспользоваться этой обработкой наличие capicom.dll было обязательным условием.
coder1cv8; +1 – Ответить
68. coder1cv8 3487 10.01.09 20:14 Сейчас в теме
(67) Хм... Да, прошу прощения, я забыл что выложенная здесь обработка уже обфусцированна! :) И конечно же, требует capicom.dll, хотя в моей (к примеру) винде такая длл-ка уже была установлена по-умолчанию. Спасибо за ценное замечание!
69. Abadonna 3979 10.01.09 20:29 Сейчас в теме
>хотя в моей (к примеру) винде такая длл-ка уже была установлена по-умолчанию
Знаешь в чем прикол: сегодня переставил систему - фигвам, нема её :)))
Это кто-то видать подставляет при инсталляции... какая-то прога
70. Abadonna 3979 10.01.09 20:30 Сейчас в теме
+(69) А ведь была, гадина :))))))))))
Так что - не по умолчанию
71. Душелов 4027 10.01.09 20:45 Сейчас в теме
Прелагаю коммерческий проект - обфускация конфигурации :)
Тестерам - бесплатно! ;)
72. smirnov.a 621 15.05.09 13:13 Сейчас в теме
Обфускицинул код в 1500 строк, при получении результата все записывается в одну строку, скопировать полностью из текстового поля её нельзя, при нажатии кнопки сохранить 1с вылетает. Платформа 1с 8.1 последняя. Можно ли записывать не в одну строку, а в несколько, либо ввести параметр максимальное количество знаков в строке.
73. coder1cv8 3487 15.05.09 14:29 Сейчас в теме
(72) Можно. Будет параметр для разбивания по строкам, в следующем релизе.
74. smirnov.a 621 15.05.09 17:32 Сейчас в теме
(73) Отлично, а когда релиз?
75. coder1cv8 3487 15.05.09 17:55 Сейчас в теме
(74) Скоро ) С работой разберусь немного...
76. YRAtomic 99 27.05.09 11:38 Сейчас в теме
(75) Заждались уже :))
77. coder1cv8 3487 04.06.09 16:48 Сейчас в теме
(74) (76)
Добавил разбиение результата на строки.
Довольно приметивное, перенос осуществляется только по ";" и не разбиваются строковые константы, но я думаю этого будет достаточно?...
78. YRAtomic 99 04.06.09 20:48 Сейчас в теме
80. Plu 22.07.09 20:25 Сейчас в теме
все работает, если не ставлю галку на процедурах и функциях.
81. coder1cv8 3487 23.07.09 09:52 Сейчас в теме
(80) Дык, галку на процедурах/функциях надо с умом ставить, а не подряд )))
82. AlecoZAV 13 23.07.09 11:17 Сейчас в теме
в итоге только те названия функций и процедур, которые не привязаны к событию, успешно кодируются.
83. coder1cv8 3487 23.07.09 17:48 Сейчас в теме
(82) Ну естественно! А как же иначе? ) События и экспортные процедуры/функции обфусцировать можно только с аккуратностью, заменяя идентификаторы там где надо уже ручками...
84. ROM_1C 692 25.10.09 22:03 Сейчас в теме
Все это очень красиво и наглядно.. спотреть на "переработанный" код..
А можно все это чудо вернуть при необходимости вернуть к людському виду?
И у меня при открытии обработки вылетает ошибка:
{Форма.Форма(128)}: Помилка при виклику конструктора (COMОбъект): Недопустимая строка с указанием класса
через:
{Форма.Форма(128)}: Помилка при виклику конструктора (COMОбъект): Недопустимая строка с указанием класса

через:
Недопустимая строка с указанием класса

Как ее исправить?
85. Душелов 4027 25.10.09 22:13 Сейчас в теме
(84) Не обфусцировать текстовые параметры или создание ком-объектов.
87. coder1cv8 3487 26.10.09 07:09 Сейчас в теме
(85) Душелов +1 )
(84) Это значит что не зарегистрирована capicom.dll. Сам обфускатор, выложенный здесь, требует для своей работы эту библиотеку. А в обфусцируемых обработках, можно отключить шифрование строк и значит, использование capicom.dll.
(86) К относительно людскому виду вернуть можно, форматирование можно поправить... Имена переменных/функций уже конечно не откуда будет взять... И если строки зашифрованы были, то тоже ничего не поделать...
86. ROM_1C 692 25.10.09 22:21 Сейчас в теме
с ошибкой разобрался... а вот как по первому вопросу декодирования???
88. ROM_1C 692 26.10.09 23:02 Сейчас в теме
Уважаемый, coder1cv8, хочу спросить сам алгоритм по которму можно вытянуть переменные и функции (процедуры) так как у вас в обработки...
Зарье спасибо.
89. coder1cv8 3487 27.10.09 08:29 Сейчас в теме
90. Душелов 4027 27.10.09 08:41 Сейчас в теме
(89) Когда обфускация конфигурации будет? ;)
91. ROM_1C 692 27.10.09 10:26 Сейчас в теме
(90) Что вы подрозумеваете под "Обфускацией кофигурации"? Переработка всего кода базы? Смотря на данную обработку думаю, что не очень сложно сделать....
92. coder1cv8 3487 27.10.09 13:41 Сейчас в теме
(90) ну это уже не моими силами, я думаю )
93. spy-83 199 15.02.10 12:25 Сейчас в теме
такую ощибку выдает:
{Форма.Форма(115)}: Индекс находится за границами массива
e83070454784f62fd6ef415c79=0;Пока b28c72bab1402aa1e527b7cdffe7a2.Count>0 Цикл a5e643824e34b44b7d59747c85b34af=df8a421a994962b5a674ed00ef23­de.Replace(a5e643824e34b44b7d59747c85b34af,ad396ecec0804589aab1acbdecdaadcc[e83070454784f62fd6ef415c79]);
94. coder1cv8 3487 16.02.10 09:13 Сейчас в теме
(93) Может в коде ошибка? )
95. spy-83 199 16.02.10 19:26 Сейчас в теме
(94) Нет
на нескольких обработках проверял, везде именно эта ошибка.
во всех кодах есть тексты запросов, может изза них?
96. coder1cv8 3487 17.02.10 07:58 Сейчас в теме
(95) А! Так это моя обработка ошибку выдает, а не обфусцированный код? )
Мне нужен какой-нибудь небольшой кусочек твоего кода, который будет выдавать такую ошибку при обфускации, что бы смоделировать ситуацию.
97. spy-83 199 17.02.10 15:38 Сейчас в теме
(96) http://infostart.ru/public/65008/
вот на модуле этой обработки проверь. выдает ошибку
98. spy-83 199 01.03.10 14:16 Сейчас в теме
(96) вот код который выдает ошибку


Функция кк()

п = 1+3;
// Разделитель = "####";

//Возврат Истина;

КонецФункции
100. coder1cv8 3487 01.03.10 17:37 Сейчас в теме
(98)(99) Ну я вот для кого описание пишу? )
Читай внимательно: "Примечание: Имеется один, но очень не приятный баг, в обфусцируемом коде не должны использоваться комментарии, содержащие внутри себя кавычки"
113. n_sashka@mail.ru 09.06.11 16:11 Сейчас в теме
В исходный код ввел строку:

МассивСобытий.Добавить("_$Data$_.New");

убрал галку "шифровать"
строка обфусцируется в

МассивСобытий.Добавить(############);

при нажатии "Выполнить" появляется ошибка описанная в сообщении (93)
99. spy-83 199 01.03.10 14:22 Сейчас в теме
п = 1+3;
// Разделитель = "!!!!";

//Возврат Истина;

КонецФункции

а вот так вот не выдает
101. IamAlexy 345 05.05.10 07:48 Сейчас в теме
Добрый день

А правильно ли я понял что обфускатор конструкции

&НаСервере
&НаКлиенте

не умеет обрабатывать, весь список этих конструкций идет вконце обрабатываемого модуля и в результате обработанный модуль получается нерабочим?
102. coder1cv8 3487 05.05.10 16:17 Сейчас в теме
(101) Правильно! В описании об этом сказано.
103. provadyuga 112 10.08.10 19:26 Сейчас в теме
Интересно было бы услышать мнения на такой вопрос: Является ли исходный код до обфускации и после нее идентичным с точки зрения авторского права?
104. ITAlex 27.08.10 19:43 Сейчас в теме
Приветствую, оч. интересная обработка!
Но есть видимо баг
было:
Функция ф()
Попытка
ц = 1;
Исключение
Возврат 0;
КонецПопытки;
Возврат ц;
КонецФункции

стало (форматирование подправил, чтобы было удобно сравнить):

Функция bdd2241624e11adf6f6bad0f9fad7()
Попытка
ц = 1;
Исключение
Возврат 0;
КонецПопытки;
Возврат f52ff21ce5a454fa26de4f3bce81cb6;
КонецФункции

т.е. имеем ошибку что переменная f52ff21ce5a454fa26de4f3bce81cb6 не определена
хотя, в дереве была строка с ц = f52ff21ce5a454fa26de4f3bce81cb6

:(
106. coder1cv8 3487 01.09.10 10:37 Сейчас в теме
(104) Баг, конечно, может и есть, но заключается он не в этом! Проверил Ваш код, вставляю в обфускатор:
Функция ф()
Попытка
ц = 1;
Исключение
Возврат 0;
КонецПопытки;
Возврат ц;
КонецФункции

Получаю:
Функция d02711be5c48b594c46f51f3761b6f() 
Попытка 
e3832e9546434439bb8413e0785260d1 = 1;
Исключение 
Возврат 0;
КонецПопытки;
Возврат e3832e9546434439bb8413e0785260d1;
КонецФункции

То есть обрабатывает корректно.

Возможно, у Вас ковычки в комментах внутри обработки (я так и не научил обфускатор их переваривать)? Сколько пишу об этом баге и в шапке и здесь - все-равно на эти грабли кто-то опять наступает...
105. ITAlex 30.08.10 11:11 Сейчас в теме
нашел... !)
вынес инициализацию переменной ц из Попытка Исключение, и все стало ок.
Функция ф()
ц = 0;
Попытка
ц = 1;
Исключение
Возврат 0;
КонецПопытки;
Возврат ц;
КонецФункции
107. ITAlex 03.09.10 09:40 Сейчас в теме
:oops: действительно, сегодня повторил, все ок!
хотя комментариев не было совсем...
видимо был тяжелый день !)
пасиб за ответ!
108. Vortexs 25.09.10 13:14 Сейчас в теме
Все таки баги есть у меня тоже кодирует не все переменные и коменты тут ни причем, я их вообще удаляю.
И как результат прога не работает

Кстати непонятно почему такая проблема с кавычками в комментариях, ониже удаляются на раз
109. lame 78 17.03.11 07:31 Сейчас в теме
файловая
1С:Предприятие 8.1 (8.1.15.14)
"Управление торговлей", редакция 10.3 (10.3.12.3)

при запуске обфускатора выдает такое сообщение:

{Форма.Форма(128)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
по причине:
{Форма.Форма(128)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса

по причине:
Недопустимая строка с указанием класса


{Форма.Форма(128)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
КонецЕсли;КонецЦикла;КонецЦикла;КонецПроцедуры Функция b1812fa8ee91443bae6f870ccfc0be4f(ec5c9f684fb406b9fdc551d66b9222d) ab03457024f7e8f17d5dfac414c60=Новый COMОбъект("CAPICOM.EncryptedData");
110. lame 78 17.03.11 07:46 Сейчас в теме
проехали
надо было установить и зарег в системе библиотеку
capicom.dll
работает
111. VSvintsov 2 18.03.11 09:43 Сейчас в теме
Хорошая работа!
Пример того, как талантливый человек не прячет свои способности , а наоборот - предоставляет их в распоряжение компьютерного сообщества.

мне пригодилось. Спасибо

P.S. только видимо зашифрованные строки будут давать ошибку в случае если код выполняется на сервере приложения под Linux ?
112. LivingStar 26 27.04.11 09:19 Сейчас в теме
как воспользоваться вашей обработкой под 8.2?
тупо выдает три ошибки, даже если не ставить на второй вкладке ни одной галки.
большой код...
114. necros 18.08.11 16:25 Сейчас в теме
Еще нашел ошибку или это просто не учтено было. Обфускатор не понимает что такое массив и создает переменную при каждом обращении к элементу массива
Массив[1]=первая переменная, Массив[4]=вторая переменная, если пропара в коде и одна и также переменная написана с разным регистром (Тов) и (тов) тоже получается две переменные, а так классно но только возможно использовать на коде в котором не используются реквизиты формы или можно но запаришься галочки снимать и устанавливать.
115. necros 19.08.11 12:10 Сейчас в теме
массив не понял в следующем условии

Если РазобраннаяСтрока[11] = СокрЛП(чемутотам) Тогда
есть=истина;
КонецЕсли;
116. OLEG4120 165 05.10.11 09:10 Сейчас в теме
Хочу рассказать о баге. Неоднократно в список переменных функции попадает число.

Вот, например, на таком участке кода:
...
Если СчетчикЦикла / 2 = Цел(СчетчикЦикла / 2) Тогда
    Продолжить;
КонецЕсли;
...


Сначала обрабатывается переменная "СчетчикЦикла", а затем "2"
117. MaksIvanov 6 03.11.11 09:38 Сейчас в теме
И еще есть траблы с регистром - если процедура объявлена как "Процедура", то в дереве лексического анализа она показывается как процедура, если же она объявлена как "процедура" или "ПроцедурА", например, то в дереве лексического анализа она становится вдруг функцией!
119. CaSH_2004 376 20.11.11 12:24 Сейчас в теме
(117) :) А это наверно сделано так:
Если Строка = "Процедура" Тогда
ПроцФункц = "Процедура"
Иначе
ПроцФункц = "Функция"
КонецЕсли;
118. CaSH_2004 376 19.11.11 23:58 Сейчас в теме
Многоуважаемый coder1cv8, будь так добр - поправь ошибочку в своей обработке или укажи в описании, она не хавает такие вещи как математический оператор "%" (остаток от деления), редкая штука конечно, но у меня встретилась. В итоге пока его не убрал писала:
Переменная не определена (b194fd3ce1d486fa0621efededc70c9)
120. pizhenkov 217 24.01.12 00:03 Сейчас в теме
Спасибо автору! Работает. Пришлось правда кавычки убирать везде, но дело поправимое.
добавляешь переменную Кавычка = Символ("34");
а потом хоть сколько кавычек себе рисуешь :-)))

PS. Так принципе с любым символом можно поступить.
121. Kaperang 99 07.03.12 14:26 Сейчас в теме
Побаловался с обработкой. Вот и мои пять копеек:

Не отрабатывает конструкции в запросах типа "////////////////////////////////////////". Такие конструкции отделяют различные запросы в пакетном запросе. При выполнении обфусцированного кода вываливается с ошибкой. Если предварительно удалить из текста запроса эти конструкции - то все отрабатывается нормально.

Не отрабатывает конструкции типа Объект[Реквизит] - где Реквизит - строка, содержащая в себе имя соответстующего реквизита объекта. Обфускатор вместо того чтобы разделить на две переменных: "Объект" и "Реквизит",
считает их одной переменной "Объект[Реквизит]"

В целом, обработка весьма хороша.
122. MRAK 730 10.03.12 09:34 Сейчас в теме
В 8.2 не запускается. Пишет:

{Форма.Форма.Форма(128)}: Ошибка при вызове конструктора (COMОбъект)
по причине:
{Форма.Форма.Форма(128)}: Ошибка при вызове конструктора (COMОбъект)

по причине:
Недопустимая строка с указанием класса
123. пользователь 10.03.12 10:40
Сообщение было скрыто модератором.
...
124. nick_e 2 03.05.12 08:36 Сейчас в теме
Лучше напиши декомпилятор для 1с 8х который будет декомпилировать обфускацированный код. ;)
125. Lubocka 36 28.07.12 11:53 Сейчас в теме
"Шифровать строковые данные (может потребоваться capicom.dll)"
Это как понять?
Я у себя флажек поставила, обработка проработала.
Теперь когда покупатель везьмет мою обработанную "обфускатором" обработку или отчет, он сможет его запустить , если у него на компьютере не будет данной библиотеки?
157. Energizer2088 13.12.17 00:48 Сейчас в теме
(125) как показывает практика если нет данной библиотеки то не сможет.
126. Артано 803 17.09.12 08:03 Сейчас в теме
Спасибо, интересная обработка. Есть вопрос: не планируете ли использование криптографических классов .NET Framework X509 для шифрования? Дело в том, что CapiCom снята с поддержки и есть сомнения, в том, что она будет стабильно работать на современных ОС типа семерки и ныне уже предрелизной восьмерки.
127. Silenser 621 21.10.12 19:23 Сейчас в теме
(126) Артано, На Win 7 x64 вполне работает.
128. Silenser 621 30.10.12 17:03 Сейчас в теме
Нашел небольшую ошибочку - если сразу за переменной следует не пробел, а символ табуляции, то парсер такую переменную не распознает. Как обойти - думаю понятно :)
142. pervakov.a 13 28.08.14 11:09 Сейчас в теме
Не работает на 8.3. При открытии обработки:

Ошибка инициализации модуля: Форма.Форма.Форма
по причине:
{Форма.Форма.Форма(128)}: Ошибка при вызове конструктора (COMОбъект)

по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
143. Патриот 471 29.08.14 13:13 Сейчас в теме
(142) pervakov.a, последнее обновление статьи - 14.08.09 00:00 я бы очень удивился, если бы обработка на 8.3 заработала =)
145. ekaruk 5070 23.11.14 12:30 Сейчас в теме
(143) Патриот, как ни странно, она вполне работатет под 8.3.
Только компоненту пришлось зарегистрировать.
159. AlexeyX 07.02.19 12:10 Сейчас в теме
"{ВнешняяОбработка.ОбфускацияКода1С.Форма.Форма.Форма(128)}: Ошибка при вызове конструктора (COMОбъект)
КонецЕсли;КонецЦикла;КонецЦикла;КонецПроцедуры Функция b1812fa8ee91443bae6f870ccfc0be4f(ec5c9f684fb406b9fdc551d66b9222d) ab03457024f7e8f17d5dfac414c60=Новый COMОбъект("CAPICOM.EncryptedData");
по причине:
-2147221164(0x80040154): Класс не зарегистрирован"

Windows 7 1c83
По ссылке установил Security Update + сделал "C:\Windows\System32\regsvr32.exe capicom.dll"
Чего ей не хватает?
kasper076; +1 – Ответить
129. gosizo 38 20.12.12 10:37 Сейчас в теме
спасибо автору, потестим
130. MaxS 3151 17.01.13 10:42 Сейчас в теме
Дальнейшее развитие обработки будет? ;)

Если СчетчикПрочитанныхСтрок % 500 = 0 Тогда

в этом коде 500 ошибочно меняется на переменную
131. Sasha255n 03.03.13 19:21 Сейчас в теме
Вещь необходимая правда пока сам не пользовался хотя необходимость в это постоянно возникает. Хочу попробовать ее на нескольких обработках. Кстати вопрос по ходу появился такой может немого наивный а может кто при желание провести обратную процедуру. Т.Е. прривдение текста к первоначальному виду?
132. Sasha255n 03.03.13 19:21 Сейчас в теме
133. Sasha255n 03.03.13 19:22 Сейчас в теме
(132) Прошу прощения хотел написать автору однозначно плюс
134. an.azarova 4 31.10.13 14:13 Сейчас в теме
А обратно к исходному?
135. Alexander.Shvets 225 21.11.13 21:11 Сейчас в теме
(134) cerena, Одно из основных принципов обфускации:

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

Если есть обратный алгоритм - зачем тогда обфускация?
136. serko8547 114 24.11.13 16:13 Сейчас в теме
1.
После обфуксации вылазят ошибки
2. весь код идет одной строчкой (я нашел где и исправил, но... это не то)

3. КОД ЛЕГКО ВОССТАНАВЛИВАЕТСЯ.

ищу дальше... пока рулит только Нетленка.
137. kot_dn 25.11.13 22:58 Сейчас в теме
в принципе неплохая затея
138. ceramica 13 26.01.14 03:15 Сейчас в теме
Скачал, нифига не работает (( печаль
maksa2005; +1 – Ответить
139. vat-74 167 28.02.14 10:26 Сейчас в теме
(138) Че не работает-то?

необъяснимо, но рабочий код после обработки действительно перестает работать; в запросе почему-то становится необходим менеджер временных таблиц и некоторые ошибки при сравнении типов.

Не плохо бы делать "префуксацию", т.е. код шифровать, но структуру не изменять, дабы отладить ошибки шифрования, а затем уже отлаженный код переносить в одну строку.
140. softgarant 62 04.04.14 13:57 Сейчас в теме
Подскажите, а проект разрабатываться дальше планируется? Импенно такой метод идеален для фильтрации копирайтеров.
141. Bond 29.06.14 00:43 Сейчас в теме
тоже интересует разработка. Cкачал с сайта автора, установил библиотеку, но при попытке зашифровать текст модуля формы вываливает ошибки. Приблизительно понимаю, что дело в названиях реквизитов формы и т.п. Но "нетленка" вроде все переваривает на ура... Может кто то ткнет в какую то оффлайн реализацию "нетленки", пусть даже платную.
144. shoy 19 31.10.14 16:48 Сейчас в теме
(141) Bond, Присоединяюсь и я, и думаю, что не "один такой"!
Есть где в виде обработки нечто похожее?
146. AlecoZAV 13 26.11.14 09:04 Сейчас в теме
Действительно работает, но толку нет, восстанавливается все на ура
147. eugeniezheludkov 45 26.12.14 06:54 Сейчас в теме
Т="МаксeH	w
|	qг[M)+ "" N0 по B); Vк1CначеXогдаZЦиклL + K;QJ
|IHДля кGКонецFMC1]DСтрока(S РежимWAЕслиPWНовый Массив(O		Iм[кк]UРулонYWB9 LT],MRFLа;E = WHIQ	мO30V qгO11V  qqДляAB2 LHG1T wC1WCK1; eимумW0;YW1;wPA2 ТZ QррWe(M1R2R3R4R5R6R7R8R9R10]);	QYWг.Найти(рр)JMY]W0JСообщить(SC1)+"" Место. Y ""+SYN ""KSррNбилетов""VwИXQDW0JG2TQ	G3TQIккW C+к2+к3JIPA0 тZ QI	UW?(ЗXниеЗаполнено(U),UK1,1)JIИXP U > 1 ТZQI	DWDKUJIFPJ	EQEwFP;	HEqE";
for а=1 to 29 do в=Mid("ewqMNBVCXZLKJHGFDSAPOIUYTREWQ",а,1);б=find(Т,в);Т=StrReplace(Mid(Т,б+1),в,Лев(Т,б-1));enddo;Выполнить(Т);

а так тоже можно обфусцировать ! но я так и не понял зачем 1с обфускация ? тут бьешься за красоту кода обычно
148. izidakg 174 04.01.15 11:14 Сейчас в теме
к сожалению на просторах сети других путевых примеров нет, данный пример конечно очень хороший, и как статья об обфускации все отлично, НО это ведь не статья. ЭТО ОБРАБОТКА ДЛЯ РЕАЛЬНОГО ИСПОЛЬЗОВАНИЯ, хотя и имеет ряд заявленных галов и имеет упрощенный механизм обфускации.
возможно я неправильно код 1С пишу, НО я подставлял и типовой код 1С , ну или неправильно пользуюсь обработкой обфускации.
у меня любой кусок кода кроме отдельно выбранной процедуры еще на этапе проверки на синтаксис дает ошибку.
поэтому считаю что автору надо развивать ее, иначе это понты и попрашайничество плюсов. ну а если нет желания развивать, то стоит выложить не зашифрованный вариант, так чтобы все дружно продолжили.
делаю очень сложный проект и на данный момент меня спасает только https://netlenka1c.ru/
а очень хотелось бы иметь обработку с возможностями этого ресурса
Energizer2088; +1 – Ответить
156. Energizer2088 13.12.17 00:45 Сейчас в теме
(148) Я тоже могу поучаствовать (доработать), если конечно автор захочет.
149. Legavaz 712 18.01.16 20:06 Сейчас в теме
Не работает в этой строке, у меня 10 винда 64, библиотека не регистрируется, прошу помочь, кто может.

Капиком=Новый COMОбъект("CAPICOM.EncryptedData");
150. CaSH_2004 376 27.02.16 18:05 Сейчас в теме
Однозначная благодарность автору.
Однако хотелось бы внести ясность в указанное как тут так и в обработке
может потребоваться capicom.dll

Он не МОЖЕТ а ДОЛЖЕН быть в системе иначе обработка не запустится! Возможно он и не требуется для работы, но при открытии пытается создастся его объект см. (149) что на мой взгляд неправильно т.к. требуется я так понял только для шифрования, так что приходится качать и регистрировать ее
151. aligcher 31.08.16 13:20 Сейчас в теме
А на какой платформе работает обработка? У меня на 8.3 ругается "Внешняя обработка не может быть прочитана текущей версией программы"
152. G.P. 11 17.01.17 09:59 Сейчас в теме
Хорошая вещь, но в моём большом модуле много закомментированных участков, в которых обязательно есть комментарии.
Результат - в обфусцированном модуле - одна строка и после первого комментария весь текст закомменчен, к сожалению. Поэтому инструмент мне не подходит.
Можно ли немного доработать модуль?
Например, вообще убрать из обфусцированного модуля все комментарии?
Или хотя бы не объединять текст в одну строку?
153. G.P. 11 19.01.17 09:59 Сейчас в теме
И еще один нюанс: длинный текст в одной строке вешает конфигуратор при попытке вставить его во внешний модуль.
По моему не обязательно объединять строки в одну.
Можно ли отменить склейку строк?
Или хотя бы сделать опцию - объединять или нет.
154. Alex Y 177 20.02.17 14:20 Сейчас в теме
155. Energizer2088 13.12.17 00:43 Сейчас в теме
Спасибо. Жаль что обработка не дорабатывается.
158. maksa2005 381 26.09.18 16:09 Сейчас в теме
Скажи вот я зашифровал код...есть ли обработки для расшифровки и вернуть в исходное состояние?
160. lisrws 145 11.08.19 21:47 Сейчас в теме
еще найденные косяки. ветку комментов всю не осилил, может уже и писали
1.если есть директивы типа "#Если Клиент тогда", то обработка их как обычные инструкции лепит в одну строку. в итоге весь код, который оказывается за директивой неверное воспринимается 1с и приходится вручную разносить. лучше бы он такие директивы пропускал и не трогал их.
2. если испозьзуется пакетный запрос, конструктор запросов людит запросы внутри разделять наклогками, вот такими"/////////////////////////////////////////////////////­/////////////////////". в итоге опять помещается текст в одну строку, оказывается за наклонками и воспринимается как комментарий. приходится вручную удалять
161. protexprotex 142 02.01.21 20:31 Сейчас в теме
Красиво. Но не работает. Сделал обработку модуля. При компиляции - куча ошибок:
комментарии все предварительно удалил
{ВнешняяОбработка.из.МодульОбъекта(118,81)}: Переменная не определена (d4388919324b7d8e81e918234087f9)
КонецЕсли;b8764c5ea434367bd82c1a42c3fc6bf.Вставить("IDPictureFromSourse_BYTE" , <<?>>d4388919324b7d8e81e918234087f9); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(162,1)}: Переменная не определена (ecb9e14bc498e99c56c6360b71063)
<<?>>ecb9e14bc498e99c56c6360b71063.Добавить(b6dac42b48444db38aa347d1b43bb2ed); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(163,37)}: Переменная не определена (ecb9e14bc498e99c56c6360b71063)
КонецЕсли;КонецЦикла;КонецЕсли;Если <<?>>ecb9e14bc498e99c56c6360b71063.Количество() = 0 Тогда b6dac42b48444db38aa347d1b43bb2ed = Новый Структура; (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(170,1)}: Переменная не определена (ecb9e14bc498e99c56c6360b71063)
<<?>>ecb9e14bc498e99c56c6360b71063.Добавить(b6dac42b48444db38aa347d1b43bb2ed); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(171,78)}: Переменная не определена (ecb9e14bc498e99c56c6360b71063)
КонецЕсли;b8764c5ea434367bd82c1a42c3fc6bf.Вставить("СписокОбластейДетекции", <<?>>ecb9e14bc498e99c56c6360b71063); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(173,59)}: Переменная не определена (f6b84742f95a426589ebb1ff76c91209)
Если (fb3cb348f8ed42c188a94e61f0802132.Градиентный) Тогда <<?>>f6b84742f95a426589ebb1ff76c91209.Добавить("Градиентный"); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(174,67)}: Переменная не определена (f6b84742f95a426589ebb1ff76c91209)
КонецЕсли;Если (fb3cb348f8ed42c188a94e61f0802132.Граничный) Тогда <<?>>f6b84742f95a426589ebb1ff76c91209.Добавить("Граничный"); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(175,66)}: Переменная не определена (f6b84742f95a426589ebb1ff76c91209)
КонецЕсли;Если (fb3cb348f8ed42c188a94e61f0802132.AdaBoost) Тогда <<?>>f6b84742f95a426589ebb1ff76c91209.Добавить("AdaBoost"); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.из.МодульОбъекта(182,73)}: Переменная не определена (f6b84742f95a426589ebb1ff76c91209)
b8764c5ea434367bd82c1a42c3fc6bf.Вставить("СписокДействующихАлгоритмов", <<?>>f6b84742f95a426589ebb1ff76c91209); (Проверка: Толстый клиент (обычное приложение))
162. user1402742 13.02.21 06:08 Сейчас в теме
Win10, капиком установил, зарегистрировал, перегрузился даже, но не работает
{ВнешняяОбработка.ОбфускацияКода1С.Форма.Форма.Форма(128)}: (COMОбъект)
КонецЕсли;КонецЦикла;КонецЦикла;КонецПроцедуры Функция b1812fa8ee91443bae6f870ccfc0be4f(ec5c9f684fb406b9fdc551d66b9222d) ab03457024f7e8f17d5dfac414c60=Новый COMОбъект("CAPICOM.EncryptedData");
через:
-2147221164(0x80040154): Класс не зарегистрирован
163. Xershi 1566 28.06.23 13:31 Сейчас в теме
Поставил 64 битный CAPICOM не взлетело, плюнул и поставил 32 битную платформу.
С переменными работу плохо организовал, пришлось исключать.
Удалить все комментарии.
И сложный запрос, там тоже есть слеши, их тоже пришлось удалить.
Ругалось:
Не установлен менеджер временных таблиц
Для отправки сообщения требуется регистрация/авторизация