Hanger1(H1) Posted October 24, 2015 Share Posted October 24, 2015 Well done. I have already done this job for Pandora, but this looks more accurate, I will use the missing data from you, if you have no objection.. I have made script that dump EEE codes for "ALL Mac Models" above posted dump is 40% Soon i Post for "EVERY" mac logic board Even i made a script that accurately Generate MLB as you said in this post Found Y and W calculation...(if not later) Already said Like for serial number at certain point from 11 lenght that became 12 digits lenght due to the PP part that have became PPP (but also for the CCC+ part) the same for the MLB. This example regard a real serial number, so not MLB, but I'm pretty sure the logic is the same (like they are using certified standard ISO 9000 in UE for quality reason, and suppliers must comply). this is a valid Sn: C02HM***DTY3, masked here, put into Apple Service Center online:Nice Name: MacBook Pro 13 inch Unibody Core i5 (Mid 2012)Machine Model: MacBookPro9,2 Please visit our facebook page Family name: A1278 Model Number: MD101 Group1: MacBook Group2: Pro Generation: CPU speed: 2.5GHz Screen size: 13 inch Screen resolution: 1280x800 pixels Colour: Aluminium Production week : -18- (May) Production year : -2012- Model introduced: -2012- Memory - flavour: DDR3-S-1600 Memory - number of slots: 2 Memory - maximum total: 16GB Memory - largest module: 8GB Factory: C0 (Quanta Computer (Susidiary = Tech Com) China) PPP Y W SSS CCCC C02 H M *** DTY3 let's go: Y calculated like 0 stand for 2010 (or also 2000, 2020...but DTY3 ensure is 2010+), letter to choose depend by the week (see "W") . 0 1 2 3 4 5 6 7 8 9 (last number of a year example 2012) CD FG HJ KL MN PQ RS TV WX YZ (for each year, two letters, the first in case of Mid, the second for Late) then year is 2012, under 2 you can find HJ. because H and not J? see W table below. W a year can have 52 + 1 weeks (year depending), so max 26 for MId and 27 for Late. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 2 3 4 5 6 7 8 9 C D F G H J K L M N P Q R T V W X Y then week is 18 so choose M of (Mid 2012 because of Y table say that under 2 that stand for 2012, H is the Mid of the year) For example, today we are i august 13 (33° week), YW will be Q6 because we are in week 6 of Late 2015. Simply because 33 is out of 27 weeks in our W table, and we are now in the Late of the year, and the new week is the sixth of the second half-year. PPP C0 mean China, 2 is the establishment nr 2 in china (the production is increased like also the places), so is a number always?NO can be a letter too. CCCC no fancy, regard a specific model, equal for identical model: DTY3 = particular CPU, video card etc, and sure is a MacBook Pro 13 unibody SSS a progressive number? rest this to find a table. Ok there's a X in the middle (*X*), is not a number like max 999 MacBook Pro in a week, the number would be too low for 53 week of production. How many mac Apple produce in a year? It is related to the year or a week? naaah! maybe in part but quantity is important for sales invoice, but not for a serial number. ISO spec, but also ANSI require traceability, ie when you know where and when, you need to know who! ..basically conducible to a machinery and operator! ..it is a possibility Suggestions...is right? ....just test with real Mac.. EDIT serial and MLB are related on how are built for location, year an week. location can be the same of the serial, but also not, the one on post #532 match, probably the motherboard is assembled in the same factory where the final Mac comes out, nothing strange. My Every work is Open for Hackintosh community... Just mention credit ... it take few letters like "Hanger1" 3 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 24, 2015 Share Posted October 24, 2015 I have made script that dump EEE codes for "ALL Mac Models" Ok, that is what intrest me. I have made script that dump EEE codes for "ALL Mac Models" From the web? I create a obj-class that create the MLB, two moth ego... but no time to finish Pandora until now.. Just mention credit ... it take few letters like "Hanger1" I will (sure specifically for the EEE codes), than the same for any other contributors here EDIT Yes my week calculation is right I think (Pandora will know also if an year in particular have/had 52 or 53 weeks ) 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 27, 2015 Share Posted October 27, 2015 Good job, if this is a script that generate these data, any chance to insert the related model like MacBookAirX,X istead of "13\" MacBook Air (Mid 2012)"? or both? Link to comment Share on other sites More sharing options...
Hanger1(H1) Posted October 27, 2015 Share Posted October 27, 2015 For that i have to make another script to convert them to MacBookAirX,X iMacX,X etc. I think this https://support.apple.com/en-in/HT201862 willhelp me to convert them , is it right ? conver Model to Model Identifier 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 27, 2015 Share Posted October 27, 2015 The link generate an error.. need to insert/edit something? Are you using that to find info? https://support.apple.com/kb/SP583?viewlocale=en_US&locale=en_US changing SP583 ? Link to comment Share on other sites More sharing options...
Micky1979 Posted October 27, 2015 Share Posted October 27, 2015 same idea, but I don't know how "SP583" is correlated to a "MacBook Pro (13-inch, Mid 2010)" ... EDIT I think is the first time I see an "eMac", not aware of it until now.. Link to comment Share on other sites More sharing options...
Hanger1(H1) Posted October 27, 2015 Share Posted October 27, 2015 Are you using that to find info? No Apple Never Gives EEE codes for their Logic Boards https://support.apple.com/kb/SP583?viewlocale=en_US&locale=en_US above links open nicely with me I use welovemacs.com #======================= CREATING UI ============================================= #====================== END UI ============================= #======================================================= DELCLARING FUNCTIONS ============================================================= #--------------------------------------------------------- files_cleanup ---------------------------------------------------- files_cleanup () { CFILESLIST=(.array .my .kavan .product_name .CollectedDump) n="0" while [ $n -lt 5 ] do if [ -f ${CFILESLIST[$n]} ] ; then rm ${CFILESLIST[$n]} fi n=$[$n+1] done } #------------------------------------------------------------- END ----------------------------------------------------------------- #-------------------------------------------------------- getting_title ---------------------------------------------------- getting_title () { echo "Getting Dump" echo "collecting dump \n" } #------------------------------------------------------------- END ---------------------------------------------------------------- startui () { echo "Loading.............." } #------------------------------------------------------- cleaning string --------------------------------------------------- cleaning_string () { echo $(awk '/sc-tag-start/,/sc-tag-end/p' kav | sed 's/^.*contents//') >> .list_site cat .list_site | tr "}" "\\n" | sed -e "s/.*id://;s/,name.*//" | cut -c 2- | rev | cut -c 2- | rev >> .my cat .list_site | tr "}" "\\n" | sed -e "s/.*name://;s/{id:.*//" | cut -c 2- | rev | cut -c 2- | rev >> .product_name rm .list_site cat .my | sed -e 's/^/http:\/\/www.welovemacs.com\//' | sed -e 's/$/.html/' >> .kavan } #------------------------------------------------------------ END ------------------------------------------------------------------ #------------------------------------------------------- getting_output ---------------------------------------------------- getting_output () { FILE14=.kavan ARRAY14=(`awk '{print}' $FILE14`) i="0" my=$(cat .my | wc -l ) while [ $i -lt $my ] do echo ${ARRAY14[$i]} >> .array curl -s -o .k$i ${ARRAY14[$i]} if [[ $(awk '/.*EEE Code.*:/{ print $0 }' .k$i | awk 'END{print}' | cut -d':' -f2 ) == *"</b>"* ]] then echo "EEE Codes Not Found" >> .CollectedDump else echo "EEE Codes" $(awk '/.*EEE Code.*:/{ print $0 }' .k$i | awk 'END{print}' | cut -d':' -f2 ) >> .CollectedDump fi rm .k$i i=$[$i+1] done } #----------------------------------------------------------- END ------------------------------------------------------------------- endui () { echo "Done!" } #-------------------------------------------------------- final_out ---------------------------------------------------------- final_out () { paste -d'\n' .product_name .CollectedDump >> .final awk 'NR>c{print A[NR%c]} {A[NR%c]=$0}' c=4 .final rm .final } #---------------------------------------------------------- END ------------------------------------------------------------------- #============================================== END OF DELCLARATION ======================================================================== #============================================== EXECUTING ===================================================================== clear files_cleanup getting_title startui cleaning_string getting_output endui final_out files_cleanup #================================================ EXIT ======================================================================== #echo "EEE Codes" $(awk '/EEE Codes:/{ print $0 }' 1 | awk 'END{print}' | cut -d':' -f2 ) This is the script before runt it first curl -o kav http://www.welovemacs.com/loboformaair.html http://www.welovemacs.com/loboformaair.htmlis link of MacBook Air logic board list I give up , not much time exams are on .... I give you all , hope it help you and your tool .... ------------------------------ I made a script for week calculation... hope it help you.. ######################################################################## # Extracting Values from Serial WeekF=$(ioreg -l | awk '/IOPlatformSerialNumber/ { print $4;}' | cut -d'"' -f2 | cut -c4-5) ####################################################################### SNUMBERA() { if [[ $WeekF = [ACFHKM]1 ]]; then WeekNUM=1 elif [[ $WeekF = [ACFHKM]2 ]]; then WeekNUM=2 elif [[ $WeekF = [ACFHKM]3 ]]; then WeekNUM=3 elif [[ $WeekF = [ACFHKM]4 ]]; then WeekNUM=4 elif [[ $WeekF = [ACFHKM]5 ]]; then WeekNUM=5 elif [[ $WeekF = [ACFHKM]6 ]]; then WeekNUM=6 elif [[ $WeekF = [ACFHKM]7 ]]; then WeekNUM=7 elif [[ $WeekF = [ACFHKM]8 ]]; then WeekNUM=8 elif [[ $WeekF = [ACFHKM]9 ]]; then WeekNUM=9 fi } SNUMBERB() { if [[ $WeekF = [BDGJLN]1 ]]; then WeekNUM=27 elif [[ $WeekF = [BDGJLN]2 ]]; then WeekNUM=28 elif [[ $WeekF = [BDGJLN]3 ]]; then WeekNUM=29 elif [[ $WeekF = [BDGJLN]4 ]]; then WeekNUM=30 elif [[ $WeekF = [BDGJLN]5 ]]; then WeekNUM=31 elif [[ $WeekF = [BDGJLN]6 ]]; then WeekNUM=32 elif [[ $WeekF = [BDGJLN]7 ]]; then WeekNUM=33 elif [[ $WeekF = [BDGJLN]8 ]]; then WeekNUM=34 elif [[ $WeekF = [BDGJLN]9 ]]; then WeekNUM=35 fi } SWORDA() { if [[ $WeekF = [CFHKM]C ]]; then WeekNUM=10 elif [[ $WeekF = [CFHKM]D ]]; then WeekNUM=11 elif [[ $WeekF = [CFHKM]F ]]; then WeekNUM=12 elif [[ $WeekF = [CFHKM]G ]]; then WeekNUM=13 elif [[ $WeekF = [CFHKM]H ]]; then WeekNUM=14 elif [[ $WeekF = [CFHKM]J ]]; then WeekNUM=15 elif [[ $WeekF = [CFHKM]K ]]; then WeekNUM=16 elif [[ $WeekF = [CFHKM]L ]]; then WeekNUM=17 elif [[ $WeekF = [CFHKM]M ]]; then WeekNUM=18 elif [[ $WeekF = [CFHKM]N ]]; then WeekNUM=19 elif [[ $WeekF = [CFHKM]P ]]; then WeekNUM=20 elif [[ $WeekF = [CFHKM]Q ]]; then WeekNUM=21 elif [[ $WeekF = [CFHKM]R ]]; then WeekNUM=22 elif [[ $WeekF = [CFHKM]T ]]; then WeekNUM=23 elif [[ $WeekF = [CFHKM]V ]]; then WeekNUM=24 elif [[ $WeekF = [CFHKM]W ]]; then WeekNUM=25 elif [[ $WeekF = [CFHKM]X ]]; then WeekNUM=26 elif [[ $WeekF = [CFHKM]Y ]]; then WeekNUM=27 fi } SWORDB() { if [[ $WeekF = [DGJLN]C ]]; then WeekNUM=36 elif [[ $WeekF = [DGJLN]D ]]; then WeekNUM=37 elif [[ $WeekF = [DGJLN]F ]]; then WeekNUM=38 elif [[ $WeekF = [DGJLN]G ]]; then WeekNUM=39 elif [[ $WeekF = [DGJLN]H ]]; then WeekNUM=40 elif [[ $WeekF = [DGJLN]J ]]; then WeekNUM=41 elif [[ $WeekF = [DGJLN]K ]]; then WeekNUM=42 elif [[ $WeekF = [DGJLN]L ]]; then WeekNUM=43 elif [[ $WeekF = [DGJLN]M ]]; then WeekNUM=44 elif [[ $WeekF = [DGJLN]N ]]; then WeekNUM=45 elif [[ $WeekF = [DGJLN]P ]]; then WeekNUM=46 elif [[ $WeekF = [DGJLN]Q ]]; then WeekNUM=47 elif [[ $WeekF = [DGJLN]R ]]; then WeekNUM=48 elif [[ $WeekF = [DGJLN]T ]]; then WeekNUM=49 elif [[ $WeekF = [DGJLN]V ]]; then WeekNUM=50 elif [[ $WeekF = [DGJLN]W ]]; then WeekNUM=51 elif [[ $WeekF = [DGJLN]X ]]; then WeekNUM=52 elif [[ $WeekF = [DGJLN]Y ]]; then WeekNUM=53 fi } SEARCHN() { if [[ $WeekF = [ACFHKM][1-9] ]]; then #echo "'$WeekF' 1 - 9" SNUMBERA #echo $WeekNUM elif [[ $WeekF = [PQRSTVWXYZEIOU][1-9] ]]; then echo "'$WeekF' NULL" echo "Serial is Incorrect" exit 1 elif [[ $WeekF = [A-Z]0 ]]; then echo "'$WeekF' NULL" echo "Serial is Incorrect" exit else #echo "'$WeekF' 27 - 35" SNUMBERB #echo $WeekNUM fi } SEARCHW() { if [[ $WeekF = [CFHKM][CDFGHJKLMNPU] ]]; then #echo "'$WeekF' 10 - 27" SWORDA #echo $WeekNUM elif [[ $WeekF = [ABPQRSTVWXYZEIOU]* ]]; then echo "'$WeekF' NULL" echo "Serial is Incorrect" exit 1 elif [[ $WeekF = [CFHKM][ABEIOSUZ] ]]; then echo "'$WeekF' NULL" echo "Serial is Incorrect" exit 1 elif [[ $WeekF = [DGJLN][ABEIOSUZ] ]]; then echo "'$WeekF' NULL" echo "Serial is Incorrect" exit 1 elif [[ $WeekF = [DGJLN][CDFGHJKLMNPQRSTVWXY] ]]; then #echo "'$WeekF' 36 - 53" SWORDB #echo $WeekNUM fi } if [[ $WeekF == [A-Z]*[0-9] ]] ; then SEARCHN else SEARCHW fi #echo "WeekNum:"$WeekNUM if [[ $WeekNUM -ge 26 ]] ; then let WeekNUM=$WeekNUM-26 fi #echo $WeekNUM if [[ $WeekNUM -le 9 ]] ; then echo $WeekNUM elif [ "$WeekNUM" = "10" ] ; then MacW="C" elif [ "$WeekNUM" = "11" ] ; then MacW="D" elif [ "$WeekNUM" = "12" ] ; then MacW="F" elif [ "$WeekNUM" = "13" ] ; then MacW="G" elif [ "$WeekNUM" = "14" ] ; then MacW="H" elif [ "$WeekNUM" = "15" ] ; then MacW="J" elif [ "$WeekNUM" = "16" ] ; then MacW="K" elif [ "$WeekNUM" = "17" ] ; then MacW="L" elif [ "$WeekNUM" = "18" ] ; then MacW="M" elif [ "$WeekNUM" = "19" ] ; then MacW="N" elif [ "$WeekNUM" = "20" ] ; then MacW="P" elif [ "$WeekNUM" = "21" ] ; then MacW="Q" elif [ "$WeekNUM" = "22" ] ; then MacW="R" elif [ "$WeekNUM" = "23" ] ; then MacW="T" elif [ "$WeekNUM" = "24" ] ; then MacW="V" elif [ "$WeekNUM" = "25" ] ; then MacW="W" elif [ "$WeekNUM" = "26" ] ; then MacW="X" elif [ "$WeekNUM" = "27" ] ; then MacW="Y" fi echo "W:"$MacW >> CLONMLB I made a script for month calculation... hope it also help you.. # Calculates the human friendly year based off of the Manufacturing Year #ModelY is search last four number of serial to apple site and gat model info ModelY=$(curl -s http://support-sp.apple.com/sp/product?cc=`ioreg -l|grep IOPlatformSerialNumber|awk '/Serial/ {print $4}'| sed -e 's|"||g'|cut -c 9-`|sed 's|.*<configCode>\(.*\)</configCode>.*|\1|' | tail -c 3 | cut -c1-1) #echo "Manufacturing Year Number: $ModelY" if [ "$ModelY" = "0" ] ; then MacY="CD" elif [ "$ModelY" = "1" ] ; then MacY="FG" elif [ "$ModelY" = "2" ] ; then MacY="HJ" elif [ "$ModelY" = "3" ] ; then MacY="KL" elif [ "$ModelY" = "4" ] ; then MacY="MN" elif [ "$ModelY" = "5" ] ; then MacY="PQ" elif [ "$ModelY" = "6" ] ; then MacY="RS" elif [ "$ModelY" = "7" ] ; then MacY="TV" elif [ "$ModelY" = "8" ] ; then MacY="WX" elif [ "$ModelY" = "9" ] ; then MacY="YZ" fi #echo $MacY Mid_or_Late=$(curl -s http://support-sp.apple.com/sp/product?cc=`ioreg -l|grep IOPlatformSerialNumber|awk '/Serial/ {print $4}'| sed -e 's|"||g'|cut -c 9-`|sed 's|.*<configCode>\(.*\)</configCode>.*|\1|' | tail -c 11 | awk 'END{print $1}') if [ "$Mid_or_Late" = "Mid" ] ; then MacY=$(echo $MacY | head -c 1) elif [ "$Mid_or_Late" = "Late" ] ; then MacY=$(echo $MacY | tail -c 2) else exit fi echo "Y:"$MacY >> CLONMLB Above those works a u said.. hope it is correct... 8 Link to comment Share on other sites More sharing options...
Micky1979 Posted October 27, 2015 Share Posted October 27, 2015 Thanks, I'll give it a try! 1 Link to comment Share on other sites More sharing options...
motionz Posted December 2, 2015 Share Posted December 2, 2015 Hi, I managed to make Imessage and icloud to work. 1. Star iMessageDebug on real Mac hardware. I used Macbook air 2014 as I installed hackintosh on notebook. 2. Take serial number and board number. Change it a little with a know pattern to make unique. 3. Star iMessageDebug on your huckintosh and take smUUID. 4. In Clover editor fill smUUID(the one you get from imessagedebug), Serial number (the one you changed to make it unique) Board Number (the one you changed to make it unique). 5. Clear caches with this ##### 6. Restart and login to imessage. 7.???? 8. Profit. Link to comment Share on other sites More sharing options...
Micky1979 Posted December 2, 2015 Share Posted December 2, 2015 Link to tonymac removed as for our Rules. We don't support him, their tools or their discussions. Start reading from scratch this Topic, and you will find what you need. 3 Link to comment Share on other sites More sharing options...
Joni_78 Posted February 17, 2016 Share Posted February 17, 2016 Is MLB serial in the ioreg? All I can find is system serial. Also did I get this right, if my correctly formatted serial is ABCDEFGHIJKL, my MLB would be ABCDEXXXXXFGHIJKL? Link to comment Share on other sites More sharing options...
foilage11 Posted March 22, 2016 Share Posted March 22, 2016 I wanted to report I now have iMessage working without a real MLB. I used the tool from http://www.insanelym...c-board/page-13 post #260 to generate a 13 digit MLB and I used the mac address from my Apple wifi card (from http://osxwifi.com (not sure if this is relevant?)) for the ROM. My smUUID is randomly generated with uuidgen and my serial is randomly generated by Clover Configurator. I received the customer code error and it took a one minute call to Apple and I'm sending and receiving SMS now! I'll add that I tried to use the 17 digit MLB generator by the same author and that didn't work. I received an error with no customer code. Checking in to report my iMessage is still working flawlessly. Link to comment Share on other sites More sharing options...
nguyenlc1993 Posted March 24, 2016 Share Posted March 24, 2016 Hello everyone, I read this thread entirely, and I think this is very interesting topic IMO. However, the knowledge about MLB is still incomplete, and for 17-digit MLB, the meanings of some digits are still unknown so I decided to do a little research by myself. When I was collecting serials from various iFixit guides, I found that even other Apple parts (heatsink, HDD, AirPort card, etc.) also had their serials similar to that of MLB. So I started wondering if Apple has a standard to create their serials for parts/components from suppliers, which means that we should also look into the serials of other parts/components instead of logic board serials only. So I collected serials of not only logic boards but also other Mac parts, and did some analyses on them. And here is my hypothesis about the pattern of these serials: PPPYWWDNNNNEEEECC Where: PPP – The location of production, which is usually the same as the PPP part (first 3 digits) of system serial. The most common value for this component is C02 (Quanta Computer – China). Y – Year of production (e.g: 0 for 2010, 1 for 2011, 2 for 2012 and so on). WW – Week of production. This component ranges from 01 to 53, and is usually 1 – 2 weeks earlier than the week number implied in system serial. D – Day of production. I checked the serials and found that this digit ranges from 1 to 7 (with 1 is the least popular value). So I doubt this digit tells us the day of production (with 1 for Sunday -> 7 for Saturday). NNNN – Production Unit Number. This component’s function is similar to the Production Number component in the system serial (6th – 8th digits). The digits seem to be alphanumeric (with the exclusion of letter I and O), and the first digit of the component is usually 0 (zero). EEEE – EEE Code, which links to the hardware specification of the board. Its function is quite similar to that of the Model ID component in system serial (last 4 digits). The EEE code can be found on many websites that sell Mac parts (e.g: macpartsonline.com). CC – Unknown. Like many of you, I don’t really know about the meaning of the two last digits (could be a checksum or sth). But from my analysis, the first digit of the component is usually 1 or A, and the second digit is alphanumeric (excluding letter I and O). Note: One thing interesting is that while I was writing this post, I looked again at the analysis report and realized that none of the serial (even system serial) contains the letter I or O. So we should exclude the two letters when generating the serial (no Base36 here). I attached here the list of serials I collected, as well as their statistic reports. The serials were analyzed automatically and reports were created by a self-made program. Hope these details may help. And a warning: DO NOT use those collected serials in your Hackintosh - Cloned serials will likely be banned by Apple. Serial data + Reports.zip 8 Link to comment Share on other sites More sharing options...
InconspicuousDuck Posted March 26, 2016 Share Posted March 26, 2016 Checking in to report my iMessage is still working flawlessly. Is the 13 digit MLB you made the same value as the Board Serial Number in the SMBIOS section of Clover Configurator? Imessage-debug says that my BoardSerialNumber is my 13 digit MLB, but I'm worried the different value for the one in SMBios is causing my issues. Otherwise everything is the same and it's not working for me. Awesome! Sorry if this sounds dumb, but does this mean we can start creating the new 17 digit MLBs to activate iMessage instead of the older 13 digit ones? Link to comment Share on other sites More sharing options...
nguyenlc1993 Posted March 26, 2016 Share Posted March 26, 2016 Is the 13 digit MLB you made the same value as the Board Serial Number in the SMBIOS section of Clover Configurator? Imessage-debug says that my BoardSerialNumber is my 13 digit MLB, but I'm worried the different value for the one in SMBios is causing my issues. Otherwise everything is the same and it's not working for me. Awesome! Sorry if this sounds dumb, but does this mean we can start creating the new 17 digit MLBs to activate iMessage instead of the older 13 digit ones? What I wrote above is just hypothesis, not surely 100% correct. However, Apple has relaxed the MLB verification check, so even a 'MLB' created by adding 5 random characters to the system serial may work (this information is from the topic 'How to Fix iMessage' by jaymonkey - google it yourself). My hypothesis may only help you to generate a MLB serial that seems to conform Apple's serial format. I don't guarantee that the generated serial will work, and you may still have to call Apple support to white-list the generated MLB serial. 2 Link to comment Share on other sites More sharing options...
Joni_78 Posted November 21, 2016 Share Posted November 21, 2016 I've been trying to create 12 digit MacbookPro10,2 serial. I wanted to do it myself rather than using genarators and I read everything I found, but I still don't guite understand it. I created couple of MacBook Pro (Retina, 13-inch, Early 2013) serials and checked those with Apples checkcoverage site. Two of those passed and was reported as genuine serials, so I must have created those correctly, but I don't understand how it says both are Early 2013. Serials are below, I thought "K" is first half and "L" is second half on 2013 models. C02L9XXXFFRP - Ok - Early 2013C02K7XXXFFRP - Ok - Early 2013 Link to comment Share on other sites More sharing options...
Scimiazzurro Posted January 13, 2017 Share Posted January 13, 2017 Hi people, could someone help me to generate a good MLB and Serial Number, that are "logically connected" between them? I didn't understand so good how to do it. Link to comment Share on other sites More sharing options...
Micky1979 Posted January 13, 2017 Share Posted January 13, 2017 Try Pandora's Box: http://www.insanelymac.com/forum/files/file/11-pandoras-box-os-x-installer/ (central button to open the config.plist editor. Go to RtVariables ..) 2 Link to comment Share on other sites More sharing options...
Beefcat Posted March 27, 2017 Share Posted March 27, 2017 Guys, This guide states "ROM part is defined in SmUUID and should be 12 chars and match the Apple's MAC address standard, otherwise illegal" Is this still valid ? Just come across a real iMac 17,1 with 11 char ROM value %ff%ff%ff%ff%fff or is it likely that this iMac has not been setup to communicate with the internet. It's a show piece for everyone to view and play with. There was no connectivity to the internet. Any feedback please Link to comment Share on other sites More sharing options...
billsimons Posted August 5, 2017 Share Posted August 5, 2017 Hello everyone, I read this thread entirely, and I think this is very interesting topic IMO. However, the knowledge about MLB is still incomplete, and for 17-digit MLB, the meanings of some digits are still unknown so I decided to do a little research by myself. When I was collecting serials from various iFixit guides, I found that even other Apple parts (heatsink, HDD, AirPort card, etc.) also had their serials similar to that of MLB. So I started wondering if Apple has a standard to create their serials for parts/components from suppliers, which means that we should also look into the serials of other parts/components instead of logic board serials only. So I collected serials of not only logic boards but also other Mac parts, and did some analyses on them. And here is my hypothesis about the pattern of these serials: PPPYWWDNNNNEEEECC Where: PPP – The location of production, which is usually the same as the PPP part (first 3 digits) of system serial. The most common value for this component is C02 (Quanta Computer – China). Y – Year of production (e.g: 0 for 2010, 1 for 2011, 2 for 2012 and so on). WW – Week of production. This component ranges from 01 to 53, and is usually 1 – 2 weeks earlier than the week number implied in system serial. D – Day of production. I checked the serials and found that this digit ranges from 1 to 7 (with 1 is the least popular value). So I doubt this digit tells us the day of production (with 1 for Sunday -> 7 for Saturday). NNNN – Production Unit Number. This component’s function is similar to the Production Number component in the system serial (6th – 8th digits). The digits seem to be alphanumeric (with the exclusion of letter I and O), and the first digit of the component is usually 0 (zero). EEEE – EEE Code, which links to the hardware specification of the board. Its function is quite similar to that of the Model ID component in system serial (last 4 digits). The EEE code can be found on many websites that sell Mac parts (e.g: macpartsonline.com). CC – Unknown. Like many of you, I don’t really know about the meaning of the two last digits (could be a checksum or sth). But from my analysis, the first digit of the component is usually 1 or A, and the second digit is alphanumeric (excluding letter I and O). Note: One thing interesting is that while I was writing this post, I looked again at the analysis report and realized that none of the serial (even system serial) contains the letter I or O. So we should exclude the two letters when generating the serial (no Base36 here). I attached here the list of serials I collected, as well as their statistic reports. The serials were analyzed automatically and reports were created by a self-made program. Hope these details may help. And a warning: DO NOT use those collected serials in your Hackintosh - Cloned serials will likely be banned by Apple. The day of week supposition looks unlikely to me after looking at "al3xtjames" MacGen scripts (https://github.com/al3xtjames/MacGen). This repository has what appears to be an extensive catalogue of valid identifies and the MLB is documented as: PPP Y WW TTT CC EEEE KK where: TTT is the board type CC is hypothesized to be a checksum (but not known) KK is not explained in comments He has a list of presumed valid values (selects one at random when generating MLB): for CC: 'GU' '4N' 'J9' 'QX' 'OP' 'CD' '3F' 'U5' 'KP' 'D5' 'SJ' '7P' 'RG' 'W5' '92' 'MA' '2Y' '26' 'L0' 'NA' 'TL' '2D' '8U' for KK: '1H' '1M' 'AD' '1F' 'A8' 'UE' 'JA' 'JC' '8C' 'CB' 'FB' 'A6' 'AL' 'AN' '16' 'A5' 'AH' 'AA' 'AD' 'AK' 'AN' '1W' 'AY' '1A' From my catalogue of half a dozen 2011-era (A1311) boards it's quite plausible that he has the TTT board type field correctly identified. The boards I've seen have codes of: 100, 105, 201, 401, 601 (though, as you note, all of the first digits are in the range [1,7], so maybe you're right) 1 Link to comment Share on other sites More sharing options...
MacBart Posted February 11, 2018 Share Posted February 11, 2018 @amble, little late, but I see similar problem here with SERIAL (they talk about MLB here). So It would be nice if someone knows why amble and my sn is not correct following the assumed format of the new 12char serial. PPPYWSSSCCCC where suposedly Y=year and W=week. Y=> CDFGHJKLMNPQRSTVWXYZ where P should be early 2015 and Q late 2015. These made serials C02TM2A9GG7L, C02PK1M1GG7L both gives iMac 17,1 late 2015 on everymac and shipmunk !? Don't use these so everyone can check for themselves. Sorry for the off topic. Link to comment Share on other sites More sharing options...
TheRacerMaster Posted August 14, 2018 Share Posted August 14, 2018 It's unrelated. I scraped my own data from board resellers (dvwarehouse/PowerBook Medic/TheBookYard/etc) for board EEE codes. Regardless, MacGen is deprecated; use macserial instead. 2 Link to comment Share on other sites More sharing options...
holyfield Posted December 16, 2019 Author Share Posted December 16, 2019 (edited) I’m glad this thread has lead Hackintosh community to tools that help easily generate needed serials. https://github.com/acidanthera/MacInfoPkg Also the knowledge is collected there very well https://github.com/acidanthera/MacInfoPkg/blob/master/macserial/FORMAT.md Edited December 16, 2019 by holyfield Link to comment Share on other sites More sharing options...
Recommended Posts