Брейки памяти в OllyDbg

Тема в разделе "WASM.RESEARCH", создана пользователем Int19H, 10 фев 2005.

  1. Int19H

    Int19H New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    2
    Есть некоторый адрес в памяти, к примеру, DS:10 с 4х байтовой информацией. Эту ячейку можно адресовать по разному:



    MOV DWORD PTR DS:7,...

    MOV DWORD PTR DS:8,...

    MOV DWORD PTR DS:9,...

    MOV DWORD PTR DS:10,...

    MOV DWORD PTR DS:11,...

    MOV DWORD PTR DS:12,...

    MOV DWORD PTR DS:13,...



    MOV WORD PTR DS:9,...

    MOV WORD PTR DS:10,...

    MOV WORD PTR DS:11,...

    MOV WORD PTR DS:12,...

    MOV WORD PTR DS:13,...



    MOV BYTE PTR DS:10,...

    MOV BYTE PTR DS:11,...

    MOV BYTE PTR DS:12,...

    MOV BYTE PTR DS:13,...



    Мою область памяти могут адресовать разными путями, обращаясь по разным смещениям и запрашивая разное кол-во байт (1,2,4 или больше по MOVS).



    Вопрос - как поставить брейкпонт памяти так, чтобы в при любой из исполнившихся в коде команд брейк сработал?

    Параметры установки брейка памяти:

    1) на адрес 10, 11, 12, 13

    2) на размер BYTE, WORD, DWORD



    Пример. Я ставлю брейк на память "адрес 10, размер BYTE". А в коде программы кто-то выполнит код MOV DWORD PTR DS:9,11223344. Брейк сработает? В каких случаях брейк сработает, а какие обращения к той же ячейке пролетят без внимания?
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Breakpoint memory on access
     
  3. Int19H

    Int19H New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    2
    что Breakpoint memory on access? Я спрашиваю по-русски: 1) по какому адресу это сделать и 2) что из размера выбрать?
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Я по-русски и написал, выдели мышкой кусок на который нужно поставить бряк и выбери Breakpoint memory on access, и не парь мозги насчет размера.
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Int19H

    ...


    Ну, тогда уж сразу DWORD, а не BYTE.





    Должен, но зачастую этого не происходит по многим причинам: антиотладка, глюк Debug API, глюк отладчика (тут про это статья очень хорошая есть, между прочим). Так что 100% гарантии на срабатывание бряка нет даже при соблюдении всех формальностей :)
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Quantum

    > Должен, но зачастую этого не происходит



    И это особо приятно при распаковке виря :)
     
  7. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    для таких случаев нужно держать активным айс и быстро-быстро нажать Ctrl+D :)))))
     
  8. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    А еще для таких случаев всякие подозрительные файлы надо дебагить исключительно внутри виртуалки.
     
  9. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    В продолжение такой вопросец - в меню View->Memory можно ставить бряк на доступ к диапазону байт (F2 на адресе с длиной). Однако после срабатывания бряка брейкпоинт становиться disabled. Я понимаю почему это происходит (бряк срабатывает ДО обращения к адресу), но нельзя ли как то сделать так, чтобы он автоматом возвращался в enabled?
     
  10. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Пробуй не "Set break-on-acess (F2)" а "Set memory breakpoint on access"
     
  11. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
  12. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433