Win32DiskImager will let you make an exact byte-to-byte copy of any removable storage (on Windows). The only problem is: you won't be able to restore to smaller drives, they have to be at least as big as source disk.
dd
is a command line equivalent for Linux/*NIX systems, you can use it like this:
dd if=/dev/name_of_device of=name_of_output_file bs=4K