Реализация поддержки отраслевых конфигураций с помощью 1С:СЛК
Модели лицензирования в продуктах построены на основе применения в коде конфигурации функции ПолучитьЛицензию() — получение лицензии для текущего сеанса информационной базы, возвращение структуры параметров ключа защиты, анализ параметров ключа защиты ProductVersion (Версия продукта, число 0 до 65535) и Period (Срок действия ключа в днях).
Какие цели преследовали при выборе той или иной функции?
Повышение качества оказываемой и получаемой пользователями продукта технической поддержки, повышение степени защиты от установки нелицензионных обновлений, дополнительный контроль использования официальной поддержки. Потенциальная техническая возможность повышения степени лицензионной защиты и выпуска дополнительного платного функционала защищенного СЛК-ключами со сроком действия.
Каким образом была решена задача?
С помощью ключей СЛК организована поддержка отраслевых конфигураций. Реализуется пользователям в виде отдельной номенклатуры, дополнительно к основной поставке, содержащей программный ключ, к примеру:
| Код | Наименование |
| 2900002175660 | 1С:Университет ПРОФ. NFR. Активация возможности обновления конфигурации на 12 мес. Электронная поставка |
| 2900002510386 | Технологии автоматизации: Интеграция с ГИС СЦОС. Расширение для 1С:Университет ПРОФ. Активация возможности обновления на 12 мес. Электронная поставка |
| 2900001993609 | Омега: Управление ФХД вуза. Активация возможности обновления конфигурации на 12 мес. NFR. Электронная поставка |
Технически применяются электронные ключи со сроками действия. Ключ представляет собой пин-код, который активируется пользователем через сервер 1С:СЛК. Логика следующая: без активированного ключа продукт работает, но установить обновление не получится. Обращение на хотлайн разработчика также — только при наличии активного ключа.
Код конфигураций, кроме мест проверки, оставили открытым. Функционал ограничения количества подключений к конфигурации, для которого наиболее часто используют 1С:СЛК, не применяли, за исключением одного продукта.
СЛК-ключи юридически являются лицензиями. Правомерность установки обновления и обращения на техническую поддержку продукта при условии активации ключа указали в лицензионном соглашении, которое идет и в поставке с конфигурацией и в поставке каждого ключа. Также один из плюсов — лицензии, которыми являются ключи, не нужно отдельно регистрировать в реестре отечественного ПО ( https://reestr.digital.gov.ru/ ), если зарегистрирован основной продукт.
Описанный механизм уже работает в 7 продуктах, впервые апробировали в 2019 г. на продукте «Омега:Управление ФХД вуза». Далее с этим механизмом выпустили новые редакции имеющихся продуктов: в 2019 «1С:Управление учебным центром», в 2020 «1С:Университет», «1С:Унверситет ПРОФ», в 2021 «1С:Колледж», «1С:Колледж ПРОФ».
В 2021 г. выпустили тиражное расширение «Технологии автоматизации: Интеграция с ГИС СЦОС. Расширение для 1С:Университет ПРОФ».
Возникли ли сложности на пути к достижению результата?
В процессе разработки возникла необходимость получить актуальное время, с которым в защищенном участке кода сверялась дата активации ключа, т.к. пользователи могли поменять время на своем сервере и обойти защиту. Разработчики 1C:СЛК «Катран Софт» добавили поле «время на сервере СЛК», которое возвращает актуальное время.
На этапе выпуска выяснилось ограничение — нельзя в 1 артикул включить 2 ключа одной серии, но это решили логикой на стороне конфигурации.
После выпуска продукта обнаружили ошибку — для одного из артикулов выпустили ключи с неверным значением в одном из полей. Выяснили это, но несколько десятков пользователей ключи уже получили и активировали. Разработчик системы помог централизованно скорректировать поля ключей, в том числе тех, которые уже имелись у пользователей (информация обо всех выпущенных ключах сохраняется в Центре лицензирования и может администрироваться по запросу владельца продукта).
Какие возможности лицензирования дали реализованные функции?
С помощью системы 1С:СЛК достигли поставленных целей. Понимаем, как можно усилить защиту, но острой необходимости в наращивании защиты в процессе работы не выявили.
Почему выбрали 1С:СЛК — увидели перспективность технической реализации.
Возможно реализовывать разные бизнес-модели для вашего продукта (мы в своих продуктах используем лишь часть). Например, защитить только часть конфигурации (функционала) — по одному из продуктов думаем сделать платный функционал мобильных приложений: с помощью ключа со сроком действия закрыть веб-сервисы, передающие данные в мобильное приложение, и выпустить в продажу отдельный артикул. Пользователи покупают эту позицию и активируют ключ. Это просто, так как в ключе есть специальное поле Flags (флаги функциональности в двоичном виде «00000000000000000000000000000000»), которое возвращается с помощью метода GET /api/licences/. В поле Flags можно указать нужное значение, таким образом ключи могут быть одной серии, но с разными значениями в поле Flags. Поля каждого ключа инициируются в центре лицензирования 1С при выпуске того или иного артикула (указываются в приказе, но это уже работа отраслевого менеджера 1С).
Отдельно хотелось бы отметить разработчиков системы «Катран Софт» — идут навстречу, когда нужна помощь, совет по технической реализации и развитие технологии 1С:СЛК.
О разработчике
Партнеры-разработчики: ООО «Онлайн», ООО «СГУ-Инфоком», ООО «Омега», ООО «Технологии автоматизации».
Выпуск тиражных решений с 2010-2011 годов, партнеры фирмы «1С» с 1998-2001 годов, действующие центры разработки.
Продукты представляют собой комплексные решения для управления деятельностью образовательных организаций среднего профессионального образования, высших учебных заведений, учебных центров различной направленности, для автоматизации процессов планирования и бюджетирования финансово-хозяйственной деятельности, управления научной работой и инновациями, дополнительным и послевузовским образованием, аттестации научных кадров, кампуса вуза, предоставляют личные кабинеты для поступающих, студентов, преподавателей. А так же тиражное расширение для совместного продукта, обеспечивающее передачу основных данных из информационной системы в ГИС СЦОС.
Как отключить/обойти/эмитировать подключение действующего USB ключа
Не устроил ответ?
Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.
Реклама
Новые вакансии
- Вакансия «Прораммист/разработчи 1С» Екатеринбург от Денис Спеиалист
Вчера в 13:10 - Вакансия Стажер Аналитик от Elizavetashkr
17 ноября 2023 г. - Вакансия Стажер Программист 1С от Elizavetashkr
17 ноября 2023 г.
Ключи защиты 1С:Предприятие 8
1)НЕ СТАВЬТЕ МЕНЕДЖЕР ЛИЦЕНЗИЙ В ТЕРМИНАЛЕ (точнее устанавливайте в 0-й сессии, запуская %SystemRoot%\system32\mstsc.exe /console
2) сначала ставьте менеджер лицензий, и только потом устанавливайте сетевой ключ
3) если клиент 1С 8.0 видит ключ, это не значит что увидит 8.1 (файл теперь обычно C:\Program Files\1cv81\bin\conf\nethasp.ini)
4) в терминале локальные ключи не видны, надо в nethasp.ini прописывать в явном виде место расположения сетевого ключа и менеджера лицензий
NH_SERVER_ADDR = 192.168.159.1 ;;(IP-адрес должен быть правильный) 5) клиент 8.1 сначала ищет локальный ключ и если его находит, никогда не будет искать сетевой
6) несколько сетевых ключей или локальный и сетевой ключ на один компьютер ставить нельзя (исключение: ключи 300 и 500 пользователей, см. пункт 14)
7) для серверной части 1С надо бывают ТОЛЬКО ЛОКАЛЬНЫЕ НЕ КЛИЕНТСКИЕ ключи
Здорово серверный 64 битный ключ (он зеленый) поддерживает 32битный сервер, в том числе 8.0, но серверный 32битный ключ не поддерживает 64битный сервер 1С. Серверный локальный ключ не мешает работе клиентских ключей.
9) для SQL ключей не надо, он не проверяет даже купленные свои лицензии, но покупать их надо : )
10) если большая нагрузка в сети и много клиентов, то менеджер лицензий может не успеть выдать лицензию : ), чтобы это решить, увеличьте интервал опроса к менеджера лицензий клиентов в C:\Program Files\1cv81\bin\conf\nethasp.ini
NH_SESSION = 5
NH_SEND_RCV = 4
NH_USE_BROADCAST = Disabled
И ограничьте в C:\Program Files\Aladdin\HASP LM\ nhsrv.ini компьютеры с которых могут подключаться пользователи, например
NHS_IP_LIMIT = 10.24.2.18-99
11) для 64битных менеджеров лицензий или просто свежие скачайте драйвера с http://www.aladdin.ru/support/download/category260
12) на сервере с менеджером лицензий должен быть статический ip-адрес
13) при большом количестве пользователей раздавайте менеджеры лицензий для каждого клиента персонально, указывая конкретный компьютер
NH_SERVER_ADDR = 192.168.159.1 ;;(IP-адрес должен быть правильный)
14) Использование сетевых ключей HASP на 300 и 500 пользователей:
Ключи на 300 и 500 пользователей — это ключи HASP HL (нет ключей HASP 4 на такое количество пользователей). Это означает возможность одновременной установки в компьютер нескольких ключей (напрмер на 20 и на 500 пользователей) .
Максимальное количество пользователей, одновременно подключенных к менеджеру лицензий, определяется значением параметра NHS_USERLIST файла nhsrv.ini. Его значение по умолчанию — 250. Чтобы увеличить максимальное количество подключений необходимо:
- разместить файл nhsrv.ini в каталоге, из которого запускается менеджер лицензий;
- изменить значение параметра NHS_USERLIST на необходимое (300, 500 или другое);
- перезапустить менеджер лицензий;
- убедиться, что менеджер лицензий нашел файл nhsrv.ini по журналу Activity Log/ Server Activity Log.
Клиентское приложение и COM-соединение 1С:Предприятия начиная с версии 8.1.13.41 допускает использование следующих ключей HASP:
* локальный клиентский ключ серии ORGL8 на 1 пользователя,
* сетевой клиентский ключ серии ORGL8 на 5, 10, 20, 50 и 100 пользователей,
* сетевой клиентский ключ серии ORG8A на 300 пользователей,
* сетевой клиентский ключ серии ORG8B на 500 пользователей
15. Для COM-соединений к 64х битному серверу приложений использование возможно только на том компьютере, на котором установлен ключ 64-разрядного сервера 1С:Предприятия (и не из терминальной сессии).
Для использования V81.COMConnector на компьютерах, которым доступны только клиентские ключи, можно зарегистрировать 32-разрядный V81.COMConnector в COM+.
— запустите Component Services;
— создайте пустое COM+ приложение с Activation type — Server application и именем, например, V81_COMConnector, укажите имя пользователя Windows, от имени которого компонента будет запускаться в адресном пространстве отдельного процесса dllhost.exe;
— в ветке Components добавьте новую компоненту comcntr.dll из каталога загрузочных модулей 1С:Предприятия.
В этом случае V81.COMConnector будет запускаться в отдельном 32-разрядном процессе и может использоваться как 32-разрядными, так и 64-разрядными приложениями.
16. Настройка ключей под линукс здесь .
17. Если в разных терминальных сессиях логинятся разные пользователи операционной системы, то поместите правильные nethasp.ini в каталоги:
и удалите их из других каталогов.
Отличия для версии 8.2
Конфигуратор, толстый и тонкий клиенты могут находить клиентский ключ сами, как это было в версии 8.1.
Веб-клиент сам найти клиентский ключ не может. Поэтому для его работы необходимо, чтобы серверу 1С:Предприятия был доступен клиентский ключ.
Если конфигуратор, толстый и тонкий клиенты не нашли клиентский ключ, то они также предпринимают попытку получения клиентской лицензии через сервер 1С:Предприятия.
Подробности — в книге «Руководство администратора», глава 9 «Защита от несанкционированного использования особенности и настройка», п. 9.2.3 «Особенности учета клиентских лицензий».
ЕСЛИ ВДРУГ НЕ ХВАТАЕТ ЛИЦЕНЗИЙ!
Ключ перенести сервер 1С. Самому серверу и терминальным клиентам запретить общаться с ключем по сети. Для этого в nethasp.ini отключить все протоколы:
NH_IPX = Disabled ; Use the IPX protocol
NH_NETBIOS = Disabled ; Use the NETBIOS protocol
NH_TCPIP = Disabled ; Use the TCP/IP protocol
Таким образом терминальные клиенты получат лицензию через сервер 1С.
Программные лицензии 1С:Предприятие 8.2
Такой способ лицензирования удобен например при работе сервера 1С Предприятие в виртуализованной среде типа Hyper-V.
file:///C:/Program%20Files/1cv82/8.2.11.235/docs/ru/V8Update.htm
Реализована защита от несанкционированного использования с помощью программной лицензии. Защита с помощью ключей HASP или программных лицензий определяется поставкой защищаемого продукта.
- вместо ключа появляется файл лицензии (с расширением .lic), привязанный к параметрам компьютера
- наименование операционной системы.
- версия операцинной системы.
- серийный номер операционной системы (только в случае ОС Windows).
- дата установки операционной системы (только в случае ОС Windows).
- сетевое имя компьютера.
- модель материнской платы.
- объем оперативной памяти.
- тип и версия BIOS.
- список процессоров.
- список сетевых адаптеров и их MAC-адреса.
- список жестких дисков.
- список разделов жестких дисков.
- список видеоадаптеров.
Теоретически должен стать более логичный контроль изменений среды, а имеено добавление новых устройств, новых планок памяти не считается изменим среды и повод отказать в успешной проверке условий работы.
Не логично, но если «сгорит» планка памяти, или в виртуалке уменьшите доступную память, то лицензии все равно «слетят».
Прочее.
Работа с ключами защиты типа hasp srm и т.п. пока не планируется.
Планов по отказу от аппаратной защиты у 1С пока нет.С многопользовательскими программными лицензиями возможна работа если:
— в терминальном режиме
— в клиент-серверном варианте
— через веб-сервер (в тонком и веб-клиенте)Архитектура работы с ключами на сервере 1с
За получение серверной лицензии отвечает rphost.
За получение клиентской лицензии, если клиентские лицезии раздаются сервером 1С:Предприятия, отвечает rmngr, на который размещен сервис сеансовых данных.
Отличия для 1С:Предприятие 8.3
В 8.3 появилась возможность использования «менеджера программных лицензий» напоминая менеджер «аладина». Цель — возможность вынести ключ на отдельную машину.
Реализован он в виде еще одного «сервиса» в менеджера кластера. Вы можете использовать к примеру «свободный» ноутбук. Добавьте его в кластер 1с 8.3, создайте на нем отдельный менеджер с сервисом «сервис лицензирования». В ноутбук можно воткнуть аппаратных hasp-ключ, или активировать программные лицензии.
Наибольший интерес для программистов должен представлять «Требования назначения функциональности».

