我正在尝试扩展免费软件,专有的.Net 2.0软件,它一直让我感到悲痛。我成功地注入了一个Win32 dll并让它成功地将.Net dll加载到主应用程序域中,但这样做导致他们的自定义GUI系统完全锁定。
是否可以获取对远程AppDomain的引用(在另一个应用程序中运行)并对其执行操作(例如,加载程序集,创建一个类)?
我问的原因是,当我在使用Win32托管API时,我确信我看到了一些东西,但我再也找不到了......
答案 0 :(得分:1)
他们对安全性的看法是完全正确的,然而,有一些工具可以让你做你想做的事情(在运行时修改应用程序?)
看看:
塞西尔 http://www.mono-project.com/Cecil
简单地说,使用Cecil,您可以加载现有的托管程序集,浏览所有包含的类型,动态修改它们并将修改后的程序集保存回磁盘。
Crack.NET http://cracknetproject.codeplex.com/
一旦找到了您感兴趣的对象或类型,就可以通过编写和执行IronPython脚本来操纵它和其他对象。
干杯
答案 1 :(得分:0)
不,您不会获得对其他AppDomain的引用。 AppDomains是孤立的。否则,所有.NET代码都将完全不安全。