|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.02.2013, 17:20 | #1 |
Изучающий C и ASM
Пользователь
Регистрация: 25.05.2012
Сообщений: 89
|
Загрузчик своими руками
Всех приветствую! Возникла необходимость запаролить свой ноут на стадии загрузки. Читал темы вроде "MBR своими руками" от Мыщьха. Теорию понял.
Проблема заключается в том, что надо передавать управление разным загрузчикам. То, что загручик придется писать в MBR, ясно. На винчестере 3 раздела: 1 - UFS (FreeBSD, загрузчик FreeBSD), 2 - UFS (нет ОС), 3 - HFS+ (OSx86, загрузчик Clover/Chameleon). От загрузчика требуется считать пароль с клавиатуры и сверить его с зашитым в него. Если пароль верен, то спросить, с какого раздела грузиться; если нет - предоставить ввод заново Подскажите, что надо почитать. P.S. Grub не хочу ставить - сразу все будет ясно |
16.02.2013, 19:15 | #2 |
Пользователь
Регистрация: 16.02.2013
Сообщений: 53
|
О чём именно почитать? Если дело касается вывода подсказок и ввода пароля и номеров разделов читай функции ввода/вывода биос, можно у всем известного Зубкова.
|
16.02.2013, 19:41 | #3 |
Изучающий C и ASM
Пользователь
Регистрация: 25.05.2012
Сообщений: 89
|
Меня интересует как правильно его сделать(смещения и прочая атрибутика) и как правильно передавать управление загрузчикам на разделах
про ввод: знаком с int 0x10 и int 0x16 |
16.02.2013, 19:57 | #4 |
Редкий тунеядец
Форумчанин
Регистрация: 29.10.2006
Сообщений: 595
|
Интересно, а зачем в принципе весь этот изврат? Ведь все равно как и стандартный пароль на вход в систему твоя система "ломается" либо подбором, либо переустановкой виды. Если уж идти в направлении жестокой защиты не проще ли сваять на Attiny13 простенький интегрированный девайс комутирующий питание ноута по определенной комбинации с клавы? Это конечно печальный вариант, но уж точно веселей чем программировать "синий экран"
|
16.02.2013, 20:19 | #5 |
Пользователь
Регистрация: 16.02.2013
Сообщений: 53
|
Не хотите Граб, ставьте Симона:
http://www.symon.ru/usr/rus/about.shtml А если хотите писать собственный загрузчик, то начинайте. Напишите хотя бы начало, которое выводит запрос на ввод пароля. А там, уже дальше двигайте. |
17.02.2013, 12:36 | #6 |
Изучающий C и ASM
Пользователь
Регистрация: 25.05.2012
Сообщений: 89
|
|
17.02.2013, 12:44 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
отдизасмите текущую мбр и посмотрите как работает.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
17.02.2013, 12:51 | #8 |
Пользователь
Регистрация: 16.02.2013
Сообщений: 53
|
Berlioz, если желание разбираться не пропало, могу предложить мой киберпанковский изврат. Программа запускается из mbr, копирует себя по новому адресу и передаёт на него управление, потом повторяет это опять, доходит до границы 640 кб и начинает копирование вновь с нижних адресов. Ничего сложного, есть интерес, разбирайтесь, разберётесь, тогда и загрузчик писать легче будет. Компилируется фасмом, получается образ дискеты, который используете в качестве загрузочного для любой виртуальной машины.
Код:
|
19.02.2013, 13:44 | #9 | |
Изучающий C и ASM
Пользователь
Регистрация: 25.05.2012
Сообщений: 89
|
Цитата:
|
|
19.02.2013, 15:04 | #10 |
Пользователь
Регистрация: 16.02.2013
Сообщений: 53
|
Тут немного не точно написал. Образ дискеты не получается, только mbr. Что бы получился именно образ стандартной дискеты 1.44 надо в конец кода дописать:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аутентификация своими руками(с++) | Rock145 | C/C++ Сетевое программирование | 0 | 30.06.2012 19:21 |
Хостинг своими руками. | maer | Свободное общение | 10 | 02.03.2011 14:28 |
firewall своими руками | badfilin | Общие вопросы C/C++ | 0 | 24.01.2010 22:14 |
Проигрыватель своими руками | Prisian | Мультимедиа в Delphi | 2 | 01.09.2008 16:09 |
StrechDIBits своими руками | BOBAH13 | Win Api | 3 | 22.07.2008 14:52 |