Так на ноутбуке с ключом защиты чтобы не запускать пользователей на сервер кластера надо добавить «требования» для объекта требования «Клиентское соединение с ИБ» — «Не назначать», т.е. запретить рабочим процессам данного сервера обрабатывать клиентские соединения.
Сервер 1С, где работает только сервер лицензирования и нет клиентских подключений НЕ ТРЕБУЕТ серверный ключ защиты!
Официальный монитор от Aladdin здесь.
При работе под линукс учитывать, что:
Утилита HASP Admin Control Center (hasplmd) не предназначена для работы с ключами HASP H4, поэтому они ей и не отображаются. Однако менеджер лицензий (hasplm) и сервер 1С:Предприятия корректно работает с такого рода ключами. Просмотреть статус сетевых ключей H4, установленных на Linux-машине, можно при помощи утилиты Aladdin Monitor, запущенной в Windows.
Тема: Взлом\Эмуляция ключей Катран (СЛК 1.1 — ?)

Взлом\Эмуляция ключей Катран (СЛК 1.1 — ?)
Всем доброго! Есть такие конфы, от 1с-рейтинга.kz, защищённые ключами для конфигураций, т.е. не hasp для платформы, а именно ключи для конфигурации (в конфе мутят кучу ссылок на проверку защиты, чуть ли ни в каждом отчёте\документе, поэтому отключить их трудно(по крайней мере я никак не сообразил как, слишком много «привязей»)) Ключи usb маленькие красненькие, вот такие:
Работают на проге СЛК 1.1, зовутся Катрановскими (гугл шепнул)
Суть: банально, но про%%ли ключ (при перевозке выпал из дырявой коробочки по всей видимости, всю машину облазил, не нашёл. ), уже отправили запрос но получение нового ключа, но он будет идти больше недели, а сея конф-ция нужна для работы уже в пятницу. Зашиваемся, нужно временно ломануть.
Ребят, кто сталкивался, кто знает как ? С меня Пивасик.
P.S. Платф. 1С8.2 конечно же, а Конфа — Бух учёт для Казахстана: организация здравоохранения.
Выручайте.28.12.2012, 03:35 #2


