Jump to content

[Guide] AIO Guides For Hackintosh

607 posts in this topic

Recommended Posts

Very bad news.


As stated above, i solved my problem with i-message thanks to calling apple care.

Today, i did a system restore with time machine. I restored the system to a previous date when i solved the problem with imessage.

I then open imessage and i entered username and password (my apple id ) to enter.

Nothing doing: i do not log because according to him my apple id is new and i have to contact customer support in order to solve!


Then: occurs again the same issue as before.


To all: don't waste your time calling apple, so need a little!



After your login was fixed you would have been sensible to run the little iMessage_debug app, save the file in a safe place and note the MLB and ROM values.


Not very good advice to others as if you have read the repeated posts telling you about the MLB and ROM values used by apple you might have thought to note them down., before overwriting everything . 


Have you tried using Time Machine to restore it to the time you called apple? That is your only chance without another call, and if you do get it back record the MLB and ROM values with iMessage/Facetime working.


Sorry its not a waste of time but care and research is required and also a good idea to have a complete backup as well (not time machine)  as a complete backup is a must for and serious hacker. and is far quicker and more reliable than TM.


Hope you get it working again.

  • Like 2

@maia1971 you probably was using Chameleon, and that's where clover wins, no need to nvram saving (nvram should work, but with clover you don't need to write the values on nvram) it just inject them directly to the system! Because chameleon create a file where it saves nvram, so it is vulnerable to deletion, so the values aren't saved after formatting, so uf you don't have UEFI, install clover in legacy mode:


(***try on a blank fat32 USB first***)


● Install in ESP (only for GPT disks, do not use it on USB, optional, causes pain when configuring clover because of mounting the partition)

●Bootloader: Boot0af (or boot0ss if boot0af fails)

●Clover : Clover64SATA

●Theme : just choose one to get a skin, optional too

●Drivers : select all Drivers64 (do not select others)


●Clover Control Panel


After that you can continue the configuring from STEP3 ONLY http://www.insanelymac.com/forum/topic/298027-guide-aio-guides-for-hackintosh/?do=findComment&comment=2019606 and copy your kexts (if any) from /Extra/Extensions to /<where clover is>/EFI/Clover/kexts/<your os x version like "10.9"> then install Clover configurator from HVT (Tools > Clover Configurator), import your config.plist, go to RT Variables, open your iMessage_Debug, copy the BoardSerialNumber to MLB and then convert the ROM from HEX to BASE64 (google hex to base64 converter) and copy the BASE64 value to ROM then go the SMBIOS and remove BoardSerialNumber and save then reboot and try ;)

It should work like that and iM will still work after deletion (if clover is in ESP and you only formatted the OS X partitio rathere than the whole disk).

BUT KEEP IN MIND TO SAVE YOUR iMessage_debug AND config.plist!

Enjoy ;)

  • Like 2

Why difficult? Just put the values in the RT variable!


Its easy,  mine looks like this (with the data removed)


These are the only two entries required in rtvariables, the other entries you show LogEveryboot. logLineCount, and MountEFI re not needed any longer, new item as well should be removed.


Repeat rtvariables should only have MLB and ROM as above everything else is now depreciated in recent versions of clover.


The latest Clover release is 2909 you can get it here for the next hour or so.  http://d.pr/f/xfMl removed


You use your real mac adress (ethernet): like A1:B2:C3:D4:E5:F6 then transform it to a1b2c3d4e5f6 then GOOGLE FOR "ENCODE TO BASE64" then copy "a1b2..f6" to the encoder then encode it then you will get some caracters (upper case and lower case letters), remove any symbols like == or // then copy that to the ROM area, for MLB, you can make a 17 caracter code or take the SN that was generated in your SMBIOS and add some letter (upper case) and/or numbers to make a 17 caracters lenght code or take the BoardSerialNumber if config.plist was made from HVT and copy it the MLB area (remove any value in the BoardSerialNumber in the SMBIOS <---- Important!) Then reboot, then try to connect to iMessage, it will give you the "Contact AppleCare" message, contact them, and look for a real mac's (whatever mac) SN (google images) and then give it to them when asked, continue the procedure until iMessage is good.

After getting it to work, run iMessage_debug then save the file somewhere safe.

If you formatted and lost iMessage but still have the debug file, just copy the BoardSerialNumber to MLB and convert the ROM (from debug file) from HEX to BASE64 then copy it in ROM area in config.plist, then reboot, test and enjoy ;)

Hi Guys,

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






With regard to the risk in "sharing serials" - some common sense is required. Updated recommendations 1/2/15.

  • Like 11

Dear Fusion


your explanation is 'fantastic, but the thing that still not clear to me, this procedure should give it before calling apple?





This obviously has to be a valid serial and not randomly generated ... or not?



CK120U13DB6 is a fake system serial I generated with Clover configurator just for the purposes of illustration :hysterical:.  Check for genuine serials by entering them into the Apple self solve website.


Miztorr's guide gives an idea of what to expect when you call Apple Support to validate/register your fake serials.  He recommends obtaining a genuine serial by google searching and using that value when customer support asks the serial no of your Mac...this is morally questionable and might be awkward since a real serial is registered to a real owner....


