информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[NT] Формат реестра не совместимый? Хреново... 09.07.03 15:59  Число просмотров: 1773
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Т.е. если я даже заставлю его грузиться, то с существующим
> реестром он работать не будет? А как же оно тогда рег-файлы
> импортирует?
>
> Кстати, я потом Kernel32.dll подменить попробовал - упало!
Вот кусок system.hiv:

REGEDIT4

[\Registry\Machine\SYSTEM]

[\Registry\Machine\SYSTEM\ControlSet001]

[\Registry\Machine\SYSTEM\ControlSet001\Control]

[\Registry\Machine\SYSTEM\ControlSet001\Control\NLS]

[\Registry\Machine\SYSTEM\ControlSet001\Control\NLS\CodePage]
"10000"="c_10000.nls"
"1252"="c_1252.nls"
"437"="c_437.nls"
"850"="c_850.nls"
"ACP"="1252"
"OEMCP"="437"
"MACCP"="10000"

[\Registry\Machine\SYSTEM\ControlSet001\Control\NLS\Language]
"0401"="l_intl.nls"
"0402"="l_intl.nls"
"0403"="l_intl.nls"
"0404"="l_intl.nls"
"0405"="l_intl.nls"
"0406"="l_intl.nls"
"0407"="l_intl.nls"
"0408"="l_intl.nls"
"0409"="l_intl.nls"
"040a"="l_intl.nls"
"040b"="l_intl.nls"
"040c"="l_intl.nls"
"040d"="l_intl.nls"
"040e"="l_intl.nls"
"040f"="l_intl.nls"
"0410"="l_intl.nls"
"Default"="0409"
"InstallLanguage"="0409"

---

И т.д. Так и импортирует - формат хранения хайвов разный. API - одинаковые
<operating systems>
[NT] Ntoskrnl/ReactOS (Amirul'у & всем - всем - всем) 08.07.03 11:02  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Валялась у меня РеактОсь, и решил я ее заюзать...
В чистом виде она мне не нужна, только, как справочник по внутренним структурам мастдая, но вот, хотел я сделать вот что: подсунуть отдельные файлы (начиная с Ntoskrnl) в "родной" Мастдай и посмотреть, что получится.
А не получилось ни XYZа!
Не буду, говорит, за гружаться, пока Ntoskrnl missing or corrupt!
Я, пока не приглядывался, но точки входа у них сильно различаются:
родная по адр 40D010 а в ReactOS - C0001000, ну и далее, я пока не приглядывался (завтра начну).

И так, вопрос:

Может, кто уже пробовал что-нить подобное и добился каких-нить успехов, или, хотя бы имеет идеи на этот счет?
[NT] Ntoskrnl/ReactOS - мои 5 коп 08.07.03 13:16  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
1. Чексум верный?
2. Проверь, совпадают ли экспорты.
[NT] Экспорты должны совпадать, а чексум - ни каким боком, он вообще в 3,5 раза короче. 09.07.03 03:32  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
[NT] Я имел в виду, что чексум вообще должен быть 09.07.03 22:08  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
В ReactOS могли отказаться от идеи чексуменья ядерных модулей и не считать его. Я бы во всяком случае так и сделал :)
[NT]А Ntloader можно как-нить задебажить? Есть идеи? 10.07.03 04:59  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
[NT] Имхо только из виртуальной машины со встроенным отладчиком 10.07.03 09:16  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Хотя в DDK есть какой-то ntldr_dbg, но я не знаю, что с ним делать :-)
Единственной ВМ со встроенным отладчиком, из тех что я знаю (2 штуки :-)) ) является bochs. Да и там отладчик на любителя. Хотя сырцы то вот они. Бери и меняй по своему вкусу - остальные только спасибо скажут :-)

Кста, о боксе. Там вообще не используется аппаратная эмуляция. То бишь процессор в режиме трейса. Это снижает производительность, но покажите мне хоть одного человека думающего о производительности в ВМ :-) В ВМ лезут не от хорошей жизни. Зато такая обработка инструкций дает массу преимуществ, в числе которых очень гибкая система точек прерывания.

Мдя, немного на рекламу смахивает, тем более что в реальной жизни мне хватает VM Ware :-)
[NT] А если 10.07.03 12:55  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
взять ntldr из самой ReactOS? Что мешает? Или просто интересно эту тему размутить?
[NT] Похоже МС-овский ntloader согласен грузить только родные ядра 08.07.03 13:08  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Как он их одупляет - другой вопрос. Потому как точка входа может быть любой (если в ms-е в проекте винды поменяют порядок объектников для линкера - она тоже поменяется).

