Запись в \physicalmemory

Тема в разделе "WASM.WIN32", создана пользователем SOUZ, 8 фев 2005.

  1. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    Подскажите, пожалуйста:

    Под winnt 2000/xp необходимо при старте системы изменить нескольк обайт в диапазоне адресов 00с0000-00схххх.

    Так чтобы при чтении через \\device\physicalmemory изменения были видны...

    Как можно это реализовать???
     
  2. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    А разве нельзя писать через \\device\physicalmemory?(не момню точно)

    Можно оформит свой драйвер, который эти данные запишет.
     
  3. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    Дело в том, что я пытался писать через драйвер, но это адрес участка видеопамяти, может быть его нельзя менять???

    пробовал в Delphi через tvichHW32 6.0 версии, вілетает с ошибкой.

    Доступ разрешен, сижу под админом в NT 2000 server...
     
  4. Trashy

    Trashy New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2004
    Сообщения:
    44
    Адрес:
    Russia
  5. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Так у меня работало:



    mov edi,100h



    invoke MmMapIoSpace, dword 0c0000h, dword 0,edi,dword 0



    mov dword[eax],0h



    invoke MmUnmapIoSpace,eax,edi
     
  6. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    SOUZ, с чего ты взял что видиопамять будет начинатся обязательно с 0с0000h?
     
  7. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    Спасибо, попробую..

    Ну это я для примера взял,

    Из дельфей можно асм вставкой енто вызвать????

    или через АПИ?





    а вообще, обращение к

    device\physicalmemory перехватить как нибудь???
     
  8. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    1)Можно запустить драйвер через api, если у тебя привелегии админа.



    2)Либо перехватывать API(create/read/write/open)? либо патчить драйвер.
     
  9. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Можно ещё перехватить MmMapIoSpace, и прин необходимости попровать адрес 6)
     
  10. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Что-то данные по адресу 0c0000h не пишутся... странно.

    P.s. может кто из гуру прольёт свет на этот вопрос.
     
  11. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    Вот то-то и оно..... Access violation пишет
     
  12. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    У меня вообше нет не какой ошибки, просто байт востанавливается.

    Кстати SoftICE тоже не может изменить эти байты.

    Там, если я прав, находится не видио память а ПРОШИВКа видио-карты.
     
  13. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    Да, вот ее чтение и надо перехватить....

    Я думал что это просто слепок с прошивки...
     
  14. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    SOUZ

    Если не секрет что за необходимость писать именно в c0000h ?

    Там распологается прошивка видеокарты, ты хочешь перепрошить ее ?



    Если надо Вывести текст на экран при загруке то это совсем другой вопрос.

    P.S. sorry пока писал вопрос появился ответ :)
     
  15. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    У меня программа читает из этой области данные и к ним привязывается. Мне надо подставить туда минимум 2 байта других данных.
     
  16. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    >>Да, вот ее чтение и надо перехватить....

    >>туда минимум 2 байта других данных.

    Так перехватить или ПРОПИСАТЬ?

    Прописать я думаю не получится, т.к. там находится не образ прошивки а сама прошивка, просто обрашение к этим адресам идёт не в оперативку а на видиокарту.

    p.s. могу и ошибатся.
     
  17. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    А перехватить и вернуть нужные получится???

    ntMapView кажется используется...
     
  18. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    NtMapViewOfSection тут не поможет.

    А перехватить и вернуть нужные получится???

    Это уже можно.

    1)Поставить бряк на это место. и соответственно делать всё, что хочется.

    2)если прога, которую необходимо обмануть использует только device\physicalmemory, то можно попробовать поправить сам драйвер.
     
  19. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    SOUZ

    А зачем это надо ? Из спортивного интереса ?
     
  20. SOUZ

    SOUZ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    19
    Адрес:
    IBSS
    да . прога читает блок памяти оп этому адресу, и из него вычисляет хеш.....

    Патчить прогу нельзя.

    А вот передать нужные данные видимо можно.

    Используется только эта процедура чтения...



    Как можно все-таки обойти это?

    Кка драйвер поправить, какой?

    А нужно это чтобы прогуотучить привязываться к железу..

    Можно конечно прошивку видяхи поправить... :)))