Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
no_debugger:
Или вот её полный код:
mov eax,fs:[018h]
mov eax,[eax+30h]
movzx eax,byte ptr [eax+02]
ret
Погибель отладчику несут операции с SEH
Нужно установить свой обработчик ошибки, а после вызвать ошибку попыткой записи в ядро.
Вначале нам необходимо сохранить оригинальный обработчик SEH:
push dword ptr fs:[0]
Теперь нам необходимо заменить оригинальный обработчик на свой:
push offset SEH_Handler
mov fs:[0],esp
Восстановление оригинального обработчика в нашем случае будет производиться следующей инструкцией:
pop dword ptr fs:[0]
Данная инструкция восстанавливает из стэка оригинальный обработчик SEH.
А теперь рассмотрим программу, которая обрушивает отладчик, а без отладчика работает:
.386p
.model flat
extrn ExitProcess:PROC
.data
Hi dd 0
.code
;--------------------------------------------------------;
start:
pop ebx ; Адрес для вызова исключения
call setupSEH
Ex_Handler:
mov esp,[esp+8] ; Ошибка дает нам старый ESP в [ESP+8]