无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 24556|回复: 85
打印 上一主题 下一主题

U盘免疫新方案的实现

[复制链接]
跳转到指定楼层
1#
发表于 2008-9-14 09:19:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
祝各位无忧的新老朋友中秋节快乐,送个新做的东东给大家玩


先看相关文章:
2种办法防止你的U盘自动传播病毒安全相关 2008年7月30日
    第一种方法:用WinHex制作无法修改的AutoRun.inf文件
  在我们日常工作中,经常需要使用闪存(也称为U盘或者优盘)主要是AutoRun.inf文件在起作用,我们可以使用WinHex解决这一问题。首先格式化闪存,文件系统选择默认的FAT32格式即可(由于格式的通用性比较好,所以最好选择FAT32)。然后在闪存根目录下手工新建一个名为AutoRun.inf的文件(可以新建任何一个文件,然后改名为Autorun.inf就可以了。),接着打开WinHex,按下F9功能键,或者从“工具”菜单下选择“磁盘编辑器”,打开需要处理的闪存(如果你插了多个,请确定那个闪存的盘符),定位到AutoRun.inf文件,可以看到文件名中间有一个空格,文件名的后面也有一个空格,现在请将后面的空格(20)直接修改为“E5”,确认后保存再退出就可以了。
    看起来AutoRun.inf的文件名没有发生任何变化,但这个时候,任何人都不能再打开它或者修改它了。或者,也可以将“20”更改为“E2”,这样可以将AutoRun.inf文件隐藏起来,使你不会每次都看见它而纳闷。
    第二种方法:使用现成的免疫程序
  如果你觉得使用WinHex比较麻烦的话,那么可以使用“AutoRun.inf疫苗”免疫程序,注意这个程序必须在Windows XP系统下运行,。
  解压后直接运行,从下拉列表框中选择需要免疫的可移动磁盘,然后单击“Inject”按钮,很快就会看到提示免疫成功的消息。其实,这个免疫程序的操作原理并不复杂,主要是在闪存根目录下创建一个无法删除、无法重命名的AutoRun.inf文件,这样可以防止闪存在带有病毒的计算机上使用时受到感染,自然也就不会被带到自己的计算机上啦。
    当然作了这些操作之后,你的U盘里还是会被病毒放进病毒文件,这是无法避免的,但是以后在任何电脑上双击闪存所在的盘的时候,再也不用担心病毒会使用“自动播放”的功能而自动运行了,所以用闪存时,千万不要去打开那些陌生的文件,小心中毒!

下面是程序实现的方案(直接用偶做的这个就可以了,支持所有移动磁盘,对硬盘不做操作,也可以用来解除其它工具做的文件夹免疫。)


另外:用Fat16及Fat32都可以,不必强求是Fat32,也就是说大部份情况下你不必重格磁盘。
        即使是用Ntfs,我们也做了加了权限的Autorun.inf文件。
       本程序可以自动识别U盘,更换U盘可以不必关闭本程序重新打开,使用U盘弹出功能要求是:本程序不能在被弹出的U盘上,被弹出的U盘上不能有打开的文件(与win的要求相同)。

V1.3 版,修正在Fat32上可能免疫失败的问题,当然同时也修正了无法解除2楼所做的免疫的BUG。

v1.31版  修正V1.3版在改算法时将Ntfs解除免疫的功能弄掉了。同时修正一下在大小系统字体下界面的问题。

v1.33版    重新设定了一下算法,在不能成功免疫的磁盘上不建无用的Autorun.inf

[ 本帖最后由 wang6071 于 2008-9-22 23:17 编辑 ]

U盘免疫.JPG (24.44 KB, 下载次数: 238)

程序界面

程序界面

UPlus1.33.rar

158.7 KB, 下载次数: 1356, 下载积分: 无忧币 -2

点评

www.rrkds.com/guzhuang/古装电视剧 www.rrkds.com/shenhua/神话电视剧  发表于 2014-8-19 22:41
2#
 楼主| 发表于 2008-9-14 09:34:39 | 只看该作者
把上文图中 第二种方法 所提的原程序补上,他这个程序只做免疫不做清除,用的是E5可见方式,单做免疫时也可以用它。

[ 本帖最后由 wang6071 于 2008-9-14 09:36 编辑 ]

WinHex做时.jpg (236.75 KB, 下载次数: 242)

补个用Winhex做时的图

