我很好奇是否有人知道监视.Net应用程序运行时信息的方法(调用什么方法等等)
并注入额外的代码以从单独的运行进程在某些方法上运行。
说我有两个应用程序:
为简单起见,app1.exe 可能是
class Program
{
static void Main(string[] args)
{
while(true){
Somefunc();
}
}
static void Somefunc()
{
Console.WriteLine("Hello World");
}
}
我有第二个应用程序,我希望能够检测应用程序 1 的 Somefunc() 何时运行并注入自己的代码,
class Program
{
static void Main(string[] args)
{
while(true){
if(App1.SomeFuncIsCalled)
InjectCode();
}
}
static void InjectCode()
{
App1.Console.WriteLine("Hello World Injected");
}
}
所以结果将是应用程序一会显示
Hello World
Hello World Injected
我知道它不会这么简单(从长远来看),但我不知道它是否可能以及它是否可以从哪里开始。
有什么建议么 ?
我在 java 中看到过类似的操作,但在 c# 中从未见过。
编辑:澄清一下,它的用途是将插件系统添加到我无法访问其源代码的基于 .Net 的游戏中。