Помогает людям
Регистрация 19.03.2010 Адрес Деревня «Гадюкино» Сообщений 298 Сказал(а) спасибо 119 Поблагодарили 931 раз(а) в 171 сообщениях
Сообщение от Nerion 

Всем доброго! Есть такие конфы, от 1с-рейтинга.kz, защищённые ключами для конфигураций, т.е. не hasp для платформы, а именно ключи для конфигурации (в конфе мутят кучу ссылок на проверку защиты, чуть ли ни в каждом отчёте\документе, поэтому отключить их трудно(по крайней мере я никак не сообразил как, слишком много «привязей»)) Ключи usb маленькие красненькие, вот такие:
Работают на проге СЛК 1.1, зовутся Катрановскими (гугл шепнул)
Суть: банально, но про%%ли ключ (при перевозке выпал из дырявой коробочки по всей видимости, всю машину облазил, не нашёл. ), уже отправили запрос но получение нового ключа, но он будет идти больше недели, а сея конф-ция нужна для работы уже в пятницу. Зашиваемся, нужно временно ломануть.
Ребят, кто сталкивался, кто знает как ? С меня Пивасик.
P.S. Платф. 1С8.2 конечно же, а Конфа — Бух учёт для Казахстана: организация здравоохранения.
Выручайте.мне чего либо универсального не когда не попадалось, помогал знакомому, от сылок отучали руками. долго, но действенно
Пользователь сказал cпасибо:
28.12.2012, 12:27 #3

