Консультация № 194797
25.02.2019, 16:56
0.00 руб.
0 13 2
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

подскажите какую программу (отладчик ) выбрать для изучение работы процессора в защищенном режиме, до этого момента использовал turbodebager, afdpro и там нет таких регистров как gdtr,ldtr,cr0,cr1,cr2... нашел Ollydb но она кроме exe файлов ниче не открывает, ну по крайней мере из за моих рук наверное, и еще нашел IDAPRO но еще не запускал решил у вас спросить что лучше выбрать

Обсуждение

давно
Посетитель
402218
66
25.02.2019, 20:00
общий
это ответ
Здравствуйте, присоединяюсь к вопросу.
Но сам Я для примера CR0 сохранял в регистр, а потом по битово просматривал.
давно
Посетитель
402218
66
25.02.2019, 20:01
общий
Адресаты:
не туда написал
давно
Посетитель
7438
7205
25.02.2019, 20:40
общий
Адресаты:
Это да
Значит, с Вас полноценный ответ, потом заменим...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
31795
6196
26.02.2019, 13:03
общий
26.02.2019, 13:04
Адресаты:
На вопрос:
Цитата: Arthur
для изучение работы процессора в защищенном режиме, до этого момента использовал turbodebager, afdpro и там нет таких регистров как gdtr,ldtr,cr0,cr1,cr2... нашел Ollydb но она кроме exe файлов ниче не открывает,

На этот вопрос, ответить нельзя. Сам по себе чистый РМ - состояние временное, т.к. сразу после перехода в РМ, запускаемая ОСь "вешает свои тапки" на железо. Соответственно все GDTR, LDTR, IDTR и прочий "фарш" становятся собственностью ОСи. А какая ОСь добровольно скажет "Вот тебе мои мозги, поковыряйся там капельку, косметику наведи там".
То,что само чистое состояние РМ, временное, в учебных целях прыгают DOS=>PM, что-то сделали, потом PM=>DOS, то отладчиков, под это временное действие никто писать не будет.
Практически, программист(ы), написавший(е) отладчик под чистый РМ - станет новым "Биллом Гейтцем", т.к. он напишет отладчик любой ОСи. Который сможет отследить Все, вплоть, до ввода пароля ОСи, думаю, что такой отладчик сможет загружаемой ОСи, даже эмулировать перезагрузку РС.

Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
401281
56
26.02.2019, 16:00
общий
Адресаты:
Спасибо за ответ, жаль что нет, у меня возник вопрос, так что получается те люди которые пишут(программируют) ОС они все это на ощупь делают?
давно
Старший Модератор
31795
6196
26.02.2019, 17:26
общий
Адресаты:
Цитата: Arthur
так что получается те люди которые пишут(программируют) ОС они все это на ощупь делают?



Внимательно почитайте "Операционные Системы", там есть и такие строчки(это касается пропажи "сегментации" в 64-х битных системах):
Цитата: Таненбаум
Так почему же Intel отменила то, что было вариантом весьма неплохой модели памяти MULTICS, поддерживаемой на протяжении почти трех десятилетий? Возможно, основной причиной стало то, что ни UNIX, ни Windows никогда не использовали этот вариант, несмотря на его высокую эффективность, по причине исключения системных вызовов и превращения их в молниеносные вызовы процедур по соответствующим адресам внутри защищенного сегмента операционной системы. Ни один из разработчиков любой UNIX- или Windows-системы не захотел менять свою модель памяти на нечто присущее только x86, так как это нарушило бы переносимость на другие платформы. Поскольку эта возможность оказалась невостребованной со стороны программного обеспечения, компании Intel надоело тратить впустую площадь микросхемы на ее поддержку и из 64-разрядных процессоров она была убрана.


Производители ОСей научились переходить в РМ при BASE=0x00000000 и LIMIT=0xFFFFFFFF. Дальше все по образу и подобию для всех программ в рамках ОСи BASE=0x0 и LIMIT=0x-1.

