Cатсн²² (in)sесuяitу / ChrisJohnRiley

Because we're damned if we do, and we're damned if we don't!

{QuickPost} Windows 8 Digital Product Key recovery

Recently I’ve started moving over my lab systems from my old faithful Mac Book Pro to a new Lenovo system. After receiving the new Lenovo and booting into Windows 8 pro for the first time, I did what any sane person would… formatted the thing and installed a usable operating system.

After the usual tinkering period and getting everything setup just right, I turned my mind to setting up the various lab VMs I wanted, and quickly realized that my new Lenovo with Windows 8 pro had no license code. No sticker, nothing in the documentation, nothing on the box. Where the F was that little code I needed to get Windows 8 pro running in my VirtualBox lab.

Well, the answer came quickly… it’s in the BIOS. When you installed Windows 8 it checks for a Digital Product Key (DPK) and uses it. Simple, except I’m pretty sure my VirtualBox VM isn’t going to read the key from my BIOS through a thin layer of virtualized hardware (although I could be wrong on that). So, after digging about on the net and finding a whole load of “if you run Windows just do this” type solutions, I started digging around in my BIOS using a few Linux tools (dmidecode and acpidump).

Although dmidecode gives a nice decoded view of most of the data, it didn’t seem to pick out the information I was looking for (still, interesting stuff). In the end I used acpidump to dump the data and comb through it looking for the MSDM section containing my Windows 8 pro DPK.


sudo acpidump -t MSDM

This will output the hex and ASCII version of the DPK from your system





9 responses to “{QuickPost} Windows 8 Digital Product Key recovery

  1. Pingback: Security News #0×47 | CyberOperations

  2. Marcello July 7, 2013 at 21:11

    I reproduced your procedure, but I wasn’t able to find an ISO that works with my extracted product key. How did you manage that?

  3. Jay July 8, 2013 at 00:15

    Just wondering how one would go about doing this for windows 7 or if you have a powershell script that can retrive it. I am running linux but would be handy to know for future reference

  4. alex October 24, 2013 at 03:04

    Elegant solution, thank you ChrisJohnRiley.

%d bloggers like this: