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

Публикация № 15907

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

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

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 Тестер (бонус).
Обработка, предназначенная для программистов, использующих в своих программах регулярные выражения. Позволяет протестировать шаблоны выражений до непосредственного использования в коде. Так же можно использовать для поиска совпадений в произвольном тексте с использованием шаблонов.

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

Наименование Файл Версия Размер
Obfuscare_1C.zip
.1212492350 25,56Kb
25.09.09
2453
.1212492350 25,56Kb 2453 Скачать бесплатно
RegExp_Tester.zip
.1212492391 6,45Kb
25.09.09
1201
.1212492391 6,45Kb 1201 Скачать бесплатно

Специальные предложения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Функция кк()

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

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

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

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

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

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

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

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

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

а вот так вот не выдает
Оставьте свое сообщение

См. также

Подсистема "Инструменты разработчика" v5.35 Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Интегрированный набор инструментов разработчика: - консоль кода - консоль запросов - консоль построителя отчетов - консоль компоновки данных - консоль заданий - конструктор запроса - справочник алгоритмов - исследователь объектов - интерфейсная панель - настройка журнала регистрации - анализ журнала регистрации - настройка техножурнала - анализ техножурнала - подбор и обработка объектов - редактор объекта БД - редактор констант - редактор параметров сеанса - редактор изменений по плану обмена - редактор пользователей - редактор предопределенных - редактор хранилищ настроек - динамический список - поиск дублей и замена ссылок - контекстная подсказка - синтакс-помощник - поиск битых ссылок - поиск ссылок на объект - структура хранения БД - удаление объектов с контролем ссылок - и прочее

23.09.2007    476399    4340    tormozit    2665    

Нейроконструктор

Интеграция Искусственный интеллект (AI) Прочие инструменты разработчика v8 Бесплатно (free)

Изучайте нейронные сети и экспериментируйте вместе с расширением конфигурации "Нейроконструктор". Навыки программирования не требуются.

20.05.2020    2923    19    user1404129    9    

Шпаргалка. Автоматическое тестирование внешних отчетов и обработок в нескольких информационных базах

Прочие инструменты разработчика v8 Бесплатно (free)

Используем Автоматизированное тестирование на практике. Простой код для обновления и запуска внешних отчетов и обработок в нескольких ИБ. Создаем рабочее решение с нуля.

02.05.2020    2909    0    pparshin    21    

Универсальные инструменты 1С

Универсальные обработки Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

Свободно распространяемый набор универсальных обработок и отчетов в виде расширения для разработки и поддержки, которое работает во ВСЕХ видах клиентских приложений и во всех операционных системах, которые поддерживает платформа 1С:Предприятие, кроме мобильных. Консоль запросов - консоль отчетов - консоль кода - редактор объектов базы данных - удаление помеченных объектов - поиск и удаление дублей - редактор констант - консоль заданий - групповая обработка справочников и документов - динамический список - поиск ссылок на объект - регистрация изменений для обмена данными - структура хранения базы - консоль HTTP запросов-консоль вебсервисов- консоль сравнения данных- информация о лицензиях- загрузка из табличного документа-файловый менеджер-все функции- навигатор по конфигурации-конструктор регулярных выражений-Выгрузка загрузка XML с фильтрами

21.01.2020    18616    295    cprit    84    

Легкий способ обновления измененной конфигурации Промо

Инструментарий разработчика v8 Бесплатно (free)

Легкий способ обновления измененной конфигурации. Сервис подготовки расширения конфигурации

25.10.2017    22136    0    avk72    63    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 03

EDT v8 Бесплатно (free)

Групповая разработка в EDT.

21.01.2020    3421    0    abc120000    3    

EDT + УТ 11.4 + БП 3.0 + Расширения. Часть 02

EDT v8 Бесплатно (free)

Продолжение "путевых заметок" про EDT...

09.01.2020    5037    0    abc120000    30    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 01

EDT v8 Бесплатно (free)

...продолжаем мучить(ся с) EDT

28.12.2019    5401    0    abc120000    8    

Универсальная функция для программного выполнения СКД Промо

Инструментарий разработчика Универсальные функции v8::СКД 1cv8.cf Бесплатно (free)

Часто встречаются вопросы на форумах о программном формировании СКД. Вроде и информации много по этому поводу, но... Все как всегда :) Собственно, в описании без лишних слов выложен текст общей функции, в которую, для выполнения отчета, нужно передать (минимум 2 параметра): СКД и ТабличныйДокумент.

20.05.2015    29344    0    dj_serega    18    

EDT 1.16. Первые 20 часов работы

EDT v8 Россия Бесплатно (free)

Первое знакомство с 1C:Enterprise Development Tools, версия 1.16.0.363.

25.12.2019    9412    0    abc120000    11    

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

Практика программирования Инструментарий разработчика v8::УФ Бесплатно (free)

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    10660    0    TitanLuchs    23    

Мониторим производительность с помощью 1С RAS

Инструментарий разработчика Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    8856    0    ivanov660    16    

Перевод интерфейса конфигурации с использованием программы 1С:Переводчик Промо

Инструментарий разработчика v8 Бесплатно (free)

Перевод текстов интерфейсов конфигураций без использования технологии памяти переводов приводит к рассогласованности терминологии, когда один и тот же объект в конфигурации в разных меню может называться по-разному. Решить эту проблему можно используя программу 1С:Переводчик.

09.02.2015    31795    0    boogie    21    

Разбор любого JSON-объекта в соответствующую структуру

Инструментарий разработчика WEB v8 1cv8.cf Бесплатно (free)

Данная публикация предназначена разработчикам 1С, которым приходиться разбирать данные формата JSON. Выложенный пример кода создает объект типа Структура, полностью повторяющий структуру данных формата JSON.

13.11.2019    6455    0    user665435_al.windstorm    14    

Git для 1С-ника и другие технологии групповой разработки

Инструментарий разработчика Git (GitHub, GitLab, BitBucket) v8 1cv8.cf Россия Бесплатно (free)

У многих специалистов в отношении Git сложились стереотипы, мешающие начать работу с этим прекрасным и удобным инструментом. Почему его не стоит бояться, и чем он может упростить жизнь 1С-никам, рассказал архитектор ГК «Невада» Станислав Ганиев.

28.10.2019    11230    0    stas_ganiev    16    

Про ТабДок или TabDoc Pro

Практика программирования Инструментарий разработчика v8 Бесплатно (free)

Табличный документ – всем знакомый и привычный компонент продукта 1С. Про оптимизацию работы табличного документа, его проблемы и недостатки в своем докладе на конференции Infostart Event 2019 Education рассказал ведущий программист BIA-Technologies Князьков Алексей.

11.09.2019    5567    0    AKnyazkov    26    

Генерация кода управляемой формы (декомпиляция элементов) Промо

Инструментарий разработчика Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

29.09.2014    99299    0    ekaruk    127    

FastCode - сервис поиска кода 1С

Инструментарий разработчика v8 Бесплатно (free)

Добавляйте свои шаблоны кода или ищите готовые шаблоны других разработчиков. Оставляйте отзывы и лайки, добавляйте понравившиеся фрагменты в свою библиотеку. Ищите по БСП или по общим модулям своей конфигурации.

10.09.2019    8776    0    m.bolsun    22    

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

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

2 стартмани

02.09.2019    7619    37    leoxz    66    

Как мы разрабатываем в EDT

EDT Инструментарий разработчика v8 Бесплатно (free)

EDT – это новая среда разработки, на которую сейчас перешли разработчики фирмы «1С». Однако до сих пор существует ряд «белых пятен», касающихся как теоретической, так и практической части применения этого инструмента. Про опыт перехода на разработку в EDT на конференции INFOSTART EVENT 2018 EDUCATION рассказал начальник сектора разработки в компании «Группа Полипластик» Владимир Крючков.

23.08.2019    10548    0    ivanov660    24    

Сервис обмена кодом Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Бывало так, что вам нужно быстро показать кому-то свой код, но опубликовать его негде, так как популярные сервисы просто не поддерживают раскраску кода 1С? Теперь решение есть!

26.06.2015    19700    0    Infactum    23    

Быстрый ввод кода

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Упрощение рутинного ввода кода.

19.08.2019    4185    0    ranis888    13    

1С:EDT. Первые шаги… или есть ли альтернатива конфигуратору?

EDT v8 Бесплатно (free)

Заменить конфигуратор сложно, а в некоторых случаях невозможно, если, например, нужно оперативно подправить код непосредственно в рабочей конфигурации…

15.08.2019    19285    0    ellavs    104    

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С

Работа с интерфейсом Инструментарий разработчика v8 Бесплатно (free)

Интерфейсам в 1С обычно уделяют мало внимания. Это в итоге снижает востребованность платформы, делает ее неконкурентной, лишает большой доли рынка. Как не потерять старых клиентов и привлекать новых с помощью интерфейсов, а главное – как сделать «правильный» интерфейс, рассказал участникам конференции Infostart Event 2018 Education управляющий партнер и основатель консалтинговой группы WiseAdvice Иван Тягунов.

07.08.2019    9708    0    IvanAT1981    14    

1C:Enterprise Development tools (EDT) или кодим в Eclipse Промо

EDT v8 Бесплатно (free)

Как и выход мобильной платформы был для оооочень большого числа разработчиком открытием, так и я уверен, что и о новом конфигураторе - тоже мало кто слышал. Поэтому давайте попробуем пробежаться по новому конфигуратору. (Много больших картинок)

11.04.2015    75477    0    DitriX    297    

Шаблон теста правил регистрации

Инструментарий разработчика v8 1cv8.cf Россия Бесплатно (free)

Шаблон на базе, которого можно написать тест правил регистрации. Тесты запускаются с использованием инструмента xddTestRunner framework Vanessa-ADD.

26.07.2019    1788    0    milut    0    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    28763    0    ids79    27    

1Script.Web. Интернет-приложения на языке 1С

WEB OneScript Инструментарий разработчика v8 Бесплатно (free)

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    18468    0    Evil Beaver    33    

TurboConf:Шаблоны - сервис для поиска и хранения фрагментов кода Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Сервис добавляет в Конфигуратор возможность поиска и хранения фрагментов кода. Делитесь своими шаблонами с другими разработчиками или используйте уже готовые!

13.08.2014    21839    0    m.bolsun    68    

Групповая обработка (Управляемая консоль отчетов)

Обработка документов Инструментарий разработчика Обработка справочников v8 v8::УФ v8::Запросы 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

13.05.2019    8402    0    Evg-Lylyk    10    

Перенос и резервное копирование настроек конфигуратора

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Удобный перенос между рабочими местами и резервное копирование настроек конфигуратора через подсистему "Инструменты разработчика".

14.04.2019    8682    0    tormozit    18    

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы)

Инструментарий разработчика Работа с интерфейсом v8 v8::УФ v8::СКД Бесплатно (free)

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

25.03.2019    11472    0    ellavs    9    

Подсистема "COMExchange": консоль запросов в режиме «Консоль кода». Промо

Консоль запросов v8 1cv8.cf Россия Бесплатно (free)

Описана возможность использования обработки «Консоль запросов 1С+ADO» в качестве «консоли кода». При этом имеется возможность помещения результатов вычислений в «табло формул». Кроме результатов вычислений в это «табло» можно также вывести время выполнения и описание обработанных ошибок времени исполнения.

03.04.2014    25424    0    yuraos    2    

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам

Инструментарий разработчика Управление проектом v8 1cv8.cf Бесплатно (free)

В этой части мы рассмотрим наиболее распространённую схему workflow при групповой разработке с использованием Git. Как приступить к доработке по поставленной задаче; исправить ошибку, обнаруженную на этапе тестирования; отправить свой код на слияние в предстоящий релиз; и т.д. Постараемся охватить большинство задач, составляющих основной цикл разработки

28.01.2019    15627    0    stas_ganiev    28    

Автоматизация тестирования с помощью WinAutomationUI

Инструментарий разработчика v8 Бесплатно (free)

Рассматривается использование инструмента WinAutomationUI для создания автоматизированных сценарных тестов на примере 1 + 1 = 2.

11.12.2018    6265    0    AlexKo    30    

[8.3] Анализ планов запросов (Управляемая консоль отчетов)

Консоль запросов v8 1cv8.cf Бесплатно (free)

Новый инструмент! Позволяет удобно работать с планами запросов, анализ планов в файловой базе.

19.11.2018    18271    0    Evg-Lylyk    6    

VM1C - виртуальная машина для 1С Промо

Инструментарий разработчика v8 1cv8.cf Россия Бесплатно (free)

Демонстрация возможностей виртуальной машины для 1С. Создаем и выполняем код модулей в режиме Предприятия в реальном времени.

07.06.2013    23370    0    m.bolsun    46    

Метрики, графики, статистика = Prometheus + Grafana

Инструментарий разработчика v8 v8::ОУ Россия Бесплатно (free)

