Память программы

Тема в разделе "WASM.BEGINNERS", создана пользователем 9Demon, 18 апр 2011.

  1. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    Как узнать по какому адресу в памяти находится моя программа? Можно перекопать все гигабайты памяти и сравнивать с тем что в проге, но это же не правильно.
     
  2. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    9Demon
    ось? Какая память имеется в виду? физическая? виртуальная?
     
  3. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    XP sp3.
    Я думал ось не влияет. Память физическая.
     
  4. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    9Demon
    уверен что тебе физическая нужна? можно поинтересоватся зачем?
     
  5. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    Да, для интереса, хочу разобрать в этом деле. Например, найти в памяти те DLL, с которых копируются в другие процессы. Тот же user32.dll не будет ведь заново считываться с диска, если уже есть в памяти один образ?
     
  6. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    ссылка про память сначала пишет, но нифига не понятно, как по виртуальному адресу найти физический.
     
  7. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Забудь про физические адреса в user mode
    А виртуальный получить очень просто - GetModuleHandle
     
  8. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    Там по ссылке выше есть в конце странице "Ring0 Library", значительно упрощающий процесс копания в памяти.
     
  9. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Это упрощает для того, кто разбирается хорошо в кухне работы ядра и знает для чего ЛЕЗЕТ в физическую память. Они не задают вопросы
    Ответ есть, но для практики он бесполезен. Есть более удобные средства залезть в память программы, не зная где она физически. Тоже самое верно для системных DLL.
     
  10. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    3 ответа и все х**ню пишут.

    Да ты что, не верю! докажи.

    Сказал же "хочу разобрать в этом деле", другие способы мне не интересны. Просто хочу найти адрес, изменять там и читать по этому адресу я не собираюсь.
    Полезно ли это практически - мне все равно. Неужели это так сложно?
     
  11. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.206
    *ню тебе пишут потому, что *ню спрашиваешь.
    Вот тебе
    http://www.wasm.ru/article.php?article=drvw2k05
    вперед.
     
  12. qwe8013

    qwe8013 New Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    198
    9Demon
    Вообще, для записи в ячейку памяти используется виртуальный адрес. Зачем вам физический?
    http://wasm.ru/publist.php?list=24