Assembly 重新编程USB驱动器的任何可能方法';微控制器?

Assembly 重新编程USB驱动器的任何可能方法';微控制器?,assembly,microcontroller,usb-drive,hardware-programming,Assembly,Microcontroller,Usb Drive,Hardware Programming,好的,我以前打开过usb驱动器,我知道它们使用通用MCU来控制NAND闪存。我当时的想法是,如果人们可以对它们进行重新编程,比如说,在插入USB端口时启动一个应用程序,那么它可能对许多应用程序都很有用(比如自动复制文件)。我知道不同的MCU可能/可能不会使用完全不同的ASM代码,但也存在如何与之通信的问题(即协议等)。这可能吗?我听说过MP工具(理论上)可以进行低级格式化并将驱动器重置为出厂默认值,但不能编辑驱动器上使用的任何代码 我当时的想法是,如果人们可以对它们进行重新编程,比如说,在插入U

好的,我以前打开过usb驱动器,我知道它们使用通用MCU来控制NAND闪存。我当时的想法是,如果人们可以对它们进行重新编程,比如说,在插入USB端口时启动一个应用程序,那么它可能对许多应用程序都很有用(比如自动复制文件)。我知道不同的MCU可能/可能不会使用完全不同的ASM代码,但也存在如何与之通信的问题(即协议等)。这可能吗?我听说过MP工具(理论上)可以进行低级格式化并将驱动器重置为出厂默认值,但不能编辑驱动器上使用的任何代码

我当时的想法是,如果人们可以对它们进行重新编程,比如说,在插入USB端口时启动一个应用程序,那么它可能对许多应用程序都很有用(比如自动复制文件)

你错了。重新编程USB闪存微控制器时,会导致程序在USB闪存棒内运行。您不会导致任何程序在计算机的主处理器上运行。USB闪存棒的处理器仅通过响应由操作系统控制的主计算机中的USB主机控制器启动的USB事务与主计算机进行交互


实际上,您的功能仅限于更改报告为哪种USB设备(大容量存储、成像、网络或…),以及更改计算机从U盘读取时返回的数据内容。

否。USB闪存驱动器中使用的大多数控制器不可重编程,或者重新编程所需的部分或全部引脚未暴露


插入驱动器时打开应用程序是Windows的一部分;它是由驱动器上存在具有特定内容的文件(
autorun.ini
)触发的。

闪存驱动器的fpga将非常昂贵,而且有点浪费,您确定这就是他们使用的吗?微控制器是从哪里来的?这与fpga、usb驱动器或闪存有什么关系?我的错,我不确定它是fpga还是微控制器(可能有些是fpga,有些是微控制器)。经过一些研究,我相信使用的是微控制器,因为正如你所说,fpga是一种浪费。我正在考虑使用的特定MCU是这个:它是一个duracell 8gb闪存驱动器。这些MCU是在被黑客攻击的ebay驱动器中的,所以很明显有人已经发现了。一个微控制器似乎也有点过头了,但我会看看你的链接,如果它是一次性可编程的,我不会感到惊讶…这里有一个改变USB闪存驱动器固件的项目(但仅与特定的Phison USB闪存驱动器芯片组兼容):但USB橡皮鸭之类的东西呢@AntonioEscalera:如果你的操作系统存在严重的安全漏洞,你甚至可能不需要重新编程微控制器。好的一点,但是,如果我需要在打碎硬盘之前快速复制某些东西/所有东西,该怎么办?你会说我如何更改设备报告的内容?自动运行/自动播放实际上不会启动程序(从可移动媒体)在过去12年中发布的任何Windows版本上(它只会导致出现一个对话框,提示用户可能希望运行该程序)我以前在USB设备上做过那些愚蠢的自动运行操作,但是如果有人能找到一种方法从那些U3智能驱动器上获得CD仿真,这可以与自动运行一起工作……事实上,大多数闪存驱动器都可以用特殊的供应商工具重新编程,这些工具使用来自主机的自定义USB命令。Hmmmm。有没有关于如何获得这些命令的想法ls?@Igor这些是MP工具吗?