Снятие метрик из базы данных 1С с хранением в Phrometheus и красивое оформление на основе Grafana. Или как мы создавали комфортные условия административному персоналу на отдельно взятом складе.

23.10.2018    16119    0    freewms    75    

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git

Инструментарий разработчика Управление проектом v8 1cv8.cf Бесплатно (free)

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    58035    0    stas_ganiev    73    

Приемы работы с СКД: делаем за 5 минут то, на что у других уйдет час

Практика программирования Инструментарий разработчика v8::СКД Бесплатно (free)

Сергей Наумов делится опытом нестандартного использования системы компоновки данных. Он рассказывает о построении сложных отчетов с помощью функций СКД, описывает преимущества использования компоновки в коде для значительного сокращения строк кода и времени на решение задач, а также рассказывает про отладку компоновки и возможности оптимизации ее работы.

03.09.2018    41617    0    SergeyN    26    

Подсистема "COMExchange", "Консоль запросов 1C + ADO" - сервис обработки выборки запроса: грузим курс «бакса» ЦБРФ из файла *.dbf или *.xlsx. Промо

Консоль запросов v8 КА1 УТ10 УПП1 Россия Бесплатно (free)

На примере загрузки курса валюты продемонстрированы возможности консоли запросов в составе подсистемы "COMExchange" для обработки данных из внешних файлов и их синхронизации с данными информационной базы 1С.

10.03.2013    32695    0    yuraos    3    

Одновременное использование хранилища и расширений

Практика программирования Инструментарий разработчика v8 Бесплатно (free)

Шастун Алексей поднимает вопрос одновременного использования хранилища и расширений. В статье рассмотрены плюсы и минусы хранилища и расширений, а также возможные варианты их использования. Также автор описывает два практических кейса по организации одновременного использования хранилища и расширений 1С в проектной группе из трех и более разработчиков.

23.08.2018    9132    0    shaa2    3    

Взгляд на практику разработки в EDT из зазеркалья

EDT v8 1cv8.cf Бесплатно (free)

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

26.07.2018    22779    0    ivanov660    114    

Подсистема "COMExchange", консоль запросов, сервис обработки выборки запроса: корректируем регистры или «Берём банк, кассу, экспроприируем экспроприаторов». Промо

Консоль запросов v8 1cv8.cf Россия Бесплатно (free)

На примере шуточного примера продемонстрированы не шуточные возможности консоли запросов в составе подсистемы "COMExchange" для работы с регистрами, подчинёнными регистратору («обнуление» регистров, ввод начальных итогов (сведений), корректировка итогов).

31.03.2013    21969    0    yuraos    7    

Практика применения инструментов продвинутого разработчика 1С

Инструментарий разработчика v8 Бесплатно (free)

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

23.07.2018    24315    0    artbear    24    

Лайфхак: исходники внешних обработок и отчетов 1С - это просто.

Инструментарий разработчика v8 Бесплатно (free)

Важно: статья далеко на любителя всяких таких git'ов, gitlab'ов и oscript'ов.

22.06.2018    10402    0    new_user    12    

Создание поставки конфигурации

Инструментарий разработчика v8 Бесплатно (free)

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

27.02.2018    17940    0    Vladimir_412    7    

Разработка скрипта для проекта Снегопат Промо

Снегопат, openconf v8 1cv8.cf Россия Бесплатно (free)

Подробное пошаговое описание порядка создания скрипта для проекта Снегопат (http://snegopat.ru) на примере скрипта "Авторские комментарии". Затрагивает ключевые особенности объектной модели, реализуемой Снегопатом.

12.02.2012    19068    0    kuntashov    50    

Групповая разработка конфигураций в крупном холдинге

Инструментарий разработчика v8 Бесплатно (free)

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

15.08.2017    20386    0    stas_ganiev    15    

Автоматизация процесса 1С-разработки

Инструментарий разработчика v8 Бесплатно (free)

В статье речь пойдет о том, как при разработке в 1С добиться автоматизации и универсальности, о тех инструментах, которые помогают нам, разработчикам 1С, сохранять самое ценное, что у нас есть – наше время.

07.06.2017    25398    0    ekaruk    9    

Консоль запросов для УФ с возможностью передачи готовой ТЗ в качестве параметра

Консоль запросов v8 v8::УФ Россия Бесплатно (free)

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

11.07.2016    14412    0    vadim1011985    7    

Защита разработок от копирования (Обычная и Управляемая форма)

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.03.2016    36416    319    karpik666    123