Недавно при работе с клиентом, столкнулся с тем, что в работе использовалось нелицензионное ПО. В пользовательском режиме – ошибка выглядит следующим образом:
Если вы не знаете, каким именно образом вам устанавливали нелицензионное ПО, тогда предлагаем начать с самого простого из этих двух. А именно – backbas.dll и techsys.dll.
backbas.dll пропатченный при помощи, например, Unipatch, файл, но в каталоге 1С насчитывается ~500 таких файлов.
Имеется также похожий файл-таблетка, techsys.dll. И обнаружить его несколько проще: вам нужно перейти в каталог 1С в проводнике, по пути установки в папку 1cv8, далее в папку установленной у вас версии платформы, затем в папку bin. В лицензионной версии 1С данный файл будет выглядеть так:
И, соответственно, в случае пиратской версии:
Оригинальный файл переименован. Цифра после нижнего подчеркивания показывает количество пользователей, на которое была взломана 1С. Его вес может отличаться. Пропатченным файлом в этом случае является верхний файл techsys.dll.
Вот порядок действий, который необходимо совершить при переходе на лицензионную версию:
1) Прежде всего следует озаботиться безопасностью данных в базах. Делаем их бэкап. Так как эти виды взлома больше относятся к файловым базам, открываем конфигуратор. Далее слева вверху переходим на вкладку «Администрирование» и жмем «Выгрузить информационную базу». Данный шаг – больше перестраховка, удаление этих файлов не должно повлиять на сами базы, но лишним не будет.
2) В случае backbas.dll – переустанавливаем платформу, так как вручную найти пропатченный файл будет проблематично. В случае techsys.dll необходимо удалить неоригинальный файл (без цифр) и далее переименовать techsys_500.dll (цифра произвольная) в techsys.dll.
Готово, можно активировать лицензию!
Но это лишь в случае простых взломов. Теперь предлагаю перейти к взлому через HASP эмулятор ключей. Данный вариант несколько сложнее и предназначен для системных администраторов, так как требуется работа с ветками реестров и SQL сервером.
Для того чтоб чистить нелицензионное ПО при минимальном отрыве от работы можно на основном сервере развернуть виртуальный сервер, на который и будет установлено лицензионное ПО. Обеспечить работу пользователей с базами на этом виртуальном сервере (перенести на сервер базы, предварительно сделав их копии в формате .dt(Не рекомендуется) или сделать SQL копии).
1) Найти и удалить файлы VUsb.sys и vusbbus.sys
2) Выполнить команды:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt.
Если утилита loaddrv не стоит, то необходимо в списке служб найти, остановить и удалить службу haspflt. Проще всего это сделать выполнив команду: del %systemroot%\system32\drivers\haspflt.sys
3) Очистить ветки регистров
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\haspflt\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vusbbus
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASP\Services\Emulator\HASP\Dump
4) Рекомендуется проверить, выдает ли поиск что-то на слово HASP.
Если все получилось, переносим 1С с виртуального сервера на основной, наслаждаемся лицензией и корректной работой программы и сервисов.
В заключение хочу сказать, что эмуляторов существует несколько видов. Для каждого по его удалению и чистке системы нужны другие инструкции. Также стоит отметить, что даже при точном выполнении этих инструкций остается шанс того, что 1С найдет следы нелицензионного ПО и вновь появится ошибка, как на картинке 1. В таком случае будет необходима полная переустановка ОС, что повлияет на работу пользователей и организации в целом.