ไฟล์ autorun.inf เราเคยรู้จักไฟล์นี้ดีเวลาที่เราใส่ cd-rom ลงไปในไดรฟ์แล้วมันก็จะไปเรียกโปรแกรมขึ้นมาทำงานทันที แต่จริงๆ มันทำอะไรได้มากกว่านั้น ลองมาดูกันครับ
หัวข้อหลักของ autorun จะเรียกว่า key ครับ โดย key จะเขียนเป็น [ชื่อคีย์] แบบนี้ ซึ่งคีย์ใน autorunจะมีดังนี้
* [AutoRun] Keys
* [Content] Keys
* [ExclusiveContentPaths] Keys
* [IgnoreContentPaths] Keys
* [DeviceInstall] Keys
มาดูส่วน AutoRun key ก่อนครับ คำสั่งที่ใช้ได้ก็จะมีดังนี้ครับ
* action
* icon
* label
* open
* UseAutoPlay
* shellexecute
* shell
* shell\verb
ทีนี้มาดูวิธีใช้แต่ละคำสั่งครับ
คำสั่ง action ครับ
แบบที่ 1
โค๊ด:
action=ActionText
แบบที่ 2
โค๊ด:
action=@[filepath\]filename,-resourceID
คำอธิบายครับ
ActionText คือข้อความที่จะให้แสดงในหน้าจอ AutoPlay (บน WIndows XP ขึ้นไป) ซึ่งคำสั่งนี้จะไปเชื่อมโยงกับคำสั่ง open โดยอัตโนมัติ (หมายความว่า เวลาใส่แผ่นแล้วรันโปรแกรมทันทีเลย จะไม่มีอีกต่อไป จะต้องถามก่อน)
@[filepath\]filename คือชื่อไฟล์และพาธของไฟล์ binary ที่จะให้แสดงข้อความแทน action text
resourceID คือ resourceID ของข้อความที่อยู่ในไฟล์นั้น
หมายเหตุ
คำสั่ง action ใช้ได้กับ Windows XP sp2 หรือรุ่นถัดมาเท่านั้น มันใช้ได้กับ DRIVE_REMOVABLE และ DRIVE_FIXED เท่านั้น ถ้านำไปใช้กับไดรฟ์ cd หรือ dvd ที่เป็น audio หรือ movie คำสั่งนี้จะไม่สามารถใช้ได้ และคำสั่งนี้ใช้ไม่ได้กับ windows xp sp1 หรือรุ่นก่อนหน้านี้ มันจะไปทำตามคำสั่ง open เท่านั้น
คำสั่ง action นี้ จะแสดงในหน้าจอ Autoplay เวลาที่ใส่สื่อที่มีไฟล์นี้เข้าไปในเครื่อง (เช่น Thumb drive) โดยจะแสดงไอคอนที่ถูกกำหนดโดยคำสั่ง icon ไว้ด้วย และจะลิงค์คำสั่งไปที่คำสั่งที่ถูกกำหนดโดยคำสั่ง open หรือ shellexecute
เมื่อใส่คำสั่ง action เข้าไปในคีย์ autorun จะทำให้มันถูกเลือกเป็นตัวแรกอัตโนมัติ เวลาที่หน้าจอ autoplay แสดงขึ้นมา หากไม่ใช้คำสั่งนี้ เวลาใส่สื่อเข้ามาในเครื่อง หน้าจอ autoplay จะไม่แสดงคำสั่งของ open ที่กำหนดไว้เลย
คำสั่ง icon
โค๊ด:
icon=iconfilename[,index]
iconfilename คือชื่อไฟล์ที่เก็บไอคอนไว้ครับ อาจจะใส่พาธด้วยก็ได้ เช่น \folder\to\icon.ico หรือถ้าไฟล์ไอคอนนั้นมีไอคอนหลายภาพ (เช่น อยู่ในไฟล์ icon.exe) ถ้าต้องการเลือกภาพไอคอนที่ไม่ใช่ไอคอนแรกก็ให้ใส่เลข index ลงไปด้วยครับ ซึ่งเลข index ของไอคอนแรกมีค่าเท่ากับ 0
ตัวอย่างครับ
โค๊ด:
icon=MyProg.exe,1
คำสั่ง label
โค๊ด:
label=LabelText
คำสั่งนี้ใช้กำหนดชื่อไดรฟ์หรือแผ่น ซึ่งสามารถกำหนดได้มากถึง 32 ตัวอักษร อันแตกต่างจากชื่อไดรฟ์เดิมๆ ที่ได้แค่ 11 ตัวอักษรเท่านั้น และใช้ได้กับเครื่องที่เปิด autorun ไว้เท่านั้น หากปิด autorun ไว้ มันจะแสดงชื่อแผ่นหรือไดรฟ์จากแผ่นหรือไดรฟ์ที่กำหนดไว้ก่อนแล้วเท่านั้น
คำสั่ง open
โค๊ด:
open=[exepath\]exefile [param1 [param2] ...]
คำสั่งนี้ใช้ในการระบุคำสั่งที่จะให้ทำงานอัตโนมัติเมื่อใส่ไดรฟ์หรือแผ่นเข้ามาในเครื่อง โดยถ้าเป็น windows รุ่นก่อน XP sp2 มันจะทำงานผ่านคำสั่งนี้อัตโนมัติ โดยไม่ถามก่อน หากเป็น sp2 มันจะขึ้นในหน้าจอ autoplay ถ้ากำหนดคำสั่ง action ไว้
คำสั่ง UseAutoPlay
โค๊ด:
UseAutoPlay=1
คำสั่งนี้ได้รับการแนะนำให้ใช้ใน Windows XP จึงไม่มีผลต่อ windows รุ่นก่อนหน้านี้ สำหรับระบุว่าให้ใช้ UseAutoPlay V2 ครับ ถ้ามีการกำหนดคำสั่งนี้ไว้ มันถึงจะเรียกใช้คำสั่งที่กำหนดไว้โดย open หรือ ShellExecute ไว้ครับ ถ้าใช้ ShellExecute ก็ขอให้ใช้ด้วยความระมัดระวังนะครับ หากไม่ได้กำหนดไว้ มันจะไปค้นหาข้อมูลในไดรฟ์ก่อนเรียก autoplay ขึ้นมาครับ
คำสั่ง shellexecute
โค๊ด:
shellexecute=[filepath\]filename[param1, [param2]...]
คำสั่งนี้ใช้ในการเรียกโปรแกรมขึ้นมาทำงานเช่นเดียวกับ open ครับ แต่แตกต่างที่สามารถกำหนดให้เรียกเปิดไฟล์เอกสารขึ้นมาได้ด้วย เช่น ให้ไปเปิดไฟล์ html ขึ้นมา มันก็จะไปเรียก browser สำหรับเปิดไฟล์ html ขึ้นมา โดยขึ้นอยู่กับว่าเราไปเซ็ตให้โปรแกรมไหนเป็นโปรแกรมเปิดไฟล์นั้น มันก็จะเปิดโปรแกรมนั้น
คำสั่ง shell
โค๊ด:
shell=verb
คำสั่งนี้สำหรับกำหนดคำที่ใช้เรียกคำสั่งมาใช้อัตโนมัติ ซึ่งโดยปกติจะเป็นคำว่า autorun หากใส่คำสั่งนี้เข้าไป มันจะเปลี่ยนคำว่า autorun เป็นคำที่เราใส่ลงไปแทนคำว่า verb ครับ ซึ่งคำสั่งนี้มันจะไปอิงตามคำสั่ง shell\verb อีกทีครับ ซึ่งต้องระบุให้เมือนกัน
คำสั่ง shell\verb
โค๊ด:
shell\verb\command=Filename.exe
shell\verb=MenuText
คำสั่งนี้ เป็นคำสั่งส่วนขยายจากคำสั่งข้างบนครับ ซึ่งกำหนดให้ไปเรียกโปรแกรมตามที่เราต้องการครับ ส่วนบรรทัดล่างสำหรับให้แสดงข้อความในเมนูเวลาที่เราคลิกขวาที่ไดรฟ์ครับ
อันนี้มีตัวอย่างครับ
โค๊ด:
shell\readit\command=notepad abc\readme.txt
shell\readit=Read &Me
คีย์ Content ครับ
โค๊ด:
[Content]
MusicFiles=Y
PictureFiles=0
VideoFiles=false
จะมี 3 คำสั่ง ให้ใช้ครับ สำหรับระบุว่ามีข้อมูลอะไรในไดรฟ์หรือแผ่นครับ ซึ่งค่าของแต่ละคำสั่ง สามารถระบุว่าใช้ได้คือ 1, y, yes, t, true ส่วนใช้ไม่ได้คือ 0, n, no, f, false สำหรับคีย์นี้ใช้ได้กับ Windows Vista ขึ้นไปครับ ส่วนรุ่นก่อนหน้าไม่มีผลครับ คำสั่งนี้จะไปทำให้ windows ไม่ต้องค้นหาข้อมูลในไดรฟ์ก่อนที่จะนำขึ้นมาแสดงในหน้าจอ autoplay ครับ
คีย์ ExclusiveContentPaths
โค๊ด:
[ExclusiveContentPaths]
\music
\music\more music
music2
ใช้สำหรับระบุว่ามีข้อมูลอยู่ในโฟลเดอร์ไหนบ้างครับ (จะได้ไม่เสียเวลาค้นหา) ซึ่งจะอิงกับคีย์ข้างบนครับ ว่าให้ใช้ content ชนิดไหนได้บ้าง ใช้ได้กับ vista ขึ้นไปครับ
คีย์ IgnoreContentPaths
โค๊ด:
[IgnoreContentPaths]
\music
\music\more music
music2
ใช้สำหรับระบุว่ามีโฟลเดอร์ไหนบ้างที่ไม่ให้ autoplay สนใจใฝ่ค้นหาครับ
คีย์ DeviceInstall
โค๊ด:
[DeviceInstall]
DriverPath=directorypath
ใช้สำหรับระบุว่าไดรเวอร์อยู่ที่ไหนครับ ซึ่งจะเป็นการบังคับให้ตัว hardware wizard ไม่เสียเวลาในการค้นหาไดรเวอร์ทั้งไดรฟ์ครับ คำสั่งนี้ใช้ได้ใน Windows XP เท่านั้น
อันนี้เป็นตัวอย่างครับ
โค๊ด:
[DeviceInstall]
DriverPath=drivers\video
DriverPath=drivers\audio
Example of a Autorun.inf[AutoRun] open=CD_Start.exe icon=CD_Icon.ico
Autorun.inf เป็นสิ่งที่สำคัญใน function Autorun โดยที่ตัวของ autorun.inf เองนั้นจะเป็นเพียง
แค่ข้อความ text ทีมีรูปแบบง่ายๆไม่ซับซ้อนที่ใช้ในการบอก window ว่าจะต้องดำเนินการอยางไรกับสื่อ
ที่เข้ามานี้ ยกตัวอย่างเช่น การใส่ icon ลงไป การเพิ่มเมนูเข้าไป เพราะฉะนั้นเราสามารถกล่าวได้โดนรวมว่า
autorun.inf คือสิ่งที่ใช้ในการบอก window ว่าจะดำเนินการนำเสนอข้อมูลนั้นอย่างไร
การทำงานของ Autorun.inf นั้นจะเริ่มต้นมาจากการที่มีการใส่สื่อต่างๆเข้ามาไม่ว่าจะเป็นแผ่น CD,
DVD, USB หรือ Memory Card เข้ามาหลังจากนั้น window ก็จะเริมทำการสำรวจสื่อนั้นๆ ซึ่งถ้า
function autorun ถูกตั้งค่าให้ทำงาน (โดนพื้นฐานจะถูกตั้งค่าให้ทำงานอยู่แล้ว) Window ก็จะเริ่ม
การค้นหาว่ามี file “Autorun.inf” อยู่หรือไม่ ถ้าพบ window ก็จะเริมดำเนินการตามคำสั่งทันทีแต่ถ้าเกิด
ว่าไม่พบ Window ก็จะเริ่มการดำเนินการตามค่าพื้นฐานที่ได้ตั้งเอาไว้โดยจะตัวสินที่เนื้อหานั้นๆ เช่น Data
, Audio, Picture เป็นต้น
ในปัจจุบันได้มีการนำเอา Autorun.inf มาประยุกต์เพื่อใช้ในการแพร่กระจายของ Malware
ซึ่งส่งผลให้มีการแพร่กระจายออกไปเป็นจำนวนมากและเป็นวงกว้างด้วย
คำจำกัดความของ Autorun.inf
คือกระบวนการที่จะทำให้มีการ Run สื่อที่เข้ามาโดยอัตโนมัติเมื่อมีการใส่เข้ามา
คือ icon ที่จะแสดงในสื่อเมือมีการดูที่ My Computer หรือ Explorer
คือเมนูคำสั่งที่จะแสดงเมื่อมีการคลิกขวาที่ My Computer หรือ Explorer
คำสั่งของ Autorun.inf ที่น่าสนใจ
OPEN=
เป็นคำสั่งที่ใช้ในการสั่งให้ Run โปรแกรมต่างๆขึ้นมาโดยอัตโนมัติเมือมีการใส่สื่อต่างๆเข้ามาซึ่ง
คำสั่งนี้สามารถใส่ parameter/argument ต่างๆเข้ามาได้ด้วย
ตัวอย่างคำสั่ง
OPEN=program.exe
ICON=
เป็นคำสั่งที่ใช้ในการแสดงสัญลักษณ์เข้ามาแทน ICON แบบเดิมๆของ Window ได้โดย
ทีเราจะสามารถใช้ file ชนิด ICO, BMP,DLL,EXE เข้ามาได้โดยเราต้องระบุค่า file ที่อยู่ให้ถูกต้องด้วย
ตัวอย่างคำสั่ง
ICON=Viruscom2.bmp
LABEL=
เป็นคำสั่งที่ใช้ในการเปลี่ยนชื่อของสื่อนั้นๆ
ตัวอย่างคำสั่ง
LABEL=flash drive
SWELLEXECUTE=
เป็นคำสั่งที่ใช้ในการเปิด File หรือโปรแกรมต่างๆขึ้นมา
ตัวอย่างคำสั่ง
SWELLEXECUTE=install.exe
SHELL=
เป็นคำสั่งที่ใช้ในการสร้าง Shortcut เมนูขึ้นมาตอนทีเราคลิกขวาที่ My Computer หรือ Explorer
ตัวอย่างคำสั่ง
Shell\install=uninstall.exe
ตัวอย่างการเขียน File autorun.inf
ตัวอย่างที่ 1
[autorun]
Icon=zero.ico
Open=zero.exe
ตัวอย่างที่ 2
[autorun]
Shell\install=viruscom2.exe
Icon=viruscom2.ico
ตัวอย่างที่ 3
การเขียน

ผลลัพท์

Tip เล็กน้อยๆเกี่ยวกับ autorun.inf
โดยปกติ file autorun.inf นั้นมักจะวางกันที่ root folder เป็นหลัก
ถ้าต้องการให้มีการ run program หรือนำ icon จาก folder อื่นๆเข้ามาให้ระบุไปทั้ง
part ด้วยเช่น icon=viruscom2\viruscom2.exe
นอกจาก file .ico ที่สามารถนำมาทำเป็น file icon แล้วนั้นยังสามารถเอา file นามสกุล
.bmp, .exe, .dll มาใช้ได้ด้วย
ชื่อของ file autorun.inf ห้ามเปลี่ยนเป็นอย่างอื่นเด็ดขาดเพราะไม่เช่นนั้นจะไม่แสดงผล
ถ้ามีการใส่ค่าของ icon มามากกว่า 1 อัน window จะนับตัวแรก(บรรทัดแรก)เป็นหลัก ในการแสดงผล
autorun.inf จะเริ่มทำงานตอนมีสื่อนั้นๆเข้ามาเท่านั้น