При работе в программе «1С:Предприятие» пользователи могут столкнуться с внезапным прекращением работы приложения. На экране появляется критическое окно с сообщением: «Обнаружено нарушение целостности системы» и кнопками «Завершить работу» или «Перезапустить». Данная проблема не связана с ошибками в кодовой базе самой конфигурации или сбоями СУБД. Это результат срабатывания внутренней системы защиты платформы от нелицензионного использования.
В этой статье мы подробно разберем причины возникновения этой неполадки, проанализируем механизмы ее появления и рассмотрим пошаговые инструкции по полной очистке операционной системы для восстановления корректной и стабильной работы легального программного обеспечения.
Начиная с релизов платформы 8.3.10.2699 и 8.3.11.2899, разработчики из фирмы «1С» внедрили и существенно усилили механизмы самодиагностики программного обеспечения. Ошибка контроля целостности срабатывает в автоматическом режиме при обнаружении в операционной системе признаков взлома защиты или модификации исполняемых файлов. Рассмотрим подробнее основные триггеры этой системы:
backbas.dll, а также сопутствующие библиотеки frntend.dll и mngcln.dll. Если эти файлы были изменены сторонними утилитами для обхода лицензирования (например, популярным в свое время UniPatch), платформа заблокирует работу.Интересной особенностью защиты является то, что предупреждение появляется не сразу в момент запуска «1С:Предприятия», а спустя произвольный промежуток времени (обычно от 5 до 20 минут активной работы пользователя). Это сделано намеренно для усложнения анализа алгоритмов защиты.
Для того чтобы система защиты платформы перестала выдавать предупреждение, нам необходимо полностью деинсталлировать все виртуальные устройства шины HASP. Проанализируем эту процедуру пошагово:
services.msc и остановите все службы, связанные с защитой Sentinel или HASP (например, Sentinel LDK License Manager или HASP Loader). Если вы используете клиент-серверный вариант работы, временно остановите службу Агент сервера 1С:Предприятия.devmgmt.msc в окне «Выполнить»).Virtual Usb Bus Enumerator (также оно может называться vusbbus или иметь схожее имя, указывающее на виртуальную шину).Даже после удаления виртуального устройства в системном реестре Windows остаются записи служб, которые продолжают считываться платформой «1С». Для их удаления воспользуемся редактором реестра.
Запустите редактор реестра через команду regedit от имени администратора. Проанализируем ветки реестра, которые необходимо проверить и очистить. Пройдите по следующему пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
В этом разделе найдите и полностью удалите папки (ключи реестра) со следующими названиями, если они присутствуют:
vusbbushaspfltEmulatorEmuТакже рекомендуется проверить раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASP\ и удалить его содержимое, если там содержатся дампы ключей защиты.
Для автоматизации этого процесса системные администраторы могут создать и применить файл реестра с расширением .reg. Рассмотрим пример содержимого такого файла для быстрой очистки:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vusbbus]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASP]
После внесения изменений в реестр необходимо перезагрузить компьютер, чтобы операционная система применила конфигурацию и окончательно выгрузила драйверы из оперативной памяти.
Если ранее на компьютере применялись утилиты класса «патч», они могли физически перезаписать оригинальные исполняемые файлы платформы 1С. Даже после очистки реестра и удаления эмуляторов измененный файл backbas.dll будет вызывать ошибку нарушения целостности.
Рассмотрим процедуру восстановления оригинальных файлов:
C:\Program Files\1cv8\ или C:\Program Files (x86)\1cv8\) и убедитесь, что папки удаленных версий полностью стерты. Если в них остались сторонние файлы, удалите эти каталоги вручную.Sentinel HASP Device Driver, если вы используете физические аппаратные USB-ключи.После очистки компьютера от вредоносных компонентов необходимо убедиться, что платформа имеет доступ к легальным лицензиям. Существует два основных типа лицензирования в среде 1С:
nnhasp.ini, чтобы тонкие и толстые клиенты могли корректно обнаружить менеджер лицензий в локальной сети.Выполнение этих шагов гарантирует полное исчезновение предупреждения «Обнаружено нарушение целостности системы» и обеспечит бесперебойную и стабильную работу программного комплекса в соответствии с лицензионным соглашением правообладателя.