首页
社区
课程
招聘
[求助]如何解除dll占用
发表于: 2013-10-13 00:17 14112

[求助]如何解除dll占用

2013-10-13 00:17
14112
比如有个文件为test
里面有个dll被某个程序占用着
怎样将这个test文件夹强制删除呢
或者说,360的文件粉碎是怎么做的。。。。(360并没有将宿主进程结束)
求指教,谢谢~~

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 70
活跃值: (88)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
这是我的方法,仅供参考!
用CreateToolhelp32Snapshot,Process32First,Process32Next,枚举进程,找到test的进程,然后调用TerminateProcess终止进程,如果要终止一个单独的模块如DLL,用Module32First,Module32Next找到模块,如果是DLL,调用FreeLibrary,卸下DLL,模块句柄配合GetModuleHandle获取句柄,删掉目录用RemoveDirectory。
如果哪个API不会,查这里

这些方法只针对普通进程,如果是高权限的进程,必须提升自己的程序的运行级别才能终止进程或卸模块
2013-10-13 00:36
0
雪    币: 297
活跃值: (265)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
3
360貌似不是freeliabry,我把运行着的dl movefile移动到另一个目录,然后用360的粉碎,
宿主进程没退出,dll还存在于宿主进程当中,但是文件夹被删掉了。
2013-10-13 09:47
0
雪    币: 319
活跃值: (1106)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
是不是隐藏了?禁止任何新进程访问,当没有进程连接时则物理删除?瞎猜的
2013-10-13 11:04
0
雪    币: 1042
活跃值: (500)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
已经被加载到进程空间了.你movefile有嘛用,试试2楼的方法``
2013-10-13 15:13
0
雪    币: 56
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我记得hook可以
2013-10-13 15:36
0
雪    币: 84
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
360文件粉碎。。。是驱动层干掉的。。。起初是mj的XCB大法。。现在是什么技术。。没听大牛讨论过。。应该没变吧。。。最简单易用的驱动层的删除占用文件的办法。。可以看A盾的。。相关代码。。
2013-10-13 17:04
0
雪    币: 297
活跃值: (265)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
8
我movefile就是为了让我的dll不被粉碎掉
我测试的是,movefile了之后用360强制粉碎,但是我的dll是还在运行着的。
我就想,我movefile了之后,可不可以把自己在以前那个位置的“占用”删除掉。。。
2013-10-13 21:07
0
雪    币: 1392
活跃值: (5207)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
9
应该是UnMapviewoffile之类的~
2013-10-13 21:21
0
雪    币: 1753
活跃值: (885)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
10
话说~~直接发IRP就可以·
2013-10-18 10:01
0
游客
登录 | 注册 方可回帖
返回
//