Implement product key into bios MSDM table of VMware

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

  1. markede

    markede MDL Novice

    Aug 20, 2013
    4
    0
    0
    In my opinion it could be possible. It is practically applicable.Thanks for such a nice stuff.
     
  2. Please-8

    Please-8 MDL Junior Member

    Sep 12, 2012
    92
    50
    0
    Copy "data.dat" from a previous activated VM to a second VM activates the second VM offline. Even when second VM has different UUID, MAC and some virtual hardware changes (RAM, CPU, soundcard removed).
     
  3. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340
    This would mean sharing this data.dat file would allow anybody to activate any own w8 VM ware installation (same w8 version)....:spoton:...until M$ blocks the used MSDM serial knowing that the legit owner gets deactivated as well... :biggrin:..still wondering what makes it to recognize the vm ware as vm ware....
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. Superfly

    Superfly MDL Expert

    Jan 12, 2010
    1,143
    543
    60
    #144 Superfly, Aug 21, 2013
    Last edited by a moderator: Apr 20, 2017
    Haven't yet scrutinised the code but slmgr has been updated in 8.1 to check for VM

    Code:
                   
    Private Function IsAVMA(strDescription)
        If InStr(strDescription, "VIRTUAL_MACHINE_ACTIVATION") > 0 Then
            IsAVMA = True
        Else
            IsAVMA = False
        End If
    End Function
    
    
    
    
     If (NOT bKmsClient) AND (NOT bAVMA) Then
    
                        'Note that we are re-using the UseLicenseURL for the Product Activation
                        'URL for down-level compatibility reasons
    
                        strUrl = objProduct.ProcessorURL
                        If strUrl <> "" Then
                            LineOut GetResource("L_MsgProcessorCertUrl") & strUrl
                        End If
    
                        strUrl = objProduct.MachineURL
                        If strUrl <> "" Then
                            LineOut GetResource("L_MsgMachineCertUrl") & strUrl
                        End If
    
                        strUrl = objProduct.UseLicenseURL
                        If strUrl <> "" Then
                            LineOut GetResource("L_MsgUseLicenseCertUrl") & strUrl
                        End If
    
                        strUrl = objProduct.ProductKeyURL
                        If strUrl <> "" Then
                            LineOut GetResource("L_MsgPKeyCertUrl") & strUrl
                        End If
    
                        strUrl = objProduct.ValidationURL
                        If strUrl <> "" Then
                            LineOut GetResource("L_MsgValidationUrl") & strUrl
                        End If
    
                    End If
                End If
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Please-8

    Please-8 MDL Junior Member

    Sep 12, 2012
    92
    50
    0
    Right.

    But Microsoft do never recognize the multiple VM activations, because with copy "data.dat" the activations works offline.

    Just tested with two real PCs: Copy "data.dat" does not activate offline.
     
  6. kelorgo

    kelorgo MDL Addicted

    Oct 29, 2012
    839
    1,506
    30
    There is a lot of information that is identical between two VMs. For example, most of the SMBIOS information, including System Manufacturer etc. Maybe that is sufficient. This is all quite surprising though, the check seems too lenient.
     
  7. MrAnalysis

    MrAnalysis MDL Senior Member

    Aug 4, 2012
    417
    384
    10
    Most likely something in the Bios or on the motherboard on bootup. It makes the Hardware ID via CPU/MB (i think now graphics card's also heard people getting unactivated with some graphics drivers.)

    Anyway when windows boots/installs it does not just read what model of MB and CPU you are using. (if it did this people with the same CPU and MB would be able to use the same key.) There must be a special code embedded into the hardware or bios that it reads to make the unique hardware ID. With the machine being a VM the BIOS it is using will have the same ID on every system or should at least. Although everyone's CPU could be different so this is kind of odd.

    My guess is this sort of hidden code is on a hardware level due to people flashing bios images and stuff so would make sense. Meh it might not even be a code just the date the MB was made or first used and model of it combine or something. Hmmmm wonder in the future when/if KMS fails the hardware ID could be emulated on bootup so everyones machine would have the same hardware ID that has the emulator it's a long shot and probably way more complex than its worth and most likely wont work and just slow the system down anyway.. ;).
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340
    Next time when I have spare time I modify the bios404 that comes with vm ware. Goal will be to trigger reactivation. I'll completely change the systembios strings (build date, version) / ISA/PCI BIOS ROM strings (RAID, DISC controller), SMBIOS etc....
    If it should trigger it I can redo the changes step by step....but what's impressing is that the EFI and the BIOS which come with the vm ware make no difference....if they are queried, they share the same 'IDs', ...need to compare both....

    I'll post the mod here then.:)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,354
    2,026
    210
    Did you ever have time for these test?

    sebus
     
  10. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,354
    2,026
    210
    I would be interested to know how did you manage to arrive to decision as to where put the MSDM table in Vmware BIOS?

    Thanks

    sebus
     
  11. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. sebus

    sebus MDL Guru

    Jul 23, 2008
    6,354
    2,026
    210
    Thanks, expected that it will take some manual doing. But that is the very fun. Need to get to you an unused OEM key, so you can keep testing...

    Need to pick one (tomorrow)

    sebus
     
  13. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340
    I hope I can start some tests @ weekend. My current PC never had w8.1 installed yet, lol. Will fiddle with BIOS until installation ID changes.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. NiFu

    NiFu MDL Member

    Jun 29, 2013
    129
    134
    10
    OK - whilst installation you have to enter manually the Windows 8.1 generic product key. Because the installation routine of Windows 8.1 doesn't accept the Windows 8 DM key.

    But what happens when you implement the Windows 8.1 generic product key into the BIOS440.ROM MSDM table ? Does the installation routine of Windows 8.1 accept this Windows 8.1 generic key ? OK - for activation you have to substitute the generic key with a regular Windows 8.1 key.
     
  16. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340
    Well to me that all seems a bit confusing what M$ did.
    You can use ei.cfg.
    You can use unattended answer file
    There are specific product keys.
    There is the MSDMTable with key which can also be entered manually.

    A 'normal' behavior to me would be that the core/pro ISO just behaves the way the product keys are installed. Means: It must not use MSDM serials when used pro retail product key. It has to when used OA3.0 product keys or set at ei.cfg to 'OEM: DM' We don't know all the config parameters yet...or am I wrong?


    For now it seems a unused DM serial is just like a retail, it simply activates. (it is not sure if the MSDMTable I had used is needed at all.....)

    Soon more results....:)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. Superfly

    Superfly MDL Expert

    Jan 12, 2010
    1,143
    543
    60
    Probably 8.1 did not recognize the 8.0 OEM key, may be a different story if we installed 8.0... likely it will pick up the key from MSDM then...otherwise like you say, it will just be a 'retail' activation if added later...;)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,977
    340

    It asks for a key anyway. It seems the original core/pro ISO expects W8.1 DM serials there or does not check MSDM at setup. I suspect the former, even though it makes no real sense to me since it accepted and activated with the W8 DM serial later when entered manually.


    ***The W8.1 generic pro serial has been accepted from the MSDM table. It installs pro itself without to ask to enter a key at setup.***
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...