首页
社区
课程
招聘
[讨论](c++或vb)widows如何暴力删除顽固的dll?
2006-10-26 10:47 7054

[讨论](c++或vb)widows如何暴力删除顽固的dll?

2006-10-26 10:47
7054
  删除流氓软件时,常常会有顽固的dll。有什么办法可以在windows运行时暴力删除吗?即使可能导致系统崩溃也行。有没有相关资料?最好是C++的,VB能解决更好。汇编也可以。
  说明一下,开机后替换的办法似乎不是非常有效,因为有的dll早在被替换前就已经被调用。
  我见过的不好删除的dll一般分为以下几种情况:
  1、插入到其它进程中运行着。
    比如,流氓软件常用的办法是将DLL插入到explorer.exe进程中。这种好处理。结束相关进程就可以删除。也有的插入到许多进程进程。但开机时选“带命令启动行模式”下就可以删除。
  2、由.sys注册为系统服务,系统启动时就加载这个相关dll。使用tasklist /m 1.dll 查不到相关的调用。这种dll比较顽固,带命令行启动也删不掉。
  3、两个dll互相关联(1.dll监视2.dll运行,如果被删了,就再创建一个,2.dll调用1.dll,使其不能被删除。)卡吧斯基对这种病毒也删不掉。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞7
打赏
分享
最新回复 (9)
雪    币: 201
活跃值: (53)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
oulei 2006-10-26 11:50
2
0
用启动盘启动,在DOS中干掉它们就可以了.
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
drwch 3 2006-10-26 14:26
3
0
MoveFileEx。这个API比较好用
雪    币: 216
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
analog 2 2006-10-26 20:57
4
0
用一下李马写的July3.00看看,可以卸载dll,但可能会导致系统不稳定
http://www.titilima.cn
雪    币: 466
活跃值: (119)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
kusky 4 2006-10-28 03:28
5
0
谢谢四楼,果然好东东!
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-10-29 08:02
6
0
最初由 drwch 发布
MoveFileEx。这个API比较好用


很好的API

MOVEFILE_DELAY_UNTIL_REBOOT
The function does not move the file until the operating system is restarted. The system moves the file immediately after AUTOCHK is executed, but before creating any paging files. Consequently, this parameter enables the function to delete paging files from previous startups.
This flag can only be used if the process is in the context of a user who belongs to the administrator group or the LocalSystem account.

雪    币: 466
活跃值: (119)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
kusky 4 2006-10-29 18:38
7
0
谢谢版主。研究中。
能不能提供些系统启动时怎样加载.sys的资料?比如,为什么先加载这个后加载那个?
雪    币: 297
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
默数悲伤 6 2006-10-31 21:08
8
0
如果只在一个进程空间中,注入之后2次freelibrary就可以了.
如果是多个进程加载了,则分别重复上述劳动就可以了.
雪    币: 466
活跃值: (119)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
kusky 4 2006-11-4 19:03
9
0
如果只在一个进程空间中,注入之后2次freelibrary就可以了.
如果是多个进程加载了,则分别重复上述劳动就可以了.

像我在一楼提到的第二种情况,当病毒注册了系统服务后,dll不存在于任何应用进程中。那就不能freelibrary了。这种能在windows下停止这种服务并删除sys文件吗?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
VIRVIR 2006-11-5 12:46
10
0
对于注册为系统服务的dll来说,也是有实体存在的,所以只要删除文件也是可以的,也可以卸载服务,可以用hijackthis来协助。。。
---------------------
http://virvir.blogbus.com
QQ:414947531
游客
登录 | 注册 方可回帖
返回