The hard part about hacking the firmware, is learning HOW to hack the firmware. Unless they are designed to have the end user upgrade the firmware from firmware downloads from the hardware's manufacturer (in which case the manufacturer's website will provide a firmware flashing tool), there would be no easy way to do it. You would need to see if the microcontroller in the device supported a USB command for flashing the firmware, and this would require de-capping the microcontroller itself (carefully grinding off the ceramic case of the mincrocontroller chip, without damaging the silicon underneath), and then put it under a microscope and look at the wiring of the transistors. From that you should be able to figure out the hardwired program in the microcontroller, and then decompile the bit-code into assembly code (assuming you know the microcontroller's instruction set). From that you should be able to find out what USB commands it recognizes. However, this would require something like an FBI computer forensic lab, with MILLIONS of dollars worth of reverse-engineering equipment in order to properly de-cap the microcontroller without damaging the silicon.