当前位置:编程学习 > VB >>

怎么用vb实现永久删除文件(进来LOOK 一下)

最近电脑出现几个病毒,卡巴斯基都删除不掉,我想用vb实现删除文件,vb 里面有kill 函数 和API 函数 Public Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long    这两个函数肯定不行,请高手,大家帮忙想个啥办法,能彻底的删除文件?大家讨论一下 --------------------编程问答-------------------- --------------------编程问答-------------------- 建议用冰刃(Icesword)的强制删除文件  --------------------编程问答-------------------- 假如是ntfs格式的磁盘
先对文件权限作限制 读取修改创建 只留删除权限(文件右键属性->安全->高级->权限-> 选择administrators->编辑 拒绝那列全部勾上 除了删除)
然后删除注册表相关项 重启电脑 删除病毒文件
--------------------编程问答-------------------- 不知道其它的强制删除软件是怎么写的,用VB怎么写? --------------------编程问答-------------------- 怎么没有人气呢? --------------------编程问答-------------------- 文件删不掉是因为,那个文件可能受正在运行进程的保护,所以删不掉,其实一般的强制删文件的原理,就是直接写硬盘数据区(也就是说你要熟悉NTFS或FAT32格式分的硬盘区从而通过文件目录表定位到要删除的文件簇,然后删除它)可以通过CreateFile直接读写扇区数据. --------------------编程问答-------------------- 谁能给个例子呢? --------------------编程问答-------------------- 建议你看下我这篇文章及相关文件
http://blog.csdn.net/chenhui530/archive/2007/10/18/1831372.aspx --------------------编程问答-------------------- 试试用 API 将所有进程关闭,然后再删除。 --------------------编程问答--------------------  最近我朋友电脑盘上 发现了一个auto.exe 病毒,怎么删除都删除不掉,气死人,把它删掉,刷新一下,就又会出现,我想自己用vb把这个病毒删除掉,(我发现这个病毒,也没有运行)请问大家(陈辉老师)用vb 代码怎么写,今天朋友再说我,哎..你是学vb的怎么连这都删除不了,白学了,晚上睡觉,睡不着,想了半天,还是没有想出个好办法,哎....这个病毒怎么删除呢???现在给大家发个贴子,想看看大家,有什么办法(其实,可以在网上下一个专杀,但是我就用vb写,我喜欢vb) --------------------编程问答-------------------- 有没有办法不让进线程创建,然后在删除呢?? --------------------编程问答-------------------- 怎么找出 auto.exe 所关联的全部资源文件,删除把它们全部灭了 --------------------编程问答-------------------- 怎么没有人气呢? --------------------编程问答-------------------- 如果哪个auto.exe能删掉,但是删掉后一刷新又有了,哪说明你没有找到真正的病毒进程,哪个病毒进程自动生成哪个auto.exe,你必须先结束掉哪个病毒进程,才能删掉哪个文件 --------------------编程问答-------------------- 不知道有什么办法通过auto.exe这个文件,找到和它相关联的文件,然后把所有关联的文件,结束进程并且删除掉 --------------------编程问答-------------------- 推荐使用killbox --------------------编程问答-------------------- 网上一些专杀工具用了 DOS 批处理。
原理即找到和它相关联的文件,然后把所有关联的文件,结束进程并且删除掉,修改注册表。
这样简单好学一些。 --------------------编程问答-------------------- 汗,为什么不从根源上想办法呢?

"把它删掉,刷新一下,就又会出现"

明显病毒进程还在工作啊.

要是不把病毒的执行先处理了,你删一万次也没用..... --------------------编程问答-------------------- 楼上说的对,要删除文件不能,关键是要先结束病毒控制程序

病毒文件在WIN中存储也不过是普通文件,无所谓顽固 --------------------编程问答-------------------- .直接删除正在使用的文件,API都不行.则首先结束掉控制程序的线程.其次删除文件即可.
线程插入技术可以帮你. --------------------编程问答-------------------- 对付一些白痴病毒,其实还有好办法。

