您的位置:首页 > 其它

关于Autorun.inf及其命令详解

2007-03-27 16:38 295 查看
我们已经知道可以利用Aurorun.inf来指定光盘自动加载的图标和运行的文件,其实Autorun.inf的用处可大了,下面就向大家详细介绍有关Autorun.inf的应用。
   了解Autorun.inf
   什么是Autorun.inf文件呢,严格的说它是一个必须存放在驱动器根目录下的有一定格式的文本文件,它是由一个或多个“节”组成,每个“节”民须以节名作为开始的一行,节名必须用中括号[]括起来,节名之下则为本节中的命令。
   其中Autorun.inf一共支持三个节,它们分虽为[autorun]、[autorun.alpha]、[Deviceinstall],其中只有[autorun]是必须存在的。
   实例应用
   现在我们就来以实例的方式来详细了解Autorun.inf文件到底有哪些庆用。
   (1)自动运行
   自动运行在前文有所接触,即使用Open命令进行,要注意的是“Open=”指定的文件必须为可执行文件,例如com、exe、bat;如果指定的文件不在根目录下,则需要指定其路径,例如Open=soft .bat,这就表示运行光盘根目录下soft文件夹中的1.bat文件。
   小提示:如果要运行的文件不是com、exe、bat,那么也没关系,我们可以手工编写一个bat文件,将要打开的文件所在路径和文件名添加在bat之中即可。
   (2)自定义光盘图标
   在Autorun节中,还有一个比较好玩的命令行,那就是icon,一般情况下指定的图标文件可以是ico和bmp格式,当然也可以是包含图标资源的exe和dll文件,如果exe和dll文件中包含多个图标文件,那么就必须指定希望使用的图标索引号,要注意的是图标索引号是从0开始编号的,例如“icon=icon.dll,1”,那么就表示将使用icon.dll文件中的第二个图标。
   小提示:icon不仅可以应用在光盘上,我们也可以将该命令编写进autorun.inf文件放置在硬盘根目录自定义硬盘的图标。
   (3)自定义卷标
   虽然说光盘刻录软件中一般都可以设置光盘卷标,但是如果要批量刻录的话,那就会显的很麻烦,不如使用命令定义的快捷。
   定义卷标是利用Label命令来完成的,它的语法和Open、Icon是一样的,在这里不再多述。
   (4)添加右键菜单
   当我们右击刻录的光盘时,经常会在右键菜单中发现一个自动播放的选项,其实这主要是利用Autorun.inf中的Open命令来实现的,其实我们还可以根据需要添加其它菜单命令。
   添加其它菜单命令的格式是“Shell<菜单命令名>Command=<要执行的文件>”,例如我们编写了一个文件内容如下:
  [autorun]
  shell打开记事本command=notepad.exe
   这样当我们将该文件刻录进光盘时,右击光盘时在弹出菜单中就会有一个“打开记事本”的命令了。
   (5)改变缺省操作
   一般情况下应用autorun.inf的光盘双击缺省操作大多是自动播放,即执行open后面的文件操作。其实我们也可以改变这种情况,而这同样是利用shell命令来完成。
   我们先来看一个典型双击安装软件的示例:
  [autorun]
  shellsetupcommand=softsetup.exe
  shell eadme=安装软件
  shell=setup
   要看懂这段语句,我们可以从下向上看,当我们双击光盘时,将调用最后一句Shell=setup,因为设置了该句,那么双击时将查找对应Shellsetupcommand后面指定的命令来作为默认操作,因此默认的操作将变成执行光盘根目录下的soft文件夹中的setup.exe文件。
   在这里主要介绍的是autorun节内容的应用,而对于autorun.alpha来说我们很少用到,而Deviceinstall只能在Windows XP下使用,可以利用它指定硬件向导进行递归搜索的子目录。

  经常使用光盘的朋友都知道,有很多光盘放入光驱就会自动运行,它们是怎么做的呢?光盘一放入光驱就会自动被执行,主要依靠两个文件,一是光盘上的AutoRun.inf文件,另一个是操作系统本身的系统文件之一的Cdvsd.vxd。Cdvsd.vxd会随时侦测光驱中是否有放入光盘的动作,如果有的话,便开始寻找光盘根目录下的AutoRun.inf文件。如果存在AutoRun.inf文件则执行它里面的预设程序。
  AutoRun.inf不光能让光盘自动运行程序,也能让硬盘自动运行程序,方法很简单,先打开记事本,然后用鼠标右键点击该文件,在弹出菜单中选择“重命名”,将其改名为AutoRun.inf,在AutoRun.inf中键入以下内容:
  [AutoRun]    //表示AutoRun部分开始,必须输入
  Icon=C:C.ico  //给C盘一个个性化的盘符图标C.ico
  Open=C:1.exe  //指定要运行程序的路径和名称,在此为C盘下的1.exe
  保存该文件,按F5刷新桌面,再看“我的电脑”中的该盘符(在此为C盘),你会发现它的磁盘图标变了,双击进入C盘,还会自动播放C盘下的1.exe文件!
  解释一下:“[AutoRun]”行是必须的固定格式,“Icon”行对应的是图标文件,“C:C.ico”为图标文件路径和文件名,你在输入时可以将它改为你的图片文件所在路径和文件名。另外,“.ico”为图标文件的扩展名,如果你手头上没有这类文件,可以用看图软件ACDSee将其他格式的软件转换为ico格式,或者找到一个后缀名为BMP的文件,将它直接改名为ICO文件即可。
  “Open”行指定要自动运行的文件及其盘符和路径。要特别说明的是,如果你要改变的硬盘跟目录下没有自动播放文件,就应该把“OPEN”行删掉,否则就会因为找不到自动播放文件而打不开硬盘,此时只能用鼠标右键单击盘符在弹出菜单中选“打开”才行.
