【问题标题】:Can I inject a thread in a remote app domain from C#我可以从 C# 在远程应用程序域中注入线程吗
【发布时间】:2013-05-29 10:13:37
【问题描述】:

我想知道是否可以将线程注入到在单独进程中运行的远程应用程序域中。

我的猜测是我可以使用调试接口 (ICorDebug) 来做到这一点,但我想知道是否还有其他方法?

【问题讨论】:

    标签: c# .net appdomain code-injection


    【解决方案1】:

    最近宣布了 Mono 提供的一项新设施来执行此操作。请参阅assembly injection 上的这篇文章。

    【讨论】:

      【解决方案2】:

      Mike Stall 有一个interesting sample,介绍了如何使用 CreateRemoteThread 在托管应用程序中注入远程线程。

      这个答案仍然不完整,因为我想在远程 appdomain 中运行新代码。我想我可以尝试创建一个为我加载库的新线程,另一个将调用我的新库中的一个位置来完成这项工作。

      【讨论】:

        【解决方案3】:

        这可以在snoop 中的示例代码中完成。它设置了一个钩子,并使用托管 c++ 告诉 appdomain 加载程序集。真是令人印象深刻……

        【讨论】:

          【解决方案4】:

          还有另一种方法是使用SetThreadContext,并通过更改目标进程的EIP。 但是我不知道你会如何在 C# 中做到这一点。

          【讨论】:

            猜你喜欢
            • 2019-12-13
            • 1970-01-01
            • 1970-01-01
            • 2011-09-28
            • 1970-01-01
            • 1970-01-01
            • 2019-08-22
            • 1970-01-01
            • 2014-01-23
            相关资源
            最近更新 更多