Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› как проверить если указатель кривой. ollydbg
Посл.ответ Сообщение

Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2011 09:35 · Поправил: b0ny
· Личное сообщение · #1

в фирменной проге, после включения скрытых функций, появился такой баг - функции memcpy передается кривой указатель. в ollydbg застревает тут:
Code:
  1. REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
с ошибкой "Access violation when reading".
если вручную вывести курсор из функции memcpy все работает как часы.
надеюсь суть обьяснил ясно.

ВОПРОС: есть ли способ безболезненно проверить если указатель указывает на нечитаемую область памяти?




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 07 апреля 2011 09:47
· Личное сообщение · #2

--> IsBadReadPtr <--
А вообще, помню как нужно было исправить такую багу в готовой софтине. Так я инжектил библиотеку, в своей библиотеке добавлял векторный обработчик исключений, и в нём уже проверял, то ли это место, та ли ошибка, и принимал решение, что делать дальше. Так что - гугл в помощь.

-----
Stuck to the plan, always think that we would stand up, never ran.



 eXeL@B —› Программирование —› как проверить если указатель кривой. ollydbg
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати