Как подключить управляемые (.NET) процессы и собирать информацию внутри этого процесса?
Мне нужно подключить управляемые (C#,C++/CLI) процессы, мне нужно найти и отправить информацию о том, сколько у него окон (связанных элементов управления и их свойств) в целевое приложение, которое написано в управляемом коде C#.
Для этого Что мне нужно сделать? Нужно ли изучать IAT (таблица адресов импорта) и EAT(таблица адресов экспорта) этого управляемого процесса? Нужно ли писать инжектор DLL на C++? Что еще кроме изменения IAT и EAT мне нужно?
[EDIT] Мне нужно прикрепить управляемые запущенные процессы к приложению (которое будет размещать или присоединять другой процесс). После присоединения процесса мне нужно получить свойства всех элементов управления, связанных с окнами этого процесса.
Один за другим я буду перебирать окна этого присоединенного процесса, перечислять все элементы управления, связанные с этим окном (получу идентификатор элемента управления, имя, цвет, положение, размер и т. Д.), И отправлять всю эту информацию в другое приложение или приложение к которым прикреплены другие приложения (на самом деле это приложение в качестве хоста снова должно перерисовать те же элементы управления с использованием этой информации, не спрашивайте, зачем мне это делать:-))
С уважением, Усман
2 ответа
Пожалуйста, смотрите это http://www.codeproject.com/Articles/463508/Net-CLR-Injection-Modify-IL-Codes-on-Run-time
Вы можете сделать это, изменив код IL во время выполнения
Кроме того, интерфейс Profiler является еще одним способом для вас
Я считаю, что ответы на эти вопросы могут быть вам полезны:
Как использовать отражение, чтобы создать "машину отражения"