Process Heap

Тема в разделе "WASM.WIN32", создана пользователем nomaZ, 24 авг 2008.

  1. nomaZ

    nomaZ New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    3
    Здравствуйте.
    Есть вопрос по поводу process heap. Как правило куча создается ниже image base файла (400000), вопрос в том можно ли сделать так что бы куча создавалась после файла.
    Поиском по форуму не нашёл не чего подходящего.
     
  2. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Похоже, что нет, т.к. при инициализации ntdll вызывает RtlCreateHeap c BaseAddress=Null и ZwAllocateVirtualMemory сама решает, где выделить память, и т.к. регион адресов ниже 400000h свободен, то именно там куча как правило и выделяется. Если только попробовать ImageBase проги уменьшить, если очень хочется поэкспериментировать ;)
     
  3. nomaZ

    nomaZ New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    3
    Уже решил проблему. Правкой PE заголовка файла. Оказывается все просто.
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    SizeOfHeapReserve увеличил ?
     
  5. nomaZ

    nomaZ New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    3
    Нет SizeOfHeapCommit
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Шутник :)
    Хотя конечно винда только по первому обращению физ.память выделяет, но все равно как то "не красиво", если можно просто резерв задать