как узнать можно ли читать по данному адресу

Тема в разделе "WASM.WIN32", создана пользователем galogen, 3 сен 2007.

  1. galogen

    galogen New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    5
    когда-то видел на форуме но не нашёл сейчас
    вроде кто-то говорил, что дял проверки памяти на возможность чтения из неё есть какие-то функции

    если есть то какие

    просто у меня есть адрес мне надо или читать или писать, но предварительно проверив!!
    спасибо
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    IsBadReadPtr, IsBadWritePtr, IsBadCodePtr
     
  3. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    архаизм
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    VirtualQuery в таком случае
     
  5. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    censored
    Чегойто вдруг? Кстати, можно самому использовать SEH, что и делают IsBad* функции. Хотя VirtualQuery будет явно быстрей.
     
  6. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Mental_Mirror
    потому шта сам m$ предлагает делать try {} catch {} нежели IsBadReadPtr
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
  8. galogen

    galogen New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    5
    спасибо, огромное! Всё теперь понятно.

    подскажите как програмно реализованы __try
    где хранится код на функцию обработчик
    спасибо
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    почитай цикл статей http://www.wasm.ru/series.php?sid=7
     
  10. galogen

    galogen New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    5
    ok, спасибо
     
  11. galogen

    galogen New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    5
    а в некоторых упаковщиках при открытии дебагером начальная точка нах-ся не там как указано в пе хедере
    это с помощью чего реализовано???
     
  12. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    как это так?
     
  13. EP_X0FF

    EP_X0FF New Member

    Публикаций:
    0
    Регистрация:
    13 авг 2006
    Сообщения:
    450
    Это он про Entry point что ли?
     
  14. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    EP_X0FF
    Вроде.


    От отладчика должно зависеть, ольга, к примеру, даёт на выбор где
    стопать при загрузке (Alt+О -> Events), может об этом речь? )
     
  15. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Это он про TLS callback
     
  16. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    tylerdurden
    Не факт :)
     
  17. galogen

    galogen New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    5
    Вот теперь точно знаю чего хочу спросить! спасибо за терпение :)

    есть инсталяха freecap_setup.exe

    в директориях есть запись

    TLS Directory rva: 0000E000h size: 00000018h

    и в секциях

    05 .tls
    VirtSize: 00000008h VirtAddr: 0000D000h
    raw data offs: 00009C00h raw data size: 00000000h
    relocation offs: 00000000h relocations: 00000000h
    line # offs: 00000000h line #'s: 00000000h
    characteristics: C0000000h
    READ WRITE ALIGN_DEFAULT(16)

    по адресу 0040е000
    находится код:
    ADD AL,DL
    INC EAX
    ADD BYTE PTR DS:[EAX],CL
    ROL BYTE PTR DS:[EAX],1
    SAL BYTE PTR DS:[EBX+E0100040],1
    INC EAX

    это и есть tls callback??
    а что он тогда делает?

    зачем нужна секция .tls

    спасибо
     
  18. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    IceStudent
    Спасибо. Там кстати и линк на первоисточник есть.
     
  19. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    пое*ень какаято =))) там же не код а данные
     
  20. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    galogen
    На сайте есть статья про TLS - советую.