通过注册表实现dll inject的问题, 添加了"InjectDLL" 项却无法被加载.
wm5/wm6 ppc 模拟器环境下,写了一个测试用的abc.dll,在dllmain函数中会MessageBox一个窗口.
然后按照msdn里的介绍,
HKEY_LOCAL_MACHINE\SYSTEM\KERNEL
"InjectDLL" = REG_MULTI_SZ : "MyDLL1.DLL","MyDLL2.DLL", ...
添加了该值InjectDll = \abc.dll。然后启动一个进程,但是没有弹出窗口来。即使重起机器,也没有任何窗口弹出。用remote process看,新进程里也确实没有加载abc.dll。
我反复测试过几种情况,abc.dll放在根目录下,也曾经放在\windows目录下过,注册表里带了完整路径,都没有用。
我的模拟器,一开始是没有 HKEY_LOCAL_MACHINE\SYSTEM\KERNEL 的,KERNEL是我自己加的。
我比较怀疑是注册表写的格式问题,对REG_MULTI_SZ的格式不是太清楚,对msdn的解释也不是太有把握。
哪位朋友能够告诉我详细的添加这个注册表项的过程、格式和注意事项?
然后按照msdn里的介绍,
HKEY_LOCAL_MACHINE\SYSTEM\KERNEL
"InjectDLL" = REG_MULTI_SZ : "MyDLL1.DLL","MyDLL2.DLL", ...
添加了该值InjectDll = \abc.dll。然后启动一个进程,但是没有弹出窗口来。即使重起机器,也没有任何窗口弹出。用remote process看,新进程里也确实没有加载abc.dll。
我反复测试过几种情况,abc.dll放在根目录下,也曾经放在\windows目录下过,注册表里带了完整路径,都没有用。
我的模拟器,一开始是没有 HKEY_LOCAL_MACHINE\SYSTEM\KERNEL 的,KERNEL是我自己加的。
我比较怀疑是注册表写的格式问题,对REG_MULTI_SZ的格式不是太清楚,对msdn的解释也不是太有把握。
哪位朋友能够告诉我详细的添加这个注册表项的过程、格式和注意事项?
...全文
相关推荐
AutoCAD二次开发(C#)完成后,如何实现CAD启动时自动加载dll(不必输入netload)?
AutoCAD二次开发(C#)完成后,如何实现CAD启动时自动加载dll(不必输入netload)?
无法删除dll文件的解决方法
无法删除.dll文件的手动解决方法,技术类
代码(InjectDll)
将一段数据注入到一个动态链接库中,程序会在动态链接库中新增一个section来存放注入的数据。动态链接库在加载的时候,注入的数据被加载到内存中。
InjectDll.rar C# 版的 把DLL注册到其他进程运行.
吐血奉献 InjectDll.rar C# 版的 把DLL注册到其他进程运行. 唯笑志在 QQ:504547114 DotNet 改善程序代码 群: 54256083
iis.dll 无法加载iis.dll
原版iis.dll 无法加载iis.dll 把文件解压后放在C:\WINDOWS\system32目录下即可


