Получить доступ к AppDomain в другом приложении? - PullRequest
1 голос
/ 30 июня 2011

Я пытаюсь расширить бесплатную проприетарную часть программного обеспечения .Net 2.0, и это доставляет мне горе. Мне успешно удалось внедрить dll Win32 и заставить его успешно загружаться в dll .Net в основной домен приложения, но это привело к полной блокировке их пользовательской графической системы.

Можно ли получить ссылку на удаленный домен приложений (запущенный в другом приложении) и выполнить над ним операции (например, загрузить сборку, создать класс)?

Причина, по которой я спрашиваю, состоит в том, что я уверен, что что-то видел, когда я ковырялся с API хостинга Win32, но я не могу найти это снова ...

Ответы [ 2 ]

1 голос
/ 30 июня 2011

То, что они говорят о безопасности, полностью верно, однако, есть некоторые инструменты, которые могут позволить вам делать то, что вы хотите (изменить приложение во время выполнения?)

Взгляните на:

Cecil http://www.mono -project.com / Cecil

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

Crack.NET http://cracknetproject.codeplex.com/

Как только вы найдете объект или тип, который вызаинтересованным, вы можете манипулировать им и другими, написав и выполнив скрипт IronPython.

Cheers

0 голосов
/ 30 июня 2011

Нет, вы не получите ссылку на другой домен приложений. Домены приложений изолированы. В противном случае весь код .NET будет полностью незащищенным.

...