![]() |
Как определить тип ексепшина
Привет всем, народ кто подскажет как определить тип создавшегося эксепшена в оле...
Access violation when writing to [00130000] Access violation when reading [FFFFFFFF] Нет доступа к памяти или деление на 0 или недопустимая операция...непонятно что где...может утилы есть или коды расшифровка...хотя кодов как таковых не видел...вобщем интересно разобраться |
ээээээээ...
ну вот: Код:
mov ax,0x6смотрим в окно лога... Видим: Integer division by zero Смотрим в смом низу, там: Integer division by zero - use Shift F7/F8/F9 .... Вот те и деление на ноль... и тд и тп |
Цитата:
запускаем прогу..атачимся олей начинаем мучать прогу смотрим в отладчике вылетел ескепшн например can't read [0x12345678]...и все и что тут понятно...из за чего вылетело исключение фиг знает...тоесть другими словами получив тупо такое непонятное исключение как определить что же случилось в приложении такого и из-за чего появилось в проге |
открываем олю, пишем
Код:
7C901231 90 NOPОля брякается на 7C901239 > 8900 MOV DWORD PTR DS:[EAX],EAX и пишет: Access violation when writing to [00000000] - use Shift+F7/F8/F9 to pass exception to program таким образом это и есть то место, на котором исключение вывалилось. А если нужна расшировка кодов статусов (C0000xxx / STATUS_xxx) то я писал прогу: http://gr8.cih.ms/uploads/ntstatus.exe |
+ в окне лога пишется исключение и адрес его возникновения:
Log data, item 0 Address=7C901239 Message=Access violation when writing to [00000000] |
+ ко всему, что мы с Great'ом написали
в окне дизасма пишутся команды, взглянув на которые можно понять, какого хера нет доступа к такой то области памяти |
Цитата:
Может быть, что в проге, к которой ты приаттачился, установлен свой обработчик исключений, так что исключение создаётся специально... |
Так же стоит отметить, что в kernel32 исключения нарушения доступа используются для внутренних целей.
|
ок ..будем разбираться... всем сенкью вери матч
|
| Время: 18:10 |