在另一个应用程序中访问AppDomain?

时间:2011-06-30 02:04:42

标签: .net appdomain code-injection

我正在尝试扩展免费软件,专有的.Net 2.0软件,它一直让我感到悲痛。我成功地注入了一个Win32 dll并让它成功地将.Net dll加载到主应用程序域中,但这样做导致他们的自定义GUI系统完全锁定。

是否可以获取对远程AppDomain的引用(在另一个应用程序中运行)并对其执行操作(例如,加载程序集,创建一个类)?

我问的原因是,当我在使用Win32托管API时,我确信我看到了一些东西,但我再也找不到了......

2 个答案:

答案 0 :(得分:1)

他们对安全性的看法是完全正确的,然而,有一些工具可以让你做你想做的事情(在运行时修改应用程序?)

看看:

塞西尔 http://www.mono-project.com/Cecil

简单地说,使用Cecil,您可以加载现有的托管程序集,浏览所有包含的类型,动态修改它们并将修改后的程序集保存回磁盘。

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

一旦找到了您感兴趣的对象或类型,就可以通过编写和执行IronPython脚本来操纵它和其他对象。

干杯

答案 1 :(得分:0)

不,您不会获得对其他AppDomain的引用。 AppDomains是孤立的。否则,所有.NET代码都将完全不安全。