假设我的计算机上正在运行一个进程( 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 我想拦截它并返回我自己的值。
答案 0 :(得分:-1)
您是否需要在运行时从DLL调用GetRepaintedObject()
?
如果是,您可以使用Reflection获取DLL中定义的类方法的引用。