Как найти скрытый эмулятор HASP и решить проблему с нехваткой лицензий 1С

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

В практике системного администрирования 1С в рамках проектирования защищенной IT инфраструктуры часто встречается ситуация: организация использует файловую базу в расшаренной папке, и при попытке подключить нового пользователя программа выдает ошибку «Лицензия не найдена». При этом на уже работающих компьютерах физических USB-ключей нет, а в логах отображается наличие локального ключа. Разберем подробно, как проанализировать эту ситуацию, выявить скрытые средства обхода защиты и привести систему в рабочее состояние.

Анализ состояния системы через технологический журнал

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


07:23.125001-1,LIC,1,process=1cv8c,OSThread=8900,Func=initialize,txt='local Application, hasp HL soft local, ORGL8 local net, ORG8A local net, ORG8B local net, Base local net'
07:37.985000-109998,HASP,1,process=1cv8c,OSThread=8900,Txt=' MEMOHASP_HASPID(,port=102,ser=ORGL8,,,,)->id=1559132065,,stat=0,'
1,LIC,1,process=1cv8c,OSThread=8900,Func=HaspLicense::InternalRelease,res=release,txt='133581824, 20260213200723, client; hard, local, client, 5'

Проанализируем эти данные. Обратим внимание на параметр id=1559132065. Этот идентификатор является широко известным «публичным» дампом (отпечатком) сетевого ключа на 5 пользователей (ORGL8). Если вы видите этот ID на разных компьютерах, а 1С при этом сообщает, что ключ локальный (local) — это неопровержимое доказательство использования эмулятора.

Выясним причину ошибки подключения нового пользователя: эмулятор «подсовывает» операционной системе виртуальное USB-устройство. Каждый компьютер «думает», что в него воткнут персональный ключ на 5 лицензий. Поскольку ключ считается локальным, он не транслирует лицензии по сети. Новый компьютер, на котором не установлен такой же эмулятор, не видит ключа в сети и отказывается запускать базу.

Метод «физического» поиска: проверка сетевой зависимости

Если у нас есть сомнения, действительно ли на компьютере стоит взломанная версия или ключ «прилетает» откуда-то из сети, применим простой, но эффективный метод:

  1. Создадим на компьютере пользователя пустую локальную базу 1С.
  2. Отключим сетевой интерфейс (выдернем кабель или выключим Wi-Fi).
  3. Попробуем запустить пустую базу.

Если база успешно запускается при отсутствии интернета и локальной сети, а в системном трее или диспетчере устройств нет физического ключа — значит, эмулятор установлен непосредственно на этой машине. Если же 1С требует лицензию — значит, система пытается найти ключ (или эмулятор ключа) на другом сервере в сети.

Использование утилит мониторинга Sentinel и Aladdin

Для управления аппаратными ключами используется драйвер Sentinel HASP. Проверим его состояние с помощью панели управления компонентами:

Попробуем открыть в браузере страницу http://localhost:1947 (для управления также может потребоваться консоль сервера). Это Sentinel Admin Control Center (ACC). Если страница открывается, перейдем в раздел "Keys". Там отображаются все найденные ключи (и реальные, и виртуальные). Если в колонке "Location" указано имя текущего ПК, а ключ имеет тип "Local", но физически его нет — мы нашли программную подделку.

Рассмотрим ситуацию, когда страница localhost:1947 не открывается. Это происходит по двум причинам:

Глубокий поиск следов эмуляции в операционной системе

Разберем, где именно могут прятаться файлы, имитирующие наличие лицензии. Проанализируем следующие места:

1. Диспетчер устройств

Проверим раздел «Контроллеры USB» и «Системные устройства». Нам нужно включить отображение скрытых устройств. Ищем пункты: Virtual USB MultiKey, Virtual USB Bus Enumerator или странные экземпляры SafeNet USB Key. Их наличие подтверждает установку драйвера-эмулятора.

2. Системные драйверы

Перейдем в папку C:\Windows\System32\drivers. Проверим наличие файлов, которые часто используются для обхода защиты:

3. Подмена библиотек (DLL-врапперы)

Это самый «тихий» способ взлома. Проанализируем содержимое папки bin платформы 1С (например, C:\Program Files\1cv8\8.3.x.x\bin). Ищем файлы, которые являются системными для Windows, но почему-то лежат в папке с программой:

При запуске 1cv8.exe первым делом подгружает эти файлы из своей папки, а не из системной. В эти библиотеки встроен код, который обманывает платформу при проверке лицензии.

4. Модификация платформы

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

Как правильно перейти на легальное использование

Для решения проблемы и подключения нового пользователя в правовом поле, нам необходимо выполнить следующие шаги:

  1. Полная очистка: Удалим все найденные файлы эмуляторов (.sys, левые .dll в папке bin). Деинсталлируем виртуальные устройства из диспетчера задач.
  2. Переустановка платформы: Рекомендуется полностью удалить текущую платформу 1С и установить ее заново из официального дистрибутива, чтобы восстановить целостность backbas.dll и других системных файлов.
  3. Активация лицензий: Приобретем необходимое количество программных лицензий. В случае файловой базы лицензии можно активировать на каждом рабочем месте или настроить выдачу лицензий через веб-сервер, если база будет опубликована.

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

← На главную