LINUX.ORG.RU

USB-драйвер для флешек

 , , ,


0

3

Привет, ЛОР!

В рамках курсового проекта на просторах нашей необъятной родины нужно реализовать USB-драйвер, который на флешках из некоторого списка данные будет шифровать, а со всеми остальными работать как обычно. В общем, я нашёл и заставил работать (немного кода пришлось переписать) вот такой драйвер: https://github.com/kosc/linux-driver-studing/tree/master/usbstick. И с ним почти всё хорошо. Почти. При подключении флешки с таким драйвером, создаётся устройство /dev/pendrive0, которое по своему поведению эквивалентно устройству /dev/sdb, если флешка подключена через стандартный драйвер usb_storage. Ничего, что было бы похоже на /dev/sdb1, этот драйвер не создаёт. Грубо говоря, он не может работать с таблицей разделов на флешке, даже её не видит (из cfdisk и fdisk там ни одного раздела не видно, хотя при работе через usb_storage там один раздел есть и данные норм читаются/пишутся). Уже все доки перерыл, ЛОР, на тебя только надежда.


А udev событие создания твоего /dev/pendrive не ловит? Если ловит, можно попробовать с правилами udev поколдовать.

DELIRIUM ☆☆☆☆☆
()

Так это полнодисковое шифрование? Таблица разделов тоже должна быть шифрованная? А она не шифрованная, поэтому при расшифровке незашифрованной таблицы разделов получается мусор, который ядро и не распознает как таблицу разделов.

А что если создать таблицу разделов на /dev/pendrive0?

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Похоже в этом драйвере функция pendrive_request() данные не записывает и не читает. Поэтому и таблица разделов на /dev/pendrive0 не видна.

iliyap ★★★★★
()
Ответ на: комментарий от zudwa

Извините за нескромный вопрос, это в каком универе такие курсачи раздают?

+1, где клепают таких хакеров? С другой стороны, это может быть личная инициатива автора темы, а препод согласился на такой убер-курсач.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от zudwa

СПбГУАП, это условие стандартного варианта, а никакая не личная инициатива. Спасибо большое за подсказки, погляжу.

kosc
() автор топика

А, ну по вузу все ясно. Серьёзная отрасль, серьёзные и курсовые.

anonymous
()
Ответ на: комментарий от kosc

Я выпускник СПбГУАП, к сожалению если там и есть что-то хорошего уровня, то скорее как инициатива конкретных преподавателей (это хорошо когда такое есть). Увы, чтобы ВУЗы стали давать актуальную адекватную практическую часть - нужна прямая связь с предприятиями и компаниями, которые потом будут брать этих выпускников...

I-Love-Microsoft ★★★★★
()

щас итмо в моде, там рай для хипсторов

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

нужна прямая связь с предприятиями и компаниями

Нужна смена культуры организации этих самых предприятий и компаний, а так-же законодательная база под это.

ioway
()
Ответ на: комментарий от ioway

Причем тут это? Успешная фирма, которая организована «как надо», видит что студентов учат «не тому» что им надо. Ты ответь разок и закончим это перетирать, а то это лютый оффтоп - тема о USB-драйвере :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Мои извинения ТСу за оффтоп.

Успешная фирма, которая организована «как надо», видит что студентов учат «не тому» что им надо

Все ВОЗ имеют коммерческие группы, но компании ооооочень редко платят именно с целью «получить специалиста». Так сложилось, что они предпочитают поохотится на толковых ребят по окончанию института через коньячок преподу или декану. Но и их можно понять - законодательно они абсолютно не защищены ни от лоботрясов-выпускников, ни от бесполезных преподавателей. Так же и выпускники не защищены от работодателей которые под контракт оплаты мечтают усадить их лет на 5 на минимальный оклад (профсоюзы-то не работают). Но все эти вопросы должны подымать именно компании, поскольку законы и политика - отражение нужд экономики.
Вот ни разу не сомневаюсь если воспользоваться зарубежной практикой и институты подтянуться, поскольку их бюджет будет напрямую зависеть от репутации и уровня выпускаемых.

ioway
()
Ответ на: комментарий от kosc

думаю, речь идет не о переписывании штатного модуля ядра, а о написании модуля-фильтра с перехватом обработчиков чтения/записи блочного устройства. ну и навешиванием на оные собственной функциональности.

типа такого: https://github.com/asimkadav/block-filter/blob/master/misc/misc.c

zudwa
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.