首页
社区
课程
招聘
[旧帖] [求助][求助]通过进程a(与进程b)共享的dll卸载进程b的dll的一个错误 0.00雪花
发表于: 2012-11-9 00:14 2092

[旧帖] [求助][求助]通过进程a(与进程b)共享的dll卸载进程b的dll的一个错误 0.00雪花

2012-11-9 00:14
2092
两进程a和b,实现过程:a运行并加载此dll,然后想通过b卸载a进程的dll
dll源码如下

问题在SetHook()函数描述
HMODULE  Handle;//已设置共享
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
           )
{
if(a进程)
Handle=hModule;
if(b进程)
uninstallDll();
return 0;
}
 void uninstallDll()
{
...
..
.
//pfnStartAddr为SetHook的地址,
CreateRemoteThread(hRemoteProcess, NULL, 0, pfnStartAddr, &Handle, 0, NULL)

}

卸载dll
DWORD  __stdcall SetHook(LPVOID lParam)
{
  MessageBox(..);//测试这步能执行到,并且lParam无误.    
  FreeLibrary(*((HMODULE *)lParam));//执行到这步时a进程就死了,求解答
  return 0;
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶一下.
2012-11-9 11:42
0
游客
登录 | 注册 方可回帖
返回
//