OllyDbg & msr

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

  1. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    В структуру, но она называется иначе :) И вид у нее другой :) Сорцы винды посмотри :)
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    to volodya:

    механизм TSS задач процессора знаешь?

    короче там есть таблица задач, на нее регистр GDT и LDT указывают. Каждая задача имеет область памяти. Заголовок задачи начинается с области TSS. Там перечислены все значения регистров этой задачи (ВСЕ регистры примем не только регистры но и карта портов, если задача открыла(заняло порт, к примеру LPT1 , то там это отражается)). Они устанавливаются при переключении задачи. Все регистры и даже теневые сохраняются.

    ну тут все сложней? какой порядок в TSS, как именно происходит переключения, что меняется....

    В общем сидеть и разбираться надо .
     
  3. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    Володя, ты только не нервничай щас, ок? :)
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    ...говорят : понятия "заголовок задачи" нет ни в одном мануале интела

    "говорят что в москве кур доят" (с)

    используется! но не так тупо как описывает производитель Intel

    там сложная система. Можно посмотреть в этой книге хорошо написано: П.И. Рудаков Программирование на языке ассемблера в защищенном режиме.

    _TSS используется!_ но не для переключения процессов, там он используется как система выхода из зависания, тоесть, если одно не дружелюбное приложение заняло комп и не отдает управление системе, вот тут эта штука и срабатывает.

    Происходит запуск механизма востановления, завасший процесс откатывается назад и производится попытка его корректно закрыть

    "можно сказать так, что в системе на самом деле два ядра, одно сама пользовательская OS, а другое борется за живучесть первого" (с)
     
  5. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    ну ссылаться на Рудакова и плевать в интел дело, конечно, неблагодарное...

    системы откатов есть во многих не-real-time осях (последние прибивают без лишних разговоров такие "дружелюбные" процессы). Его можно реализовать и без TSS
     
  6. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    TermoSINteZ



    эксперт ты мой юный, Broken Sword мне совершенно правильно сказал не нервничать. Ты сначала с виндой разберись, по форуму поищи, о TSS сам почитай, а потом меня учи, хорошо?
     
  7. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Да я никого не учу . Кстати на счет TSS ты все равно не прав в NT он используеться :)

    А Саше привет :)
     
  8. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Испльзуется. Аж целых 3 штуки. Для обработки BSOD. Но НЕ для переключения задач.
     
  9. LocTb

    LocTb New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2004
    Сообщения:
    54
    TermoSINteZ

    Запоздал немного, но:

    Olly не Olly, но было дело (в SF искал место первого прибивания прерываний и DR-регистров), тоже понадобились

    LastBranchToIP, LastBranchFromIP и DR эмулить, написал дров, если интересно могу поискать исходники.
     
  10. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Если кто-нить поподробнее опишет алго просмотра MSR регистров под Olly то возможно когда-нить такая фича появится, например в моём плагине :derisive:

    пока что я совсем не врубаюсь что смотреть и в какой момент %)
     
  11. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Для этого дровину надо писать. Или, как предлагал ECk - хорошая идея, кстати.
     
  12. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    volodya

    Дык не понятно какие нужно соблюсти условия чтоб прочитать нужные данные их MSR, типа после срабатывания любого хардварного бряка ломится за инфой в MSR, и что там обязана быть нужная инфа, т.е. LastBranchToIP, LastBranchFromIP ?



    LocTb

    > тоже понадобились

    LastBranchToIP, LastBranchFromIP и DR эмулить, написал дров, если интересно могу поискать исходники.




    Интересно! Поищи :)
     
  13. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    типа после срабатывания любого хардварного бряка ломится за инфой в MSR



    угу
     
  14. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Ну вобщем MSR в XP only читать таким способом получается, вот только не понятно как читать именно то что нужно, какие параметры передавать в функцию, да и не очень понятно насчет универсальности метода, как там AMD и Intel процы в этом смысле соотносятся..
     
  15. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    А еще я думаю будет проблема выяснить: именно для нашего отлаживаемого приложения или для другого относиться полученное состояние msr /

    И как контролировать правильность результата, если "нелегальным" методом получать этот регистр ?
     
  16. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    TermoSINteZ



    Тут требуется разбор структур. Я забыл, где хранятся MSR в нуле. Но там должен быть идентификатор процесса/потока. Надо знать свой и сравнивать :)
     
  17. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    А у меня ощущение что регистры эти одинаковы для всех процессов, где ж набраться регистров для каждого процесса %)



    ЗЫ: у Интела нифига толкового нет, хоть бы примерчик кода использования вложили в свои мануалы по программированию..

    Кое-что есть в сорцах Linux'а.

    Интересно, LinIce использует эти регистры?
     
  18. je_

    je_ New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    143
    к MSR токо по докам ломиться;

    в чём проблема?
     
  19. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    je_

    > к MSR токо по докам ломиться



    По каким докам?

    Если по интеловским мануалам то я пасс %)
     
  20. je_

    je_ New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    143
    почему, аглицкий!?



    но я тут обмозговал сытуацыю, не стоит игра свеч,

    если ОС не сохранит для каждого процесса эти MSRы..