C# DLL 动态加载
抱歉这么晚还打扰大家。看了HOOK DLL的视频,想要自己尝试下。但是因为视频里用的是C++,而我使用的是C#。所以产生了一系列的问题。
去了很多地方都没有找到解决的思路,于是来到了这里。
我正在为 C#写的DLL如何动态加载到进程里感到困惑。
下面是我的测试:
1、我通过Loadlibrary 动态加载 DLL,(假设DLL里有一个Class Main,Main下有一个静态的公开函数Hello),然后通过GetProcAddress("Hello",..)或者GetProcAddress("Main.Hello",..)都无法找到该函数的地址。
2、我想通过Assembly.LoadFrom("Mydll.dll")加载dll,虽然该函数执行成功了,但是用工具查询进程包含的模块时,发现,并没有Mydll.dll,反而是多了一些其他的dll,如下图:
我现在困惑万分,同时感到前途渺茫。因为把DLL加载到内存,同时找到函数地址是Hook的第一步。