Implement product key into bios MSDM table of VMware

Discussion in 'Virtualization' started by triggat, Aug 4, 2013.

  1. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. NiFu

    NiFu MDL Member

    Jun 29, 2013
    129
    134
    10
    It's story time

    It's story time:

    • Once upon a time a prince has got a new notebook with Windows 8.
      After first connection to Internet Windows 8 online activation works.
    • His princess liked this notebook - but not Windows 8. So he gifted the notebook to his princess. But first he extracted the OEM key with "RWeverything" and installed his princess Windows 7. Then he uses the OEM key in a virtual machine on his desktop PC.
      Online activation doesn't work ("Key is used on other hardware ...") - but phone activation works.
    • After a short time the virtual machine became full of garbage. So the prince deleted the virtual machine and creates a new one with his OEM key.
      This time online activation works.
    • Then the prince got an older notebook - without OS. So he deleted his virtual machine and installs Windows 8 with his OEM key on this older notebook.
      Online activation doesn't work ("Key is used on other hardware ...") - but phone activation works.
    • After a time his princess got a new tablet PC and gave the prince his notebook back. So the prince deleted Windows 8 on the older notebook, deleted Windows 7 on the newer notebook and installed Windows 8 with his OEM key on it.
      This time online activation works.
    • After a time the new notebook got damage. The older notebook was recycled. So the prince installed Windows 8 with his OEM key again in a virtual machine on his desktop PC.
      This time online activation works.
    To be continued ...

    Yes, your guess is correct.
     
  3. manu198045

    manu198045 MDL Member

    Aug 24, 2010
    125
    41
    10
    Dear NiFu,

    Can the MSDM table along with the key from an OEM laptop PC preinstalled with Wondows 8 be integrated into a desktop with UEFI bios? If that is possible, can it be activated online whilst keeping the activation of the original OEM laptop.

    Thanks in advance.

    Regards,

    Manu.
     
  4. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    I hadn't the time yet to have a look at the EFI. The story sounds great so far. :)..and the moral of the story is?
    Princesses are cooler than princes, because princesses prefer w7 over w8 and tablets over notebooks.:D J/K

    No honestly, it seems a MSDM serial can just be taken and phone activated (additionally) elsewhere...



    A cloned machine couldn't be online activated (when it is the first time) so far. You simply can (I strongly guess) install w8 OEM on the desktop and phone activate it using the serial from the MSDM table (original OEM laptop), you don't need the table itself.
    OA is mainly designed for portables, but also for desktops. M$ will notice of different IDs, but not necessarily if it's a notebook or a desktop.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. manu198045

    manu198045 MDL Member

    Aug 24, 2010
    125
    41
    10
    Dear Yen,

    I respect all your and this forum's effort in bringing out the technology behind Microsoft Windows 8 OEM activation. Hats off to all of you.:worthy::worthy:
    But my point here is, if a Virtual PC with MSDM table in it's bios (modded bios) can be activated online whilst not affecting the activation of the original PC, it shows that Microsoft is not counting the number of activation done with one single MSDM table. Isn't it? If so, many PCs can be activated using the same MSDM table, right? Sorry for my foolish question, may be......
    If I am correct, then can we emulate a MSDM enabled bios (i mean in software side) and activate the windows? Once again, sorry for my foolish thoughts :biggrin: I hope nobody laughs at my questions.

    Regards,

    Manu.
     
  6. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Your thoughts are not foolish.:)
    You don't need to emulate the MSDM table. The only 'advantage' so far to have the table is that w8 reads the serial from it and installs the right version. If the table is mandatory for a successful clone we still don't know. Also if other IDs from the table are validated (OEM and OEMTableID)

    We have no setup so far where a clone activated online the first time. It has to be phone activated already! Once phone activated you can re-install and re-activate the 'clone' online again.
    M$ counts the activations for each MSDM serial, I am sure. ATM they handle phone activation very tolerant, but this might change.

    There is a lot of potential for more tests. Goal should be a clone that activates online. For such a test one needs best a serial which is not activated yet and a original machine that hasn't been online /booted before. I'd boot with a portable OS on USB flash and save the activation files before.....the system should be 'virgin' to have most of chances.
    To play with / copy activation relevant files (to the clone) would be interesting...


    Btw: We could make a test: One goes to a store and reads the MSDM serial of a w8 OEM machine.
    Then we publish the serial here and have a look what happens. I'd allow the test.... :D
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    I had a look at both EFI.ROM. Although they are 2 MByte ROMs around 40% is empty. AndyP's tool can decompose it, but has trouble when trying to insert a new module.

    I was not able to locate an ACPITable at the EFI. My first idea had been to change a present ACPITable and to have a look if the changes are applied to the running virtual machine installation by checking the ACPITable of a running GPT installation.
    Now I wonder from where come the ACPITables when w8 is installed in efi mode. The setup doesn't take the modded bios440 BIOS in efi mode since the MSDM table vanished. (Hence I asked that to make that sure).

    They must come from somewhere, the ACPI is essential.
    I guess the EFI does not provide the ACPI since I haven't found one table.

    Hypothesis

    The ACPI (Advanced Configuration and Power Interface) might be provided by the internal BIOS code.

    Further measures: To modify the ACPITable of the internal Phoenix BIOS of the vmware exe, to install w8 in efi mode, and to have a look if w8 uses the modified table. No external bios440 BIOS in setup...

    AFAIK to modify the BIOS directly in the vmware exe should be possible for this test.
    This should be checked before any other efforts are made to modify the EFI manually (and to notice that the ACPI comes actually from elsewhere.)

    Also interesting would be to compare the ACPITables of a MBR (BIOS) installation and those of a GPT (EFI) installation.
    If further research is of interest I'd need the exe to modify the internal BIOS. I'd just add the MSDM there.

    An easy way could be just to copy and write my BIOS mod into the exe and to overwrite the original BIOS at its original place. Start and end there should be easily located with an hexeditor. (Similar to hyper-v, there it's AMI here it's Phoenix).
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. Please-8

    Please-8 MDL Junior Member

    Sep 12, 2012
    92
    50
    0
    #128 Please-8, Aug 17, 2013
    Last edited by a moderator: Apr 20, 2017
    Test with MSDM / OEM_DM key:
    Code:
    ASUS notebook, MSDM key, online activation
    BenQ notebook,           phone activation
    Compaq notebook,         phone activation
    
    ASUS notebook,   separate partition, online activation
    BenQ notebook,   separate partition, online activation
    Compaq notebook, clean harddisk,     online activation
    
    ASUS notebook,   virtual machine VMware,        phone activation
    BenQ notebook,   virtual machine VMware,        online activation
    Compaq notebook, virtual machine VMware,        online activation
    DELL PC,         virtual machine VMware Player, online activation
    Rule of thumb:
    • If a key once is phone activated on a PC then in further times it activates itself online on the same PC.
    • If a key once is phone activated in a virtual machine then in further times it activates itself online in every virtual machine.
    Conclusion:
    If a key is stolen from one PC and the thief phone activates this key on an other PC then the legal owner never will notice the illegal using of the stolen key. Even when the legal owner needs to reinstall Windows 8 this installation will online activate on his PC.
     
  9. kelorgo

    kelorgo MDL Addicted

    Oct 29, 2012
    839
    1,506
    30
    Those are remarkable findings. It means that Microsoft keeps separate track of every physical configuration that the key has ever been installed on.

    I guess the first online activation is possible because they already have details of the original machine from the OA 3.0 factory reporting procedure.
     
  10. NiFu

    NiFu MDL Member

    Jun 29, 2013
    129
    134
    10
    #130 NiFu, Aug 17, 2013
    Last edited by a moderator: Apr 20, 2017
  11. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    #132 Yen, Aug 17, 2013
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. Please-8

    Please-8 MDL Junior Member

    Sep 12, 2012
    92
    50
    0
    Seems to be hard to trigger a reactivation:

    • Clean VMware installation: Online activation with previously phone activated OEM key
    • Internet connection disabled (to prevent secretly online activation)
    • VMware Tools installed: Many drivers were installed; e.g.: Video, Audio, USB mouse driver, reactivation not triggered
    • Change MAC address: reactivation not triggered
    • Change UUID (new hardware recognition, changed UUID in registry): reactivation not triggered
    • Add new virtual hard disk, clone installation onto new hard disk and delete old hard disk: reactivation not triggered
    • Changed RAM from 2 to 4 GB: reactivation not triggered
    • Changed CPU from 1 core to 2 cores: reactivation not triggered
    • Changed from 1 CPU to 2 virtual cores: reactivation not triggered
    • Soundcard removed: reactivation not triggered
    (All changes were made in succession - no step was reversed.)
     
  13. frwil

    frwil MDL Addicted

    Sep 22, 2008
    542
    198
    30
    Making changes one by one between loading OS means still only one hw-unit is changed at given session. Try to make 3-4 at once and see if it'll ask to reactivate via MS...
     
  14. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Did I get this right? The vm has been phone activated when installed in MBR (BIOS) mode and later a clean EFI mode install activates online? So MBR install and GPT install behaves the same way.
    I am asking because when installed as GPT the vm uses the EFI whilst a MBR install uses the BIOS. 'Where' is the vm a vm? lol.

    It would be interesting to compare the SMBIOS of both MBR and efi install. Same info can be a potential identifier and should be modified to have a look if it triggers reactivation then...

    There are some news. There is a LZMA compressed section at the EFI which contains a lot of more modules. :)
    AndyP is working on it. It appeared incomplete because the big GUID section contains raw data LZMA compressed.
    EFIs can have LZMA and tiano compression and the module structure can be nested. Also encapsulated.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. NiFu

    NiFu MDL Member

    Jun 29, 2013
    129
    134
    10
    Yes, that's right.
     
  16. Please-8

    Please-8 MDL Junior Member

    Sep 12, 2012
    92
    50
    0
    OK - have changed these in one step:
    • Changed MAC address
    • Changed UUID
    • Changed RAM from 2 to 4 GB
    • Changed from 1 CPU to 2 virtual cores
    • Soundcard removed
    • Add new virtual hard disk, clone installation onto new hard disk and delete old hard disk
    Boot with disabled internet connection.

    Result: reactivation not triggered
     
  17. MrAnalysis

    MrAnalysis MDL Senior Member

    Aug 4, 2012
    417
    384
    10
    Once you have activated via the phone, you can make yourself a custom install DVD/USB for use on that machine. Follow the steps of the ProWMC ISO using the Data.dat file on the activated machine.

    Next time you enter the same code you had to ring up and activate with you wont have to redo it again. It should be activated upon reaching the desktop after install with the above method. It's a bit of a pain in the ass but once you have made the install media its easy from there on no more having to phone up each install :)

    I often take some time to add all the windows updates and a few programs / drivers to the custom install media also so every reinstall i do there is less work to be done and less to be downloaded.

    Another option would be reinstall windows - activate via phone - and create a custom install media there are a few apps that will ghost your install and allow you to just backup from it.

    The trick will work for a VM also as long as no settings are changed next time you install.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    The method would be good to save a re-activation procedure, anyway after the machine had been phone activated, it activates ONLINE at once after a clean installation. Phone activation is only needed one time to 'register' a new machine.
    It is good to know that it is only one file that holds the activation info data.dat. Would be interesting to play with it, for instance to copy it to a VM before the original machine has been activated at all...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...