回覆: 建立無法存取的Autorun.inf, 阻止自動執行
[QUOTE=FYI;1018975]中國網友也曾提出修改Shell32.dll, 將Autorun.inf 改掉, 再覆蓋回Windows, 達到不執行Autorun.inf 的目的, 這也是小弟先前誤認Shell32.dll 是禍首的原因
其次, BlueFang 網友所介紹在卸除式磁碟建立無法刪除或變更的Autorun.inf (FAT16/FAT32), 方法是從磁碟的Directory Table 找到 "AUTORUN INF" 進入點, 然後將第12 個位元組, 也就是檔案屬性(00ADVSHR), 原來是0x20, 代表Archive, 改成0xE5 或0xE2, 按照小弟的實驗, 以上技巧在於設定[B]未定義(公開)的位元(Bit6, Device)[/B], 導致作業系統無法存取Autorun.inf (存取被拒), 這個方法不但可以愚弄Windows XP, 也可以通過磁碟檢查, 這就達到[B]為卸除式磁碟打預防針[/B]的目的, 實在是一個聰明的辦法, 當然結果並非完全免疫, 而是免於自動執行, 操作步驟如下:
[list=1][*]以記事本在隨身碟(或外接式硬碟)建立一個檔案長度為零的 "AUTORUN.INF" (大寫)[*]開啟 [URL="http://www.pczone.com.tw/thread/67/139107/"]Tiny Hexer[/URL][*]點選 "File -> Disk -> Open drive..."[*]選擇卸除式磁碟代號, "Load" 輸入 "64" -> OK, 數字愈大, 讀取愈快[*]按下 Ctrl-F, 輸入 "AUTORUN INF " (有兩個空格), "Find text" 打勾, 點擊 "Find"[*]點擊 "Yes to [U]A[/U]ll"[*]找到目標後, 以32 位元組為單位(邊界), 確認檔名起始於第一個位元組, 且最後六個位元組為零[*]紀錄標題所顯示的 "sectors" 起始位置[*]關閉檔案, 重新載入, "Load" 輸入 "1", "First sector" 輸入以上起始位置 -> OK[*]找到目標後, 將 "AUTORUN INF " 改成 "AUTORUN INF[B]@[/B]"[*]儲存並退出隨身碟[*]重新插入隨身碟, 嘗試讀取, 更名或刪除 "AUTORUN.INF"[/list]
以上方法是針對已知媒體打預防針, 若本機插入陌生人的隨身碟, 則仍有中毒之虞, 故本機仍應預先做好防毒之準備
[URL="http://en.wikipedia.org/wiki/8.3_filename"]8.3 filename - Wikipedia, the free encyclopedia[/URL][/QUOTE]
有这两条就基本够用了。
病毒的两个载体都有了防范,一个是PC,一个是U盘。
当然世事不尽如人意,对于NTFS或者其他文件系统的U盘,目前没有比较保险的方法,NTFS可以通过设定权限来拒绝病毒的存取,不过有网友报告说此种方法已被突破。