Сейчас на форуме: bartolomeo, tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› энумерация USB-устройств в драйвере
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 03 марта 2011 00:50
· Личное сообщение · #1

Собственно возникла задача из кода драйвера определять наличие подключенных юсб-устройств и получить от них для начала хоть дескрипторы. Познания в написании драйверов ближе к начальному уровню, поэтому прошу сильно не пинать. Как вариант решения вижу (слыхал) нужно опросить хабы на наличие подключенных к портам устройств, но вот как это реализовать в коде ring0 не знаю. Подскажите, с чего начинать, а может есть готовые примеры? Или юсб-устройства можно тоже получить по перебору типа phisicalDevice?



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 06 марта 2011 21:02
· Личное сообщение · #2

!Tolkin пишет:
что там по смещению 0xE0 (смотрю в отладчике на XP SP3)? подскажите.


Ё-моё , дык скачай ты отладочные символы и медитируй , млин



Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 07 марта 2011 03:03
· Личное сообщение · #3

Hugo Chaves
медитирую )) но пока в х64 только БСОДы.



Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 09 марта 2011 01:30
· Личное сообщение · #4

Все, медитации закончились ))
Переписал код как положено по книге и все сразу заработало везде, всем спасибо за участие.
r_e
и все таки то была не фигня ))



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

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

Tolkin
Может и не фигня, но к данному тобой коду оно не имело отношения.

Ну так поделись с общественностью полезным кодом.

-----
старый пень




Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 09 марта 2011 12:38
· Личное сообщение · #6

r_e
Может и не фигня, но к данному тобой коду оно не имело отношения.
как раз имело отношение к тому коду
Code:
  1. *((_DWORD *)irp->Tail.Overlay.CurrentStackLocation - 8) = Pnew_data;

смещения в иде завязано с IoGetNextIrpStackLocation

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

ЗЫ. зато разобравшись (фактически код одного из вариантов детекта мулей) назрела мысль как это можно обходить достаточно простым путем. Но это уже совсем другая история ;)



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 09 марта 2011 13:10
· Личное сообщение · #7

Tolkin
Понятно. Тоесть зажал. Так и запишем.

-----
старый пень




Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 09 марта 2011 14:11
· Личное сообщение · #8

r_e
что-то из ветеранов код никто не вывалил, а с посетителя требуете )).
и собсно вопрос задавался для собственных нужд. И что-то мало я видел в форуме выкладок готовых решений при постановке частных вопросов.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 10 марта 2011 16:17
· Личное сообщение · #9

Tolkin пишет:
фактически код одного из вариантов детекта мулей

Нихрена это не детект, хрень это собачья.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

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

ARCHANGEL
Ну отчего-же не детект, если он работает ))
а если пытаться детектить конкретные мули (особенно публичные), то всегда можно отыскать характерные его особенности и неточности исполнения протокола.
А что по вашему есть хороший детект?



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

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

Tolkin
А что по вашему есть хороший детект?
А Вы с какой целью интересуетесь?

Мулится рут-хаб и под ним нужные устройства. И все ваши проверки обламываются.

-----
старый пень




Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 11 марта 2011 00:44 · Поправил: Tolkin
· Личное сообщение · #12

r_e
А Вы с какой целью интересуетесь?
это была реплика на высказывание из предыдущего поста.
Меня детект интересует с обратной стороны, т.е. как избежать этого ))
Мулится рут-хаб и под ним нужные устройства. И все ваши проверки обламываются.
рут-хабы вообщето тоже на чем то висят, и проверкой на уровень выше отсеит их, тогда будете мулить весь комп? хотя возможно я ошибаюсь. Но и замулить рут-хаб с нужными устройствами тож не самая простая задача. Я к чему, что этот способ вполне жизнеспособен . И опять же, это все связано с недоработкой самих мулей. Поэтому и интресно, какие способы знает ARCHANGEL называя этот хренью ))




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 11 марта 2011 09:48 · Поправил: ARCHANGEL
· Личное сообщение · #13

В 2004 на паблик были выложены сорцы, где (цитирую r_e) Мулится рут-хаб и под ним нужные устройства. Поэтому на сегодня это не такая уж непростая задача. Даже такой васечка, как я, теперь может собрать подобный эмуль. А так как вы это себе понимаете, то, блин, всё гораздо проще - эмуль является драйвером, а раз так, то скан адресного пространства выдаст вам наличие любого эмуля. Так что, в общем случае, нельзя назвать какой-то способ детекта эмулей универсальным, также нельзя назвать какой-то конкретный эмуль недетектируемым - всё относительно.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 64.0 (постоянный), 2thx
Активность: 0.040.01
Статус: Участник

Создано: 11 марта 2011 10:38 · Поправил: Tolkin
· Личное сообщение · #14

ARCHANGEL
можете уточнить какие это именно сорсы и чего, а то я таких что-то не встречал, под юсб только чинговый vusb видел, но там хаб не мулится.Хотя вероятно его приспособить под это можно, если правильно основной энумератор установить и задать его свойства




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

Tolkin пишет:
под юсб только чинговый vusb видел, но там хаб не мулится

Надо посмотреть, под рукой сейчас нет, но, возможно, вы правы, и хаб там (в этих сорцах) не мулится. Я уж не помню.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

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

ARCHANGEL
Хаб там точно не мулится, как и во многих других.

-----
От многой мудрости много скорби, и умножающий знание умножает печаль





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

ajax пишет:
...не мулится,как и во многих других

Ну не мулится, и ладно. Общей концепции это не меняет. Даже если б и эмулировался, сдетектить всё равно можно, если знать, что детектить. И спрятать можно... Короче, оффтоп прекращаю.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 11 марта 2011 19:41 · Поправил: Hugo Chaves
· Личное сообщение · #18

Tolkin

А Device Simulation Framework от Micro$oft не пробовали смотреть ?
И эмуляция хаба есть и виртуальные USB устройства можно подключать .

http://msdn.microsoft.com/en-us/library/ff538293.aspx


<< . 1 . 2 .
 eXeL@B —› Программирование —› энумерация USB-устройств в драйвере
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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