This is the complete method for those who have problems with iCloud, iMessages and AppStore.
I assume you already checked if your ethernet is en0, and you already have a valid serial number in your smbios.plist. If you don't have a valid serial number you can find one here:
https://selfsolve.apple.com/agreementWarrantyDynamic.do Get a one from internet or chameleon wizard and switch numbers and letters until you find one that checks at apple's website.
Now, you need EfiStudio 1.1. Open it, click add card, choose ethernet built in. A new window will open, you will find a hex string in the second half of that window.
Important: For those who loose graphics with this method, close the window I mentioned, and add a second device, this time choose your graphics card. Now another window will open, and the string generated will be for both ethernet and graphics. This is because there can only bee one device-properties module in boot.plist. Note: This is not working if you use GraphicsEnabler=Yes.
Now, you have the string. Copy your org.chameleon.Boot.plist from Extra to Desktop. Open the desktop version, and ad this:
<key>device-properties</key>
<string>PASTE YOUR STRING HERE</string>
Note: If you tell EfiStudio to write to boot.plist it will not write into chameleon but in the default apple boot loader so don't. You have to copy the string manually.
Again, this string is generated by EfiStudio 1.1 If you chose only Ethernet, it will break your graphics if also need efi for your graphics card. To get the graphic card not break, add both ethernet and graphic card in EfiStudio, and it will generate one string for both.
Fore iMessage, download the archive below. Copy the ,,modules,, folder in your ,,Extra,, folder.
Reboot: Everything works !