Игра с системными адресами

Тема в разделе "WASM.NT.KERNEL", создана пользователем retmas, 6 апр 2008.

  1. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    да а че тут сложного то, главное правильно подправить PTE во всех каталогах у всех процессов +)
     
  3. TermoSINteZ

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

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

    retmas
    А зачем ? Какой смысл в этом геморе.
    Ихмо дальше логических адресов ты не уйдейшь. Физические адреса банков памяти может знать только контроллер на сколько я помню :)
     
  4. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
    а можно по-подробнее.. с примером псевдо-кода?
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    пример писать сейчас времени нет.
    я не вижу принципиальной сложности в твоей задаче - проходишь по процессам, для каждого процесса выделяешь физическую память сколько тебе нужо через MmAllocatePagedForMdl
    далее, как я помню, PDE верхних 2 гигов в винде общие для всех процессов, тебе же придется сделать дубликат соответствующей таблицы страниц (может быть даже не одного, зависит от объема проецируемой памяти) и сделать так, чтобы каталог таблиц страниц ссылался у соответствующего процесса на свой дубликат таблицы.
    после этого просто в каждой таблцие страниц, которые ты только что "размножил" на все процессы, ты прописываешь нужные PTE.
     
  6. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
    неа.. так не прокатит..