gifts2017

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

Опубликовал Андрей Скляров (coder1cv8) в раздел Программирование - Инструментарий

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

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 1415
.1212492350 25,56Kb
25.09.09
1415
.1212492350 25,56Kb Бесплатно
RegExp_Tester.zip 719
.1212492391 6,45Kb
25.09.09
719
.1212492391 6,45Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Андрей Скляров (coder1cv8) 03.06.08 15:35
Обфускатор 1С пока находиться на стадии тестирования, поэтому прошу сообщать об обнаруженных багах.
На коде 7.7 не тестировал (так как "вживую" семерку уже давно не видел), но вероятно будет работать и для него.
2. Андрей Скляров (coder1cv8) 03.06.08 15:58
Пока имеется только один баг: нельзя использовать ковычки в комментарии.
Кто подскажет мне шаблон регулярного выражения, способного отличить двойной слэш внутри строковой константы от комментария, буду очень признателен )
3. Герман (German) 03.06.08 16:47
Обфуксатор оч.даже + а вот Для отладки RegExp лучше использовать RegexBuddy
4. Андрей Скляров (coder1cv8) 03.06.08 16:53
(3) Не знал, поэтому и нарисовал по-быстрому свою обработку, гляну эту программу, спасибо... )
5. Валерий Агеев (awa) 03.06.08 20:25
(1) Насколько я понял, так как обработка исходного текста происходит в отрыве от контекста, то надо самому определять, какие имена процедур, функций и переменных можно заменять на белиберду, а какие - нет. Ведь нет никакой информации о том, какие переменные, процедуры и функции являются глобальными, какие переменные являются реквизитами объекта или формы и т.д.
Но, по крайней мере, можно определить некоторые имена переменных, процедур и функций, которые нельзя менять - те, которые объявлены со словом Экспорт. Сейчас обработки слова Экспорт нет совсем. Более того, если переменная объявлена с Экспорт, она обфусцируется вне зависимости от флажка в дереве лексического анализа.
Также нет обработки английских синонимов ключевых слов.
И еще есть траблы с регистром - если процедура объявлена как "Процедура", то в дереве лексического анализа она показывается как процедура, если же она объявлена как "процедура" или "ПроцедурА", например, то в дереве лексического анализа она становится вдруг функцией!
6. Герман (German) 03.06.08 21:19
Посмотри Ei // там с структуре модуля разбираются процедуры функции и переменные http://enterpriseintegrator.googlepages.com/StructureModule.jpg
7. Сhe Burashka (CheBurator) 03.06.08 22:06
На 7.7 это - типичный кирпичиватель - я таким только одну свою разработку закрыл (строк на 40), требуется явное указание в области описания всех используемых переменных, + не забывать про имена функция в реквизитах диалогов.. мое резюме - вполне нормальная защита...
8. Сергей Старых (tormozit) 04.06.08 08:22
Гиблая затея, хотя и смелая =)
9. Андрей Скляров (coder1cv8) 04.06.08 08:30
(5) > "Насколько я понял, так как обработка исходного текста происходит в отрыве от контекста, то надо самому определять, какие имена процедур, функций и переменных можно заменять на белиберду, а какие - нет."

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

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

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

ЗЫ: Спасибо за грамотные замечания.
10. Asdam (Asdam) 04.06.08 08:49
(6) Сорри, что не в тему. German, подскажи плиз, а чем это ты смотришь структуру модуля?
11. Андрей Скляров (coder1cv8) 04.06.08 09:28
(5) > "Сейчас обработки слова Экспорт нет совсем."

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

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

Принято.
12. Андрей Скляров (coder1cv8) 04.06.08 09:31
(6) Герман, до твоих гениальных (в хорошем смысле этого слова :) ) творений мне долековато что и говорить... )
13. Андрей Скляров (coder1cv8) 04.06.08 09:34
(7) Слышал про "закирпичиватель" на 7.7, но не разу не видел его в живую... Наверно потому, что у меня ещё не возникало необходимости таким образом скрывать свои алгоритмы, я ещё не написал свою "нетленку" ))
14. Андрей Скляров (coder1cv8) 04.06.08 09:35
15. Андрей Скляров (coder1cv8) 04.06.08 09:48
Исправлен баг с регистром написания. Например, "ПроЦедурА" обрабатывается корректно.
16. Александр Зернятко (azernot) 04.06.08 10:41
А я вот не считаю такую защиту сколь либо действенной.
Сам таким образом ковырял закирпиченный Rocket Launcher, вполне успешно (только т-с-с-с!)...
Будем ждать КЗК 3.0 для 8-ки...
17. Андрей Скляров (coder1cv8) 04.06.08 10:52
Добавлена обработка английских синонимов ключевых слов.
18. Андрей Скляров (coder1cv8) 04.06.08 11:00
(16) Согласен. Данная обработка написана мной чисто из интереса, без какой-либо практической цели.
Я считаю, что будущее защиты исходного кода для восьмерки за обфускаторами так называемого "байт-кода". Более тего, я тестировал бэта-версию такого обфускатора и могу сказать, что существующие на данный момент декомпиляторы просто вываливаются с ошибкой при попытке декомпеляции защищенного таким образом модуля (только не просите у меня эту обработку, я не автор и распространением не занимаюсь).
19. Михаил Усков (MMF) 04.06.08 11:06
(18) обработку не надо, дай исходный байт-код + перекомпиллированный
20. Андрей Скляров (coder1cv8) 04.06.08 11:10
(19) MMF, я даже не сомневаюсь, что ты разберешь ) Но скорее всего, прийдется поковыряться ручками, как с любым хорошо запутанным кодом.
21. Герман (German) 04.06.08 11:54
ручками .. это не для нас...
22. Герман (German) 04.06.08 11:56
(10) в смысле чем? какой обработкой? - Ei.... На чем реализовано?- На RegExp.. немного не понял вопроса.
23. Андрей Скляров (coder1cv8) 04.06.08 12:16
Исправлена недоработка о которой я говорил в (9). Теперь можно перевыбирать заменяемые переменные без необходимости повторного анализа исходного кода.
25. Андрей Скляров (coder1cv8) 04.06.08 13:01
Добавлена обработка ключевого слова Экспорт.
26. Алексей Шачнев (shachneff) 04.06.08 17:09
а можно еще случайным образом использовать смесь рус и анг операторов?
27. vip (vip) 04.06.08 17:12
(26) Никак нетленку сваял, Алеша?
28. Андрей Скляров (coder1cv8) 04.06.08 17:29
(26) Можно. Ещё можно делать ложные переходы (оператором goto), разбавлять код "мусором", заменять константы формулами и т.д. Моя обработка всего лишь пример. По теории запутывающих преобразований я бы советовал читать это: http://www.citforum.ru/security/articles/analysis/ Очень позновательно! )
voneska7; Lemoi; Sol; +3 Ответить
30. Андрей Скляров (coder1cv8) 04.06.08 17:54
(29) Без всякого смысла ) Просто "RegExp Тестер" не заслуживает вобщем-то особого внимания, но тем не менее очень помогла мне разобраться с регулярными выражениями и я решил её добавить в качестве бонуса )
31. Аркадий Кучер (Abadonna) 04.06.08 17:54
(29)А почему бы не сделать две разработки???
Просто автор, как я понимаю, не гонится за дешевой популярностью, плодя количество разработок с целью получения поболее плюсиков. За это ему - ПЛЮС
32. Андрей Скляров (coder1cv8) 04.06.08 17:57
(31) И это тоже ) Ещё не люблю "попрошайничество плюсов", если об этом зашел разговор...
maXon777; Abadonna; +2 Ответить 1
33. Аркадий Кучер (Abadonna) 04.06.08 18:00
(32) Блин, придется еще один поставить - заслужил :))))))))))))))
34. Андрей Скляров (coder1cv8) 04.06.08 18:52
35. Валерий Агеев (awa) 04.06.08 20:23
Ключевое слово Экспорт уже распознается, но по-прежнему у переменных, объявленных с Экспорт по-умолчанию стоит галка в дереве лексического запутывания. Все-таки надо бы по-умолчанию галку снимать. И еще неплохо бы было как-то выделять в дереве процедуры и переменные с Экспорт, как предупреждение, что не стоит тут ставить галку (или вообще запретить ее ставить).
Еще есть глюк с совпадающими именами переменных и функций. Вот такой код обфусцируется неправильно:
Код
Сообщить = "Тест";
Сообщить(Сообщить);
Показать полностью

При обфускации переменной Сообщить, неправомерно обфусцируется системная функция Сообщить.
36. Андрей Скляров (coder1cv8) 05.06.08 07:12
37. aim (aim) 05.06.08 11:34
Спасибо за идею интеграции RegExp в 1С. Как раз хотел этим заняться.
38. Андрей Скляров (coder1cv8) 05.06.08 13:07
Файл обновлен.
Исправлена ошибка о которой говорится в (35). Доработан интерфейс.
Итак совместными усилиями с awa обработка начинает приобретать законченный вид. )

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

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

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

Вторая строка - контрольная))
59. Валерий Агеев (awa) 20.11.08 16:30
60. Федор Программист (fedor40) 20.11.08 22:48
Вот думаю. Если выпускать, доработку за 8 000 рублей и потом может еще 2000 в год брать за тех поддержку, то какая защита необходима ?
61. Федор Программист (fedor40) 20.11.08 23:40
Что думаете о ключах rutoken, guardant, senselock ?
Самый дешевы Guardant Stealth III (2kb) можно взять за 475р. Как думаете он защитит ?
http://www.guardant.ru/products/guardant-stealth/
62. Андрей Скляров (coder1cv8) 21.11.08 08:02
(61) Я думаю, моя обфускация в совокупности с обфускацией "байт-кода" вполне достаточны. Лично я, ни за какие шиши, в таком коде копаться не буду! ) По-поводу ключей, есть тут у нас специалист... )
63. Федор Программист (fedor40) 21.11.08 08:41
Что значит: "По-поводу ключей, есть тут у нас специалист... ) " ...
65. SONICUS (SONICUS) 04.01.09 22:38
Попробовал открыть обработку вылезла ошибка:
{Форма.Форма(1)}: Метод объекта не обнаружен (SetSecret)
по причине:
{Форма.Форма(1)}: Метод объекта не обнаружен (SetSecret)

Чо с ней делать? Платформа 8.1.12.101
66. Андрей Скляров (coder1cv8) 10.01.09 09:49
(65) Как написано выше, в описании: при использовании шифрования строковых переменных может потребоваться capicom.dll.
Что делать? Варианта 2: либо не устанавливать галочку "шифровать строковые переменные" при обфускации, либо скачать и зарегистрировать эту dll-ку.
67. SONICUS (SONICUS) 10.01.09 15:49
Не знаю как на счет первого варианта(обработка не запускалась изначально, а значит и галочку снимать не от куда было), но второй вариант прошел, после того как я скачал с сайта майкрософт пакет CAPICOM-KB931906-v2102. Так что в моем случае, чтобы воспользоваться этой обработкой наличие capicom.dll было обязательным условием.
68. Андрей Скляров (coder1cv8) 10.01.09 20:14
(67) Хм... Да, прошу прощения, я забыл что выложенная здесь обработка уже обфусцированна! :) И конечно же, требует capicom.dll, хотя в моей (к примеру) винде такая длл-ка уже была установлена по-умолчанию. Спасибо за ценное замечание!
69. Аркадий Кучер (Abadonna) 10.01.09 20:29
>хотя в моей (к примеру) винде такая длл-ка уже была установлена по-умолчанию
Знаешь в чем прикол: сегодня переставил систему - фигвам, нема её :)))
Это кто-то видать подставляет при инсталляции... какая-то прога
70. Аркадий Кучер (Abadonna) 10.01.09 20:30
+(69) А ведь была, гадина :))))))))))
Так что - не по умолчанию
71. Василий Демидов (Душелов) 10.01.09 20:45
Прелагаю коммерческий проект - обфускация конфигурации :)
Тестерам - бесплатно! ;)
72. r_p (smirnov.a) 15.05.09 13:13
Обфускицинул код в 1500 строк, при получении результата все записывается в одну строку, скопировать полностью из текстового поля её нельзя, при нажатии кнопки сохранить 1с вылетает. Платформа 1с 8.1 последняя. Можно ли записывать не в одну строку, а в несколько, либо ввести параметр максимальное количество знаков в строке.
73. Андрей Скляров (coder1cv8) 15.05.09 14:29
(72) Можно. Будет параметр для разбивания по строкам, в следующем релизе.
74. r_p (smirnov.a) 15.05.09 17:32
75. Андрей Скляров (coder1cv8) 15.05.09 17:55
(74) Скоро ) С работой разберусь немного...
76. Юрий (YRAtomic) 27.05.09 11:38
77. Андрей Скляров (coder1cv8) 04.06.09 16:48
(74) (76)
Добавил разбиение результата на строки.
Довольно приметивное, перенос осуществляется только по ";" и не разбиваются строковые константы, но я думаю этого будет достаточно?...
78. Юрий (YRAtomic) 04.06.09 20:48
80. Юлия (Plu) 22.07.09 20:25
все работает, если не ставлю галку на процедурах и функциях.
81. Андрей Скляров (coder1cv8) 23.07.09 09:52
(80) Дык, галку на процедурах/функциях надо с умом ставить, а не подряд )))
82. Александр Зайцев (AlecoZAV) 23.07.09 11:17
в итоге только те названия функций и процедур, которые не привязаны к событию, успешно кодируются.
83. Андрей Скляров (coder1cv8) 23.07.09 17:48
(82) Ну естественно! А как же иначе? ) События и экспортные процедуры/функции обфусцировать можно только с аккуратностью, заменяя идентификаторы там где надо уже ручками...
84. ROM (ROM_1C) 25.10.09 22:03
Все это очень красиво и наглядно.. спотреть на "переработанный" код..
А можно все это чудо вернуть при необходимости вернуть к людському виду?
И у меня при открытии обработки вылетает ошибка:
{Форма.Форма(128)}: Помилка при виклику конструктора (COMОбъект): Недопустимая строка с указанием класса
через:
{Форма.Форма(128)}: Помилка при виклику конструктора (COMОбъект): Недопустимая строка с указанием класса

через:
Недопустимая строка с указанием класса
...Показать Скрыть

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


Функция кк()

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

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

КонецФункции
99. Юрий Ульянов (spy-83) 01.03.10 14:22
п = 1+3;
// Разделитель = "!!!!";

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

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

а вот так вот не выдает
100. Андрей Скляров (coder1cv8) 01.03.10 17:37
(98)(99) Ну я вот для кого описание пишу? )
Читай внимательно: "Примечание: Имеется один, но очень не приятный баг, в обфусцируемом коде не должны использоваться комментарии, содержащие внутри себя кавычки"
101. Алексей Прилепский (IamAlexy) 05.05.10 07:48
Добрый день

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

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

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