补个用Winhex做时的图

AutoRunVaccine.rar

13.28 KB, 下载次数: 628, 下载积分: 无忧币 -2

回复

使用道具 举报

3#
发表于 2008-9-14 10:03:40 | 只看该作者
好东东
我以前用的时NTFS权限
虽然还没遇到能调用cacls命令解除权限的病毒
不过跟楼主这个比起来
还是差一些的
回复

使用道具 举报

4#
发表于 2008-9-14 10:41:02 | 只看该作者
这个东西好,要试试1010
回复

使用道具 举报

5#
发表于 2008-9-14 11:12:22 | 只看该作者
老大最近忙什么?我们都很想你啊!
回复

使用道具 举报

6#
发表于 2008-9-14 11:51:42 | 只看该作者
嘿嘿,不错的东东,顶一下。
回复

使用道具 举报

7#
发表于 2008-9-14 12:17:46 | 只看该作者
不过有个问题,这样防止自己的U盘中毒是没有问题了,但是别人带过来的U盘呢?。那不是还是会很容易弄的电脑中标
回复

使用道具 举报

8#
发表于 2008-9-14 12:31:44 | 只看该作者
首先要把自己机子的自动运行功能禁用......
回复

使用道具 举报

9#
发表于 2008-9-14 12:32:05 | 只看该作者
此方法不错,总算解决了FAT分区重命名的难题.
回复

使用道具 举报

10#
 楼主| 发表于 2008-9-14 12:38:55 | 只看该作者
原帖由 wowfans 于 2008-9-14 10:03 发表
好东东
我以前用的时NTFS权限
虽然还没遇到能调用cacls命令解除权限的病毒
不过跟楼主这个比起来
还是差一些的


调用cacls解除Ntfs文件夹权限的批处理:
@echo off
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
set /a n=0
set dl=CDEFGHIJKLMNOPQRSTUVWXYZ
:s
set d=!dl:~%n%,1!:
echo y|cacls %d%\autorun.inf /t /c /e /g everyone:f>nul 2>nul
del /f /q /a s h r a %d%\autorun.inf>nul 2>nul
for /f "delims=" %%a in ('dir /s /b /a s h r a %d%\autorun.inf') do (rd \s \q %%a.\&rd /s /q %d%\autorun.inf)>nul 2>nul
set /a n=n+1
if not %n%==24 goto s

所以Ntfs下的免疫是很容易解除的,上面的Fat下的免疫因为win没有直接的Api操作可用,需要自已解析文件目录表,所以目前来说更安全一点。

原帖由 jxyun99 2008-9-14 12:17 发表

不过有个问题,这样防止自己的U盘中毒是没有问题了,但是别人带过来的U盘呢?。那不是还是会很容易弄的电脑中标


自已的机器当然是自已要有一定防范,或者禁用硬盘的自动播放,或者用偶的AutoClear,或者用360,或者用E盾,方法太多了。
这个软件防的是经过自已后的U经过免疫后,不传播Autorun.inf自动播放性质的病毒。

[ 本帖最后由 wang6071 于 2008-9-14 12:41 编辑 ]
回复

使用道具 举报

11#
发表于 2008-9-14 12:58:29 | 只看该作者
发现把20改成10或者30,再进到磁盘重命名一下文件,文件马上变成文件夹了.
回复

使用道具 举报

12#
 楼主| 发表于 2008-9-14 13:06:04 | 只看该作者
原帖由 haiou327 于 2008-9-14 12:58 发表
发现把20改成10或者30,再进到磁盘重命名一下文件,文件马上变成文件夹了.


00读写  01只读  02隐藏   04系统  08卷标  10子目录  20归档

30 and 10 =1  子录
30 and 20 =1  归档
所以30是 归档属性的子目录。

[ 本帖最后由 wang6071 于 2008-9-14 13:08 编辑 ]
回复

使用道具 举报

13#
发表于 2008-9-14 13:15:05 | 只看该作者
很精辟,原来最后两个字节是文件的属性(目录也是文件的一种)
如果是NTFS格式,文件结构完不一样了.

[ 本帖最后由 haiou327 于 2008-9-14 13:18 编辑 ]
回复

使用道具 举报

14#
发表于 2008-9-14 14:02:37 | 只看该作者
发现直接在路径那里输入硬盘分区号也是可以对硬盘制作免疫的,也可以删除硬盘上的免疫文件
就是不知道有没有效果,呵呵
回复

使用道具 举报

15#
发表于 2008-9-15 01:01:34 | 只看该作者
我试了第一种方法,有错误提示:“不能写入到驱动器R:拒绝访问”
第二种方法错误提示:出现错误(errorcode=2),不支持在此盘上操作!
是不是因为我把U盘量产成CDROM+U盘造成的?
回复

使用道具 举报

16#
发表于 2008-9-15 03:14:41 | 只看该作者
第一种方法的确是不错
回复

使用道具 举报

17#
发表于 2008-9-16 08:02:10 | 只看该作者
王兄研究够深得呀!小事情处理大问题!
如果支持批处理或者读入列表免疫其他文件或者目录,哪在系统盘上免疫一些常见的病毒名称,哪更有用处了!
回复

使用道具 举报

18#
 楼主| 发表于 2008-9-16 08:22:23 | 只看该作者
原帖由 jxyun99 于 2008-9-14 14:02 发表
发现直接在路径那里输入硬盘分区号也是可以对硬盘制作免疫的,也可以删除硬盘上的免疫文件
就是不知道有没有效果,呵呵


你说是早期的建Autorun.inf免疫文件夹+畸形目录的方法(该方法无法对改名进行防范),这里用的方法不同。


原帖由 xdg3669 于 2008-9-16 08:02 发表
王兄研究够深得呀!小事情处理大问题!
如果支持批处理或者读入列表免疫其他文件或者目录,哪在系统盘上免疫一些常见的病毒名称,哪更有用处了!


现在硬盘大,好多系统都是NTFS的了,没法用这个方案,且存在太多的这样的文件可能会有不可预见的后果,再加上现在病毒大多数都已采用随机文件名了,所以最好不用免疫文件名的方法来防范病毒。

[ 本帖最后由 wang6071 于 2008-9-16 08:25 编辑 ]
回复

使用道具 举报

19#
发表于 2008-9-16 08:39:10 | 只看该作者
要是能对本地硬盘免疫似乎更好。

做个选项出来,默认不选。因为有时候系统也需要免疫的。
回复

使用道具 举报

20#
发表于 2008-9-16 10:16:39 | 只看该作者
楼主, 试验发现:

================================
NTFS格式:

AutoRunVaccine不支持, 只支持FAT16/32
uplus建立autorun.inf, 不可改名, 不可删除, 可以使用本工具解除免疫.,也可解除其他工具免疫的文件,  成功!

================================
U盘, fat16

使用AutoRunVaccine建立的autorun.inf文件不可改名, 不可删除, 但可见, 达到免疫目地.

使用UPlus.exe建立的autorun.inf文件可改名, 可删除啊 !!!!!!!   失败!
使用uplus.exe不能解除autorunVaccine建立的免疫文件, 出现" 程序错误(ErrorCode=2), 不支持在此磁盘上操作 "提示. 失败!

================================
FAT32格式:  效果同FAT16

使用AutoRunVaccine建立的autorun.inf文件不可改名, 不可删除, 但可见, 达到免疫目地.

使用UPlus.exe建立的autorun.inf文件可改名, 可删除啊 !!!!!!!   失败!
使用uplus.exe不能解除autorunVaccine建立的免疫文件, 出现" 程序错误(ErrorCode=2), 不支持在此磁盘上操作 "提示. 失败!

结果:
1  AutoRunVaccine只支持FAT16/32格式, 免疫成功.
2  uplus.exe在NTFS格式免疫成功, 也可以解除免疫(包括其他工具)
3  uplus.exe在FAT16/32格式, 免疫文件可删除可改名, 免疫失败, 并不能解除AutoRunVaccine建立的免疫, 提示: " 程序错误(ErrorCode=2), 不支持在此磁盘上操作 "

烦请楼主检查程序 !!!

[ 本帖最后由 haiuyan 于 2008-9-16 11:14 编辑 ]
回复

使用道具 举报

21#
 楼主| 发表于 2008-9-16 12:35:03 | 只看该作者
原帖由 haiuyan 于 2008-9-16 10:16 发表
楼主, 试验发现:

================================
NTFS格式:

AutoRunVaccine不支持, 只支持FAT16/32
uplus建立autorun.inf, 不可改名, 不可删除, 可以使用本工具解除免疫.,也可解除其他工具免疫的文件 ...



ErrorCode=2  表示查找文件目录表失败,当然无法对新创建的Autorun.inf加免疫了,所以可删除可改名。如果免疫成功是会弹出一个成功的通知来的。

我这个程序检测不出可能与读取方法有关系。能否说一下你的U是多大的盘?winhex检测出的磁盘参数能否贴个图:  每扇区字节数=?  等情况

出现本错误的原因可能与你试验的U低格程序所做的分区表参数有关系(这个好象在量产时就固定了的),
或许可以用Windows自身的格式化或HP格式化工具格一下盘后再做一些试验。

[ 本帖最后由 wang6071 于 2008-9-16 12:54 编辑 ]
回复

使用道具 举报

22#
发表于 2008-9-16 13:05:11 | 只看该作者
很好。上次的U盘我做了免疫后,前几天在别人的电脑上用了一下。回来时发觉多了几个我U盘根目录的同名的EXE文件。我原来的文件都给隐藏了,幸好我有显示扩展名。才不会点到。杀毒软件也不报。郁闷……
回复

使用道具 举报

23#
发表于 2008-9-16 15:31:50 | 只看该作者
原帖由 wang6071 于 2008-9-16 12:35 发表



ErrorCode=2  表示查找文件目录表失败,当然无法对新创建的Autorun.inf加免疫了,所以可删除可改名。如果免疫成功是会弹出一个成功的通知来的。

我这个程序检测不出可能与读取方法有关系。能否说一下你 ...


回楼主:  U盘是32M(FAT16), 128M(FAT32)

下午再次试验, 发现两个U盘从新格式化后, 使用UPlus.exe可以正确设置免疫, 不可删除和改名, 可以正常解除免疫, 成功.
原因: 两个U盘长期使用, 文件经常删除, 用winhex会看到有很多以前删除过的文件和目录, UPlus.exe在这种情况下可能处理有误, 需要改進.

另外: 两个U盘(FAT16/32)用AutoRunVaccine.exe免疫后, 用UPLS.exe还是不能解除, 弹出上贴中的出错提示,见下图.
回复

使用道具 举报

24#
 楼主| 发表于 2008-9-16 18:48:57 | 只看该作者
原帖由 haiuyan 于 2008-9-16 15:31 发表


回楼主:  U盘是32M(FAT16), 128M(FAT32)

下午再次试验, 发现两个U盘从新格式化后, 使用UPlus.exe可以正确设置免疫, 不可删除和改名, 可以正常解除免疫, 成功.
原因: 两个U盘长期使用, 文件经常删除, 用 ...


已经找到原因,原来是个循环计算中的一个小错误造成的,V1.2版修正了(顶楼已更新)。
回复

使用道具 举报

25#
发表于 2008-9-17 08:06:27 | 只看该作者
王兄这个U盘免疫方法不错!下载了,已经在使用中!
回复

使用道具 举报

26#
发表于 2008-9-17 08:22:02 | 只看该作者
经测试V1.2, 故障依旧.

1 不能解除AutoRunVaccine建立的免疫, 弹出23楼的出错提示图.
2 在经常删除拷贝文件的U盘上(FAT32), 不能成功建立免疫, 没有成功的提示, 可删除改名免疫文件.
回复

使用道具 举报

27#
发表于 2008-9-17 11:04:22 | 只看该作者
原帖由 pop 于 2008-9-16 13:05 发表
很好。上次的U盘我做了免疫后,前几天在别人的电脑上用了一下。回来时发觉多了几个我U盘根目录的同名的EXE文件。我原来的文件都给隐藏了,幸好我有显示扩展名。才不会点到。杀毒软件也不报。郁闷……

也有过相同的经历,这个病毒太流氓了!
回复

使用道具 举报

28#
发表于 2008-9-17 12:30:36 | 只看该作者
经测试V1.2.

1 我的金山杀毒U盘提示.不支持在此磁盘上作免疫。fat格式,用USBOOT作启动盘。
2 在另一个普通U盘上(FAT32,买来后从未格式化过), 不能成功建立免疫, 没有成功的提示, 可删除改名免疫文件.
回复

使用道具 举报

29#
发表于 2008-9-17 12:49:04 | 只看该作者
建立一个名为AutoRun.inf文件夹,也可以防毒吧
回复

使用道具 举报

30#
发表于 2008-9-17 19:18:42 | 只看该作者
看来以后病毒要直接操作文件分配表才能搞事了
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-28 17:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表