IsBadReadPtr && IsBadWritePtr в ядре

Discussion in 'WASM.NT.KERNEL' started by zoool, Mar 13, 2008.

  1. zoool

    zoool New Member

    Blog Posts:
    0
    Сабж
    Есть функция. На выходе получаем ноль, если ошибка и если все верно - указатель.
    Вопрос, как проверить указатель на валидность? Т.е. что по этому адресу можно писать/читать, и что обращение к адресу не повалит систему в бсод?
     
  2. ECk

    ECk Member

    Blog Posts:
    0
    BOOL MmIsAddressValid(PVOID address);
     
  3. asmfan

    asmfan New Member

    Blog Posts:
    0
    Одно и то же каждый день спрашивают, писатели.
     
  4. slow_at_work

    slow_at_work New Member

    Blog Posts:
    0
    http://blogs.gotdotnet.ru/personal/not-a-kernel-guy/CommentView.aspx?guid=C15944DA-F883-45EC-B282-A5AA165AF09A
     
  5. ECk

    ECk Member

    Blog Posts:
    0
    slow_at_work
    имеет значение, если только проверяемый адрес в юзере находится, иначе синяк
     
  6. nester7

    nester7 New Member

    Blog Posts:
    0
    http://www.wasm.ru/print.php?article=mem_management
    http://www.wasm.ru/forum/viewtopic.php?pid=220092#p220092
     
  7. wasm_test

    wasm_test wasm test user

    Blog Posts:
    0
    одно и то же каждый день...

    для юзермодных адресов ProbeForRead/ProbeForWrite.
    для кернел адресов при высоком IRQL - MmIsAddressValid
    при низком IRQL нет встроенных функций.. см. мою статью