I want to distribute my software on flash (thumb) drives. The software protection will check that the product runs from a flash drive with predefined Serial Number thus protecting me from the software unauthorized duplication.
My question is if it possible to somehow create another flash drive with the same Serial Number? E.g. if a flash drive exist which allows for SN modification? Or are some other ways exist to cheat such protection?
First of all, make sure you actually read the hardware SN rather than the partition ID. The USB spec does not require a hardware SN, but there usually is one.
It's certainly possible to build such a device.
The USB driver could be modified to spoof the serial, or (probably easier) the checking code could be removed from the program. Such software modifications are a much bigger threat than hypothetical "SN faking hardware", because unlike hardware they can be distributed over the internet instantly and for free.