2011-09-05 38 views
-1

當我將閃存驅動器插入任何計算機時,是否執行前512個字節?如果是的話(應該是這種情況),那麼我想如果我提取和反彙編MBR,並在指向存儲的可執行文件(在閃存驅動器上)的存儲位置的引用中,即使執行將執行每當它插入電腦..?閃存驅動器的第一個扇區(MBR)是否在插入計算機時執行

我該怎麼做?我的意思是,只有通過做一個簡單的call <address>不會這樣做..我也想知道更多關於MBR的閃存驅動器,因爲它們不同於引導操作系統的那些MBR。谷歌搜索它沒有顯示任何有用的東西..所以我想問問社區,如果有人做過這樣的事情。

+3

不,插入時未執行MBR。 –

+0

那麼計算機如何知道要加載哪個驅動程序以及標籤和其他東西......必須讀取某些東西才能實現該功能.. – Rushil

+1

驅動程序已經在操作系統中。該標籤是分區scheme-/filesystem特定的,當然不需要執行任何操作。 http://en.wikipedia.org/wiki/USB_mass-storage_device_class –

回答

2
  1. 沒有
  2. 有一些操作系統中,它被廢棄的「自動運行」功能。

閃存驅動器基於傳統技術層,以避免驅動程序的需要。
最低級別有USB數據包(請參閱Mass Storage Device規範,按照Pascal Cuoq)
每個USB事務都是一個SCSI命令/響應對。
操作系統將閃存驅動器視爲SCSI磁盤(例如,您將在Linux中看到/ dev/sdX)。

由於閃存驅動器似乎是一個普通的SCSI磁盤,它通常有一個MBR /分區表。 但是,大多數操作系統都支持「超級軟驅」模式,在這種情況下,磁盤將以FAT啓動扇區啓動。一些較小的閃存驅動器或使用舊版實用程序格式化的閃存驅動器可能在該配置中。

您可以使用Microsoft的DSKPROBE實用程序(使用PhysicalDrive選項)或使用。\ PhysicalDriveX(其中X是一個數字..通常爲2,基於你有多少個硬盤)

上正確配置的計算機,沒有辦法當設備插入到執行代碼。
即使當「自動運行」功能是默認開啓,您需要使用一種設備,其似乎是一個CDROM。
(SCSI命令集允許設備說出它是CD還是HD,並且閃存驅動器固件可以很容易說謊)

+0

是否可以讓我的USB閃存驅動器發送定製數據包? – Rushil

+0

USB是「主機/目標」,閃存驅動器只能響應。閃存驅動器固件可以響應任何事情,並且如果您想創意,可以更換某些設備上的固件。通常每個閃存驅動器控制器都有特殊的SCSI命令(非標準),並且一些控制器會接受未包含在規範中的USB數據包。你想要你的閃存驅動器做什麼? –

相關問題