注册 登录
编程论坛 C# 论坛

C# DLL 动态加载

moodlee 发布于 2018-01-25 23:35, 1953 次点击
抱歉这么晚还打扰大家。
看了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的第一步。
0 回复
1