![]() |
|
![]() ![]() ![]() |
|
CDEater |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 29.7.2006 Репутация: нет Всего: 1 |
Раньше думал, что первые 0x1BE байт MBR отведены полностью под код загрузчика, но недавно обломался. Написал свой загрузчик, а на этом месте хранил пароль - винда видит, что там dword нуль, и чего-то своего туда нахреначила, сказала, что обнаружила новое устройство и просит перезагрузить комп. Пароль, естественно, накрылся
![]() Просветите, какая область MBR может быть использована для кода загрузчика с гарантией неизменности. Вдруг ещё какая-нибудь ОС решит писать в MBR свои переменные ? И есть ли документ на эту тему (всё-таки MBR - вещь ОС-независимая, и должны быть какие-то правила его использования, а не просто виндузовая отсебятина, учитывая что на современных компах часто несколько ОСей сидят в разных разделах одного винта) ? |
|||
|
||||
rsm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: нет Всего: 62 |
Никакая. Потому что под MBR отведено ровно 200h байт, которые могут быть использованы любой ОС по своему усмотрению.
В MBR находится код, получающий управление после загрузки BIOS. Это может быть код загрузчика любой ОС или вообще произвольный код, хоть "Hello, World!".
Загляни на этот сайт, там в документации довольно неплохо описан процесс загрузки, участие в нем MBR и все такое. |
|||
|
||||
CDEater |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 29.7.2006 Репутация: нет Всего: 1 |
rsm, прочитал по ссылке, не нашёл для себя ничего нового. Кстати, и бутменеджер этот вполне посредственный (напр., мой поддерживает в 2.5 раза больше разделов, хотя я не ставил такой цели при его написании).
А главное - там нигде не написано, что каждая ОС вольна использовать MBR по своему усмотрению, как ты утверждаешь. ИМХО это в корне неверно. Наверняка есть стандарт, кинул бы кто ссылку на него... И всё-таки, что за переменную WinXP хранит по смещению +1B8h ? |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 2 Всего: 158 |
верно-верно.. это область кода загрузчика, соотв-но rsm прав. а что, твоему бутменеджеру больше негде сохранить 4 байта? ![]() |
|||
|
||||
CDEater |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 29.7.2006 Репутация: нет Всего: 1 |
dumb, приведённая тобой цитата говорит как раз об обратном
Master bootstrap loader code Ключевые слова - loader CODE, то есть, это код (как правило, неизменяемый), а не область для хранения переменных, которые этим загрузчиком не используются. В MBR мусорят дисковые дрова винды, причём только ХП (МЕ не мусорит). То есть, к загрузчику эта переменная отношения не имеет. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 2 Всего: 158 |
к загрузчику не имеет. я имел ввиду, что пространство, отведенное под код загрузчика, система, которая этот код записывает в мбр, может использовать хоть в хвост, хоть в гриву... это, кстати, сродни твоему сохранению пароля, только ты еще и в чужой огород "прешь".
![]() чтиво с подсветкой ![]()
|
|||
|
||||
CDEater |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 29.7.2006 Репутация: нет Всего: 1 |
dumb, спасибо за ссылку
|
|||
|
||||
rsm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: нет Всего: 62 |
И только?
![]() Чтобы понять это достаточно вспомнить назначение MBR. После загрузки BIOS управление передается именно в MBR, а не куда-либо еще (если конечно ты не перепишешь BIOS). Соответственно, для любой ОС единственная возможность загрузиться - это прописать в MBR свой собственный код загрузки. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для Windows/DOS" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |