(Interrupt) Теоретический можно, а физический?

Тема в разделе "WASM.WIN32", создана пользователем MSKZ, 12 июн 2005.

  1. MSKZ

    MSKZ New Member

    Публикаций:
    0
    Регистрация:
    27 май 2005
    Сообщения:
    47
    (Interrupt) Теоретический можно, а физический?



    Я вот что, думаю и хотел бы, что бы вы потвердели



    Я если я из пользовательского режима получу доступ к физической

    Памяти, а затем запущу программу (DOS) реального режима

    Что бы она мне возвращала, нужны вектор приревание

    То есть я хочу, обменивается данными между реальным режимом

    И физическим, но при этом хочу вызвать приревание из защищенного режима



    А затем получу адрес вектора, например Int 21 и вызову её

    С параметрами.



    Интересно это возможно?
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Из пользовательского режима доступ только к виртуальной памяти, либо к \Device\PhisycalMemory



    Про дос проги забудь, если из кернелмода запустить, то только синий экран получишь. Если тебе они так сильно надо, то пиши под дос, не переходи на винду. А если надо под винду, то учи апи, и не лезь в ядро пока не поймеш как оно работает.
     
  3. MSKZ

    MSKZ New Member

    Публикаций:
    0
    Регистрация:
    27 май 2005
    Сообщения:
    47
    \Device\PhisycalMemory

    Я это и имел введу!



    Если я получу доступ к физической памяти

    а затем узнаю вектор приревание и обращюсь к нему

    как это делали под MS-DOS Вообщем думаю ясно





    ====================================================

    Вообще можно ли обмениватся данными между DOS/WIN32?
     
  4. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Идея абсолютно глупая. В виндовс нету доса и нет его прерываний. Есть NTVDM - виртуальные дос машины которые эмулируют среду дос. Вот и все.

    УЧИ API! и забудь про дос прерывания раз и навсегда!
     
  5. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
    Вообще можно ли обмениватся данными между DOS/WIN32?



    Можно.



    Сформулируй задачу на более общем уровне. Скорее всего тебе может подойти менее сложное решение, нежели "прямой обмен данными" и т.п. Ты что, хочешь из вин32 запустить старую программу и т.п.
     
  6. TermoSINteZ

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

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

    Кстати, даже при эмуляции среды дос, все равно вызываются теже CreateFile и тп.

    Так что, я думаю, тут надо сформулировать задачу по точнее (правильно сказал Chingachguk)

    может можно будет обойти прямое обращение к памяти и тп.
     
  7. MSKZ

    MSKZ New Member

    Публикаций:
    0
    Регистрация:
    27 май 2005
    Сообщения:
    47
    Chingachguk

    Можно.



    как?
     
  8. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    MSKZ

    Правильные вопросы задает, как ни странно :))) В свое время, в бытность ВЫНЬ 95, я с товарищем делал "клавиатурного шпиона" Ничего в голову не пришло как написать под ДОС резидента, оставить его в памяти и запустить win.exe кажется он так назывался :))) Винда запускалась и самое поразительное, что резидент сидел в памяти и откликался 8-( ) Вот сидели мы, чесали свои черепы и бормотали "все-таки она вертится" Однако времена эти прошли сегодня в основной массе стоят оси линейки NT и такие фокусы не прокатывают.

    MSKZ

    Предлагаю тебе почитать книжки... :)
     
  9. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"




    Ничего удивительного, ведь 95 винда - это только надстройка над дос. NT кардинальным образом от нее отличается.
     
  10. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
  11. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    SteelRat

    конечно вертится, потому как системная виртуадльная машина над дос и крутится,:)



    MSKZ

    и свое прерывание ты получишь, исполняешь какую нить незаконную инструкцию внутри ntvdm машины и получаешь закооное #GP(только оно прозрачно для тебя и никаких окон и и крашов не вызывает) :)) или к примеру #UD:) чем тебе не прерывание защищённого режима ?? Вопрос твой понятен, и механизмы такие есть, точнее, существуют столько, сколько существует и сама NTVDM. Делается это с помощью драйверов VDD, собсно они и следят за тем, что происходит внутри машины. На этот счёт читать DDK :)
     
  12. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow


    Да фиг его знает, что так долго думалось. Просто када я туды полез, понял всё через доли секунды, потому как и ёжику понятно было, что 0хС4С4 это #UD, то есь способ выпрыгнуть из v86, единственно возможный метод наряду с #GP. После дизасминга обработчиков ядра , всё стало понятно. А свосем хорошо понятнобыло после заглядывания в сорцы вынь:). Блин, а вот параметры стандартные этого сервиса я так и не нашёл, абыдна:dntknw: