How do I get out my embedded Windows 8+ key from a Linux environment?

I found it! I needed to do this:

ls /sys/firmware/acpi/tables

Which gave me the MSDM table I was looking for.
I have found my license key! :D

To get it, you need to read the contents of the /sys/firmware/acpi/tables/MSDM file.

Here's an example:

riking@hp-laptop:~$ sudo xxd /sys/firmware/acpi/tables/MSDM
0000000: 4d53 444d 5500 0000 0313 4850 514f 454d  MSDMU.....HPQOEM
0000010: 534c 4943 2d4d 5043 0100 0000 4850 2020  SLIC-MPC....HP  
0000020: 0000 0400 0100 0000 0000 0000 0100 0000  ................
0000030: 0000 0000 1d00 0000 4639 XXXX XXXX XXXX  ........F98**-**
0000040: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ***-*****-*****-
0000050: XXXX XXXX XX                             ****T

The *** are the contents of the license key, in ASCII text.


Using Fedora I have tried with:

sudo cat /sys/firmware/acpi/tables/MSDM

Which gave me the following results:

MSDMUoDELL  QA09   LOHR#####-#####-#####-#####-#####%  

The product key was replaced with #.


I couldn't find /sys/firmware/acpi/tables/MSDM on my ASUS T100TA running Ubuntu 13.10 amd64, but I found a packaged called acpidump quite useful. Running acpidump as root I was able to get the MSDM table contents.

$ sudo acpidump
...
MSDM @ 0x78d53f90
  0000: 4d 53 44 4d 55 00 00 00 03 6c 5f 41 53 55 53 5f  MSDMU....l_ASUS_
  0010: 4e 6f 74 65 62 6f 6f 6b 00 00 00 00 41 53 55 53  Notebook....ASUS
  0020: 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00  ................
  0030: 00 00 00 00 1d 00 00 00 ** ** ** ** ** ** ** **  ........*****-**
  0040: ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **  ***-*****-*****-
  0050: ** ** ** ** **                                   *****
...