你自己创建一个auto.exe的目录。就可以了。 --------------------编程问答-------------------- 有这样的专杀工具可以用一下 --------------------编程问答-------------------- 对付auto.exe的办法:与auto.exe同目录有个隐藏的autoexe.inf之类的文件,打开把里面关于auto.exe的值删掉就没事了。这样的话只要不点击auto.exe,就不会自动运行了。 --------------------编程问答-------------------- KB 杀不掉的 VB很难实现..

建议使用专用的工具!

顽固文件删除工具:Unlocker
http://download.csdn.net/source/330476 --------------------编程问答-------------------- 很想知道Unlocker删除文件的原理,特别是非法文件名 --------------------编程问答-------------------- 我认为可不可以在删除文件的同时生成一个与“Auto.exe"同名的文件,并把他的属性设为“只读”什么的,来“顶替”原来的文件(这是个不是编程的人的办法,不建议采用) --------------------编程问答-------------------- 文件正在使用,受系统保护的!

如果不使用的话,怎么删除都没有关系! --------------------编程问答-------------------- 根据他的描述来看,这个程序应该没有运行,因为这个程序可以删除。但是刷新后它又会产生,说明有另一个程序在后台生成新的程序。要想根治这个问题,必须找到是什么程序在生成它,并将它的进程结束。
但这是VB能做到的吗 --------------------编程问答-------------------- 哎呀........这不是工具的问题了.......

明显是使用工具的方法的问题了......

工具要完成的工作很简单:

一,结束进程.

二,删除文件.

问题是:

一,结束哪个?

二,删除哪个?

这些需要你自己分析.

病毒本身如何工作的,对操作系统作了哪些改变,使用了什么样的方法来隐藏自己,保护自己等.

这些已经不是编程的技术问题了~~~

不把这些搞定,再牛B的编程高手也帮不了你. --------------------编程问答-------------------- 首先,没有保护进程也可以有保护驱动
只要驱动在运行,那么结束进程也没用,
你在发出删除请求的时候就被驱动给拦截了(内核态hook之类的手法)
对于这种,使用VB是没有办法删除的(除非界面用VB写,实现逻辑[驱动]使用C/C++)



--------------------编程问答-------------------- 用360阻止被粉碎的文件再次生成
--------------------编程问答-------------------- 楼主怎么不在杀毒上去花费精力? --------------------编程问答-------------------- 会不会是双进程病毒,我听说有一些病毒开了两个进程,两个进程互相监控,任意一个被结束了,另一个就在启动一次,时刻保持着两个进程的状态,你无论怎么关闭都还是不够他启动得快,怎么都无法结束他的进程。除非你在安全模式下找到他的注册表启动设置,找到他的所有EXE文件,在360那些软件设置好阻止运行,接着删掉所有有关的EXE文件才有可能删掉病毒 --------------------编程问答-------------------- 建议搜专杀工具。

要手动弄,监视根目录,看看是那个程序创建了那个文件,从创建这个文件的进程入手。要调试模式什么的,估计能累死,我是宁可找专杀工具。 --------------------编程问答--------------------
Private Declare Function MoveFileEx Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long) As Long
Private Const MOVEFILE_DELAY_UNTIL_REBOOT = &H4
Private Const MOVEFILE_REPLACE_EXISTING = &H1
'api声明
Private Sub Command1_Click()
    MoveFileEx "c:\nsa\note.ns", vbNullString, MOVEFILE_DELAY_UNTIL_REBOOT  '把原来文件kill
End Sub
--------------------编程问答--------------------
引用 24 楼 cike_1111 的回复:
KB 杀不掉的 VB很难实现..

建议使用专用的工具!

顽固文件删除工具:Unlocker
http://download.csdn.net/source/330476


這個得頂,公司電腦就安得這個,隨便什麽,隨便刪的。。哎,好暴力啊。。。 --------------------编程问答-------------------- 大家,多少年前的帖子了啊!!!!!!!!!
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,