Как полностью удалить следы эмулятора HASP и убрать фантомные лицензии в 1С:Предприятие

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

Переход с нелицензионного программного обеспечения на официальные поставки — важный шаг для обеспечения стабильности и юридической безопасности бизнеса. Однако системные администраторы часто сталкиваются с техническими последствиями использования «взломанных» версий. Типичная ситуация: на компьютере ранее использовалась нелегальная сборка 1С для экспериментов, после чего компания приобрела официальную коробку 1С с аппаратным USB-ключом HASP на 5 пользователей. Вы устанавливаете лицензионную платформу, подключаете ключ, но в окне «О программе» продолжают отображаться фантомные лицензии — например, «500 локальных» и «50 сетевых».

В этой статье мы подробно разберем, почему операционная система и сама база данных продолжают «помнить» старый эмулятор, и как полностью очистить систему от его следов без переустановки Windows.

Шаг 1. Диагностика проблемы: где именно отображаются фантомные лицензии

Прежде чем приступать к активным действиям, нам необходимо выяснить, где именно платформа 1С находит информацию о лишних лицензиях. Откроем окно «О программе» (кнопка с буквой «i» в правом верхнем углу или через главное меню) и проанализируем раздел информации о лицензировании. Нам важно обратить внимание на два поля:

  1. Раздел «Текущая:» — показывает параметры лицензии, которая используется прямо сейчас для активного сеанса работы. Если фантомные 500 лицензий указаны здесь, это означает, что в вашей операционной системе всё еще запущен и функционирует эмулятор HASP, перехватывающий обращения платформы.
  2. Раздел «Информационная база:» — отображает историю всех лицензий, под которыми данная база когда-либо запускалась. Платформа 1С по умолчанию сохраняет эти сведения внутри самой базы. Если эмулятор в системе давно удален, но база запускалась под ним в прошлом, эти записи останутся в истории навсегда, даже если теперь вы работаете под абсолютно чистой лицензией.

Рассмотрим подробнее решения для обоих случаев.

Шаг 2. Очистка истории лицензий в базе данных (если данные отображаются в разделе «Информационная база»)

История когда-либо использовавшихся ключей сохраняется платформой во внутренней таблице базы данных под названием Files (или files в СУБД PostgreSQL). Данные записываются в служебный файл профиля с уникальным идентификатором c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl.

Простой перенос базы через выгрузку и загрузку конфигурации (файлы .cf или резервные копии .dt) не решит проблему, так как эти механизмы полностью переносят системную таблицу Files со всей ее историей. Выясним, как правильно очистить эту таблицу в зависимости от режима работы базы.

Вариант А. Очистка истории в клиент-серверной базе (SQL)

Если ваша база работает на сервере под управлением Microsoft SQL Server или PostgreSQL, очистить историю очень просто с помощью прямого SQL-запроса к базе данных.

Важно: Перед выполнением любых операций напрямую в СУБД обязательно создайте резервную копию вашей информационной базы! При работе с большим количеством систем операцию упрощает автоматическое архивирование информационных баз 1С по расписанию.

Выполним следующий SQL-запрос для очистки бинарных данных файла профиля лицензий:

Для базы данных на Microsoft SQL Server:


UPDATE Files 
SET BinaryData = CONVERT(varbinary(max), ''), datasize = 0 
WHERE FileName = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl'

Для базы данных на PostgreSQL:


UPDATE files 
SET binarydata = ''::bytea, datasize = 0 
WHERE filename = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl';

После выполнения запроса перезапустите службу сервера 1С:Предприятия и зайдите в базу. Проблема будет решена: в истории останется только ваша текущая легальная лицензия.

Вариант Б. Очистка истории в файловой базе (1Cv8.1CD)

Поскольку к файловой базе нельзя применить SQL-запрос напрямую, нам придется использовать обходные пути:

  1. Перенос данных через XML. Мы можем создать абсолютно чистую базу данных из официального дистрибутива на компьютере, где никогда не было эмуляторов. Далее, используя стандартную обработку ВыгрузкаЗагрузкаДанныхXML.epf (ее можно найти на диске ИТС или в каталоге шаблонов), мы переносим все данные из старой базы в новую. Этот способ гарантирует, что служебный файл истории лицензий не перенесется, так как переносятся только пользовательские данные и документы.
  2. Использование низкоуровневых утилит. Опытные специалисты могут воспользоваться утилитой Tool_1CD для работы с файлом 1Cv8.1CD. В ней необходимо открыть таблицу Files, найти строку с именем файла c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl и вручную очистить содержимое поля с бинарными данными.

Шаг 3. Удаление активного эмулятора из операционной системы (если данные отображаются в разделе «Текущая»)

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

1. Поиск скрытых веток в реестре Windows

Большинство эмуляторов прописывают дампы ключей в системный реестр. Даже если вы удалили управляющие программы, ветки реестра могли остаться. Откроем редактор реестра (сочетание клавиш Win+R, вводим regedit) и проверим следующие пути. Если они существуют, их необходимо удалить:

2. Остановка и удаление драйвера-фильтра haspflt.sys

Эмуляторы часто работают на уровне ядра ОС через специальный драйвер-фильтр haspflt.sys. Чтобы корректно остановить и полностью удалить его из системы, выполним следующие шаги:

  1. Запустим командную строку Windows от имени Администратора.
  2. Выполним поочередно команды для остановки службы драйвера, ее удаления и физического удаления файла с диска:

sc stop haspflt
sc delete haspflt
del %systemroot%\system32\drivers\haspflt.sys

3. Удаление виртуальных устройств в Диспетчере устройств

Часто эмуляторы устанавливают в систему виртуальную шину USB. Откроем «Диспетчер устройств» (команда devmgmt.msc в строке выполнения).

В верхнем меню обязательно выберем пункт «Вид» -> «Показать скрытые устройства». После этого внимательно изучим разделы «Системные устройства» и «Контроллеры USB». Нам нужно найти устройства с именами типа Virtual Usb Bus Enumerator, VUSBBUS или аналогичные виртуальные контроллеры. Нажмите на них правой кнопкой мыши и выберите «Удалить устройство», установив галочку «Попытаться удалить драйвер для этого устройства».

4. Полная переустановка платформы и очистка кэша

Некоторые старые варианты обхода защиты заменяли оригинальные библиотеки платформы 1С (например, файл backbas.dll в папке установки bin). Чтобы гарантировать чистоту кода платформы, выполним процедуру полной переустановки:

  1. Через «Панель управления» -> «Программы и компоненты» удалим все установленные версии платформы «1С:Предприятие».
  2. Вручную проверим и полностью удалим папки установки на диске: C:\Program Files\1cv8\ и C:\Program Files (x86)\1cv8\.
  3. Очистим кэш и временные файлы пользователя, удалив папки:
    • %APPDATA%\1C\1Cv8\
    • %LOCALAPPDATA%\1C\1Cv8\
  4. Скачаем официальный дистрибутив платформы из личного кабинета портала 1С или получим его у обслуживающего франчайзи и выполним чистую установку. После установки подключите ваш легальный USB-ключ на 5 пользователей — теперь платформа будет использовать только его.
← На главную