Переход клиентов с нелицензионного программного обеспечения на официальные поставки — процесс, который, казалось бы, должен приносить только радость и стабильность, особенно если при этом реализуется грамотная концепция защищенной IT инфраструктуры. Однако на практике системные администраторы и специалисты по внедрению часто сталкиваются с ситуацией, когда даже после покупки официальных ключей и коробок, «призраки» прошлого в виде эмуляторов продолжают преследовать систему. Рассмотрим подробно кейс, когда после удаления всех «кряков» и установки чистой платформы 1С продолжает сообщать об использовании эмуляторов или выдает ошибку проверки лицензии.
В обсуждаемом случае мы имеем следующую картину: на компьютере ранее использовалась «ломаная» версия 1С:Розница с эмуляторами аппаратных ключей защиты (HASP). Клиент приобрел официальную электронную поставку и клиентские лицензии. После удаления эмуляторов, чистки реестра и переустановки платформы наблюдаются две проблемы:
Разберем эти проблемы по отдельности, так как они имеют разную природу, хотя и связаны с одной историей эксплуатации.
Важно понимать, что сообщение о нелицензионном использовании не всегда напрямую связано с теми записями, которые мы видим в справке «О программе». Начиная с версий платформы 8.3.7 и новее, в 1С встроен механизм автоматической проверки правомерности использования. Он работает скрыто и проверяет не только наличие ключа и стандартные средства аутентификации, но и целостность библиотек, наличие следов взлома в системе и доступность серверов проверки.
Если мы столкнулись с такой ошибкой после легализации, нам необходимо провести глубокую чистку системы. Простого удаления программы-эмулятора часто недостаточно. Рассмотрим пошаговый алгоритм действий.
Большинство «патчей» блокируют доступ платформы к серверам проверки лицензий, прописывая запрещающие правила в системный файл hosts. Легальная платформа пытается связаться с серверами 1С, видит блокировку и считает это признаком пиратства.
Нам необходимо проверить файл по адресу:
C:\Windows\System32\drivers\etc\hosts
Откроем его любым текстовым редактором от имени администратора. Нас интересуют строки, содержащие адреса, связанные с 1С, например:
login.1c.rureleases.1c.ruwebits.1c.ruapi.1c.ruЕсли мы обнаружим подобные записи, перенаправляющие трафик на 127.0.0.1 или 0.0.0.0, их необходимо удалить. Файл должен быть чистым от блокировок ресурсов 1С.
Эмуляторы ключей часто устанавливают свои виртуальные драйверы, которые могут оставаться в системе даже после удаления основной программы. Чтобы их найти, нам потребуется «Диспетчер устройств».
Запустим диспетчер и обязательно включим отображение скрытых устройств (меню «Вид» -> «Показать скрытые устройства»). Далее внимательно просмотрим разделы:
Нас интересуют устройства с названиями вроде Virtual USB Bus Enumerator, MultiKey, Vusbbus и подобные. Если таковые найдены — удаляем их вместе с драйверами.
Даже если драйвер удален, записи о нем могут остаться в реестре, что также может триггерить защиту платформы. Запустим редактор реестра regedit и проверим следующие ветки на наличие следов (ключевые слова: hasp, sentinel, multikey, saber):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Если мы находим службы с именами типа haspflt (фильтр эмулятора), sentinel (если не установлен официальный драйвер), их следует удалить. Будьте осторожны: если вы используете официальные аппаратные USB-ключи, не удалите драйверы настоящего ключа защиты (обычно это Haspnt).
Это неочевидный, но важный момент. Эмуляторы могут создавать файлы с расширением .pfl, которые имитируют файлы программных лицензий. Платформа при старте считывает их и может выдавать конфликт. Проверим следующие директории и удалим все файлы .pfl, если мы точно знаем, что еще не активировали официальные программные лицензии, или если даты создания файлов старые:
C:\ProgramData\1C\1Cv8\confC:\ProgramData\1C\licenses%USERPROFILE%\AppData\Local\1C\1Cv8\confДля конфигураций, таких как 1С:Розница, 1С:Бухгалтерия и других типовых решений, критически важно подключить «Интернет-поддержку пользователей» внутри самой базы. Это служит маркером легальности для системы защиты.
Перейдем в раздел Администрирование -> Интернет-поддержка и сервисы. Введем логин и пароль от Портала 1С, на котором зарегистрированы приобретенные программные продукты. Система свяжется с сервером 1С, подтвердит легальность обновления и регистрации, что часто снимает ошибку «Нелицензионное использование».
Вторая проблема, описанная в ситуации, заключается в том, что в справке «О программе» отображаются данные о ключах, которых физически нет (следы эмуляторов), при этом на чистой базе их нет, но при загрузке конфигурации они появляются. В таких случаях часто помогает очистка хранилища настроек пользователей, позволяющая избавиться от накопленного «мусора» в профиле.
Давайте разберемся в механике работы платформы. Информация, отображаемая в нижней части окна «О программе» (раздел «Лицензия: Текущая» и «Информационная база»), формируется из двух источников:
В обсуждаемом случае автор видит: «Программная лицензия» (это текущая, легальная) и ниже «Информационная база: Сетевой HASP4 ORGL8...» (это исторический след). Платформа запоминает, с какими ключами происходила работа с этой базой. Это поведение нормальное и само по себе не является ошибкой. Если текущая сессия получила легальную программную лицензию, то историческая запись носит информационный характер.
Однако, тот факт, что эти данные переносятся при выгрузке/загрузке конфигурации (CF), может указывать на то, что параметры лицензирования прописаны в системных настройках самой конфигурации или базы данных. Чтобы их убрать, можно использовать инструмент для быстрой очистки настроек выбранных объектов.
Если мы создаем чистую базу — она пуста. Если мы накатываем на нее CF (файл конфигурации) из старой базы, то теоретически переносится только структура метаданных и программный код. Данные о лицензиях не должны переноситься с CF. Если автор утверждает, что ключи появились после загрузки конфигурации, есть два варианта:
nethasp.ini или кэша сеансовых данных на компьютере, ассоциируя их с ID конфигурации.Чтобы убедиться, что проблема исключительно визуальная, рекомендуем выполнить полную очистку кэша 1С.
Кэш часто хранит устаревшие данные о сеансах и параметрах запуска. Удаление базы из списка запуска и добавление её заново создает новую папку с кэшем, что является самым простым способом решения. Но для надежности лучше выполнить очистку кэша 1С вручную или с помощью специальных скриптов.
Закройте все окна 1С и удалите папки (где GUID — это длинные имена папок типа 80b18123-....):
%USERPROFILE%\AppData\Local\1C\1Cv8\GUID%USERPROFILE%\AppData\Roaming\1C\1Cv8\GUIDПодводя итог, для полного исцеления системы после «пиратского» прошлого нам необходимо выполнить комплекс мер:
.pfl, почистить hosts и реестр.MultiKey/VUSB в диспетчере устройств..lic, чтобы исключить конфликт.Если после всех действий ошибка «Нарушение целостности системы» продолжает появляться, имеет смысл полностью переустановить платформу 1С:Предприятие, предварительно удалив папку с версией из Program Files, так как некоторые «кряки» подменяют DLL-библиотеки (например, backbas.dll или frntend.dll), и стандартный инсталлятор может их не перезаписать, если версия совпадает.