> I have no idea why you think it's difficult at all.
Because I help develop a game engine / platform that deals with this problem and therefore done extensive research?
All of those Microsoft device ID variants are trivial to spoof or collide. If you're talking about GetSystemIdForPublisher() and friends like 'Product ID', you get the Walmart collision problems.
https://github.com/topics/hwid-changer
Furthermore, if you rely on an easy-to-spoof hardware ID system, if someone gets ahold of someone else's HWID (see: database breach, phishing), you can trivially mess with the data.
Valve/Microsoft/Epic get around this by spending tons of developer time on this problem and using techniques like fingerprinting and behavior analysis.