Параметры трассировки системного вызова ETW

Я извлекаю трассировки системных вызовов в Windows с помощью ETW с помощью команды "logman".

Затем я конвертирую файл в текст с помощью tracerpt и конвертирую адреса в символы с помощью windbg. Без проблем.

Моя проблема в том, что я получаю имена символов. Я знаю, что например NTOpenFile называется. Как я могу узнать, какой файл?

В общем, как мне извлечь параметры системного вызова? Помогает ли xperf?


person MoeKav    schedule 07.10.2017    source источник


Ответы (1)


Вы не можете получить параметры. Такой уровень детализации не предоставляется Microsoft. Вы также не можете получить идентификатор процесса или потока, что делает его бесполезным для анализа. Все, что вы получаете, - это RIP-адрес системного вызова ядра, который вы можете разрешить с помощью собственного поиска символов.

person Chris    schedule 02.07.2018
comment
Я точно знаю, что мы можем получить и убрать - person MoeKav; 02.07.2018
comment
Не могли бы вы уточнить детали в интересах людей, которые ищут более подробную информацию об ETW и системных вызовах? Это определенно не предоставляется как часть трассировки, если что-то недавно не изменилось. Я предполагаю, что вы имеете в виду использование данных переключения контекста для определения процесса и потока? - person Chris; 03.07.2018
comment
Вы можете найти, как получить имена системных вызовов в этой теме: stackoverflow.com/a/48917399/4286125 - person MoeKav; 04.07.2018
comment
Нет недавних изменений, но я все еще не знаю о параметрах системного вызова - person MoeKav; 04.07.2018