Могу ли я добавить поток в удаленный домен приложения из C # - PullRequest
2 голосов
/ 09 октября 2008

Мне было интересно, возможно ли внедрить поток в удаленный домен приложения, запущенный в отдельном процессе.

Я предполагаю, что я мог бы сделать это, используя интерфейсы отладки (ICorDebug), но мне было интересно, есть ли другой способ?

Ответы [ 4 ]

1 голос
/ 09 октября 2008

Недавно было объявлено о новом оборудовании, которое Mono предоставляет именно для этого. Смотрите этот пост на сборка впрыска .

0 голосов
/ 13 ноября 2008

Это может быть сделано, есть пример кода в snoop . Он устанавливает ловушку, и с помощью управляемого c ++ указывает приложению загрузить домен. Действительно впечатляет ...

0 голосов
/ 10 октября 2008

Есть другой способ, используя SetThreadContext и изменяя EIP целевого процесса. Однако я не знаю, как бы вы сделали это в C #.

0 голосов
/ 10 октября 2008

У Майка Сталла есть интересный пример о том, как использовать CreateRemoteThread для внедрения удаленных потоков в управляемые приложения.

Этот ответ все еще неполон, потому что я хотел бы запустить новый код в удаленном домене приложения. Я думаю, я мог бы попытаться создать 1 новый поток, который загружает библиотеку для меня, и другой, который будет вызывать место в моей новой библиотеке, чтобы сделать работу.

...