«Обнаружено нарушение целостности системы» в 1С:Предприятие
«Обнаружено нарушение целостности системы» такую ошибку увидели многие пользователи при входе в 1С. Ошибка вызвана тем, что в декабре 2017 года 1С выпустили платформы с версиями 8.3.10.2699 и 8.3.11.2899, в которые внедрили механизм проверки легальности программы.
Если версия вашей платформы 1С выше 8.3.10.2699 или 8.3.11.2899, то при работе с файловой базой данных вы скорей всего получите ошибку «Обнаружено нарушение целостности системы». Данная ошибка возникает даже если у вас лицензионная версия 1С.
Почему возникает ошибка «Обнаружено нарушение целостности системы»?
Давайте разберемся почему возникает ошибка. Механизм проверки легальности 1С построен по следующему принципу. При запуске 1С и входе в базу данных программа делает несколько проверок:
- изменен файл
backbas.dll
(проверяется контрольная сумма) - установлены ли эмуляторы
- наличие в реестре записей от эмуляторов
При обнаружении нелегальной версии (возможно просто неправильно установленной программы) 1С выдает ошибку и дает на выбор «Завершить работу» или «Перезапустить» 1С.
При просмотре подробностей никакой дополнительной информации мы не получим.
Тут у пользователей начинается паника и они судорожно начинают названивать своим системным администраторам. Ничего страшного не произошло. Ваша база в целости и сохранности. Никакие тестирования и исправления, а также программы для восстановления баз данных 1С не помогут. Данная ошибка никак не связана с базой 1С.
Ошибка выдается при обнаружении нелегальной версии 1С или установке эмуляторов ключей. Возможно у вас лицензионная версия, но скорей всего до покупки лицензии вы пользовались нелицензионной версией и не удалили ее или от нее остались следы в системе.
Как избавиться от ошибки «Обнаружено нарушение целостности системы»
Есть несколько способов побороть данную ошибку.
Откатить версию 1С:Предприятие до более ранней. Последние версии, которые работают без проверки файла backbas.dll
и эмуляторов 8.3.10.2667 и 8.3.11.2867. Это решение временное, т.к. рано или поздно выйдет конфигурация, которая не будет работать в данных версиях.
Удалите эмулятор HASP. Эмуляторов существует много поэтому трудно написать универсальную инструкцию по их удалению. Можете попробовать воспользоваться следующими шагами:
- Найдите и удалите файлы VUsb.sys и vusbbus.sys
- Выполните команды в командной строке от имени Администратора:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt
del %systemroot%\system32\drivers\haspflt.sys
Рекомендуется удалить также ветки реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emulator
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emu
Ну и на крайний случай rbc_icp патчер (Integrity Check Patcher). Если у вас есть лицензионный ключ для 1С, а USB разъемы вам жизненно необходимы, то можете воспользоваться нелегальным способом. Данный патч отключает проверку целостности системы в последних версиях 1С:Предприятия, где она внедрена.
Патч изменяет следующие файлы:
- backbas.dll (используется унипатч 1c8_UP.exe)
- frntend.dll (отключение проверки целостности в толстом клиенте)
- mngcln.dll (отключение проверки целостности в тонком клиенте)
Есть еще вариант нелегального обхода проверки. Любым hex-редактором открываете файл backend.dll (если у вас версия 8.1) или backbas.dll (если у вас версия 8.2,8.3) из каталога bin в каталоге с установленной 1C, ищете HEX-значения: 100000FFD085C00F8208F8FEFF0F8416
и заменяете 85 на 31.
Информация в конце статьи предоставлена исключительно для ознакомления и не призывает к противоправным действиям!
Обновление от 15.01.2019
Скрипт для удаления VUSBBUS и HASPFLT
Код:
@echo off
setlocal enableextensions disabledelayedexpansion
for %%a in (vsubbus haspflt) do call :CheckDriver %%a
pause
goto :eof
:CheckDriver
sc query %1|find /i «KERNEL_DRIVER»>nul
if errorlevel 1 goto :DelSYS
sc stop %1
sc delete %1
:DelSYS
del /f /q «%SystemRoot%\system32\drivers\%1.sys»
goto :eof
Сохранить в CMD-файл, запускать от админа.
Обновление от 01.02.2021
1 февраля 2021 компания 1С подкинула «бомбу» пользователям 1С:Предприятие, из-за которой у многих (в том числе и с официальной лицензией 1С) пользователей начала возникать «Ошибка целостности» или «Аварийное завершение работы».
Официально это подтверждено в информационном выпуске №28028 от 01.02.2021 от 1С:
В каких случаях появляется сообщение «Обнаружено нарушение целостности системы» и что означает?
Программы 1С:Предприятие ПРОФ и КОРП версий защищены от нелицензионного использования аппаратными или программными ключами защиты.
Причина сообщений — в наличии на компьютере нелегального эмулятора ключа защиты, либо следов его установки.
То есть, возможны два варианта:
- в настоящий момент используется «взлом» (отключение или модификация) защиты (файлов платформы) 1С:Предприятия в различных вариантах, например, не куплена сама «основная» программа 1С:Предприятие и клиентские лицензии на рабочие места, а также лицензии на сервер, или используется больше рабочих мест чем куплено, или версия КОРП вместо купленной ПРОФ и т.п. Такие действия могли быть произведены пользователем как осознанно, так и случайно: кто-то мог оказать добросовестному пользователю 1С такую «медвежью услугу».
- на компьютере есть следы «взлома» защиты, хотя сейчас используются только легально приобретенные программы 1С:Предприятие со штатной защитой.
Как удалить эмуляторы защиты
Сообщение «Обнаружено нарушение целостности системы» — это не ошибка, а штатное поведение платформы «1С:Предприятие». Причины появления этого сообщения может быть наличие на компьютере:
- Пиратского эмулятора HASP, с которым в данный момент работает платформа «1С:Предприятие».
- Пиратского эмулятора HASP или его остатков, с которым в данный момент платформа «1С:Предприятие» не работает, а использует легальную лицензию.
- Модифицированной версии платформы «1С:Предприятие».
Варианты Ваших действий при появлении сообщения «Обнаружено нарушение целостности системы» (только для ИТ-специалистов!):
- Удалить эмулятор HASP. Рекомендации:
- Вариант 1. Найдите и удалите файлы VUsb.sys и vusbbus.sys
- Вариант 2.
Выполните команды:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt
(Если утилиты loaddrv на компьютере нет, то в списке служб остановите и удалите службу haspflt)
del%systemroot%\system32\drivers\haspflt.sys
Рекомендуется удалить также ветки реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\haspflt\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vusbbus
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASP\Services\Emulator\HASP\Dump
Убедитесь, что в реестре ничего не обнаруживается при поиске по слову «hasp».
- Вариант 3.
Найдите и удалите файл multikey.sys
.
Он может быть в каталогах:
c:\Windows\System32\drivers\
c:\Windows\System32\
c:\Windows\SysWOW64\
Поскольку существуют и появляются разные эмуляторы, то приведенные рекомендации по их удалению не являются исчерпывающими. Если они не помогли, Вы можете самостоятельно поискать рекомендацию по удалению того эмулятора, который ставился на Ваш компьютер.
- Если все усилия по удалению эмулятора не привели к результату — переустановите Windows и заново установите «1С:Предприятие».
Все эти рекомендации подходят если у вас есть лицензия 1С. Если лицензии 1С нет, то на данный момент работает универсальное средство лечения Mimo-UniDll (mimo-dll, UniDll).
Обновление от 06.04.2021
«На сервере 1С:Предприятия произошла неисправимая ошибка» и «1с:enterprise integrity violation»
6 апреля началась очередная волна падения баз 1С. Ошибки, с которым вылетают базы: «1с:enterprise integrity violation» и «На сервере 1С:Предприятия произошла неисправимая ошибка».
Предположительно ошибка возникает при запросе к модулю штрихкодов. Наличие файла v8_xxx.1CBarcodWin64_9_0_12_13.dll в папке временных файлов пользователя сервера 1С вызывает ошибку. Т.е. это не реакция на проверку лицензии, а баг обновления каких-то файлов 1С, связанных с баркодами.
Решение:
Инструкция добавлена в отдельную статью Ошибка «1с:enterprise integrity violation»