相信大家学了之后一定会大开眼界,其实除了本文所介绍之外,还有很多精彩的应用等着你来挖掘。要知道学习是师傅领进门,修行靠个人,余下的事情就看你了.
另外:autorun可以被黑客利用,我们可以关闭自动运行,让它不能发生作用
方法
禁止硬盘的自动运行:注册表编辑器展开HKEY_CURRENT_USERSoftware MicrosoftWindowsCurrentVersionPoliciesExploer主键下,右边窗口中的二进制值“NoDriveTypeAutoRun”决定了是否执行AutoRun功能,将“NoDriveTypeAutoRun”的默认键值由95, 00,00,00,改为9D,00,00,00,然后关闭注册表编辑器,重启电脑即可。
只禁止光盘的自动运行,可以将“NoDriveTypeAutoRun”的键值改为BD,00,00,00
近期已有AUTORUN.INF病毒出现
病毒会感染EXE文件,表现为打开EXE文件之后建立一个~.exe的文件运行(及原文件名为1.EXE 建立的文件名为1~.exe)
所有被感染的程序文件用记事本打开都有 MZP     @    L 悙This program must be run under Win32 的文字。

--------------------------------------------------------------------

另附一文:http://www.cfan.com.cn/hardware/office/apply/2006-12-06/1165412263d27744.shtml

谈光盘自动执行文件

前几天,仔细研究了一下光盘的自动执行文件之后,突发奇想:能不能将硬盘驱动器的那个讨厌的磁盘标记变成也像光盘驱动器一样,即当光盘驱动器中放有带自动执行文件的光盘时将光盘驱动器的图标自动换成光盘中自带的图标呢?说干就干(以下以硬盘D为例),在D盘的根目录下新建一个Autorun.inf文件(能够自动运行的光盘的根目录下都有这个文件),在其中写下如下语句:

[autorun]

icon=autorun.ico

open=autorun.exe

将文件存盘,刷新后发现D盘的图标已经变成Autorun.ico文件指定的图标了,这是“icon=autorun.ico”语句起作用了。双击(有的机器设成了单击)打开D盘后,看到什么了?硬盘竟然像光盘一样,运行起Autorun.exe文件了。怎么样,还可以吧?Autorun.ico也可以换成其它格式的文件,比较常见的有.exe、.bmp等格式文件。市场上或是因特网上有关图标捕捉、设计及转化的工具比较多,如想自己设计或从别的文件中抓取图标文件( .ico),可以找一些这方面的工具来用一下。如想直接用 .bmp文件,请提前将文件的大小用图形处理软件处理成正方形(图片的长宽尺寸相等)后再用,否则会出现变形。当然Autorun.exe也可以换成其它的可执行文件或是行命令。

其实Autorun.inf文件中还可以加入其它的内容来丰富它的功能,例如:

shell\readit=&&ReadMe

shell\readit\command=notepad readme.txt

在D盘上点右键,看到了没有,选单中多了个什么?是ReadMe吧,并且R下面还有一条下划线,敲一下R或者单击ReadMe,系统就会调用写字板程序打开Readme.txt文件(如果根目录下有的话),同样Notepad readme.txt和&&ReadMe也可以换成其它的文件和说明性的文字,也可以指定某一个字母为其快捷方式。其中Command后跟的是要执行的文件(可执行文件)或是行命令,上面一行对应的是要执行的程序的说明;而Shell和Command之间的Readit则是一个简短的说明,意义不大,但如下面提到的同时在右键选单中加入多行时,则这个位置的字符不能相同,否则的话只会显示第一段内容,后面的内容无法显示。

其实Autorun.inf本是光盘上才有广泛应用的文件,在硬盘上的用途只是改一下驱动器的图标而已。如果你平时收集了不少好玩的游戏,自己想刻一张游戏光盘,为了以后方便地使用这张游戏光盘,你可以在Autorun.inf文件中加入如下的语句(Autorun.inf文件必须放在光盘的根目录下):

shell\show=————我的游戏————

shell\show\command=

shell\game1=三角洲部队1

shell\game1\command=三角洲部队1\setup.exe

shell\game2=三角洲部队2

shell\game2\command=三角洲部队2\setup.exe

shell\show1=————结束————

刻完盘后在光盘上点右键(也可以在硬盘上测试一下),在弹出的选单中选择“三角洲部队1”就可以在不打开光盘的情况下直接安装“三角洲部队1”目录下的游戏了,这样是不是比以前方便多了?同时,为了区别这是自己加进去的东西,还可以在右键弹出的选单中用两段字符将你加入的东西与原来的右键选单分开。下面四行便是用来区分选单的,其中的Command后面是空格,表示不执行任何的程序和命令。

shell\show=————我的游戏————

shell\show\command=

shell\show1=————结束————

shell\show1\command=

怎么样?以后自己刻的光盘也可以自动执行,也可以有不少功能了。还不赶快去试试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: