«Обнаружено нарушение целостности системы» в 1С:Предприятие

1С ошибка

«Обнаружено нарушение целостности системы» такую ошибку увидели многие пользователи при входе в 1С. Ошибка вызвана тем, что в декабре 2017 года 1С выпустили платформы с версиями 8.3.10.2699 и 8.3.11.2899, в которые внедрили механизм проверки легальности программы.

Обновление от 15.01.2019

Обновление от 01.02.2021

Обновление от 06.04.2021

Если версия вашей платформы 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. Эмуляторов существует много поэтому трудно написать универсальную инструкцию по их удалению. Можете попробовать воспользоваться следующими шагами:

  1. Найдите и удалите файлы VUsb.sys и vusbbus.sys
  2. Выполните команды в командной строке от имени Администратора:
    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\Emulato­r
    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С такую «медвежью услугу».
  2. на компьютере есть следы «взлома» защиты, хотя сейчас используются только легально приобретенные программы 1С:Предприятие со штатной защитой. 

Как удалить эмуляторы защиты

Сообщение «Обнаружено нарушение целостности системы» — это не ошибка, а штатное поведение платформы «1С:Предприятие». Причины появления этого сообщения может быть наличие на компьютере:

  1. Пиратского эмулятора HASP, с которым в данный момент работает платформа «1С:Предприятие».
  2. Пиратского эмулятора HASP или его остатков, с которым в данный момент платформа «1С:Предприятие» не работает, а использует легальную лицензию.
  3. Модифицированной версии платформы «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\

Поскольку существуют и появляются разные эмуляторы, то приведенные рекомендации по их удалению не являются исчерпывающими. Если они не помогли, Вы можете самостоятельно поискать рекомендацию по удалению того эмулятора, который ставился на Ваш компьютер. 

  1. Если все усилия по удалению эмулятора не привели к результату — переустановите 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»