I thought I might clarify a few aspects of MLB and ROM which might be confusing for people who have read the misleading/incomplete description in the Clover Wiki.
- MLB and ROM are NOT deprecated and in fact crucial to activate iMessage/Facetime (confirmation in post #5979 Clover General Discussion from Slice). For Clover, the proper place to enter these serials is in the RtVariables section of config.plist. However if you omit to specify them in RtVariables, Clover automatically injects MLB from the BoardSerialNumber entry and ROM from the last 12 characters of the SmUUID entry.
- MLB is the “Main Logic Board” serial number of a Mac and is 17 characters long for current models. Older Macs can have shorter MLBs eg Mid 2010 MBP 6,2 has 13 character MLB and is still valid.
- ROM corresponds to the Mac’s firewire MAC address (with two middle bytes removed if present - confirmed for Late 2012 Mac Mini, Mid 2010 MBP 6,2), or its the ethernet mac address ——>12 characters long. The first 6 characters are a generic "Apple" prefix code, while the last 6 characters are unique to the system.
- On a real Mac, both variables are stored in the machine's firmware NVRAM (non volatile RAM) and work as a pair.
- The MLB value on a real Mac has no direct relation to its System Serial - Pattern of MLB. The old method of generating an MLB - adding 5 random characters to the 12 character system serial - is wrong and fails Apple's recent syntax checking ---> iMessage login failure (mid Nov 2014).
- For activation to be successful, the MLB/ROM combination must be registered on Apple’s servers. This is obviously true for MLB/ROM obtained from real Macs but the generated values from hacks aren’t - hence the need to contact Apple support and provide them with the customer support error code to validate/register fake serials ---> placed on a "whitelist".
- It's possible to use the MLB & ROM from a Mac that is a completely different model to the SMBIOS that you're using in your hack eg you can take the MLB/ROM from a MBP and place it in a hack that's using an iMac SMBIOS ---> sleep/power management and other functions of the hack will remain unaffected. If the hack keeps on using an iMac system serial, it will still be identified as an iMac in the "about" system profile
and you can still use your hack and real Mac at the same time to access iMessage.Update 29/12/14: New system-id block introduced by Apple to prevent multiple machines logging into iMessage at the same time with the same MLB/ROM. Try not to have more than one machine connected to the internet and logged into iMessage/FT at the same time if they share MLB/ROM.
- The ROM value can be entered into the config.plist EITHER as a string or data. If entered as data value, the output from imessage_debug (which is in the form of 6 hexadecimal bytes) must be converted into BASE64 format first. If it is entered as a string value, it can be directly copied from imessage_debug in hexadecimal format (no conversion to Base64 required)
e.g. Say you get the following output after running iMessage_debugV2 on your "donor" Mac/Apple Support Validated Hack
**********************iMessage Debug********************** Credits: ElNono, mdmwii,flux84, sugarface, pokenguyen Model: iMac11,3 Board-id: Mac-F2238BAE SerialNumber: CK120U13DB6 Hardware UUID: 24A86654-2EBB-5998-A85E-266C65CD7005 System-ID: A8DD17A0-CF10-4323-9841-29A9F08C1D49 ROM: 6C3E6D1129f2 BoardSerialNumber: CK118014DJN1G Gq3489ugfi: d8c15ff0e78ee6403706e44dfe02bcde8d Fyp98tpgj: f55f3cfc3b3a06b8c36c8e3f4585dd39e1 kbjfrfpoJU: b564e0c349a48929eba1c85fd18faf47b9 oycqAZloTNDm: 88d06b7b2d2161b45715fe5a3a952de44b abKPld1EcMni: 130d938e2277b7bc01f04dd8e25ce8e028
Using an online calculator to convert the ROM value, 6C3E6D1129f2 (Hex) = bD5tESny (Base64)
So on your "recipient" hack, you can enter in the RtVariables section of Clover's config.plist
<key>RtVariables</key> <dict> <key>MLB</key> <string>CK118014DJN1G</string> <key>ROM</key> <data>bD5tESny</data> </dict>
<key>RtVariables</key> <dict> <key>MLB</key> <string>CK118014DJN1G</string> <key>ROM</key> <string>6C3E6D1129f2</string> </dict>
With regard to the risk in "sharing serials" - some common sense is required. Updated recommendations 1/2/15.