Если Вы освоите это, то поймете, если бы у них был бы отладчик РМ, то они могли бы оценить все достоинства MULTICS и использовать их в своих системах. Ну, а тут как "собаки Павлова", их научили переходить в РМ при BASE=0x0 и LIMIT=0x-1(один кодер показал как, вот они на свет и реагируют), а все остальное не входит в их контракт, т.е. за это бабки не платят, и денег на образование своих сотрудников у них нет.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
401281
56
26.02.2019, 17:58
общий
Адресаты:
спасибо за ответ
давно
Старший Модератор
31795
6196
26.02.2019, 22:32
общий
это ответ
Здравствуйте, Arthur!

На Ваш вопрос, ответить нельзя.
Сам по себе чистый РМ(Protected Mode-Защищённый режим) - состояние временное.
В учебных либо коммерческих целях. В учебных прыгнули RM( Real Mode - Реальный режим)=>PM, что то сделали, потом, РМ => RM. Все это, буквально один стук сердца. Любая ОСь, перейдя в РМ , буквально за один стук сердца, "вешает свои лапти" на все железо РС, в том числе и на сам процессор, и на регистры GDTR, LDTR, IDTR и прочий "фарш" РМ, т.е. это всё уже становятся собственностью ОСи. О том, что прямого доступа к базовым регистрам нет, Вам уже сказал Kdsfofwe21, в остальном.

Ответьте на вопрос:
Какая ОСь добровольно скажет "Вот тебе мои мозги, поковыряйся там капельку, типа косметику наведи".


Существование отладчика чистого РМ, невозможно, т.к. само его наличие означало бы, что разработчики ОСей, протестировали бы модель MULTICS, предложенная разработчиками INTEL. Её описание, можно найти в книгах по ОСям: Таненебаума, Столингса и в многих других авторов. Так или иначе, даже упоминание о этой системе и беглый её анализ, позволяет, принять решение, о том, что НИКТО, из разработчиков ОСей, даже не пытался MULTICS тестировать. Им показали переход в РМ, при BASE=0x0 и LIMIT=0x-1, все больше они ничего не придумали.

Программист, или группа написавшая такой отладчик, станет очередным хоббитом, властелином кольца. Т.к. сможет получить доступ к ЛЮБОЙ, даже к самой супер-пупер секретной программе под любой ОСью, просто подсмотрев, как она защищается.


Либо у них нет денег на образование своих сотрудников, либо на развитие самой системы. О втором говорит тот факт, WIN 10 beta, выпустили как альфу. И она следит за своимы юзерами, как за beta-тестерами.

Удачи!
5
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402218
66
28.02.2019, 18:42
общий
Адресаты:
Получается что Мы не можем посмотреть "мозги" винды, это понятно, но ведь к примеру если есть исходники для какого нибудь дистрибутива линукс?
давно
Старший Модератор
31795
6196
01.03.2019, 10:54
общий
Адресаты:
Цитата: Kdsfofwe21
Получается что Мы не можем посмотреть "мозги" винды,

Я не говорил, что не можем. Но официальных методов получения уровня ядра, для возможности "смотреть" нет.

Хотя есть отладчик уровня ядра в Windows Developing Drivers Kit, думаю, что с его помощью можно "порыться" в мозгах.

Под ХР, ещё можно было "юзать" SoftICE NuMega, но под потомки окон релизов не было.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402218
66
08.03.2019, 13:03
общий
Адресаты:
а если подцепиться к ножкам процессора
давно
Старший Модератор
31795
6196
08.03.2019, 16:28
общий
Адресаты:
Это возможно только до некоторого уровня х86, начиная с х386-х486, клипсу повесить на процессора не возможно, т.к. INTEL начал в корпус процессора впихивать, кучу "приблуд", начиная с сопроцессора и кешей, и заканчивая . . ., но, что я об этом, сами читайте: Эволюция микроархитектуры x86-процессоров Intel.
Практически современный процессор на уровне ножек превращается в некоторый черный ящик, проанализировать который, очень в степени очень сложно.

Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402218
66
08.03.2019, 18:15
общий
Адресаты:
почитаю, но из Ваших уст это звучит лучше. Ну тем не менее, если бы захотели узнать сырцы виндовс, то могли бы создать процессор в совокупности с каким нибудь отладочным процессором, который в любом режиме получал бы данные основного процессора, но наверное это идея фикс, или же затраты будут не сопоставимы с полученными результатами.
Форма ответа