Перейти к содержанию
Авторизация  
DaVilka

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

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

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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

×

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

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