Как получить все системные вызовы, выполняемые процессом, запущенным в .NET

#c# #.net

#c# #.net

Вопрос:

Я довольно новичок в .NET. Недавно я придумал проект, в котором я должен получить все системные вызовы, вызванные определенным процессом, чтобы охарактеризовать процесс. Я хотел бы знать пространство имен и методы, которые могут помочь мне получить эту информацию.Используя системные вызовы, я имею в виду системные процессы, к которым обращается любое приложение в ходе его выполнения.Допустим, процесс, которому необходимо запустить сетевое подключение, использует вызов ‘connect’.Мне нужно отследить все такие вызовы, используемые процессом

Комментарии:

1. Вы делаете это с Mono или .NET? Windows или Linux?

2. Я использую Visual Studio в Windows…

3. Это очень сложная проблема. Вероятно, вам лучше использовать что-то вроде APIMonitor apimonitor.com для сбора данных, а затем обработки этих данных с помощью программы на C #.

4. Что именно вы подразумеваете под «системными вызовами»?

5. Как вы думаете, я могу сделать это с помощью wmi

Ответ №1:

вы не сможете сделать это в .net и вы не сможете сделать это без хорошего понимания основ Windows. Вам понадобится либо сторонний инструмент, который выполняет мониторинг, либо вам нужно будет написать свои собственные перехваты, используя что-то вроде обходных путей, что является нетривиальной задачей.