我一直在为我们的便携式应用程序编写一些工具来与 USB 闪存驱动器(可移动驱动器)进行交互。我们将通过序列号(设备序列号,而不是基于格式化的卷序列号)将一些相关信息直接绑定到闪存驱动器
我能够读取设备序列号。编写/修改该设备序列号需要什么?
我愿意在任何语言中看到这一点(Perl、Ruby、Python、C/C++、.NET 任何东西等),但 C# 是当前的代码库,所以什么是首选。
如果找不到代码片段或脚本,一些罐装应用程序或工具(二进制文件等)或类似工具也会有所帮助。
我一直在为我们的便携式应用程序编写一些工具来与 USB 闪存驱动器(可移动驱动器)进行交互。我们将通过序列号(设备序列号,而不是基于格式化的卷序列号)将一些相关信息直接绑定到闪存驱动器
我能够读取设备序列号。编写/修改该设备序列号需要什么?
我愿意在任何语言中看到这一点(Perl、Ruby、Python、C/C++、.NET 任何东西等),但 C# 是当前的代码库,所以什么是首选。
如果找不到代码片段或脚本,一些罐装应用程序或工具(二进制文件等)或类似工具也会有所帮助。
我认为您所指的序列号是硬件编码到闪存驱动器(即在其 ROM 中)。因此,您无法(轻松)更改该序列号。即使串行打印在可重新编程的 ROM 中(我忘记了 EPROM 或 EEPROM 的名称),但你仍然需要一个 EPROM 写入器来做到这一点,而不仅仅是一堆代码。
AFAIK,有一种名为 CIS(卡信息结构)的数据结构“嵌入”在 USB 闪存驱动器中并存储在闪存中。它不是存储在 ROM 中而是存储在闪存中,因此可以对其进行修改。但不幸的是,修改它的唯一方法是via specific vendor commands
,一般用户不知道,除非你能得到负责这个闪存控制器 IC 的固件编程器的帮助......
以合法的方式无法做到这一点,但是如果您拥有适用于内置 USB 控制器的正确 MP 工具,则可以修改驱动器的序列号和整个数字结构。