Адресное пространство процесса и снятие дампа

Тема в разделе "WASM.RESEARCH", создана пользователем Kostia13, 2 дек 2009.

  1. Kostia13

    Kostia13 New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2009
    Сообщения:
    13
    Здравствуйте!
    Программирую под Windows Mobile 6.0, программа должна снимать дамп заданного процесса и скидывать его в файл.
    Использую функцию ReadProcessMemory. Вторым параметром этой функции необходимо указать адрес (внутри адресного пространства) откуда начинать считывать. Пробовал для нескольких процессов, ни для одного функция не хочет считывать дамп с начала (с адреса 0). У каждого процесса в начале его адрессного пространства есть участок памяти которы функция не может считать (у всех процессов он разной длины) а дальше нормально дампится.
    С чем это может быть связано? и как мне снять полностью дамп памяти процесса?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    использвать VirtualQueryEx для получения карты памяти процесса.
     
  3. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    :lol:
    0 == NULL, поэтому и не используется

    Не знаю как в Mobile, но в обычной винде виртуальная память выделяется не сплошняком, а отдельными кусками - хотя бы потому, что VirtualAlloc позволяет просто резервировать адреса для будущего использования, не выделяя под них реальную память и соотв-но попытка чтения по таким адресам ес-но приводит к облому. Поэтому перед тем как что-то читать нужно проверить возможность чтения вызовом VirtualQueryEx
     
  4. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    NtOpenProcessToken, NtAdjustPrivilegesToken, NtQueryVirtualMemory, RtlQueryProcessDebugInformation, NtSuspendProcess, NtOpenProcess, NtProtectVirtualMemory, NtReadVirtualMemory и т.д. + NtQuerySystemInformation ->uAllocationGranularity и uPageSize
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    в Windows Mobile?
     
  6. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    там что натива нет?
     
  7. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    ...мда..погуглив.. наверно есть но ф-ции другие =D
     
  8. Kostia13

    Kostia13 New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2009
    Сообщения:
    13
    Чуть ошибся, для всех процессов функция дампит не раньше адреса 69632, после этого числа все норм. А функция VirtualQueryEx вроде бы под mobile не пашет
     
  9. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    может до этого адреса расположен стек? а в мобайле ProtectVirtualMemory есть?
     
  10. Kostia13

    Kostia13 New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2009
    Сообщения:
    13
    этого я не знаю (
     
  11. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    69632 = 0х11000 Скорее всего также как и в Виндах начальные адреса "закрыты" с целью отлова грубых ошибок. Возможно там микро-ядро или еще что.
     
  12. Kostia13

    Kostia13 New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2009
    Сообщения:
    13
    а этот участок памяти как-то реально прочитать?
     
  13. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Kostia13
    если как тут предполагают он "закрыт" для отлова ошибок, то из него читать просто нечего! И хватит уже демонстрировать свою полную некомпетентность идите почитайте что-нибудь вроде Ричарда
     
  14. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Вам нужен дамп или вы "роете в глубь" ? В любом случае это вопросы не для раздела RESEARCH. Тут по идее надо свои наработки представлять и уточняющие вопросы задавать, а не новичковские ...
     
  15. Kostia13

    Kostia13 New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2009
    Сообщения:
    13
    мне просто нужно снять дамп для дальнейшего его дизассемблирования