迅维网

查看: 2587|回复: 6
打印 上一主题 下一主题

[原创]用DELPHI写的U盘免疫程序

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-8 09:23:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 重庆 来自 重庆

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
  最近,在学习DELPHI编程,写了个磁盘免疫的程序,就是给每个磁盘建立个Autorun.inf目录,在该目录里放一个WIN下不能访问、删除的文件夹(但DOS下可以),就可阻止此类病毒的感染了。没啥特别的地方,只是做成了能在WIN下运行的程序,操作简单点。
mianyi.rar (162.88 KB, 下载次数: 30)

评分

参与人数 2下载分 +16 收起 理由
诺天工作室 + 6 原创内容
菜鸟阶级 + 10 原创内容

查看全部评分

2#
发表于 2009-12-8 09:32:06 | 只看该作者 来自: 河南济源 来自 河南济源
也想学编程,但不知道从何学起

回复 支持 反对

使用道具 举报

3#
发表于 2009-12-8 09:34:06 | 只看该作者 来自: 重庆 来自 重庆
我也是边看书,边学习做程序。这个是为 家电控制器 的上位机做准备的。
http://www.chinafix.com.cn/thread-155605-1-1.html

回复 支持 反对

使用道具 举报

4#
发表于 2009-12-8 09:49:30 | 只看该作者 来自: 黑龙江哈尔滨 来自 黑龙江哈尔滨
编程我不会,余管的病毒免疫方式很不错。

回复 支持 反对

使用道具 举报

5#
发表于 2009-12-8 09:51:04 | 只看该作者 来自: 四川自贡 来自 四川自贡
不错哦,应该比较简单,生成一个特别的目录。

回复 支持 反对

使用道具 举报

6#
发表于 2009-12-25 09:04:25 | 只看该作者 来自: 重庆 来自 重庆
今天有空把原代码整理了一下,发上来。大家可看看,其实delphi编程(小软件)是很简单的。
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
    TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    ListBox1: TListBox;
    Button4: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


function get_drives():tstringlist;   //获取磁盘
var
i:integer;
n:integer;
a:tstringlist;
begin
   a:=tstringlist.Create;

   for i:=65 to (65+25) do
   begin
      n:=getdrivetype(pchar(chr(i)+':\'));
      case n of
         drive_removable:
            a.add(chr(i)+':\(移动硬盘)');
         drive_fixed:
            a.add(chr(i)+':\(硬盘)');
      end;
   end;

   result:=a;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   listbox1.Items.assign(get_drives());
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   application.Terminate;//退出程序运行
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   i:integer;
   s:string;
begin
   listbox1.Clear;
   listbox1.Items.assign(get_drives());
   for i:=0 to listbox1.Items.Count-1 do
   begin
      s:=copy(listbox1.Items.Strings[i],1,1); //得到磁盘名
      winexec(pchar('cmd.exe /c md '+s+':\autorun.inf\'),sw_hide); //建立AUTORUN.INF目录
      winexec(pchar('cmd.exe /c md '+s+':\autorun.inf\免疫..\'),sw_hide);//建立畸形目录
      listbox1.items.Add(s+':\  免疫成功!');
   end;

end;

procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
    s:string;
begin
   listbox1.Clear;          //清除列表
   listbox1.Items.assign(get_drives());            //装入磁盘
   for i:=0 to listbox1.Items.Count-1 do
   begin
      s:=copy(listbox1.Items.Strings[i],1,1); //得到磁盘名
      winexec(pchar('cmd.exe /c rd '+s+':\autorun.inf /s/q'),sw_hide); //删除AUTORUN.INF目录
      listbox1.items.Add(s+':\   解除成功!');
   end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
  listbox1.Items.assign(get_drives());
end;

end.

回复 支持 反对

使用道具 举报

7#
发表于 2011-1-18 17:44:14 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
今天弄一个U盘,顺便整理一下,其实就是两句DOS命令:
g:>md g:\autorun.inf\autorun.inf\免疫..\    (建立畸形目录)
g:>rd g:\autorun.inf /s/q  (删除顽固文件)

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复