пятница, 3 апреля 2009 г.

Все с чего-то начинается...

Любое маленькое (а может и великое) дело с чего-то начинается. В моем случае дело началось с диплома, желания получше разобраться в работе USB и попробовать свои силы в реверсинжиниринге... Что из этого получилось будет описано в этом блоге.

Итак имеется: Сканер отпечатков пальцев Nitgen Hamster, запакованный в корпус изделия Biocode отечественной фирмы НПО "Лазерные системы" с работающим под Windows драйвером и программой для снятия отпечатков пальцев.

Нужно: написать такой же драйвер и демон под Linux, а точнее под МСВС 3.0 (ядро 2.4.x) и МСВС 5.0 (2.6.26 и выше).

Первое что приходит в голову, конечно же, взять USB-сниффер под винду, поймать пакеты и повторить их в линуксе. Идея правильная, но возникает несколько нюансов:
Во-первых, нужен тот самый сниффер и хотелось бы чтобы пойманые пакеты имели удобочитаемый вид. Во-вторых перезагружаться туда-сюда для тестов и проверок не очень удобно. В-третьих, встает вопрос выбора способа написания драйвера: будет он работать как модуль ядра или в юзерспейсе.

Вот эти вопросы я и хочу осветить в блоге с кодом, размышлениями и прочими вкучностями.

ЗЫ А блог-то я начал вести из-за отсутствия нормальных описаний и howto по теме реверсинжинирнга драйверов под USB.