С выходом обновлений платформы 1С:Предприятие 8.3 (начиная с версий 8.3.10.27xx и 8.3.12.14xx), многие системные администраторы и пользователи столкнулись с критической ошибкой «Обнаружено нарушение целостности системы». Данная проблема не является багом программы, а представляет собой результат работы обновленного механизма защиты. Система блокирует запуск, если обнаруживает следы использования нелицензионных способов активации, остатки эмуляторов ключей HASP или модифицированные системные файлы платформы.
В этой статье мы подробно разберем, почему возникает эта ошибка, и проанализируем пошаговый алгоритм полной очистки системы для восстановления работоспособности 1С. Рассмотрим ситуацию на примере ОС Windows Server 2008 R2, хотя данные инструкции актуальны и для более современных операционных систем.
Прежде чем переходить к активным действиям, нам необходимо понять, на что именно реагирует защита. Платформа 1С сканирует систему на наличие нескольких признаков:
bin установленной платформы (чаще всего это backbas.dll).Даже если в данный момент вы используете полностью легальную лицензию (как в случае автора темы, который перешел на многопользовательскую программную лицензию), старые «хвосты» от предыдущих манипуляций могут приводить к блокировке.
Первым делом проанализируем содержимое системных папок. Обычное удаление программ через панель управления не затрагивает файлы драйверов в системных директориях. Нам нужно вручную проверить наличие следующих файлов в папке C:\Windows\System32\drivers\:
multikey.sysvbus.sysmshasp.syshaspflt.syssentinel.sysaksproc.sysЕсли вы обнаружили любой из этих файлов, его необходимо удалить. Однако система может не дать этого сделать, если драйвер запущен. В таком случае воспользуемся командной строкой, запущенной от имени администратора. Рассмотрим пример остановки и удаления службы на примере гипотетического драйвера:
sc stop multikey
sc delete multikey
После выполнения этих команд файл в System32\drivers\ можно будет удалить физически.
Часто эмуляторы создают виртуальные устройства, которые не видны при обычном просмотре. Разберем, как их найти:
При обнаружении таких устройств нажимаем на них правой кнопкой мыши и выбираем «Удалить». Важно: в появившемся окне подтверждения обязательно установим галочку «Удалить программы драйверов для этого устройства».
Защита 1С проверяет определенные ветки реестра, которые характерны для популярных эмуляторов. Рассмотрим подробнее, какие разделы нужно проверить и очистить. Для этого запустим regedit и проанализируем следующие пути:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\NEH — этот раздел часто создается эмуляторами и подлежит полному удалению.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EmulatorHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\haspnt — будьте осторожны: если у вас используется легальный аппаратный ключ, этот раздел может относиться к официальному драйверу. Если лицензия программная — раздел можно удалять.Также рекомендуется выполнить поиск по всему реестру (Ctrl+F) по ключевому слову vbus и удалить связанные ключи, если они не относятся к реальному оборудованию сервера.
Если когда-либо на сервере применялись патчи, файл backbas.dll был заменен. Даже переустановка платформы поверх старой версии не всегда помогает, так как инсталлятор может оставить старые файлы. Проанализируем правильный алгоритм переустановки:
C:\Program Files (x86)\1cv8 (или C:\Program Files\1cv8 для 64-битной версии).8.3.12.1469).Это гарантирует, что все файлы dll будут иметь правильные контрольные суммы, соответствующие официальному релизу.
Иногда информация о «взломе» кэшируется в профиле пользователя, и даже после удаления всех эмуляторов ошибка продолжает появляться. Рассмотрим, как радикально очистить временные файлы. На каждой проблемной машине необходимо удалить содержимое следующих папок:
%AppData%\1C\1cv8%LocalAppData%\1C\1cv8Внимание: после очистки кэша список баз в окне запуска станет пустым, поэтому заранее сохраните файл ibases.v8i или будьте готовы прописать пути к базам заново.
В некоторых случаях для удаления драйверов защиты удобно использовать официальную утилиту от производителя ключей HASP (Sentinel). Посмотрим на пример команды для полной очистки системы от драйверов HASP:
haspdinst.exe -purge
Эта команда принудительно удаляет все установленные компоненты защиты HASP. После этого, если вы используете физический ключ, драйвер нужно будет установить заново. Если у вас программная лицензия — установка драйверов не требуется.
Ошибка «Обнаружено нарушение целостности системы» — это сигнал о том, что в операционной системе остались следы инструментов обхода защиты. Как показывает практика и опыт участников форума, только комплексная очистка (удаление драйверов .sys, чистка скрытых устройств в диспетчере, удаление веток реестра и полная переустановка платформы в чистую папку) позволяет полностью избавиться от этой проблемы и обеспечить стабильную работу 1С в легальном поле.