Начал писать прогу которая отслеживает обращение к определенному участку памяти) Как такое реализовывается ? Подскажите кто знает плз Заранее спасибо...
_ir4_Y_ Имеется в виду обращение к диапазону адресов (который у каждого процесса свой) или к конкретным страницам физической памяти?
Наверное стоит дождаться ответа ТС зачем ему это нужно и в каком окружении (ринг3, ринг0, вирт память, физ память или что еще)
Значит так прога должна определять поPID у процесса его адресное пространнство и устанавливать брейкпоинт натребуемый адрес ... Вот что то в этом духе ) В ring 3 )
_ir4_Y_ NtQueryInformationProcess даст нужную инфу об адресном пространстве процесса. Дальше по нужному адресу пишешь байт 0CCh (int 3) и бряк готов. Единственно, нужно позаботиться о том, чтоб байт записался в начало инструкции иначе и бряк не получится и прога вылетит. Так что понадобится дизассемблер длин.
2 Twister за NtQueryInformationProcess пасибо) Но Мне нужно отслеживать обращение к данным а не к коду ...
Mika0x65 отчего же сразу ринг0? через сех их можно менять. tElock так делал (но для кода, а не памяти), я проверял. Ринг3 подойдет
А где впринципе можно почитать про drX в Юрове ничего толком так и не нащел .. 2MSoft А можно по конкретнее ))
Т.e. нужно отслеживать обращения не к своему адресному пространству? http://www.wasm.ru/article.php?article=debugreg
_ir4_Y_ сожалею, но я умею только ставить бряки на исполнение кода, а не на на обращаение к памяти. Если интересует, стучи в аську - дам исходник. Как ставить с пом. тех же регистров бряк на доступ к памяти - не знаю, самому жутко интересно