Write Watch в памяти выделеной CreateFileMapping/MapViewOfFile

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by yanus93, 4 Oct 2009.

  1. yanus93

    yanus93 New Member

    Joined:
    4 Oct 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Пытаюсь задействовать Write Watch на память выделенную CreateFileMapping/MapViewOfFile (Shared memory)
    Если бы пользовался VirtualAlloc, использовал бы MEM_WRITE_WATCH флаг.
    Но в моем случае это не подходит
    Помогите пожалуйста.
     
  2. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    какбэ MMF совсем другой механизм, неподдерживающий write watch.
     
  3. yanus93

    yanus93 New Member

    Joined:
    4 Oct 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Да, я понимаю, но тем не менее хочу это как то осуществить. Пусть это называется не write watch а как то по другому. Мне нужно знать приблизительно какие районы выделенной памяти были изменены.
     
  4. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    /showthread.php?p=1496972#post1496972

    вот по мотивам этого можешь. на регион - PAGE_EXECUTE_READ

    KiUserExceptionDispatcher)(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextFrame);

    ловишь STATUS_ACCESS_VIOLATION
    в контексте фрейма и записи все что надо есть
     
    #4 sn0w, 5 Oct 2009
    Last edited: 5 Oct 2009
  5. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    правда там адрес который выдал исключение
     
  6. yanus93

    yanus93 New Member

    Joined:
    4 Oct 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Спасибо!
    Однако, ну поймал, а дальше что?
    Записаться то оно должно, а кроме того, может ведь одной страницей и не ограничиться.
    Отключить protection?
    Тогда как узнаю где оно остановилось?
     
  7. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    дык строй таблицу по страницам региона. И при перехвате исключения взводи флаг соответствующий. Для оптимизации лучше снимать =\ но пипец какже это будет медленно всё ... кривое имхо решение, лучше пересматривай алго свой, чтобы уйти от этого =\

    "... правда там адрес который выдал исключение ..."
    и что? на x86 страницы одинаковые + мы знаем imagebase MMF + даже если бы не знали, гранулярность какбэ есть ^______^