· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Внешнии ключ

Посл.отвђт Сообщенiе


Дата: Апр 19, 2004 11:28:35

Доброго времени.
Есть приложение(хотя пока его нет))
Которое при запуске проверяет наличее
внешнего ключа, которыи цепляется на ЛПТ вход.
Есть ли способ как-нить это побороть?


Дата: Апр 19, 2004 11:43:21

ууу, а программа наверное 1C :)))


Дата: Апр 19, 2004 11:52:21

Нет, не 1с, другая.
Ключь к неи есть, праблема в том, что ее надо на
ноутбук засунуть, да только в современных ноутах
нет лпт((


Дата: Апр 19, 2004 12:11:26 · Поправил: q_q

SammIk
ноутах нет лпт
И переходников, например, на usb, в природе не существует?


Дата: Апр 19, 2004 12:59:32

Понятия не имею, если есть то хорошо.
Но всеже возможно эмулировать такие ключи?


Дата: Апр 19, 2004 13:32:19

afaik через те переходники и принтеры-то глючат. А нормальный донгл совсем не должен работать
Сорри за оффтоп


Дата: Апр 19, 2004 13:48:40

Тогда, что же с этои сволочью делать?


Дата: Апр 19, 2004 15:00:53

SammIk
Ну ты как маленький ребенок :)

Если ключ легальный - обращайся к производителю софта, который тебе этот ключ дал, пусть он тебе его заменит на "такой же, только с перламутровыми пуговицами", то есть USB. Если производитель не в состоянии это сделать - задумайся, так ли чильно тебе нужна эта софтина?

Если нелегальный - то теоретически ("если нечто запускается, то оно может быть сломано") при наличии работоспособного ключа можно сделать его эмулятор. А практически - зависит от твоего опыта и терпения (ну и везение тоже не помешает). Универсальных решений твоей проблемы скорее всего нет (может, что-то где-то и есть, но лично я этого "чего-то" руками не щупал).

S_T_A_S_
А можно краткое объяснение для новичка, почему эта тема - оффтоп? Если совсем оффтоп - тогда напиши на ник@mail.ru.


Дата: Апр 19, 2004 18:55:57

S_T_A_S_
Намек понял, исправляюсь :)

Обычно разработчику защищаемого ПО всесте с ключом дают еще кучу док и (в зависимости от количества уплаченных за защиту денег) некоторое количество софта.

В этот софт обязательно (ну, может, и не совсем обязательно - в тех случаях, которые видел я) входит драйвер для работы с ключом из ring0 и DLL-библиотека, с помощью которой можно обращаться к драйверу из ring3. Драйвер не документирован вообще, а функции, экспортируемые библиотекой, документированы довольно подробно, иногда даже с примерами.

И еще может быть софт, который умеет запаковывать защищаемую прогу по каким-то своим хитрым недокументированным алгоритмам. Запакованная таким софтом прога может обращаться к драйверу, минуя DLL (часть кода DLL при этом дублируется в запакованной проге).

Дальше все зависит от используемого способа защиты. Если используется DLL, то здесь все очень просто. Пишется своя DLL-библиотека, которая содержит функции с теми же именами. Эти функции сначала тупо дампят все передаваемые параметры (а они, как я уже говорил, хорошо документированы) и вызывают функции из оригинальной библиотеки (здесь вместо написания своей библиотеки можно даже воспользоваться любым API-монитором). А потом, когда ты уверен, что "поснифил" все нужные данные, пишешь свою DLL, которая будет возвращать те результаты, которые возвращала оригинальная DLL, пока ты их дампил. После чего подменяешь библиотеки, и все готово. При переносе проги на другой комп ты даже можешь не устанавливать на том компе драйвер ключа - достаточно твоей библиотеки.

Если прога запакована, и библиотека не используется, то можно попытаться перехватывать вызовы драйвера (например, функцию DeviceIoControl), и все равно оставаться при этом в ring3 - хотя это и намного сложнее, чем в случае с DLL, но попытаться можно.

Если же хочется сделать универсальное решение, тогда надо писать свой драйвер, и подменять им драйвер ключа. Тут я посоветовать ничего не могу (никогда ничего не писал под ring0), но подозреваю, что проблем будет очень много - функции совсем недокументированы, а драйвер наверняка запакован, так что тебе придется хорошенько помучиться, прежде чем ты сможешь его подменить. Хотя может быть, этот метод и ненамного сложнее, чем перехват DeviceIoControl... не знаю, не пробовал.

В любом случае ты подходишь к драйверу, как к "черному ящику" - ты не знаешь, что делает драйвер (да и ключ тоже), да и знать не хочешь. Ты только знаешь, что в ответ на определенные данные он должен выдать определенный результат. Таким образом, эмулятор написать теоретически можно.

А теперь самое время вспомнить про всевозможные проверки целостности, ужаснуться и отказаться от затеи с эмуляцией ;)


Дата: Апр 19, 2004 19:57:39

SammIk
А что за ключ? HASP? Rainbow Super Pro? Самопальное что-то (т.е. без марки)? Если последнее, то ответ RobinFood'а более чем исчерпывающий ;-) В противном случае следует искать доки/статьи по взлому конкретного семейства донглов. На васме кое-что есть... В сети море информации.


Дата: Апр 20, 2004 07:47:08

Ок, всем спамибо, буду искать.


Дата: Июл 22, 2004 09:56:48

А еще проще обратиться к профессионалам.

www.dongle.ru


Дата: Июл 22, 2004 09:56:53 · Поправил: MeteO

:


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.050