Wind4 / vlmcsd

KMS Emulator in C (currently runs on Linux including Android, FreeBSD, Solaris, Minix, Mac OS, iOS, Windows with or without Cygwin)
https://forums.mydigitallife.net/threads/50234
8.35k stars 2.23k forks source link

RDS CAL #7

Closed benjamin-army closed 7 years ago

benjamin-army commented 7 years ago

EXCELLENT PROJECT. A big thank you to the author(s)

Is it possible to extend the project in the future to support RDS CAL activation?

Thanks again

thirdwheel commented 7 years ago

That's probably not going to be possible. RDS CALs talk back to the Microsoft Clearinghouse, and even if you manage to hijack DNS to point it elsewhere, it's likely that you're facing an uphill battle replicating the functionality. To date, I know of nobody who has succeeded in a way that doesn't get cleaned up at the next update cycle - or that allows things like Published Applications to work.

If this guy finds a way to do it, you can bet Microsoft will close any hole he finds quick smart. KMS is an easy target because it's hard to "fix" without making it too hard for legitimate users - Microsoft learned that lesson the hard way back in the XP days.

ChlorideCull commented 7 years ago

KMS is an easy target because it's hard to "fix" without making it too hard for legitimate users - Microsoft learned that lesson the hard way back in the XP days.

They could harden it significantly by requiring signatures on KMS responses, from a cryptographic key signed by Microsoft themselves, that the KMS server would download when activating the product key.

The simple answer to why KMS is as simple as it is, is that most of their money comes from OEMs and businesses, and using an unofficial KMS server is against the terms of service, so that's covered.

Thanks to the KMS client activation data validation they introduced, they can also close down public servers through legal means, leaving abusing the protocol to only those into it enough to run their own server. It's simply not cost-effective to harden the protocol at this point.