修改由进程调用而不重启进程的dll方法

时间:2016-12-13 14:58:37

标签: c# .net dll dll-injection

假设我的计算机上正在运行一个进程( target.exe )。 我发现,target.exe正在使用DLL( target.dll )。在这个DLL中有一个名为:

的方法
public PaintedObject GetRepaintedObject(Image img)
{
   return new PaintedObject(img);
}

是否有可能在运行时捕获方法调用GetRepaintedObject并执行我自己的代码?我只想返回自己的PaintedObject。

编辑:我认为 target.exe 会将 target.dll 加载到他的内存空间中,这就是我想要注入或修改方法的点 GetRepaintedObject 即可。我不想重新编译dll或其他东西。每次 target.exe 都在调用 GetRepaintedObject 我想拦截它并返回我自己的值。

1 个答案:

答案 0 :(得分:-1)

您是否需要在运行时从DLL调用GetRepaintedObject()

如果是,您可以使用Reflection获取DLL中定义的类方法的引用。