Сейчас на форуме: Rio (+10 невидимых)

 eXeL@B —› Основной форум —› Как работают ключи LPT портов
Посл.ответ Сообщение

Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2006 12:17
· Личное сообщение · #1

Парни, есть программа WinELSO, setup.exe защищен ключем для LPT порта, и соответственно не запускается.
Вопрос: №1 как работает такой ключ?
№2 можно ли обойти эту защиту?



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 20 марта 2006 12:19
· Личное сообщение · #2

для начала скажи, что написано на ключе.
или опознай его по фотографиям:
www.dongle.ru/dongles.html
www.sporaw.ru/work/dongles/identity.htm



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 20 марта 2006 13:16
· Личное сообщение · #3

ключ по-моему сентинел
как работает - читай описание на сайте производителя (safekey ?)
обойти можно




Ранг: 85.7 (постоянный)
Активность: 0.110
Статус: Участник

Создано: 20 марта 2006 16:06
· Личное сообщение · #4

Обойти можно. Один вон 1С обошел. До сих пор наверно обходит по кругу камеру.

Вот может еще поможет. Про гуардиан.
http://exelab.ru/f/action=vthread&forum=2&topic=2518

-----
Я фантомас, а ты гавно




Ранг: 60.4 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 20 марта 2006 16:25
· Личное сообщение · #5

Как говорил один из умных людей "взломать можно всё, что можно запустить".



Ранг: 39.3 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 20 марта 2006 18:11 · Поправил: Mordred
· Личное сообщение · #6

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



Ранг: 12.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 21 марта 2006 01:34
· Личное сообщение · #7

Mordred
Вроде, можно LPT и без функций читать. Просто обращаться к 378h (собсно, LPT) порту, а там дальше через регистры.



Ранг: 39.3 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 21 марта 2006 09:27
· Личное сообщение · #8

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



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 марта 2006 01:00
· Личное сообщение · #9

Это HASP4 M1, попробую найти описание на сайте производителя или у дяди Googla!
Всем спасибо, все свободны ;)



Ранг: 12.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 22 марта 2006 02:17
· Личное сообщение · #10

Mordred пишет:
А про функцию DeviceIoControl - она может изменять какие-то данные кроме своих параметров?

Не-а. Я по апи не разбираюсь пока что, сори.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 23 марта 2006 11:10
· Личное сообщение · #11

Mordred пишет:
А про функцию DeviceIoControl - она может изменять какие-то данные кроме своих параметров?

Вроде нет. Но драйвера Алладин, например, пишет так, что передает и вызвает ключ совсем по другому.
Смотри статью Chingachguk на wasm.ru про LPT-ключи. Если у тебя ключ Rockey4,
то лучше ломать функции более высокого уровня. Я тоже долго тупо проверял
буфер DeviceIoControl и очень удивлялся - во всех статьях написано совсем другое.



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 23 марта 2006 12:21
· Личное сообщение · #12

все производители донглов предоставляют высокоуровневые API, а никто сам DeviceIoControl не зовет. так что начни с того, что определи что за донгл, найди sdk. сделай сигнатуры для IDA и посмотри какие API функции там зовутся




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 23 марта 2006 12:46
· Личное сообщение · #13

Так насколько я помню к LPT можно через CreateFile обратиться, а потом работать как с обычным файлом (ReadFile,WriteFile, CloseHandle).

-----
Yann Tiersen best and do not fuck




Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 23 марта 2006 13:43
· Личное сообщение · #14

еще раз попробую: не думаю что это самый простой способ - начать с CreateFile и зарываться в глубины общения с ключом.



Ранг: 39.3 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 23 марта 2006 15:30 · Поправил: Mordred
· Личное сообщение · #15

У меня донгл Eutron'a. В другой версии этой же проги (к которой у меня ключа сейчас нет) все обращения шли через DeviceIoControl(перед этим как раз использовалась CreateFile для получения хэндла), которая вызывалась с двумя различными кодами dwIoControlCode. С одним из них каждый раз возвращалось по 2 байта с ключа, с другим - данные не менялись. Я написал лоадер, подставляющий нужные байты на вызовах с первым кодом - прога запустилась, но на некоторых функциях вылетает с ошибкой, т.е. какие-то данные всё же некорректны... Пока копаю в дизасме - вроде других обращений к ключу не вижу, да и Eutron'ы, насколько я знаю, одни из простейших донглов.

ssx
Пасиб за идею, попробую реализовать

ЗЫ Прогу по некоторым причинам выложить не могу



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 23 марта 2006 15:48
· Личное сообщение · #16

да и не надо
рекомендую посмотреть дрова eutron
дампер для ключей тут: www.nodongle.biz/files/euapi.zip


 eXeL@B —› Основной форум —› Как работают ключи LPT портов
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати