| Сейчас на форуме: Rio (+10 невидимых) |
| eXeL@B —› Основной форум —› Как работают ключи LPT портов |
| Посл.ответ | Сообщение |
|
|
Создано: 20 марта 2006 12:17 · Личное сообщение · #1 |
|
|
Создано: 20 марта 2006 12:19 · Личное сообщение · #2 |
|
|
Создано: 20 марта 2006 13:16 · Личное сообщение · #3 |
|
|
Создано: 20 марта 2006 16:06 · Личное сообщение · #4 Обойти можно. Один вон 1С обошел. До сих пор наверно обходит по кругу камеру.
Вот может еще поможет. Про гуардиан. http://exelab.ru/f/action=vthread&forum=2&topic=2518 ----- Я фантомас, а ты гавно ![]() |
|
|
Создано: 20 марта 2006 16:25 · Личное сообщение · #5 |
|
|
Создано: 20 марта 2006 18:11 · Поправил: Mordred · Личное сообщение · #6 Кстати, к вопросу о донглах. Сейчас ковыряю одну прогу (из любопытства, ключ у меня есть ) В ней обращения к ключу идут как обычно через DeviceIoControl, однако после вызова никакие данные из передаваемых в функцию данных (выходной буфер, число возвращённых байт и т.п.) не изменяются, и значения регистров при запуске с ключом и без ключа одинаковы, однако прога всё же строго определяет, есть ключ или нет Кто-нить знает, как еще может возвращать ключ какие-то данные?..
![]() |
|
|
Создано: 21 марта 2006 01:34 · Личное сообщение · #7 |
|
|
Создано: 21 марта 2006 09:27 · Личное сообщение · #8 |
|
|
Создано: 22 марта 2006 01:00 · Личное сообщение · #9 |
|
|
Создано: 22 марта 2006 02:17 · Личное сообщение · #10 |
|
|
Создано: 23 марта 2006 11:10 · Личное сообщение · #11 Mordred пишет: А про функцию DeviceIoControl - она может изменять какие-то данные кроме своих параметров? Вроде нет. Но драйвера Алладин, например, пишет так, что передает и вызвает ключ совсем по другому. Смотри статью Chingachguk на wasm.ru про LPT-ключи. Если у тебя ключ Rockey4, то лучше ломать функции более высокого уровня. Я тоже долго тупо проверял буфер DeviceIoControl и очень удивлялся - во всех статьях написано совсем другое. ![]() |
|
|
Создано: 23 марта 2006 12:21 · Личное сообщение · #12 |
|
|
Создано: 23 марта 2006 12:46 · Личное сообщение · #13 |
|
|
Создано: 23 марта 2006 13:43 · Личное сообщение · #14 |
|
|
Создано: 23 марта 2006 15:30 · Поправил: Mordred · Личное сообщение · #15 У меня донгл Eutron'a. В другой версии этой же проги (к которой у меня ключа сейчас нет) все обращения шли через DeviceIoControl(перед этим как раз использовалась CreateFile для получения хэндла), которая вызывалась с двумя различными кодами dwIoControlCode. С одним из них каждый раз возвращалось по 2 байта с ключа, с другим - данные не менялись. Я написал лоадер, подставляющий нужные байты на вызовах с первым кодом - прога запустилась, но на некоторых функциях вылетает с ошибкой, т.е. какие-то данные всё же некорректны... Пока копаю в дизасме - вроде других обращений к ключу не вижу, да и Eutron'ы, насколько я знаю, одни из простейших донглов.
ssx Пасиб за идею, попробую реализовать
ЗЫ Прогу по некоторым причинам выложить не могу
![]() |
|
|
Создано: 23 марта 2006 15:48 · Личное сообщение · #16 |
| eXeL@B —› Основной форум —› Как работают ключи LPT портов |







) В ней обращения к ключу идут как обычно через DeviceIoControl, однако после вызова никакие данные из передаваемых в функцию данных (выходной буфер, число возвращённых байт и т.п.) не изменяются, и значения регистров при запуске с ключом и без ключа одинаковы, однако прога всё же строго определяет, есть ключ или нет
А про функцию DeviceIoControl - она может изменять какие-то данные кроме своих параметров? Не в курсе? А то в доках пока ничего не нарыл...


Для печати