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

Discussion in 'WASM.BEGINNERS' started by 9Demon, Apr 18, 2011.

  1. 9Demon

    9Demon New Member

    Blog Posts:
    0
    Joined:
    Apr 18, 2011
    Messages:
    33
    Как узнать по какому адресу в памяти находится моя программа? Можно перекопать все гигабайты памяти и сравнивать с тем что в проге, но это же не правильно.
     
  2. spa

    spa Active Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    2,240
    9Demon
    ось? Какая память имеется в виду? физическая? виртуальная?
     
  3. 9Demon

    9Demon New Member

    Blog Posts:
    0
    Joined:
    Apr 18, 2011
    Messages:
    33
    XP sp3.
    Я думал ось не влияет. Память физическая.
     
  4. spa

    spa Active Member

    Blog Posts:
    0
    Joined:
    Mar 9, 2005
    Messages:
    2,240
    9Demon
    уверен что тебе физическая нужна? можно поинтересоватся зачем?
     
  5. 9Demon

    9Demon New Member

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

    9Demon New Member

    Blog Posts:
    0
    Joined:
    Apr 18, 2011
    Messages:
    33
    ссылка про память сначала пишет, но нифига не понятно, как по виртуальному адресу найти физический.
     
  7. Partner

    Partner Павел

    Blog Posts:
    0
    Joined:
    Feb 28, 2008
    Messages:
    917
    Location:
    Los Angeles
    Забудь про физические адреса в user mode
    А виртуальный получить очень просто - GetModuleHandle
     
  8. 9Demon

    9Demon New Member

    Blog Posts:
    0
    Joined:
    Apr 18, 2011
    Messages:
    33
    Там по ссылке выше есть в конце странице "Ring0 Library", значительно упрощающий процесс копания в памяти.
     
  9. valterg

    valterg Active Member

    Blog Posts:
    0
    Joined:
    Aug 19, 2004
    Messages:
    2,105
    Это упрощает для того, кто разбирается хорошо в кухне работы ядра и знает для чего ЛЕЗЕТ в физическую память. Они не задают вопросы
    Ответ есть, но для практики он бесполезен. Есть более удобные средства залезть в память программы, не зная где она физически. Тоже самое верно для системных DLL.
     
  10. 9Demon

    9Demon New Member

    Blog Posts:
    0
    Joined:
    Apr 18, 2011
    Messages:
    33
    3 ответа и все х**ню пишут.

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

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

    ormoulu Well-Known Member

    Blog Posts:
    0
    Joined:
    Jan 24, 2011
    Messages:
    1,206
    *ню тебе пишут потому, что *ню спрашиваешь.
    Вот тебе
    http://www.wasm.ru/article.php?article=drvw2k05
    вперед.
     
  12. qwe8013

    qwe8013 New Member

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