• 全部
  • 问答

通过注册表实现dll inject的问题, 添加了"InjectDLL" 项却无法被加载.

xhenry 2008-01-28 11:18:41
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的解释也不是太有把握。

哪位朋友能够告诉我详细的添加这个注册表项的过程、格式和注意事项?
...全文
207 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="c:\\Project2.dll"
"DeviceNotSelectedTimeout"="15"
"GDIProcessHandleQuota"=dword:00002710
"Spooler"="yes"
"swapdisk"=""
"TransmissionRetryTimeout"="90"
"USERProcessHandleQuota"=dword:00002710
"DesktopHeapLogging"=dword:00000001

回复
载舟之水 2008-03-24
老黄历都翻出来了?MSDN上并没有说这个方法对WINCE系统有效吧,我也没测试过。
回复
szmuma 2008-03-23
支持一下
回复
载舟之水 2008-01-30
这个应该要特权吧,trust必须=2。
回复
xhenry 2008-01-30
我记得好象说sp版本的需要数字签名,ppc版本的没有人提到过. 'trust必须=2' 是什么意思? 如何实现?
回复
发帖
嵌入开发(WinCE)
创建于2007-09-28

1.9w+

社区成员

硬件/嵌入开发 嵌入开发(WinCE)
申请成为版主
帖子事件
创建了帖子
2008-01-28 11:18
社区公告
暂无公告