2011-09-05 40 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数据包。你想要你的闪存驱动器做什么? –

相关问题