Important: Please read the Qt Code of Conduct -

Computer Unique ID

  • Well i've been looking around the internet about this, though, couldn't find anything. What i'm trying to do is to build a system that lets you grab the Unique ID of the computer. (Yes, i know there are more than 1 Unique ID such as HDD, CPU, etc). The issue is that i don't find an idea of how to get to do this. (Also i need it to work on Linux and Mac).

    Any idea? Thanks.

  • Are you looking to fingerprint a particular configuration, or what? Lots of DRM uses the MAC address, operating on the assumption that a user doesn't know how to change it, and will never buy a new ethernet card: maybe that is good enough for you? Or do you need a fingerprint for the full system configuration so you know when something changes? Most methods that let you access low-level hardware info like this are OS-specific, but you can wrap them in ifdefs.

  • Well since MAC Address can be easily changed, i should discard that. I know that gathering data from hardware is OS-specific, but i think this way would work (Using ifdefs, like you said). So, i would prefer accessing low-level hardware information for Windows / Linux / Mac. Easiest one would be HDD or Motherboard ID if i'm not wrong.


  • It's easy enough to change your HDD hardware ID: buy a new HD! Is this something for DRM? What part of the hardware do you want it tied to?

  • Not likely people would buy a new HDD for that. And no it's not for DRM. I would want it to be tied to the Motherboard.

  • On Linux anyway, you need root's permission to access the motherboard ID, so a sys admin would have to configure your app for the users. Depending on the kernel, you may be able to find it in /sys/class/dmi/id/board_serial or similar. For a Mac, see "this document": . Dunno about windows, but I imagine there's something out there.

  • Hm, i see. Thank you.

  • Maybe helps:
    (search this on that page: Motherboard Serial Number)

  • [quote author="Chris H" date="1325086441"]On Linux anyway, you need root's permission to access the motherboard ID...[/quote]

    I don't think so:
    $ lshal | grep 'system.hardware.serial'
    system.hardware.serial = '<serial-number>' (string)

  • Interesting, broadpeak. Do you know how it works? On systems with that command installed it works well, but not all of my systems have it. Presumably, however, the data is accessible programmatically somehow.

Log in to reply