определить Save Mode из bootloader'a...

Тема в разделе "WASM.RESEARCH", создана пользователем Godness, 2 сен 2005.

  1. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    вообщем у меня тут такая задача по работе - надо определить где находится флаг в системе, который при загрузке определяет, отображать ли меню выбора режимов загрузки Save Mode - Normal Mode.



    Понятно что где-то в реестре, но где?!



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



    Вообщем может кто об этом что знает?! Винда - XP, 2000
     
  2. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    В сорцах винды нтлоадера нет - хотя есть, как ни странно, код бутлоадера (первый сектор в партиции, загружается до нтлоадера). Хотя может я плохо искал - да вроде нормально.
     
  3. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Не понял какое меню? У меня при загрузке можно что-то выбрать только если вовремя нажать F8, да и реестр в то время может быть ещё не собран
     
  4. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    ну что не понятно? а если система упала во время работы, то при загрузке она автоматически предлагает выбрать Save Mode - ну что ты как маленький :)
     
  5. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    к тому же нтлоадер работает с реестром аж бЭгом - в нем можно найти тучу строк с ветвями реестра.
     
  6. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine




    Ну не падала у меня так система :) синий экран делал иногда, но никакого меню не выскакивало, загружалась как обычно







    Это понятно, но смотря на каком этапе, он и с boot.ini работает



    В винде есть ветка

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] (но это похоже не то), меню выскакивает какое, то что по F8 с большим кол-вом пунктов или вообще другое?
     
  7. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Смотри обращения к экспортируемой переменной InitSafeBootMode в функции Phase1Initialization модуля ntoskrnl.exe. Принимаемые ею значения такие:
    Код (Text):
    1.  
    2. NORMALBOOT          equ 0
    3. SAFEBOOT_MINIMAL    equ 1
    4. SAFEBOOT_NETWORK    equ 2
    5. SAFEBOOT_DSREPAIR   equ 3


    И ещё поищи эти строки и посмотри, что с ними делают.

    'SAFEBOOT:'

    'MINIMAL'

    'NETWORK'

    'DSREPAIR'

    'BOOTLOG'



    Это имена ключей прописываемых в boot.ini. Похоже, что при падении система прописывает туда соотв. ключ. И бутлоадер по F8 тоже.



    http://www.sysinternals.com/information/bootini.html
     
  8. LevaGil

    LevaGil New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    Проблема в том что его не подебажиш и что меню выводится уже в защищенном режиме

    Неправда, даже ntdetect.com - исполняется в реале. В защиту комп переводится уже после выполнения ntdetect: зачем для работы с железом такой геморой, как защищенный режим?

    А ntloader (предполагаю) определяет предыдущую неудачную загрузку по неустановленому флагу успешного завершения работы гдето в partition table загрузочного раздела и с реестром он ВООБЩЕ НЕ РАБОТАЕТ, будь уверен.

    Кстати ntloader тупо можно отдизасмить - это код и, почти наверняка, не упакованый...
     
  9. LevaGil

    LevaGil New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    Я подпачиваю его так чтобы выводить и дампить в нужные моменты значения регистров на экран и т.д.

    Лол. Да не патч ны ничего :). Сделай тупой com файл, который регистры тебе на экран будет выводить, назови его ntdetect.com, замени настоящий и будет тебе счастье :)
     
  10. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    LevaGil



    ntdetect.com тут вообще не причем - я о ntloader'е



    тупо можно отдизасмить - это код

    об этом речь и идет



    почти наверняка, не упакованый

    а с чего ему быть упакованым?



    Four-F

    пасиба! посмотрю