Сейчас на форуме: UniSoft, bartolomeo (+6 невидимых) |
eXeL@B —› Программирование —› Создание виртуального устройства |
Посл.ответ | Сообщение |
|
Создано: 21 декабря 2010 10:37 · Личное сообщение · #1 Добрый день, товарищи. Последнее время меня интересует вопрос создания виртуального устройства, как это, к примеру, делает Алкоголь. Но к своему сожалению, всё, что мне удалось найти по этой теме - это программирование микроконтроллеров USB, правда, это не создание виртуального устройства, а программирование реального. А вся проблема в том, что я не знаю, где искать. Блин, да я даже не знаю, что в гугле написать (как запрос должен выглядеть). Товарищи, помогите кто чем может. Т.е. в идеале стоит задача: пользователь запускает приложениа А, после чего на экране отображается сообщение "Найдено новое обоудование", потом "Новое оборудование установлено и готово к использованию". Как этого добиться? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 21 декабря 2010 11:13 · Личное сообщение · #2 Начни с понимания того, что такое драйвер виртуального устройства, и чем он отличается от драйвера реального устройства. Обычно начинают с драйверов виртуальных дисков. Например вот www.truecrypt.org/downloads2 или вот совсем разжовано www.codeproject.com/KB/system/virtual-disk-tutorial.aspx ----- Реверсивная инженерия - написание кода идентичного натуральному | Сообщение посчитали полезным: Coderess, ARCHANGEL, Lumen |
|
Создано: 21 декабря 2010 19:43 · Личное сообщение · #3 |
|
Создано: 21 декабря 2010 22:11 · Поправил: [c4] · Личное сообщение · #4 До кучи - цикл статей Four-F'a "Драйверы режима ядра" Так же: С.Сорокина "Программирование драйверов и систем безопасности" |
|
Создано: 22 декабря 2010 02:10 · Личное сообщение · #5 |
|
Создано: 22 декабря 2010 08:12 · Личное сообщение · #6 |
|
Создано: 22 декабря 2010 10:34 · Личное сообщение · #7 Larry С хаспами знаком не особо, пару раз удалось взломать такую защиту без ключа, когда авторы неправильно использовали SDK или как он там для хаспов называется. Представлял эмулятор ключа в виде драйвера-фильтра, реализующего табличную эмуляцию. Но, я так понимаю, что есть и другие подходы к эмуляции ключей, правда, про них мне ничего не известно. За исходники буду благодарен, т.к. плохо представляю себе, что искать. Hugo Chaves Интересует создание виртуального USB-шного накопителя информации. К примеру, у меня есть флэшка, которую я считал в RAW-режиме. Нужно написать нечто, чтобы могло создать виртуальную флэшку и как-бы вставить содержимое считаннной флэшки в виртуальную. (Как-то туманно, но надеюсь на ваше понимание) ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 22 декабря 2010 10:44 · Личное сообщение · #8 |
|
Создано: 22 декабря 2010 10:53 · Личное сообщение · #9 |
|
Создано: 22 декабря 2010 12:04 · Личное сообщение · #10 |
|
Создано: 22 декабря 2010 12:11 · Личное сообщение · #11 Вот например ссылка - создание виртуального диска на основе виртуальной шины . Ахтунг ! - Используется KMDF , что требует знания этого драйверного фреймворка. h**p://sourceforge.net/projects/virtualdisk/ Но для эмуляции флешки придётся много поработать "напильником". Необходимы знания команд SCSI , USB (особенно Mass Storage Devices) . А в общем задача реально выполнима. |
|
Создано: 22 декабря 2010 12:20 · Поправил: PE_Kill · Личное сообщение · #12 Av0id сомневаюсь что Flash и Floppy одинаково реализуются, Flash довольно сложная технология даже для Ring3 уровня. Причем документации очень мало по алгоритмам. Мне не так давно пришлось создавать менеджер Flash накопителя для работы с ним в RAW режиме, с полным манипулированием устройства, монтирование, отключение, переподключение, запрет кеширования и прочее. В документации почти ничего не нашел, даже амерские доки ничего не дали. Про переподключение везде писали что это невозможно. Пришлось качать софт, работаюзий с флешками и дизассемблировать, дизассемблировал даже виндовые утилиты. Потом по листингу смотрел используемые апи и уже в мсдн смотрел что они делают, так восстанавливал алгоритмы, а многие были только базой чтобы хоть от чего то оттолкнуться и дальше уже дописывать опять же как получится. ----- Yann Tiersen best and do not fuck |
|
Создано: 22 декабря 2010 13:10 · Личное сообщение · #13 |
|
Создано: 22 декабря 2010 17:53 · Личное сообщение · #14 |
|
Создано: 23 декабря 2010 15:42 · Личное сообщение · #15 |
|
Создано: 24 декабря 2010 00:02 · Личное сообщение · #16 |
|
Создано: 24 декабря 2010 12:35 · Личное сообщение · #17 |
|
Создано: 24 декабря 2010 13:49 · Личное сообщение · #18 |
|
Создано: 24 декабря 2010 14:13 · Личное сообщение · #19 |
|
Создано: 27 декабря 2010 09:52 · Поправил: ARCHANGEL · Личное сообщение · #20 Недавно у себя на винте нашёл драйвер, создающий виртуальный USB контроллер и подключающий через него виртуальный хасп. Написал это творение Tyrus. На дровине также VMProtect. Обидно скорее vfd.sourceforge.net/ уже давалась выше Скачал файл по ссылке, но там они бинари, или я не нашёл сорцов или их нет? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 27 декабря 2010 10:08 · Личное сообщение · #21 Лицензия ж ГПЛ | Сообщение посчитали полезным: ARCHANGEL |
|
Создано: 28 декабря 2010 09:23 · Личное сообщение · #22 |
|
Создано: 28 декабря 2010 10:10 · Личное сообщение · #23 Товарищи, меня интересует более конкретный вопрос, вот смотрел исходники, но непонятным остался такой момент - как именно диспетчер PnP узнаёт о подключении нового оборудования? Т.е. создали мы свой девайс через IoCreateDevice, заполнили массив Irp обработчиков, среди которых и обработчик IRP_MJ_PNP, но вот как именно заставить этот обработчик выполниться, т.е. как именно заставить диспетчер его вызвать? VodoleY Йаду в трусы налей себе ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 28 декабря 2010 11:12 · Поправил: NIKOLA · Личное сообщение · #24 ARCHANGEL пишет: Скачал файл по ссылке, но там они бинари, или я не нашёл сорцов или их нет? Download vfd21-080206.zip vfd.sys (kernel-mode driver: version 2.1.2005.404) vfd.exe (command line console) vfd. dll (driver control and shell extension library) vfdwin.exe (GUI interface) readme.txt (README English) vfdhelp.txt (VFD.EXE command reference English) readmej.txt (README Japanese) vfdhelpj.txt (VFD.EXE command reference Japanese) copying.txt (GNU GENERAL PUBLIC LICENSE Version 2) |
|
Создано: 28 декабря 2010 12:05 · Личное сообщение · #25 |
|
Создано: 28 декабря 2010 15:27 · Личное сообщение · #26 ARCHANGEL Рано тебе , брат , заниматься виртуальными устройствами . Почитай документацию о PNP . Например вот h**p://msdn.microsoft.com/en-us/library/ff540535%28v=vs.85%29.aspx или h**p://www.osronline.com/ddkx/kmarch/plugplay_7mef.htm и h**p://blogs.msdn.com/b/usbcoreblog/archive/2009/10/31/how-does-usb-st ack-enumerate-a-device.aspx | Сообщение посчитали полезным: ARCHANGEL |
|
Создано: 29 декабря 2010 09:57 · Личное сообщение · #27 |
|
Создано: 17 января 2011 13:36 · Поправил: Hottabych · Личное сообщение · #28 |
eXeL@B —› Программирование —› Создание виртуального устройства |