社区
进程/线程/DLL
帖子详情
如何卸载其他进程加载的A.dll?
progray
2004-05-02 07:07:28
例如,A进程加载了A.dll,我如何在A进程运行的情况下将A.dll卸载掉?
...全文
99
6
打赏
收藏
如何卸载其他进程加载的A.dll?
例如,A进程加载了A.dll,我如何在A进程运行的情况下将A.dll卸载掉?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
halk
2004-05-04
打赏
举报
回复
明白了,不过我没试过,只能从原理上提些建议,讨论一下。
再一种情况是,即使进程结束了,可dll依然没有从内存中退出,依然无法删除。这就是我发贴的原因。
------------------
每当DLL加载到一个进程的时候,都会有相应的引用值,当这个值减到0的时候系统就把它从此进程中卸载了,进程结束的时候也一样会卸载它们;但是如果同时还有其它进程在引用这个DLL,那么仍然不能删掉,只有当所有的进程都把它卸载的时候,内存影像才会关闭,文件才能删掉。所以,删不掉很可能是还有其他进程在使用它。
好多dll我一时确定不了是哪个进程在使用
------------------
这该怎么办,一个一个的找?看看有没有别人给出更好的办法
而且即使确定了,由于该进程是服务或其他原因(如它就是explorer.exe结束了也没用,我迟早还是要运行它的)结束不掉
------------------
没别的办法,不能把服务都停掉吧?当然也可以试试,看看哪些是可以停掉而不至于down机的(从服务列表中停)。实在不行,就只能启动到dos去删了;如果是NTFS的分区DOS还看不见,不知道启动到win2k的诊断控制台能否删掉。
fenforever
2004-05-04
打赏
举报
回复
同意一楼,用远程线程调用GetModuleHandle获得a.dll的模块句柄,然后调用FreeLibrary卸载。
progray
2004-05-03
打赏
举报
回复
to halk(夜风) ,大哥,你想过没有,要是这么简单我没事发帖子问什么啊。
好多dll我一时确定不了是哪个进程在使用,而且即使确定了,由于该进程是服务或其他原因(如它就是explorer.exe结束了也没用,我迟早还是要运行它的)结束不掉,再一种情况是,即使进程结束了,可dll依然没有从内存中退出,依然无法删除。这就是我发贴的原因。
halk
2004-05-02
打赏
举报
回复
老兄,如果你的目的仅仅是想删dll文件,何必劳师动众去写什么程序,把那个进程关掉然后删dll不就是了
progray
2004-05-02
打赏
举报
回复
谢谢lovenoend(有容乃大) ,是否能详细的讲解一下,最好有代码示范,我不太清楚如何利用远程线程。A再次调用A.dll的情况可以不考虑,我主要想在卸载掉A.dll后就删除了A.dll。
lovenoend
2004-05-02
打赏
举报
回复
用远线程注入原理,
不过卸载掉A.dll后,若进程A又调用A.dll相关的,估计又载入A.dll
C#中动态
加载
和
卸载
DLL
C#也提供了实现动态
卸载
DLL
的方法,通过AppDomain来实现。AppDomain是一个独立执行应用程序的环境,当AppDomain被
卸载
的时候,在该环境中的所有资源也将被回收。
卸载
远程
进程
中的指定
DLL
文件
很多病毒木马被写成了
DLL
格式,以插入到系统其他正常
进程
中,实现无
进程
,难以删除的目的,该工具可以搜索所有
进程
中是否含有指定的
DLL
文件,如果发现则强行
卸载
,对手工查杀病毒木马有帮助,代码简单
delphi
卸载
指定
进程
内已
加载
的
DLL
delphi
卸载
指定
进程
内已
加载
的
DLL
卸载
远程
进程
中的
DLL
文件
很多病毒木马被写成了
DLL
格式,以插入到系统其他正常
进程
中,实现无
进程
,难以删除的目的,该工具可以搜索所有
进程
中是否含有指定的
DLL
文件,如果发现则强行
卸载
,对手工查杀病毒木马有帮助,代码简单
教你如何
卸载
被注入到
进程
中的
dll
Remote
DLL
dll
inject教你如何
卸载
被注入到
进程
中的
dll
进程/线程/DLL
15,467
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章