> Валялась у меня РеактОсь, и решил я ее заюзать...
> В чистом виде она мне не нужна, только, как справочник по
> внутренним структурам мастдая, но вот, хотел я сделать вот
> что: подсунуть отдельные файлы (начиная с Ntoskrnl) в
> "родной" Мастдай и посмотреть, что получится.
> А не получилось ни XYZа!
> Не буду, говорит, за гружаться, пока Ntoskrnl missing or
> corrupt!
> Я, пока не приглядывался, но точки входа у них сильно
> различаются:
> родная по адр 40D010 а в ReactOS - C0001000, ну и далее, я
Я, кста, давно заметил, что драйвера (и ядро вот) компилятся с произвольным Base Address-ом, в память они все равно по этому адресу никогда не попадают. А реактос, я так понял, честно указывает куда собирается грузиться.

> пока не приглядывался (завтра начну).
Кроме этого в реактосовском ntoskrnl.exe нет битмапов для вывода бегущих кубиков. Если б проблема только в этом, то /noguiboot помогло бы. Так ведь и hal не заменяется. Еще вспомнилось, что структура реестра у реактоса - plain text. А работа с реестром идет именно из ядра. И даже если удастся заставить кернел загружаться, первый же дривер, который попытается считать свою конфигурацию испортит всю малину. Я так подозреваю, что это не единственные грабли, с которыми предстоит встретиться, если пытаться заменить любую часть (как это в свое время делали с юнихом). Может это временно, а может и by design. Типа упор делается на то, чтоб софта внутри НОВОЙ ОС-и чувствовала себя нормально, а не ось была ТОЧНО ТАКОЙ же как NT-я (что было задачей при переписывании юниха).

А начинать лучше сразу с ntldr-а, только вот никак не дойдут руки поставить bochs с внешним отладчиком - все в vmware-и делаю (вот чего там реально не хватает так это встроенного отладчика). А вообще неплохо бы потрейсить ntldr в том месте, где он выводит это самое missing. Это бы могло дать ответ на тот самый "другой вопрос" (что винде мешает загружать чужой кернел). Приятнее всего было бы если это какая-то явная проверка, а не нехватка чего то где-то.

> И так, вопрос:
>
> Может, кто уже пробовал что-нить подобное и добился
> каких-нить успехов, или, хотя бы имеет идеи на этот счет?
Похоже пока реактос можно ставить только полностью, совместимостью там еще не очень пахнет. И не уверен, что когда нибудь можно будет вытворять такие вещи. Вот реактосовские примеры я запускал в винде - работают. Скорее всего будут работать и виндовые проги, если они не используют unimplemented функций. Насколько видно из дизайна реактоси там будут также работать и большинство дриверов. Но самые низкоуровневые штуки типа ядра, хала и т.д. - вряд ли. Хотя время покажет...
[NT] Да кстати 08.07.03 13:11  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
У других тоже не выходит:

http://sourceforge.net/forum/forum.php?thread_id=823104&forum_id=20302
[NT] Формат реестра не совместимый? Хреново... 09.07.03 04:11  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Т.е. если я даже заставлю его грузиться, то с существующим реестром он работать не будет? А как же оно тогда рег-файлы импортирует?

Кстати, я потом Kernel32.dll подменить попробовал - упало!
[NT] Формат реестра не совместимый? Хреново... 09.07.03 15:59  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Т.е. если я даже заставлю его грузиться, то с существующим
> реестром он работать не будет? А как же оно тогда рег-файлы
> импортирует?
>
> Кстати, я потом Kernel32.dll подменить попробовал - упало!
Вот кусок system.hiv:

REGEDIT4

[\Registry\Machine\SYSTEM]

[\Registry\Machine\SYSTEM\ControlSet001]

[\Registry\Machine\SYSTEM\ControlSet001\Control]

[\Registry\Machine\SYSTEM\ControlSet001\Control\NLS]

[\Registry\Machine\SYSTEM\ControlSet001\Control\NLS\CodePage]
"10000"="c_10000.nls"
"1252"="c_1252.nls"
"437"="c_437.nls"
"850"="c_850.nls"
"ACP"="1252"
"OEMCP"="437"
"MACCP"="10000"

[\Registry\Machine\SYSTEM\ControlSet001\Control\NLS\Language]
"0401"="l_intl.nls"
"0402"="l_intl.nls"
"0403"="l_intl.nls"
"0404"="l_intl.nls"
"0405"="l_intl.nls"
"0406"="l_intl.nls"
"0407"="l_intl.nls"
"0408"="l_intl.nls"
"0409"="l_intl.nls"
"040a"="l_intl.nls"
"040b"="l_intl.nls"
"040c"="l_intl.nls"
"040d"="l_intl.nls"
"040e"="l_intl.nls"
"040f"="l_intl.nls"
"0410"="l_intl.nls"
"Default"="0409"
"InstallLanguage"="0409"

---

И т.д. Так и импортирует - формат хранения хайвов разный. API - одинаковые
[NT] Протупил я 10.07.03 14:52  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Не ставил - и не смотрел, просто увидел текстовый файл в инстал каталоге и сделал поспешные выводы :-(

Щас поставил - там все файлы реестра такие же и в том же формате. Теперь попытаюсь прикрутить free-loader к win2k
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach