Как сделать копию хасп ключа
Инструкция по снятию дампа с ключа HASP 4/HASP HL
Видео инструкция: how_make_logs_UsbTrace.rar
Выслать лог нам во вложении в письмо, в ответ мы пришлем ваши пароли ключа для снятия данных.
Пример снятия данных для ключа с паролями 0x73 ED 0x43 AD (Для X 32)
Для того чтобы снять дамп ключа необходимо чтоб драйверы ключа HASP HL были установлены.
Д райверы обычно интегрируются в дистрибутив с защищенным приложением и уже имеются в системе.
Вставить ключ в компьютер и проверить что он определился в системе.
Скачать программу протоколирования данных ключа ( Логер ):
Берем здесь: hasploger.rar
Все утилиты выложены в архивах с паролем: dongla — net . ru
В архиве с логгером есть файл vcredist _ x 86. exe – это нужные для его работы библиотеки, для правильной работы логгера их нужно установить
Далее зайдите в папку с логгером и запустите файл haSploGer . exe
Должно появится окно как на картинке ниже.
Потом следом запускаем защищенную программу, и немного поработаем в ней.
В правой области логгера появятся следующие строки:
Где (для примера) 0 x 73 ED и 0 x 43 AD — пароли Вашего ключа, выписываем их.
Логгер можно закрыть..
Все утилиты выложены в архивах с паролем: dongla — net . ru
Распакуйте архив с дампером и запустите с командной строки следующим образом:
Или откройте в блокноте прилагаемый файл Dump . bat замените в нем строки 0 x 1234 0 x 5678 на наши пароли 0 x 73 ED 0 x 43 AD
@ECHO OFF
h5dmp.exe 0x 73ED 0x43AD
Файл нужно сохранить и затем запустить.
Так – же следует прислать ссылку на саму защищенную программу.
Дистрибутив можно выложить с паролем в архиве на любой файлообменик такие как:
Данные снятые с ключа желательно выслать во вложении в письмо.
В самое ближайшее время мы свяжемся с вами…
Инструкции по снятию данных с разных типов ключей:
Гарантии и техподдержка.
Мы гарантируем конфиденциальность и нераспространение любых данных, полученных от заказчика для проведения исследования ПО.
Все материалы после передачи заказчику удаляются с наших компьютеров немедленно или по истечению срока техподдержки (или по желанию заказчика).
Техподдержка на все виды выполненных работ осуществляется бесплатно в течении 6 месяцев после исполнения заказа.
В дальнейшем техподдержка осуществляется на договорной основе.
Мы не занимаемся распространением программного обеспечения и утилит для
взлома по (кряки, патчи, генераторы серийных номеров и т.д.).
Вы можете воспользоваться нашими услугами только если являетесь разработчиком
конкретного ПО или их представителем, или лицензионным пользователем
(при заказе бэкапа электронного ключа). Вся информация и материалы (утилиты и по), расположенные на сайте, представлены для ознакомительно-познавательных
целей и могут лишь использоваться для самостоятельного тестирования
своих программных продуктов. Любое использование материалов с сайта для действий, нарушающих законодательство РФ (УК РФ, Закон РФ «Об авторском праве и смежных правах» и др.), а также законодательства других стран – запрещено.
Как снять дамп с HASP ключа
Для предотвращения незаконного применения программного обеспечения разработчики встраивают в свои продукты многообразные системы охраны. Одним из знаменитых методов ограничения доступа является использование аппаратных ключей.
Вам понадобится
Инструкция
1. Ключ HASP представляет собой устройство размером с флешку. Он может подключаться к компьютеру через LPT-порт, но наибольшее распространение получили ключи в формате USB-брелока. Внутри всего ключа находится защищенный микроконтроллер. Внутри чипа расположен криптопроцессор, применяемый для шифрования и дешифровки потоков данных, посылаемых в процессе работы от защищенной программы ключу и обратно. Это обозначает, что программа не будет трудиться без определенного ключа HASP, к которому она привязана. В итоге, продавая ключи, разработчик может контролировать процесс распространения программы, ограничивать число пользователей.
2. По ряду причин использование аппаратных средств охраны отрицательно понимается клиентами программного обеспечения. Применять аппаратный ключ не слишком комфортно. При выходе ключа из строя его заменят, но это может занять много времени, исключительно если изготовитель программы и клиент находятся в различных городах либо даже странах. На пересылку могут уйти дни, и все это время программное обеспечение будет проставить, что может привести к срыву сроков, потерям выручки и деловой репутации. Еще дрянней, если ключ утрачен либо украден. Лицензионная политика большинства разработчиков не предусматривает выдачи дубликатов потерянного брелока. Программу придется приобретать снова. При этом довольно трудно обеспечить надлежащую охрану устройства, т.к. оно все время находится на руках у пользователей.
3. В итоге желание скопировать ключ возникает у лицензированных клиентов продукта. Сам процесс создания клона крайне труден, от того что ключи намеренно разрабатывались для того, дабы максимально затруднить их дублирование. Первым этапом при копировании HASP-ключа является снятие дампа.
Совет 2: Как сделать дамп ключа
Вам понадобится
Инструкция
1. Для того, дабы слить дамп ключа флеш-карты, воспользуйтесь особым программным обеспечением. В основном все утилиты, предуготовленные для этого, платные. Вы можете воспользоваться программой Dekart Key Manager либо ее аналогами.
2. Оплатите покупку программного обеспечения при помощи банковской карты либо всякими другими методами, предусмотренными разработчиком и доступными вам. Отличнее каждого данную программу запускать на компьютере с операционной системой Windows XP, если у вас нет такой вероятности, и у вас установлена система больше новой версии, воспользуйтесь запуском в режиме совместимости с XP.
3. Запустите программу и ознакомьтесь с ее интерфейсом. В левой части основного окна вы обнаружите список устройств с ключами, подключенных к вашему компьютеру через USB-интерфейс, а в правой части – содержимое выделенного вами носителя информации. Сделайте копию информации, находящейся на ключе при помощи меню программы. Для этого воспользуйтесь меню сохранения данных из файла.
4. В меню редактирования выберите операцию копирования и подключите к вашему компьютеру иной съемный накопитель, на тот, что в будущем запишется информация. Удостоверите операцию и дождитесь ее окончания.
5. Обратите внимание, что при появлении задач с применением программы в режиме совместимости нужно в непременном порядке воспользоваться компьютером с операционной системой Windows XP. В отвратном случае при копировании информации на съемный накопитель в будущем могут появиться задачи с последующим ее считыванием.
6. Отменнее каждого усердствуйте заблаговременно предусмотреть несколько копий ключей к программному обеспечению, дабы вам не пришлось ненужный раз создавать добавочные копии самосильно. Рассматривайте тот факт, что программное обеспечение, нужное для копирование информации ключа, фактически все платное.
Полезный совет
Заблаговременно заказывайте копии ключей.
Совет 3: Как прочитать дамп
Файл малого дампа создается системой весь раз при происхождении неисправимой ошибки, вызвавшей сбой компьютера. Он может быть пригоден при маленьком объеме жесткого диска, но именно из-за своих мелких размеров не неизменно содержит довольное число информации для исправления диска.
Инструкция
1. Нажмите кнопку «Пуск» для вызова основного меню системы и перейдите в пункт «Настройки» для выполнения операции настройки параметров запуска и поправления с подмогой файда малого дампа памяти.
2. Раскройте ссылку «Панель управления» и укажите пункт «Система» двойным кликом мыши.
3. Перейдите на вкладку «Добавочно» открывшегося окна приложения и нажмите кнопку «Параметры» в разделе «Загрузка и поправление».
4. Укажите пункт «Малый дамп памяти» в каталоге «Запись отладочной информации».
5. Откройте программу браузера и перейдите на страницу http://www.microsoft.com/whdc/devtools/debugging/default.mspx. Скачайте программу WinDbg, предуготовленную для чтения памяти малого дампа памяти компьютера.
6. Установите загруженное приложение (по умолчанию – C:/Program FilesDebugging Tools for Windows) и вернитесь в основное меню «Пуск».
7. Перейдите в пункт «Исполнить» и введите значение cmd в поле «Открыть» для инициации процедуры открытия программы WinDbg.
8. Нажмите кнопку OK для подтверждения выполнения команды и введите в поле командной строки для перехода к папке приложения значение cd c:program filesdebugging tools for windows.
12. Выберите команду Im N T для отображения списка загруженных драйверов.
13. Используйте команду dump c:windowsminidumpminidump.dmp для выполнения процедуры обзора файла малого дампа памяти компьютера.
Обратите внимание!
Приложение WinDbg для чтения файла малого дампа памяти, как и аналогичная служебная программа Dump Check, не входят в состав поставки операционной системы Windows.
Полезный совет
Список всех файлов малого дампа размещен в папке %SystemRoot%Minidump.
Совет 4: Как снять охрану с памяти
Вероятно, многим пользователям знакома обстановка, когда при попытке записать информацию на карту памяти возникало уведомление о том, что она защищена от записи. Безусловно, это вызывает желание снять охрану. Чай для чего же тогда надобна карта памяти, если не для хранения и копирования информации? А снимается она достаточно легко.
Вам понадобится
Инструкция
1. Обстановок, при которых возникает сообщение о охране карты памяти от записи, может быть несколько. Достаточно общеизвестный случай выглядит так. Приобрели вы картридер, вставили в устройство карту памяти, позже чего попытались скопировать на нее информацию. Но взамен старта процесса копирования возникает уведомление, что карта защищена от записи. На самом деле здесь задача не в самой карте памяти, а в картридере. На некоторых моделях картридеров есть переключатели. Наблюдательно изучите устройство. Если вы обнаружите такой переключатель, то примитивно передвиньте его в другое расположение.
2. Если, скажем, вы вставили карту памяти в фотоаппарат, и возникает уведомление о том, что она защищена от записи, то делать надобно так. Наблюдательно изучите карту. На ней должен быть небольшой ползунок. Когда обнаружите ползунок, то легко передвиньте его из расположения Lock в противоположное. Охрана с нее позже этого будет снята. Учтите, что такой рычажок есть не на всех картах памяти. Если вы его не нашли, то задача, скорее каждого, не в этом.
3. Дюже зачастую на карты памяти формата MicroSD при попытке записать файл объемом огромнее 4 гигабайт возникает сообщение об ошибке. Это значит, что ваша карта работает под управлением файловой системы FAT32. Эта файловая система имеет свои ограничения в копировании информации на карты памяти. Для того дабы снять эти ограничения, нужно сменить эту файловую систему на NTFS.
4. Дабы это сделать, легко подключите карту памяти к компьютеру с подмогой картридера либо иным комфортным для вас методом. Сбережете все данные с карты на грубый диск компьютера. Дальше кликните по ее значку правой кнопкой мышки и в контекстном меню выберите «Форматировать». Выберите файловую систему NTFS. Закончите форматирование.
Видео по теме
Совет 5: Как слить дамп
В целях резервного копирования информации либо переноса данных с одного сервера на иной, нередко требуется слить дамп базы, обслуживаемой какой-нибудь СУБД. Обыкновенно дамп представляет собой последовательность SQL-инструкций для создания и заполнения таблиц, добавления ограничений, хранимых процедур, триггеров, и т.д.
Вам понадобится
Инструкция
1. Начните образование дамп а базы данных, обслуживаемой СУБД Microsoft SQL Server. Подключитесь к серверу при помощи SQL Server Management Studio. При запуске приложения отобразится диалог параметров подключения. Укажите в нем наименование и тип сервера, выберите тип аутентификации. При необходимости введите учетные данные пользователя. Нажмите кнопку Connect.
2. В окне Object Explorer разверните раздел Databases. Выделите элемент, соответствующий целевой базе данных. Кликните по нему правой кнопкой мыши. В контекстном меню выберите пункт “Generate Scripts…”. Будет отображено окно мастера.
3. Вводите опции на страницах мастера Script Wizard и нажимайте кнопку Next. В частности, на четвертой странице выберите место, куда будет размещен сделанный дамп (в файл, буфер обмена либо новое окно). На пятой странице нажмите кнопку Finish. Дождитесь окончания процесса образования дамп а базы данных. Он может занять долгое время.
4. Запустите командный процессор в Windows либо эмулятор терминала в Linux-сходственных системах. В Linux дозволено также переключиться в текстовую консоль путем нажатия Ctrl, Alt и одной из функциональных клавиш F1-F12. Это нужно для применения консольных программ создания дамп ов MySQL и PostgreSQL.
5. Ознакомьтесь со справочной информацией по работе утилиты mysqldump. Исполните команду:mysqldump –helpОсобое внимание обратите на параметры, с поддержкой которых указывается целевой сервер и учетные данные пользователя.
Видео по теме
Обратите внимание!
Создание эмуляторов ключа пользователем, тот, что не приобретал лицензию на программу, противоречит статьям 272, 273 УК РФ.
Клонирование ключа hasp hl 2.62. Мини HASP ключ из любого устройства USB
Эмулятор – это программа, которая имитирует работу различных физических устройств или других программ.
Например, виртуальные диски, эмуляторы игровых приставок, игр и т.д. В статье рассматривается эмулятор ключа защиты HASP.
HASP – аппаратно программный комплекс защиты ПО от незаконного (несанкционированного) использования и распространения.
Ключи выпускаются для различных ОС – Windows, Linux, Android и 32- и 64-разрядных компьютеров.
Система разработана компанией Aladdin KS, в защиту которой входит:
– электронный ключ (брелок USB);
– специальное ПО для привязки к ключу, защиты программ и данных.
Существуют различные исполнения ключа HASP:
– брелок USB;
– ключ LPT;
– карта PCMCIA, внутренняя карта PCI.
Наибольшее распространение имеет брелок USB. В настоящее время применяются несколько вариантов ключей:
1) HASP 4 (первая версия защиты), HASP HL (HardLock – современный вариант) – это аппаратные ключи.
2) HASP SL (Soft Lock) – программный ключ. Этот ключ более удобен для распространения приложений, но имеет меньший уровень защиты, чем у HL.
3) HASP SRM комбинированное решение, в нем есть выбор – что использовать: аппаратный HL или программный SL ключ.
Защитой HASP пользуются такие пакеты программ как 1С, Консультант Плюс. Порядок защиты примерно такой. Ключ присоединен к определенному порту компьютера. Устанавливается специальный драйвер защиты.
Защищенная программа отправляет через него информацию о защите. При правильном ответе ключа программа продолжает работу, иначе: демонстрационный режим или просто остановка.
Эмуляция ключей используется в следующих случаях:
– взлом защиты программ (хакерство, нелегальное использование — к сожалению.);
– неустойчивая работа HASP ключей;
– выход из строя или потеря ключа;
– неудобство использования ключа на различных компьютерах.
Такие эмуляторы разрабатываются для пользователей лицензионного ПО, с целью облегчения их работы (не нужен брелок), что не является нарушением закона.
Это значит, что для установки любого эмулятора, у вас должна быть лицензионная версия ПО.
Если по какой-то причине необходим эмулятор ключа, нужно иметь в виду следующее – вариантов эмуляторов, это зависит от:
– числа пользователей программы;
– версии программы – сетевая или для локальных пользователей;
– для какого сервера нужен эмулятор – Server 2003, 2008 и др.
Создано много программ эмуляции, среди них комплекс Sable. Далее два конкретных примера.
Установка эмулятора Hasp HL
Распаковать и запустить HASPHL2007.exe
Должны быть установлены драйвера и оригинальный ключ подключения.
В программе DRIVER нажать INSTALL – установка драйвера.
Запустиь программу edgehasp.exe – генерация ключа. Полученный ключ ввести в закладку “EMULATOR”. Нажать “StartService”.
Запустить защищенную программу, проверить ее работу, далее, если все работает, открыть окно «DUMPER». В окне отображаются пароли. Для создания копии нажать «DUMP». Результат – файл типа.dmp.
Запустить программу EDGEHASP.EXE для преобразования файла.
Открыть файл «DONGLES» в окне «HASP/Hardlock Emulator» и указать имя файла.
Очистить дамп – кнопка CLEAN.
Установка эмулятора Sable
Информацию можно найти по адресу:
Запустить Sable и дождаться перезагрузки.
Удалить ярлык эмулятора – C:\Documents Settings\All users\StartМenu\Programs\Startup
Cвойства (Propetries – hasp Automatic.) Ok.
Копировать patch77. exe из C:\ProgramFiles\sable в папку 1С.
Запустить patch77.exe /F1cv7.exe.
Здесь вы можете Скачать HASP эмулятор совершенно бесплатно.
На сегодня у меня все, следите за блогом по электронной почте. Жду ваших отзывов в комментариях. Пока!
Вы никогда не задумывались, для чего может сгодиться обычная флешка? Многие сразу ответят: «… что за вопрос? Конечно для хранения информации…». Но, это если рассматривать с точки зрения обывателя. А если взлянуть на нее «глазами компьютера»? Очевидно, что этот процесс достаточно непрост, это и протокол обмена по USB, переходные процессы, идентификаторы и GUID (Globally Unique IDentifier)…
Предпосылки защиты ПО. Существующие решения
Основными критериями для использования аппаратных ключей являются:
Существует множество вариаций ключей: без собственной памяти, с защищенной памятью, со встроенными REAL TIME часами, со встроенными сетевыми протоколами.
В то же время, кроме предлагаемого в статье встраиваемого решения в виде компонента, существуют такие продукты как StarForce и HASP Envelope от компании Alladin, позволяющие уже на этапе продажи добавлять защитные модули обмена с ключом в готовые программы, интегрируя их в код продукта. Но у них есть издержки, связанные с затратами на покупку самих HASP ключей, стоимость которых составляет от 25 до 50 долларов за штуку (в зависимости от модели ключа) и ПО для встраивания (от 200 долларов), при стоимости защищаемой программы от 20 долларов.
Разработка ПО и средства отладки
Как известно, метод защиты HASP основан на привязке программы к некоему или совокупности уникальных параметров ключа и даже оборудования. Так как мы будем использовать устройство USB, то априори достаточно считать серийник и ID флешки**, поскольку они не меняются при их форматировании.
** не все флеш-накопители имеют данный номер, к примеру некоторые чипы от LG
Для работы необходимо следующее:
при создании компонента инициализируем опрос USB:
Покажем на практике как это работает. Встроим компонент в уже готовую программу и в меню осуществим активацию режима «мини HASP» (см. рис.)
после того как флешка будет вставлена, наступает событие DBT_DEVICEARRIVAL
производим считывание серийного номера, ID и GUID
Все. Теперь при съеме флешки ПК будет заблокирован до тех пор, пока она не будет возращена на место. Род действий на данные события ограничен лишь фантазией разработчика. Как вариант, возможно встраивание рассмотренных выше функций в сервис и запуск его в безопасном режиме.
1. Маркировка и назначение ключей
Все ключи HASP4 Net условно можно разделить на 2 типа «Клиентские» и «Серверные»:
2. Что нужно знать при установке ключей
Есть несколько особенностей, которые следует принять во внимание перед установкой ключей HASP, а именно:
3. Особенности учета клиентских лицензий
Клиент «1С:Предприятие» при запуске может использовать для получения лицензий:
Кроме того очень важно знать и учитывать следующую особенность: если в сети будет обнаружено несколько многопользовательских клиентских ключей серии ORGL8, то сервером будет выбран один произвольный ключ. После исчерпания лицензий этого ключа возможно использование одного многопользовательского ключа ORG8A, и затем возможно использование одного многопользовательского ключа ORG8B.
4. Программы для администрирования ключей HASP
4.1 HASP Device Driver
Это ничто иное как обычный драйвер для устройства. Он нужен для того, чтобы ключ HASP4 Net определился в системе. Устанавливать следуя инструкциям инсталлятора.
4.2 HASP HL License Manager
Ну а после установки должна появиться соответствующая служба.
4.3 Aladdin HASP Monitor
Данная утилита служит для мониторинга доступа к ключу и занятых лицензий. После установки и запуска, программа сканирует сеть в поисках менеджера лицензий и показывает активные соединения клиентских приложений с данными службами. Монитор дает возможность увидеть имена хостов, на которых установлена служба и HASP ключи, максимальное количество лицензий в ключе, количество занятых лицензий и имина клиентов, получивших лицензию.
5. Просмотр полученной лицензии в 1С
Перечень всех видимых ключей, а также место получение текущей лицензии можно посмотреть и непосредственно из «1С:Предприятие». Достаточно запустить 1С в режиме 1С:Предприятие, в меню выбрать «Справка » — «О программе… » или нажать пиктограмму с изображением восклицательного знака на панели.
В открывшемся окне информацию о лицензиях можно просмотреть в пункте «Лицензия ».
Здесь мы увидим ключ выдавший лицензию данному пользователю, а также все видимые ключи сети. Информация о выданных лицензиях присутствует также и в Консоли Администрирования Серверов «1С:Предприятие» в списке сеансов информационной базы (начиная с версии платформы 8.2.15).
Помогла ли Вам данная статья?
В этой статье описаны способы обхода аппаратных систем защиты. В качестве примера рассмотрена технология HASP (Hardware Against Software Piracy), разработанная компанией Aladdin Knowledge Systems Ltd. В прошлом данная технология являлась одной из самых популярных аппаратных систем защиты ПО.
Мощью аппаратной защиты HASP пользуются многие серьезные разработчики софта, которые не хотят, чтобы их продукт несанкционированно распространялся. Хаспом, например, защищаются пакеты «1С.Бухгалтерия» или «1С.Предприятие», без которых не может прожить ни одно более или менее организованное дело. Популярный юридический справочник «КонсультантПлюс» также защищает доступ к данным с помощью электронных ключиков. Чтобы воспользоваться вышеупомянутым или другим не менее дорогостоящим софтом, не платя никому ни копейки, недостаточно просто полазить по Сети в поисках txt’шника с ключиками. Однако хакер всегда разберется, что делать с защитой, пусть и аппаратной. И паяльник ему для этого не понадобится.
Взглянем
Механизм системы защиты
Сам брелок нас почти не интересует, в отличие от ПО в его комплекте. Для нас наибольший интерес представляет модуль hardlock.sys. Не углубляясь в подробности, отмечу, что этот драйвер отвечает за взаимодействие с аппаратным ключом. Он имеет два объекта устройства, один из которых обладает символьным именем DeviceFNT0. Используя этот объект, защищенное приложение посредством диспетчера ввода-вывода проверяет лицензию на использование данного ПО.
Главным недостатком такой системы защиты является возможность перехвата вызовов диспетчера ввода-вывода и эмулирования аппаратного ключа. Существует также вариант разработки драйвера виртуального ключа, но это гораздо более сложная техническая задача, нежели перехват вызовов.
Как тебе известно, модель драйвера описывается в структуре DRIVER_OBJECT при загрузке модуля. Она хранит массив обработчиков сообщений. Причем никто не мешает переписать эти адреса и получить управление, выполнив наш код. Таким образом, можно перехватывать и подменять IRP-пакеты, подставляя лицензионные данные. Другими словами, имея дамп ключа защиты, можно передать его программе, проверяющей верность лицензионных данных!
Перехват и эмуляция
Как уже отмечалось, идея перехвата состоит в перезаписи обработчиков IRP-пакетов. Для этого необходимо иметь возможность изменять поля структуры DRIVER_OBJECT. К счастью, существует функция IoGetDevicePointer, которая возвращает указатель на объект вершины стека именованных устройств и указатель на соответствующий файловый объект. Вот фрагмент кода функции, устанавливающей ловушку:
UNICODE_STRING DeviceName;
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
Получив указатель на структуру DEVICE_OBJECT, имеем указатель на DRIVER_OBJECT. Теперь заменим адреса обработчиков и функций выгрузки драйвера на свои:
NTSTATUS HookDevice(LPWSTR lpDevice)
gDriverObject = DeviceObject-> DriverObject;
gDeviceControl = gDriverObject-> MajorFunction;
gDriverObject-> MajorFunction = HookDispatch;
gInternalDeviceControl = gDriverObject-> MajorFunction;
gDriverObject-> MajorFunction = HookDispatch;
gDriverUnload = gDriverObject->DriverUnload;
gDriverObject->DriverUnload = HookUnload;
В последней строчке вызывается функция ObfDereferenceObject, которая уменьшает количество ссылок на файловый объект. Это необходимо делать для корректной выгрузки драйвера, чтобы не было утечки ресурсов и аналогичных ошибок.
Так как указатель на объект драйвера защиты сохранeн, то чтобы снять ловушку, нужно просто восстановить прежние обработчики IRP-пакетов:
gDriverObject-> MajorFunction = gDeviceControl;
gDriverObject-> MajorFunction = gInternalDeviceControl;
gDriverObject->DriverUnload = gDriverUnload;
Конечно, надо добавить соответствующие проверки на валидность указателей и прочее.
Теперь необходимо реализовать правильную выгрузку драйверов. Так как система защиты по каким-либо причинам может закончить свою работу раньше нашего драйвера, то чтобы избежать краха системы из-за неверных указателей, обработаем это событие в функции HookUnload:
void HookUnload(PDRIVER_OBJECT DrvObj)
Здесь происходит восстановление полей структуры DRIVER_OBJECT, и передаeтся управление на оригинальный код выгрузки драйвера перехваченного устройства.
Аналогично поступаем, если наш драйвер завершает работу раньше системы защиты. Только нужно высвободить захваченные ресурсы и не вызывать сохранeнный gHookUnload.
Принцип работы эмулятора
Перехватчик
Зная основные принципы простейшего перехвата IRP-пакетов, приступим к реализации пока только самого перехватчика для дальнейшего анализа. Для этого создадим объект драйвера, который содержит символьное имя (например DosDevicesHook) и точки входа CREATE, CLOSE, READ.
DriverObject->MajorFunction = DriverDispatch;
DriverObject->MajorFunction = DriverDispatch;
DriverObject->MajorFunction = DriverDispatch;
DriverObject->DriverUnload = DriverUnload;
if (idlTail->IrpData.InputLength)
<
idlTail->InputBuffer = ExAllocatePool(NonPagedPool, idlTail->IrpData.InputLength);
RtlCopyMemory(idlTail->InputBuffer, Irp->AssociatedIrp.SystemBuffer, idlTail->IrpData.InputLength);
>
if (IoSL->MajorFunction == IRP_MJ_DEVICE_CONTROL)
Status = pHookedDriverDispatch(DeviceObject, Irp);
if (idlTail->IrpData.OutputLength)
<
idlTail->OutputBuffer = ExAllocatePool(NonPagedPool, idlTail-> IrpData.OutputLength);
RtlCopyMemory(idlTail->OutputBuffer, lpBuffer, idlTail->IrpData.OutputLength);
>
Осталось реализовать чтение из драйвера. Так как пакет содержит буферы, чье содержимое представляет интерес, то размер сообщений заранее не известен. Поэтому поступим следующим образом: при первом чтении получаем общую информацию о пакете и размере буферов; при повторном читаем содержимое, удаляем звено из списка пакетов и не забываем про спиновые блокировки для последовательной работы с данными:
idlTemp = idlHead->ldlNext;
ExFreePool(idlHead);
idlHead = idlTemp;
if (!idlTemp)
idlTail = NULL;
>
Перехваченные пакеты без ключа
Перехваченные пакеты с ключом
Затем возможны несколько вариантов дальнейших действий:
Оба варианта дают необходимую информацию. Итак, оказывается, содержимое пакетов шифруется публичным симметричным алгоритмом AES (Advanced Encryption Standard). Логичной целью является получение ключа шифрования.
Но если еще больше углубиться в изучение устройства системы защиты, то окажется, что аппаратный ключ имеет уникальный номер и содержит всю необходимую информацию, но для доступа к нему требуются программные ключи.
Пример дампа ключа
Поэтому первое, что нужно сделать, это получить ключ. Поставленную задачу может решить обычный брутфорс:
unsigned short Key;
unsigned char RefKey, VerKey;
Пакет запроса к драйверу находится в криптованном виде, поэтому для доступа к его содержимому требуется расшифровать, а затем зашифровать. Возникает вопрос: каким алгоритмом и каким ключом выполнено шифрование? Покопавшись в исходниках от создателей системы, можно получить следующий первичный алгоритм шифрования пакета:
void Encrypt(BYTE * Buffer)
<
WORD Seed = ((WORD )Buffer + 0x5e);
WORD Ver = ((WORD )Buffer + 0xba);
Затем следует ещe один этап преобразования данных, более сложный и уже полностью зависящий от структуры запроса. Тут не обойтись без дизассемблера, придется покопаться в бине и позаимствовать немного кода у создателей. Это непросто, так как код драйвера защиты сильно обфусцирован, но он не отличается разнообразием уловок. Достаточно будет декомпилировать драйвер не полностью, а только лишь некоторые кусочки кода.
Заключение
Это не единственный способ избавиться от системы защиты. Существуют и другие, более совершенные методы. Изложенные в статье принципы можно использовать и для анализа работы драйверов, перехватывая IRP-пакеты. Таким образом можно добавить неплохой инструмент в свой сделанный на коленке набор. Удачи!
Общеизвестно, что для работы в 1С требуется лицензия. Фирмой 1С поставляются различные ключи защиты: локальные и сетевые. Локальный ключ может быть использован только на одном компьютере, имея вид привычной нам флешки.
Сетевые ключи могут предоставлять лицензии для нескольких пользователей в зависимости от своей серии. На крупных предприятиях чаще всего используются ключи на 300 и 500 соединений, но при необходимости можно приобрести и меньше. Обратите внимание, что на одном компьютере не может находиться более одного ключа одной и той же серии.
В данной статье мы пошагово рассмотрим, как настроить менеджер лицензий 1С 8.3, чтобы сетевой ключ защиты был на одном компьютере. Пользователи с других компьютеров при этом будут получать лицензии уже от него. Проще говоря, ключ один, а пользовательских сеансов множество.
Настройка HASP менеджера лицензий
Начнем с того, что на тот компьютер, который станет раздавать лицензии, установим менеджер лицензий. В дальнейшем мы будем называть данный компьютер сервером лицензий. Все требуемое ПО включено в поставку 1С:Предприятие.
Для правильной работоспособности менеджера нужно произвести некоторые предварительные настройки. Файл, где вы будете их производить называется nhsrv.ini. Чаще всего его можно найти по адресу «C:\Program Files\Aladdin\HASP LM», если менеджер лицензий установлен в качестве приложения. В противном случае (установлен как сервис) он будет в системном каталоге операционной системы.
Откройте найденный вами файл в любом текстовом редакторе, например, в блокноте и добавьте туда строку:
Вместо звездочек вы можете проставить любое число от 0 до 254. Так же, если оставить знаки «*», это будет означать, что лицензии будут «видеть» все компьютеры в сети, адрес которых начинается с 192.168.
Например, если в файле nhsrv.ini у вас указана надстройка NHS_IP_LIMIT = 192.168.1.*, то лицензии будут доступны только компьютерам с ip в диапазоне от 192.168.1.0 до 192.168.1.254.
Настройки на клиентских ПК
После того, как вы произведи все необходимые настройки на сервере лицензий 1C, нужно настроить и сами клиентские компьютеры.
При запуске 1С на пользовательском ПК, программа обращается с запросом на предоставление лицензии по адресу, указанному в файле nethasp.ini. Найти его можно в папке «conf» каталога, куда установлена платформа 1С. В нашем случае адрес следующий: «d:\Program Files (x86)\1cv8\conf\».
Без каких-либо дополнительных настроек, программа 1С будет искать лицензии по всей локальной сети. Для ускорения данного процесса мы можем самостоятельно указать ip адрес сервера лицензий в этом файле, добавив в него выделенный на рисунке ниже текст.