Хочу запустить процесс (х86) и поставить хардварный брекпоинт на исполнение определенного адреса, и когда будет остановка получить стек и регистры. Как можно это реализовтаь?
При помощи отладчика? Брейкпоинты это про про отладку. Я нечто похожее делал запустив процесс с CREATE_SUSPENDED, заинжектив код, поставивший перехватчик на ближайшую к нужному месту апи, где при определенном адресе возврата вызывался MessageBox. После этого можно на всякий случай остановить все потоки целевого процесса и присобачиться к нему отладчиком.
RtlCreateUserProcess NtGet/SetContextThread RtlAddVectoredExceptionHandler RtlCaptureContext, RtlCaptureStackBackTrace Примерно так.. А вообще можно просто у x64dbg подсмотреть, код в открытом доступе.
hiddy, Это всё штатные интерфейсы ос, они паблик. Если бы это тс было нужно, то он сам бы нашёл в гугле. Ему походу нужно это кнопками делать, ну или в более простом случае запускать апп с опциями Для таких стек" это вообще слово матерное, нецензурка
hiddy, спс! такие вопросы тут нельзя задавать? форум посвящен низкоуровневому программированию, насколько я знаю.
cryptoexp, это высокомерный сарказм... увы, дефекса считает, что если ты не изобрел х86 то и программировать тебе его ни к чему...