Гость форума
Регистрация 04.01.2012 Сообщений 7 Сказал(а) спасибо 0 Поблагодарили 0 раз(а) в 0 сообщениях
Там уж очень много ссылок в конфе, поможешь расковырять ? По тимвиверу там и скайпику ?
29.12.2012, 16:53 #4

Иногда оказывает помощь
Регистрация 17.01.2011 Сообщений 142 Сказал(а) спасибо 0 Поблагодарили 14 раз(а) в 14 сообщениях
Думаю не получится, поскольку отучал бухгалтерию сельскохозяйственного предприятия от такого-же ключа (СЛК 2.0).Этот ключ-по сути криптопроцессор.В конфе есть специальный файл, в котором хранятся элементы защищенной конфигурации.И, например, при проведении документа дается ссылка на кусок зашиврованного кода в этом файле, ключ расшифровывает и передает текст обратно 1С-ке, и она уже формирует проводку.Поскольку кусков таких было не так уж и много, то просто ручками всё это дело переписывал.Какой-либо программы-эмулятора тоже не нашел.
Поживем — увидим, доживем — узнаем, выживем — учтем!
Пользователь сказал cпасибо:
29.12.2012, 16:58 #5


Помогает людям
Регистрация 19.03.2010 Адрес Деревня «Гадюкино» Сообщений 298 Сказал(а) спасибо 119 Поблагодарили 931 раз(а) в 171 сообщениях
Сообщение от AndyPanda 
Думаю не получится, поскольку отучал бухгалтерию сельскохозяйственного предприятия от такого-же ключа (СЛК 2.0).Этот ключ-по сути криптопроцессор.В конфе есть специальный файл, в котором хранятся элементы защищенной конфигурации.И, например, при проведении документа дается ссылка на кусок зашиврованного кода в этом файле, ключ расшифровывает и передает текст обратно 1С-ке, и она уже формирует проводку.Поскольку кусков таких было не так уж и много, то просто ручками всё это дело переписывал.Какой-либо программы-эмулятора тоже не нашел.
мы смотрели где конда спотыкаеться и процедуры дописывали, геморой еще тот
01.01.2013, 13:19 #6

Гость форума
Регистрация 04.01.2012 Сообщений 7 Сказал(а) спасибо 0 Поблагодарили 0 раз(а) в 0 сообщениях
Значит ничего не сможем сделать. И Придётся ожидать новый ключ.
01.01.2013, 14:04 #7


Помогает людям
Регистрация 19.03.2010 Адрес Деревня «Гадюкино» Сообщений 298 Сказал(а) спасибо 119 Поблагодарили 931 раз(а) в 171 сообщениях
Сообщение от Nerion 
Значит ничего не сможем сделать. И Придётся ожидать новый ключ.
всю конфу вам перебирать явно, никто не будет, у людей своих дел достаточно,
а если вы сами кодить начнете и где-то тормознете
то я думаю что вам на этом форуме подскажут, что и куда и все будет у вас гуд23.07.2018, 09:28 #8

Гость форума
Регистрация 27.12.2015 Сообщений 3 Сказал(а) спасибо 0 Поблагодарили 0 раз(а) в 0 сообщениях
Re: Взлом\Эмуляция ключей Катран (СЛК 1.1 — ?)Как взломать СЛК за 20 минут
Честно говоря, мне совершенно не хотелось взламывать сервер лицензирования конфигураций (СЛК), ибо, исходя из назначения СЛК и судя по разговорам в Интернете, это в принципе невозможно. Но мои пользователи настолько замучили меня своими жалобами на программы, запрятанные на СЛК, что пришлось ввязаться в это безнадежное мероприятие ради получения доступа к исходным текстам, что хоть как-то позволило взять ситуацию под контроль.
Эта статья — своеобразная месть за многочисленные проблемы, которые доставляют жадные производители программного обеспечения, скрывающие свои «творения» от сопровождающих их специалистов, и нарушающие основной принцип 1С — открытость исходных текстов и и возможность изменить их под свои нужды. В моем случае особенно обидным является наличие ошибок в защищенных модулях и отсутствие какой-либо поддержки от производителя. Такое нельзя оправдать никакой «защитой интеллектуальной собственности».
Перейдем непосредственно к сути вопроса. Если вы имеете опыт программирования в среде 1С, то взломать СЛК и выгрузить оттуда исходные тексты защищенных модулей не представляет никакой сложности. При некотором навыке вы будете тратить на каждый модуль не более 20 мин. Полученные модули можно вставить в вашу конфигурацию, и она сможет работать без помощи СЛК.
Интересующие нас модули размещаются в модулях объекта обработок, которые в зашифрованном виде хранятся на СЛК. В процессе работы эти обработки подгружаются в 1С Предприятие примерно следующим образом:
// Этап 1 запускается компонента для связи с СЛК.
ПодключитьВнешнююКомпонен ту(«ОбщийМакет.торо_Компоне нтаСЛК_2_0_Session», «Licence»,ТипВнешнейКомпоненты .Native);
МенеджерЛицензий.Параметр� �Связи = «host=» + Адрес + «;port=» + Порт;
МенеджерЛицензий.ОкноУста� �овкиСвязи = Истина;
МенеджерЛицензий.Запуск(«. ?», Ложь); // Параметры: серия, только наличие ключа
// Этап 2 с СЛК запускается внешняя обработка 1С, проверяющая наличие свободной лицензии и запускающая нужную нам обработку
МенеджерОбъектов = ВнешниеОбработки.Создать(М енеджерЛицензий.МенеджерО� �ъектов, БезопасныйРежим());
МенеджерОбъектов.Установи� �ьМенеджерЛицензий(Менедже рЛицензий);
// Этап 3 с СЛК запускается внешняя обработка 1С, выполняющая нужный нам расчет
Обработка = МенеджерОбъектов.СоздатьО� �ъект(«КакаяТоОбработкаНаи� �енование»);
// в этом месте необходимо остановить платформу чтобы прочитать текст модуля объекта нашей обработки
Вопрос(«Сделайте дамп памяти «,РежимДиалогаВопрос.ОК);
// Этап 4 собственно выполнение нужного нам расчета
Реальный механизм несколько сложнее и запутаннее, а также может отличаться в зависимости от конфигурации, но автор надеется на ваш профессионализм и способность посмеяться над этой пародией на обфускацию.
И так, наша задача – найти место где создается обработка, выполняющая интересующие нас действия, остановить платформу сразу после ее создания, сделать дамп памяти платформы и поискать там исходные тексты этой обработки. По моему опыту есть большой шанс, что модуль объекта обработки не компилирован, а участок памяти, где хранился ее исходный текст, не был использован на другие нужды.
Когда такое место найдено, то теоретически можно остановить платформу в отладчике конфигуратора и сохранить дамп памяти, но это не самый лучший путь. Объем дампа может быть очень большим, вычисления выполняются на сервере приложений, который может быть нам не доступен, взаимодействие платформы с отладчиком требует дополнительного обращения к памяти. Последнее обстоятельство может привести к порче исходного текста, а именно вкраплению в него каких-то двоичных данных.
Для того чтобы безнадежное мероприятие имело шанс на успех предлагается следующая методика. Все этапы создания обработки переносятся в чистую файловую базу данных. При этом база должна запускаться в режиме обычного приложения. Если не получиться прочитать тексты, можно попробовать управляемое приложение. Механизм создания интересующей нас обработки оформляется как в моем случае в виде внешней обработки или любым другим удобным для исследователя способом. Текст программы должен похож на приведённый выше, остановка платформы осуществляется встроенной функцией Вопрос(). Если в процессе создания исследуемой обработки обнаружатся ссылки на необходимые ей объекты конфигурации, перенесите эти объекты из исходной конфигурации. В моем случае имели место сообщения об отсутствии нескольких переменных, которые в действительности были общими модулями. Для преодоления препятствия оказалось достаточно создать соответствующее количество пустых общих модулей с требуемыми наименованиями. Наконец, в конфигурацию нужно перенести общий макет с компонентой подключения к СЛК.
Далее, затаив дыхание, необходимо запустить механизм создания интересующей нас обработки и дождаться остановки платформы, после чего в диспетчере задач Windows найти наш процесс 1cv8.exe, щелкнуть на нем правой кнопкой, и в выпадающем меню выбрать пункт «Создать дамп памяти».
Теперь настала пора применить страшный хакерский инструмент FarManager. Полученный дамп памяти мы открываем в его редакторе, устанавливаем Codepage 1200, и в поиске набираем известные нам фрагменты программы, в качестве которых можно использовать наименование вызываемой процедуры типа «ВыполнитьКакойТоРасчет», либо сообщения, которые обработка выдает пользователям. Как правило искомый текст встречается в нескольких местах, необходимо просмотреть их все. Таким образом вполне вероятно вы увидите исходный текст модуля объекта обработки. Наконец, необходимо «на глаз» определить начало и конец модуля объекта обработки, выделись его и нажать Ctrl+c.
Далее вы создаете в исходной конфигурации одноименную обработку и вставляете в ее модуль объекта полученный текст. Остается закомментировать все обращения к СЛК и создать обработку стандартным способом:
Обработка = Обработки.КакаяТоОбработк� �Наименование.Создать();
Важное замечания: в текстах защищенных модулей объекта обработок могут быть ссылки на реквизиты и табличные части этих обработок. Узнать их наличие и свойства можно в отладчике конфигуратора сразу после создания обработки с помощью СЛК.