Some users "play dumb" and say they are not at their computer so don't have their serial handy.  Others quote their fake generated system serial when asked for it ----> the support staff won't be able to find it registered on their systems but in many cases, if you insist it is correct, they will drop the matter and still unblock your AppleID/register your fake serials with the customer code :D.


So the procedure I would recommend for users who don't have a Mac:

1. Make sure the basics are working ie NVRAM, ethernet set to en0 and built in

2. Generate your fake serials and place them in Clover's config.plist

  • 11 or 12 charac system serial with clover configurator/chameleon wizard etc ---> enter in SMBIOS section of config.plist
  • 13 or 17 charac MLB - generate another system serial and add 5 random characters to it ---> enter in RtVariables
  • 12 charac ROM - use the ethernet mac address of your hack for this ---> enter in RtVariables
  • 32 charac system-id - generate a random UUID with uuidgen in OSX terminal ---> enter in CustomUUID in SystemParameters and set inject SystemID to true

3. Run iMessage_debug tool and make sure you are getting valid outputs for the above serials and the IOPowervariables (Gq3489ugfi, Fyp98tpgj, kbjfrfpoJU, oycqAZloTNDm, abKPld1EcMni).

4. With your internet disconnected, try rebooting the computer a few times so that you can verify the values from imessage_debug are the same and persistent

5.  Reconnect the internet and try logging into iMessage and Facetime.  With fake unregistered serials, it is expected that you receive a login error with hopefully a customer support code for one or both iMessage/Facetime

6.  Contact Apple support with the error code(s) from step 5 and with some smooth talking and some luck, they will fix it for you :P.


Update 11/24/2014

Going by a few user reports, after stricter MLB syntax checking introduced by Apple sometime after 17th Nov 2014, you might have a greater chance of success calling Apple Support using a synthetic 13 character MLB  (?due to looser validation checking compared to 17 character MLB).  The formatting/syntax of a generated serial should now mimic a genuine Apple MLB (not just system serial + 5 random characters - see Pattern of MLB).


Presently, MLB cross checking is NOT done against system serial or system-id (only against ROM), so it is still possible to use an older MLB/ROM to activate a hack using a newer SMBIOS and system serial eg MacPro 6,1.


Example:  MLB from 2009 13 inch MBP 5,5 comprised of 13 characters with the format



  • PP = Manufacturing location ID = W8
  • Y = Year of manufacturing =  2009
  • WW = Week of manufacture (01-52) Say 26
  • SSSS = Production number, within this week.  Say it is 41 066 decimal converted to Base-36 = 0VOQ
  • CCCC = ID-Model of hardware part = 6GCA

So our made up MBP 5,5 MLB serial number is W89260VOQ6GCA.  You can obviously change WW and SSSS to other values if you like...


Procedure to activate

  1. Set the ROM as your 12 character ethernet MAC address.  To make it more "genuine", replace the first 6 characters with an "Apple Prefix" code.
  2. Put MLB & ROM in RtVariables/config.plist, keep everything else the same including current system serial and SMBIOS
  3. Disconnect from internet
  4. Reboot computer and run iMessage debug to confirm MLB/ROM values are persistent
  5. Reconnect internet
  6. Login to iMessage ---> will most likely get Customer code if you haven't accidently created someone's real MLB/ROM
  7. Call Apple Support saying you have a problem with your Apple ID while logging in to iMessage
  8. Cross fingers that they fix it :)!
  • Like 4

It's a shame that you can't get it to work. I stole the MLB/ROM from my sister's macbook pro and it works :D Still works after updating from PB2 to PB3




I made my own values B)


Wow, i will try this!  ;)

  • Like 1

Hello Fusion,

AS my iMessage wasn't able to connect (error with a client code to contact apple), I'm going to use MLB / ROM values from my MacbookAir.

But, when I look on my current values, I see I have in SMBIOS section a SmUUID set with a different value from CustomUUID (witch is in the SystemParameters section).
Do I leave it as it is now ?
Do I have to remove it ?



Do you think changing only MLB and ROM values will allow me to connect to iMessage ?

Thanks for your help :)

Ok. I called for the second time the apple support and they solved the problem: now my i-message works!.... :hysterical:


Then i run iMessage_debugV2 and  saved debug results in a text file.




1. I don't have to ever lose this debug? But I have to keep it because it is also used when install yosemite?


2. In undestand fusion procedure except this part:



So on your "recipient" hack, you can enter in the RtVariables section of Clover's config.plist


Please, explain to me so simple, even with a video, how do i add this string (compiled with my i-message debug values):






to RtVariables section of Clover's config.plist.


Please very simple explanation (Indicate the steps to be followed) . Without comments like: it's easy!


Thank you!





Special thanks to jaymonkey from other board for telling me how to do:



If you are using Clover as your boot-loader then the fix is real easy. Simply use the latest version of Clover Configurator which you can download from here:

Once downloaded and installed run it and click on 'Rt Variables' on the left selection plane and enter the values for MLB and ROM (see above) in the appropriate fields.



Alternatively if you don't use Clover Configurator (which I highly recommend for simplicity) you can open Clover's config.plist in TextWrangler or similar and find the the 'RtVariables' section, add the following keys and values if you don't have a RtVarables section then add all of the following:-

  • Allan featured and unpinned this topic
  • Create New...