Can I "reprogram" an American Express USB drive?

Solution 1:

Pop open the device properties, and post the device VID and PID (vendorID and partID)

Device Manager -> Properties -> "Details Tab" -> "Device Instance ID" in the dropdown box.

It should be something like:
HID\VID_1532&PID_000D\6&28F03F61&0&0000 (In this case, it's a Razer Mouse)

The VID and PID are (Ideally) unique, so it should let you find who made the usb interface hardware, unless it's a really cheap Chinese product. I'd assume for something like this, the USB interface is going to be integrated into whatever microprocessor they have in there (it's cheaper), so knowing the device make will be a start.

http://www.linux-usb.org/usb.ids Has a pretty extensive list of IDs. If not, google for VID_<number> and see what you get.

(Post it and let us know, too! I'm curious.)

Solution 2:

You might be able to reprogram it, if a) it had memory that could be reprogrammed, and b) you knew the protocol to access it. But the truth is probably that it just emulates a keyboard and "pushes" the buttons needed to drive Windows around, without actually having any brains whatsoever.

Solution 3:

It consists of a Cypress PSoC controller, combined with a 24c02 serial eeprom.

The eeprom contains the data regarding the featured website, whilst the uController takes care of all USB protocols and other communications with the PC. It retrieves the data from the eeprom and sends it to the keyboard buffer of your PC.

With a simple program called PonyProg you can read and modify the contents of the eeprom.