Просмотр полной версии : Как определить тип ексепшина
Привет всем, народ кто подскажет как определить тип создавшегося эксепшена в оле...
Access violation when writing to [00130000]
Access violation when reading [FFFFFFFF]
Нет доступа к памяти или деление на 0 или недопустимая операция...непонятно что где...может утилы есть или коды расшифровка...хотя кодов как таковых не видел...вобщем интересно разобраться
ээээээээ...
ну вот:
mov ax,0x6
mov bx,0x0
div bx
F9
смотрим в окно лога...
Видим: Integer division by zero
Смотрим в смом низу, там: Integer division by zero - use Shift F7/F8/F9 ....
Вот те и деление на ноль...
и тд и тп
ээээээээ...
ну вот:
mov ax,0x6
mov bx,0x0
div bx
F9
смотрим в окно лога...
Видим: Integer division by zero
Смотрим в смом низу, там: Integer division by zero - use Shift F7/F8/F9 ....
Вот те и деление на ноль...
и тд и тп
согласен показывает, без проблем..вопрос в другом..
запускаем прогу..атачимся олей начинаем мучать прогу смотрим в отладчике вылетел ескепшн например can't read [0x12345678]...и все и что тут понятно...из за чего вылетело исключение фиг знает...тоесть другими словами получив тупо такое непонятное исключение как определить что же случилось в приложении такого и из-за чего появилось в проге
открываем олю, пишем
7C901231 90 NOP
7C901232 90 NOP
7C901233 90 NOP
7C901234 90 NOP
7C901235 90 NOP
7C901236 90 NOP
7C901237 33C0 XOR EAX,EAX
7C901239 > 8900 MOV DWORD PTR DS:[EAX],EAX
Жмем F9
Оля брякается на
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'ом написали
в окне дизасма пишутся команды, взглянув на которые можно понять, какого хера нет доступа к такой то области памяти
Привет всем, народ кто подскажет как определить тип создавшегося эксепшена в оле...
Access violation when writing to [00130000]
Access violation when reading [FFFFFFFF]
Нет доступа к памяти или деление на 0 или недопустимая операция...непонятно что где...может утилы есть или коды расшифровка...хотя кодов как таковых не видел...вобщем интересно разобраться
Оля ясно ж вроде написала: "Access violation when writing" - нельзя записать, "Access violation when reading" - нельзя прочитать... и т.д.
Может быть, что в проге, к которой ты приаттачился, установлен свой обработчик исключений, так что исключение создаётся специально...
Так же стоит отметить, что в kernel32 исключения нарушения доступа используются для внутренних целей.
ок ..будем разбираться... всем сенкью вери матч
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot