Эмулятор USB HASP ключа на основе драйвера шины Copyright (c) 2004 Chingachguk, Denger2k, tch2000 All Rights Reserved
Данный эмулятор и его исходные тексты предназначены ТОЛЬКО для легального использования, т.е. легальной эмуляции HASP ключей защищенных программ в соответствии с законом о защите авторских прав страны в которой вы проживаете или международных соглашений. Любое использование данной программы, нарушающие авторские права или международные соглашения, является не законным.
ВСЯ ГРАЖДАНСКАЯ И УГОЛОВНАЯ ОТВЕТСТВЕННОСТЬ ЗА НЕЛЕГАЛЬНОЕ ИСПОЛЬЗОВАНИЕ ДАННОГО ЭМУЛЯТОРА И ЕГО ИСХОДНЫХ ТЕКСТОВ ЛЕЖАТ ТОЛЬКО НА ПОЛЬЗОВАТЕЛЕ.
Авторы этой программы не несут никакой ответственности за действия пользователей как-либо нарушающих авторские права.
Если Вы не уверены относительно ваших прав, пожалуйста войдите в контакт с вашим местным юрисконсультом.
Данный эмулятор и его исходные тексты распространяются "КАК ЕСТЬ" и авторы программы не несут ни какой ответственности за сбои в работе операционной системы или других сбоях вашего компьютера или программного обеспечения если они произошли по вине эмулятора.
ВЫ НЕ МОЖЕТЕ РАСПРОСТАНЯТЬ ДАННЫЙ ЭМУЛЯТОР В ФОРМЕ КОМПИЛИРОВАННОЙ ПРОГРАММЫ И ИЗВЛЕКАТЬ ВЫГОДУ ИЗ ЕГО ИСПОЛЬЗОВАНИЯ.
HASP4 Key dongle был впервые исследован примерно в 2003. Примерно в июле 2003 на reversing.net появилась одна и единственная подсказка:
[QUOTE] 2003 year, Jul. ...
Code:
VOID Transform( PULONG Data, PKEY_STRUCT Key ) { ULONG i,index,bit;
InitDongle( 2, Key );
for( i = 1, index = 0; i <= 39; ++i )
{
bit = Transform2( ((PUCHAR)(*Data))[index], Key );
index = (( (*Data) & 0x01) << 1) | bit;
if( ( (*Data) & 0x01) == bit )
*Data = (*Data) >> 1;
else
*Data = ( (*Data) >> 1) ^ 0x80500062;
}
}
after it we make direct Hasp4 hardware access and build tables for analise. 3 days later i keep full Hasp4 encryption algo, and for reproducte it need only 37bit. [/QUOTE]
Все остальное было спрятано в коммерческом эмуляторе от BrainStudio.
Осенью 2003-зимой 2004 эмулирующий драйвер hardlock.sys был реверсирован до ассемблерного кода, но эмуялтор требовал генерации так называемой EDS структуры, которая создавалась на основании нескольких запросов/ответов функции 3D. Защита эмулятора (!) скрывала оригинальный алгоритм работы ключа, часть которого была приведена выше как подсказка.
Осенью 2004 года алгоритм был восстановлен и ушел "в полуоткрытый доступ". Обсуждение происходило на wasm.ru и ru-board.ru, например:
http://forum.ru-board.com/topic.cgi?forum=35&topic=9455&start=1400
(требуется регистрация).
About
Данный эмулятор НЕ включает в себя эмуляцию 3C/3D функций. Оригинальной стороной драйвера является эмулирование ключа не путем перехвата точки входа в оригинальный драйвер HASP API или путем его полной замены (см. эмулятор от BrainStudio), а путем эмулирования ЖЕЛЕЗА USB-устройства ключа, таким образом достигается НЕЗАВИСИМОСТЬ эмулятора от версии драйвера ключа HASP.
Сборка эмулятора:
-
Исправить пути в файлах "chk make.bat", "free make.bat" в следующих строках: set SRC_DRIVE=C: set SRC_PATH=22\bus set DDK_PATH=D:\WINDDK\2600.1106 , где SRC_DRIVE - буква диска, на котором находятся исходники, SRC_PATH - путь к каталогу .\bus исходников, DDK_PATH - путь к каталогу Windows XP DDK
-
Выполнить "chk make.bat" для сборки отладочного билда или "free make.bat" для сборки рабочего билда.
-
Для установки устройства выполнить "chk install.bat" для установки отладочного билда драйвера или "free install.bat" для установки рабочего билда драйвера.
При запуске драйвер один раз сканирует ключ реестра \Registry\MACHINE\System\CurrentControlSet\Services\Emulator\HASP\Dump , считывает дампы всех ключей и создает виртуальные USB-ключи для каждого дампа. Для успешного выполнения данного этапа необходимо наличие уже установленного драйвера от Аладдина.
- Для "извлечения" всех USB-ключей можно выполнить файл "unplug all.bat", который вызывает программу enum.exe. При помощи последней программы можно не только извлекать ключи, но и подключать их, см. .\Controller\enum.exe /?.
В общем случае для перестройки списка доступных USB-ключей согласно данным в реестре нужно или рестартовать драйвер (см. п. 3), или воспользоваться утилитой enum (см. п. 4).
Установка эмулятора:
-
Для установки эмулятора необходимо всего 3 файла: .\Inf\vusbbus.cat .\Inf\vusbbus.inf .\Inf\VUsbBus.sys , где VUsbBus.sys - собраный из исходников драйвер.
-
Установку можно проводить двумя способами.
-
Первый способ: 3.1. Пуск\Настройка\Панель управления\Установка оборудования. 3.2. Да, устройство уже подсоединено 3.3. Добавление нового устройства 3.4. Установка оборудования, выбранного из списка вручную 3.5. Системные устройства (System devices) 3.6. Установить с диска...\Обзор... 3.7. Указать путь к каталогу .\Inf, затем - Ок.
-
Второй способ: добавить к дистрибутиву в каталог .\Inf файл devcon.exe и батники следующего содержания: Install.bat: @echo off devcon remove root\vusbbus devcon install vusbbus.inf root\vusbbus
Remove.bat: @echo off devcon remove root\vusbbus