Перейти к содержанию

Хардварные бряки изнутри процесса


Рекомендуемые сообщения

Собственно сабж, возмож но ли подключить отладчик из под длл внутри процесса?

На первый взгляд мне показалось что ничего сложного, но функция DebugActiveProcess

замораживает все потоки, в том числе и тот, и которого вызывается, в итоге она не срабатывает.

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, partoftheworlD сказал:

Зачем отладчик? Почитай про отладочные регистры, а конкретно про dr7

окей, возник второй вопрос,

пытаюсь перехватить вызов меседжбокса

поставил я бряки на dr7/0, запили функцию которая отлавливает исключения

Спойлер

long __stdcall ExceptionCode(PEXCEPTION_POINTERS exInfo)
{
	if (exInfo->ExceptionRecord->ExceptionCode == STATUS_SINGLE_STEP)
	{
		printf("error message\n");

		//return EXCEPTION_CONTINUE_EXECUTION;
	}

	return EXCEPTION_CONTINUE_SEARCH;
}

 

Исключение отлавливается, но после отработки этой функции процесс отваливается если возвращать EXCEPTION_CONTINUE_SEARCH,

если EXCEPTION_CONTINUE_EXECUTION то функция перехвата исключений вызывается до бесконечности.

Я так понял, что неполадка в возврате управления, но как его вернуть? Перед вызовом EXCEPTION_CONTINUE_EXECUTION нужно снимать хук из меседжбокса?

Изменено пользователем DaVilka
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.