I've come across license systems that are somehow tied to the storage medium. While basing this on the UUID on the filesystem is fairly straightforward, I do not believe this is the case (see below). A typic example of this behaviour goes as follows:
- On each boot, an id-file is generated.
- The system will check a key-file for a license. If the key matches the id, then all good.
- If no key, or if the key doesn't match the id (as in, copied from a
different system), the license is not valid.
I've observed the following behavior:
- Completely wiping the CF card and reinstalling results in the same id file being generated, thus no new key file is required.
- Using the same key on a different CF does not work, as it does not
match the contents of the new id file.
This leads me to conclude that there is a way of getting a unique id of the CF card somehow. How can one achieve this in linux?
PS: I've purposefully left out any details of the product itself, as I'm wondering more in general terms how a system like this can build a unique id of the CF card.
Best Answer
The card will have lots of information registered in a read-only manner.
The article Reading Internal SD Card Information has this to say :