Skip to content

Latest commit

 

History

History
150 lines (114 loc) · 4.99 KB

README_ru.md

File metadata and controls

150 lines (114 loc) · 4.99 KB

Эмулятор 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.


Сборка эмулятора:

  1. Исправить пути в файлах "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

  2. Выполнить "chk make.bat" для сборки отладочного билда или "free make.bat" для сборки рабочего билда.

  3. Для установки устройства выполнить "chk install.bat" для установки отладочного билда драйвера или "free install.bat" для установки рабочего билда драйвера.

При запуске драйвер один раз сканирует ключ реестра \Registry\MACHINE\System\CurrentControlSet\Services\Emulator\HASP\Dump , считывает дампы всех ключей и создает виртуальные USB-ключи для каждого дампа. Для успешного выполнения данного этапа необходимо наличие уже установленного драйвера от Аладдина.

  1. Для "извлечения" всех USB-ключей можно выполнить файл "unplug all.bat", который вызывает программу enum.exe. При помощи последней программы можно не только извлекать ключи, но и подключать их, см. .\Controller\enum.exe /?.

В общем случае для перестройки списка доступных USB-ключей согласно данным в реестре нужно или рестартовать драйвер (см. п. 3), или воспользоваться утилитой enum (см. п. 4).

Установка эмулятора:

  1. Для установки эмулятора необходимо всего 3 файла: .\Inf\vusbbus.cat .\Inf\vusbbus.inf .\Inf\VUsbBus.sys , где VUsbBus.sys - собраный из исходников драйвер.

  2. Установку можно проводить двумя способами.

  3. Первый способ: 3.1. Пуск\Настройка\Панель управления\Установка оборудования. 3.2. Да, устройство уже подсоединено 3.3. Добавление нового устройства 3.4. Установка оборудования, выбранного из списка вручную 3.5. Системные устройства (System devices) 3.6. Установить с диска...\Обзор... 3.7. Указать путь к каталогу .\Inf, затем - Ок.

  4. Второй способ: добавить к дистрибутиву в каталог .\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