Ребята, допустим я пропатчил какую-нить функцию через SDT (например, чтения реестра). Как узнать, какой процесс ее вызвал? Как потом залезть в память этого процесса, чтоб читать его PEB-ы и прочие полезности?
У мня интернета дома нет, поэтому спрошу заранее: там же с адресами напутано, то что в UserMode 0x0040000 - в ядре уже другое. Как преобразовать виртуальный адрес процесса в физический? Или можно через ZwRead*** функции читать?
kkrutoy ты болен парень. Учи матчасть. Твой перехватчик вызывается в контексте процесса а не в жопе мира.
kkrutoy Зачем?! Когда ты вызвал функцию Win32 API - ты ведь её вызвал по виртуальному адресу, а не по физическому. И возврат будет сделан тоже по виртуальному адресу. И функция-перехватчик ТОЖЕ живет в виртуальном адресном пространстве того процесса, который её вызвал. Можно. Особенно скучными серыми днями, когда совсем нечем заняться. Но можно и напрямую.