Многие системные администраторы и специалисты 1С сталкиваются с внезапным появлением ошибки «Нарушена целостность информационной базы» при запуске программы. Эта проблема стала особенно актуальной после перехода на платформы версий 8.3.10.2699, 8.3.11.2899, 8.3.12.1440 и выше. Разберем природу этого явления: это не поломка самой базы данных, а срабатывание встроенной системы защиты платформы 1С. Программа обнаруживает в операционной системе следы использования средств обхода лицензионной защиты (эмуляторов ключей HASP) или модифицированные исполняемые файлы.
Важно понимать, что даже если вы приобрели официальные лицензии и активировали их, наличие «хвостов» от старых эмуляторов в системе все равно будет блокировать работу. Рассмотрим пошагово, как полностью очистить систему и вернуть программу в рабочее состояние.
Прежде чем приступать к активным действиям, выясним, почему система выдает такое сообщение. Механизм защиты 1С сканирует компьютер на наличие определенных признаков:
bin установленной платформы (например, пропатченная backbas.dll).Проанализируем ситуацию: если на компьютере когда-либо использовался так называемый «военно-морской способ» (пиратский взлом), новая платформа обязательно это обнаружит. Наша задача — провести полную «дезинфекцию» системы.
Первым делом проверим наличие виртуальных устройств, которые маскируются под аппаратные ключи. Выполним следующие действия:
Virtual Usb Bus Enumerator.SafeNet USB Key или Sentinel HL Key, которые присутствуют в системе при отсутствии физического ключа.Часто удаления через интерфейс недостаточно, так как файлы драйверов остаются в системных папках, а службы — в реестре. Рассмотрим ручной способ удаления через командную строку (CMD), запущенную от имени администратора:
Проверим наличие службы самого распространенного эмулятора vusbbus. Введем команду:
sc query vusbbus
Если система выдает ошибку 1060, значит, служба не установлена и этот шаг можно пропустить. Если же служба найдена, выполним последовательно:
sc stop vusbbussc delete vusbbusdel /f /q "C:\Windows\System32\drivers\vusbbus.sys"Повторим эти же действия для других возможных компонентов, таких как vsubbus, haspflt, multikey или vuhub.
Для ускорения процесса и исключения ошибок ручного ввода, воспользуемся проверенным скриптом, который объединяет поиск и удаление наиболее известных компонентов взлома. Рассмотрим код скрипта (сочетание CMD и JScript для обхода ограничений прав):
@set @x=0 /*
echo off
setlocal enableextensions disabledelayedexpansion
net sessions>nul 2>nul
if not errorlevel 1 goto :IsAdmin
echo Запуск от имени администратора...
start "" cscript //nologo /e:jscript "%~f0"
goto :eof
:IsAdmin
for %%a in (vusbbus vsubbus haspflt multikey vuhub) 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
if exist "%SystemRoot%\system32\drivers\%1.sys" (
del /f /q "%SystemRoot%\system32\drivers\%1.sys"
echo Файл %1.sys удален.
)
goto :eof
*/
var WSh = new ActiveXObject("WScript.Shell");
var Env = WSh.Environment("PROCESS");
var ShA = new ActiveXObject("Shell.Application");
ShA.ShellExecute(Env("COMSPEC"), '/c "' + WScript.ScriptFullName + '"', "", "runas", 1);
Этот скрипт автоматически проверит наличие служб, остановит их, удалит записи в системе и сотрет соответствующие файлы .sys из системной директории drivers.
После удаления файлов необходимо вычистить «мусор» из реестра, на который платформа 1С также обращает внимание. Внимание: перед редактированием реестра рекомендуется создать точку восстановления системы.
Разберем, какие ветки реестра подлежат удалению:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASPHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EmulatorHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspfltHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MultiKeyHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vusbbusТакже стоит проверить ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0529&Pid_0001. Если она существует и вы не используете в данный момент оригинальный USB-ключ HASP, ее наличие может провоцировать ошибку.
Если после очистки драйверов и реестра ошибка сохраняется, выясним, не была ли модифицирована сама платформа. Часто «активаторы» заменяют файл backbas.dll в папке bin. Даже установка новой версии 1С «поверх» не всегда корректно заменяет этот файл.
Выполним полную переустановку:
C:\Program Files\1cv8 (или C:\Program Files (x86)\1cv8).%AppData%\1C\1cv8 и %LocalAppData%\1C\1cv8.Проанализируем файл hosts, расположенный по адресу C:\Windows\System32\drivers\etc\hosts. Некоторые нелегальные инструменты вносят туда записи, блокирующие доступ к серверам лицензирования 1С (например, 1c.ru или v8.1c.ru). Откроем этот файл через Блокнот от имени администратора и удалим все строки, содержащие упоминания ресурсов 1С.
Существует миф, что если 1С выдала ошибку целостности, то программная лицензия (пин-код) аннулируется. Это не так. Как только вы полностью очистите компьютер от следов эмуляторов, ваша легальная программная лицензия подхватится автоматически. Однако в редких случаях информация о «взломе» может попасть в кэш защиты. В такой ситуации попробуйте временно переместить все файлы с расширением .lic из папки C:\ProgramData\1C\licenses в другое место и запустить 1С. Если программа вместо ошибки целостности попросит активировать лицензию — значит, система очищена успешно, и файлы лицензий можно вернуть на место.
Подведем итог: ошибка «Нарушена целостность информационной базы» — это всегда следствие наличия компонентов эмуляции ключей или модификации исполняемых файлов платформы. Тщательная очистка драйверов, служб и реестра по приведенному выше алгоритму позволяет решить проблему в 99% случаев без переустановки операционной системы.