Thireus' Bl0g

Tag: MacOS

[GUIDE] HackinTosh – Install MacOS Mountain Lion 10.8 to 10.8.5 on Asus SaberTooth P67 in 3 STEPS

by on Aug.19, 2012, under Guides and tutorials,  Hack1nT0sh,  MacOS. 191,989 views

How to build a HackinTosh with Mountain Lion (10.8), the latest version of MacOS X.

During this very hot summer (about 37°C outside), I spent about 20 hours in an entire weekend to install MacOS 10.8 Mountain Lion on my Asus Sabertooth P67. Really, there’s no best time for that… And because I love you my readers, I wrote this little GUIDE in the hope you’ll find useful information in it.

This article will be updated continuously. So come back here time to time or follow me on twitter! :-)

What’s not working:

  • Nothing

Updates: (subscribe to my twitter to get notified)

  • 08/20/2012 – ExtraThi updated to v1.1! (ExtraThi v1.0 was broken)
  • 08/20/2012 – Added USB 3.0 support explanations in STEP #3.
  • 08/23/2012 – Updated information relative to Extensions.mkext creation.
  • 08/23/2012 – Original ExtraThi_v1.1 renamed to ExtraThi_v1.1_10.8.
  • 08/23/2012 – 10.8.1 update procedure with ExtraThi_v1.1_10.8.1.
  • 08/23/2012 – Chameleon 2.1 r2048 replaced by r2050.
  • 08/24/2012 - 10.8.1 update procedure [ TESTING... ] -> [ GOOD ]
  • 09/22/2012 – Fixed a mistake in AppleGraphicsPowerManagement.kext plist modification (IOCFUnserialize: syntax error near line 2995). Please download the new kext or apply the new modifications!
  • 09/22/2012 – Chameleon 2.1 r2050 replaced by r2060.
  • 09/22/2012 - 10.8.2 update procedure [ GOOD ]
  • 01/11/2013 – Minor changes.
  • 01/11/2013 – USB 3.0 working, added a note about it for SaberTooth P67 users.
  • 03/18/2013 – Chameleon 2.1 r2060 replaced by Chameleon 2.2 r2187.
  • 03/18/2013 – iMessage fix with FileNVRAM from xZeneu LLC.
  • 03/18/2013 – New version of AGPM.kext for MacOS X 10.8.3.
  • 03/18/2013 - 10.8.3 update procedure [ TESTING... ] -> [ GOOD ]
  • 03/18/2013 – Minor changes.
  • 03/29/2013 - Fixed a mistake in AppleGraphicsPowerManagement.kext plist modification for 10.8.3. Please download the new kext!
  • 05/04/2013 – New Audio kext instructions, which fix “With DSDT” Audio kext issues under 10.8.3. (MultiBeast has been updated with new audio kexts: Updated toleda’s patched AppleHDAs to the 10.8.3 versions)
  • 05/04/2013 – USB 3.0 support is now UNIVERSAL! New USB 3.0 Instructions. (Make sure to delete any CalDigit*.kext and PXHCD.kext drivers from your /System/Library/Extensions folder). Fix USB 3.0 not properly working under 10.8.3. You should now use RehabMan’s branch of Zenith432′s GenericUSBXHCI.kext to enable USB 3.0.
  • 05/04/2013 - ExtraThi updated to v1.2! (New Preboot image with new additional and updated kexts. Thanks to Artistus!)
  • 06/07/2013 - 10.8.4 update procedure [ GOOD ]
  • 06/07/2013 – Chameleon 2.2 r2187 replaced by Chameleon 2.2 r2189.
  • 09/21/2013 – Chameleon 2.2 r2189 replaced by Chameleon 2.2 r2263.
  • 09/21/2013 - ExtraThi updated to v1.3! (New fakesmc.kext + plugins 5.3.832 from kozlek)
  • 09/21/2013 - 10.8.5 update procedure [ GOOD ]
  • 11/04/2013 – Chameleon 2.2 r2263 replaced by Chameleon 2.2 r2266.
  • 11/04/2013 – AppleIntelE1000e.kext, you should roll back to v2.4.14.
  • 11/04/2013 - 10.8.5 Supplemental Update 1.0 PROCEDURE [ GOOD ]
  • 16/03/2014 – SAPPHIRE ATI Radeon HD6870 multiple output (4 PORT dvi/hdmi) fix.

TODO:

  • Better AGPM.kext for NVIDIA GTX 480 to avoid lags of 1st speedstep layer. (in fact the plist modification was broken due to syntax error… so the kext was not loaded! :-/ It is now fixed!)
  • Extra checks regarding STEP #3 additional kexts.
  • Better patch for AppleIntelCPUPowerManagement (boot kext mode) so it can be added to Extensions.mkext and will not require to be removed from /S/L/E.
  • Test betstu settings for AGPM.kext GTX480 iMac12,2 10.8

Before we start…

This is not an universal/generic GUIDE. All tips, files and patches provided in this article are designed to work for my own computer specs. In the meantime, I think people with a similar configuration will find this guide interesting and useful to achieve their installation of MacOS X Mountain Lion.

This guide was not made for beginners, also if you have any questions, I recommend you to ask on various HackinTosh forum communities before, such as tonymacx86 or InsanelyMac.

About my specs

Let’s see what we have here…

  • CPU: Intel – Processeur – Intel Core i7 2600K / 3,4 GHz – LGA1155 Socket – L3 8 Mo
  • RAM: G.Skill Kit Extreme3 4 x 4 Go PC15000 Sniper CAS 9
  • MotherBoard: ASUS SABERTOOTH P67 (rev. B3) – Socket 1155 – Chipset P67 – ATX - BIOS VERSION 2302 official*
  • GPU: SAPPHIRE ATI Radeon HD6870 Toxic | 1024 Mo DDR5 – PCI Express – DUAL DVI / HDMI / mini DP
  • GPU: ASUS ENGTX480/2DI/1536MD5 GeForce GTX 480 (Fermi) 1536MB 384-bit GDDR5 PCI Express 2.0 x16 HDCP Ready SLI Support Video Card
  • Power Supply: OCZ Z Series Gold OCZZ1000M 1000W
  • CPU Cooler: COOLER MASTER HYPER 212 PLUS
  • Case: Lian Li PC-K63

* Some people reported issues with SATA controller for the latest 3302 version (link). Do not upgrade your BIOS unless you know what you’re doing. By the way, it is possible to patch your BIOS to avoid some issues with MacOS, such as AppleIntelCPUPowerManagement problems related to Intel SpeedStep

 What do you need

Basically it is better to already have a working version of MacOS installed on your HackinTosh. It is always possible to achieve all steps of this GUIDE with an external MacOS system, but it will be more difficult. Also, I recommend you to have the following stuffs:

  • 1 x USB/SD card of 8GB minimum.
  • 1 x Original Mountain Lion Install DVD (InstallESD.dmg, md5 checksum = 8b4869920cd740414fe6b7e3f0b1be3e).
  • 8GB of available space minimum to install Mountain Lion.
  • 1 x Human Brain.
  • 30 minutes up to 3 hours spare time.

 HackinTosh common issues… Warning!

In case some of you might think dealing with a HackinTosh is quite easy, here is a quick list of common issues you can face while attempting to build your HackinTosh. These issues CAN ALSO be faced after every OS X update!

  • Speedstep not working, which causes Kernel Panic at startup (related to AppleIntelCPUPowerManagement.kext).
  • SATA controller not working properly.
  • Some ACPI tables not recognized (in this case you have to deal with DSDT or/and SSDT).
  • Graphics cards not natively supported can lead to Kernel Panics, bad power management (altered performances), black/blank screens, freezes, video output not recognized (DVI/HMDI/VGA), etc.
  • USB not recognized, including both USB 2.0 and 3.0.
  • Network cards not working or stuck at a certain speed.
  • Audio output/input not working.
  • Sleep/Wake/Reboot not working.

Most of these issues can be solved by patching Apple drivers, or installing custom drivers. Some of them, such as DSDT and SSDT tables require advanced knowledge and hacks.

STEP 1 – Creating USB/SD Mountain Lion Installation Drive

For this part, you need to force Finder to show all hidden files (link).

  1. Right Click “Install OS X Mountain Lion” -> Show Package Contents.
  2. Contents -> Shared Support -> InstallESD.dmg.
  3. Open InstallESD.dmg (this will popup the “Mac OS X Install ESD” volume).
  4. In “Mac OS X Install ESD” volume open BaseSystem.dmg (this will popup the “Mac OS X Base System” volume).
  5. Open the Disk Utility application.

Now we will create our USB/SD Mountain Lion installation DVD volume.

  1. Partition your USB/SD device to match two partition, GUID Partition Scheme, both must be Mac OS Extended (Journaled).
  2. The first partition must be around 500MB, and the second one the remaining free space.
  3. Call the first partition CHAMELEON (500MB), and the second one INSTALLDVD (more than 6GB).
  4. Restore “Mac OS X Base System” volume (source) to INSTALLDVD (desination).
  5. Once done, your INSTALLDVD partition should now popup with the name Mac OS X Base System.
  6. Replace “Mac OS X Base System“/System/Installation/Packages (must be removed) by “Mac OS X Install ESD”/Packages (copy/paste)*
  7. Mac OS X Base System” is now your installation DVD volume.

* A more detailed and illustrated guide about this process can be found on this link.

At the end, this is how your USB/SD drive should look like:

Now we must create the bootloader.

  1. Download Chameleon 2.2 r2266 or newer version (from source or package).
  2. Install Chameleon on your CHAMELEON volume (default install, no extra options checked).
  3. Open CHAMELEON, unzip and copy the following Extra folder into it:

ExtraThi_v1.1_10.8.zip
ExtraThi_v1.1_10.8.zip
ExtraThi_v1.1_10.8.zip
Version: 1.1_10.8
54.9 MB
4087 Downloads
Details...

In this Extra folder you will find:

  • DSDT.aml/dsl files are specific to ASUS Sabertooth P67 AND Intel Core i7-2600k! If you have a different configuration you can create and patch your own DSDT, or you can find pre-patched DSDT on this database.
  • SSDT patches for CPU Speedstep have been directly integrated to DSDT (ASUS motherboards does not deal with SSDT for that). If you have a different configuration other than ASUS Sabertooth P67 AND Intel Core i7-2600k, YOU MUST follow these instructions to create your own SSDT or find some help in this forum. If you do not create any SSDT file or patch your DSDT file (for your custom configuration) you will be stuck at some CPU speed (16x for example).
  • Preboot.dmg contains all generic kexts you need to boot, including patched AppleIntelCPUPowerManagement.kext. It also contains the Darwin kernel (12.0.0) for MacOS X 10.8. This Preboot.dmg image should be generic but is dependent of the OS X version.
  • Other files are generic and related to Chameleon configuration.

Once done, eject your drive and boot your computer with it. Chameleon should display a list of bootable drives, you must select “Mac OS X Base System“.

STEP 2 – Install MacOS X Mountain Lion 10.8

Boot your “Mac OS X Base System” drive (which is Mountain Lion Installation DVD) in verbose mode (-v).

Now comes the hard part :-) . If you are lucky enough and if you use the same configuration as me, Mountain Lion Installation DVD will load without any issues. If not, issues can be related to the ones listed in the HackinTosh common issues… Warning! section of this GUIDE. Most issues can be related to your Graphic Card and can be solved with some tricks like GraphicsEnabler=Yes/No. For this reason, I will not list here all issues and solutions, it really depends of your Graphic Card model. By the way, if you plan to buy a new Graphic Card, I recommend you to have a look at this list and buy a “Working Out Of the Box” Graphic Card.

Some people are facing an issue with ATI/AMD Graphics Cards, when the Installation DVD is loaded they see a blank screen and their mouse but nothing else. To fix this issue you have two solutions.

  1. You can press the power button to make your computer sleep, and then press the power button again to wake it. Once awoken you should see the normal Installation screen and no more blank screen. This works only if you have sleep/wake working. It was working for me with my ATI Radeon HD6870 Toxic. :-)
  2. According to this topic, you can delete/backup ATI6000controller.kext which is located in your “Mac OS X Base System“/System/Library/Extensions folder. This step is only for the installation process. Once on Mountain Lion you must put this file back in your /System/Library/Extensions folder.

In case everything works well, you must be able to install Mountain Lion.

RAID0 (optional part)

Those who don’t want to use RAID0 might find this tip useful too, because this tip provide an easy way to backup the Extensions.mkext file to prevent any stuck OS. For example, if you install a bad kext in your /System/Library/Extensions folder that crashes your OS on the next boot, you can easily rollback to one of your previous Extensions.mkext files which does not contain this bad kext ;-)

If you want to install Mountain Lion on a RAID0 software partition you’ll also be interested to read my old post regarding RAID 0 Apple Software + x86_64 kernel + GUID + Dual Boot Seven. Note that if you are planing to install your OS on a RAID0 partition it is way better to have an external chameleon bootloader (located on another drive), because you will face a big issue regarding kexts. Chameleon will not be able to access your RAID0 drive to load Extensions.mkext nor extensions located in the /System/Library/Extensions folder (in case you try to boot without cache -f). For this reason, you need to create the Extensions.mkext cache file in your Chameleon Extra folder BEFORE you try to boot Mountain Lion and AFTER any changes in your /System/Library/Extensions folder. YOU SHOULD FIRST DELETE AppleIntelCPUPowerManagement.kext from your /System/Library/Extensions folder!

Use the following commands everytime you update your OS or update your Extensions folder:

mv /Volumes/CHAMELEON/Extra/Extensions.mkext /Volumes/CHAMELEON/Extra/Extensions.mkext.bak
cd /Volumes/CHAMELEON/Extra/
sudo kextcache -v -l -m Extensions.mkext /System/Library/Extensions

If you have multiple Extensions folders:

mv /Volumes/CHAMELEON/Extra/Extensions.mkext /Volumes/CHAMELEON/Extra/Extensions.mkext.bak
cd /Volumes/CHAMELEON/Extra/
sudo kextcache -v -l -m Extensions.mkext /Extra/Extensions ... /System/Library/Extensions ... /AndAnyOtherFolderContainingkexts

STEP 3 – Boot Mountain Lion 10.8 and install additional kexts

Use your Chameleon USB/SD drive to boot Mountain Lion. When the list of bootable OS popup you just have to choose the name of the OS X partition where you have installed Mountain Lion. Once done… Welcome in Mountain Lion :-)

YOU SHOULD FIRST DELETE AppleIntelCPUPowerManagement.kext from your /System/Library/Extensions folder!
DELETE THIS KEXT AFTER ANY UPDATE OF MOUNTAIN LION, BEFORE REBOOT!

You might want to do is install Chameleon Bootloader to get rid of your USB/SD bootable device. Follow once again the steps to install Chameleon with Extra folder, but this time either select your Mountain Lion partition or another bootable device (if you have installed OSX on a Raid0 partition I recommend you the second option). Then in your BIOS, change settings to boot on the drive where you have installed Chameleon! ;-)

About additional kexts…

Audio, USB 3.0 and Ethernet drivers can be found in MultiBeast – Mountain Lion. The reason why I prefer not to use such tools for a fresh install is because most of the time we don’t know what exactly these applications install. So I prefer creating my own bootloader with my own kexts, which is better in case you need to debug your bootloader.

  • Audio* - If you use my DSDT you must select ALC892 from the “Drivers & Bootloaders -> Drivers -> Audio -> Realtek ALC8xx -> With/Without DSDT” section (use ‘Without DSDT’ if you have not patched your DSDT). Otherwise, you must select the audio driver for your own configuration in case Audio does not work out of the box.
  • USB 3.0 - Install USB 3.0 – Universal from the “Drivers & Bootloaders -> Drivers -> Miscellaneous” section. Make sure you do not have any CalDigit*.kext and PXHCD.kext drivers from your /System/Library/Extensions folder, otherwise you must delete them (and rebuild your cache).
  • Ethernet* – Install hnak’s AppleIntelE1000e Ethernet (from MultiBeast – Mountain Lion) or AppleIntelE1000e.kext (I prefer this method). It is strongly advised to use the stable 2.4.14 version of this kext. Newest versions are very unstable after hours of heavy network usage (i.e. 2.5.4d). This issue has been reported on the official forum topic: here.
AppleIntelE1000e_2.4.14.kext.zip
AppleIntelE1000e_2.4.14.kext.zip
AppleIntelE1000e_2.4.14.kext.zip
Version: 2.4.14
124.3 KB
660 Downloads
Details...

* Note that these drivers depend of your motherboard!

Before each reboot make sure to Repair Permissions with Disk Utility.

Hopefully my NVIDIA GTX 480 and AMD HD6870 Graphics Cards were working out of the box on Mountain Lion. OpenCL, OpenGL and Quartz Extreme are working without any patch :-) . In case you need to patch OpenCL you’ll find more information on this topic. The only issue I faced on Mountain Lion was bad GPU power management of my NVIDIA GTX 480. To fix this issue you need to patch the Infos.plist file contained in the AppleGraphicsPowerManagement.kext folder.

Here are the lines you need to add, right after <key>iMac12,2</key> <dict>. This patch only works for iMac12,2 model and NVIDIA GTX 480! Also be careful when copy/paste, you may need to replace inadequate spaces with tabs… Prefer the pre-patched version if you are unsure!

					<key>Vendor10deDevice06c0</key>
					<dict>
						<key>BoostPState</key>
						<array>
							<integer>0</integer>
							<integer>1</integer>
							<integer>2</integer>
							<integer>3</integer>
						</array>
						<key>BoostTime</key>
						<array>
							<integer>3</integer>
							<integer>3</integer>
							<integer>3</integer>
							<integer>3</integer>
						</array>
						<key>Heuristic</key>
						<dict>
							<key>ID</key>
							<integer>0</integer>
							<key>IdleInterval</key>
							<integer>250</integer>
							<key>SensorOption</key>
							<integer>1</integer>
							<key>SensorSampleRate</key>
							<integer>4</integer>
							<key>TargetCount</key>
							<integer>5</integer>
							<key>Threshold_High</key>
							<array>
								<integer>47</integer>
								<integer>75</integer>
								<integer>93</integer>
								<integer>100</integer>
							</array>
							<key>Threshold_Low</key>
							<array>
								<integer>0</integer>
								<integer>72</integer>
								<integer>90</integer>
								<integer>99</integer>
							</array>
						</dict>
						<key>control-id</key>
						<integer>17</integer>
						<key>LogControl</key>
						<integer>0</integer>
					</dict>

If you still need the full kext, here it is:

AGPM.kext GTX480 iMac12,2 10.8 [FIXED!]
AGPM.kext GTX480 iMac12,2 10.8 [FIXED!]
AppleGraphicsPowerManagement.kext(2).zip
Version: 1.1
44.4 KB
1514 Downloads
Details...

IF YOU ARE UNDER 10.8.3 YOU NEED THIS VERSION OF THE KEXT (you can still patch the original kext manually):

AGPM.kext GTX480 iMac12,2 10.8.3+ ONLY [v1.2]
AGPM.kext GTX480 iMac12,2 10.8.3+ ONLY [v1.2]
AppleGraphicsPowerManagement.kext.10.8.3ONLY_FIXED.zip
Version: 1.2
46.3 KB
698 Downloads
Details...

About iMessage…

HackinTosh computers may have this bad behavior with iMessage, that when you try to sign in to iMessage it fails with an error displaying “Could not sign in to iMessage.“. Fortunately ‘xZeneu LLC‘ released a module for Chameleon r2181 or newer named FileNVRAM.dylib that fixes this issue (download the 1.1.3 version or newer). Make sure that you have the latest version of Chameleon and put the FileNVRAM.dylib module to your /Extra/modules/ folder. Reboot and enjoy iMessage. :-)

Final thoughts…

I’m writing these last lines from my new Mountain Lion OS :-) . I hope you enjoyed this tutorial. Feel free to thank anyone who helped you in this painful task. :-)
Never forget that this hard work was made during spare time and if you need help you’d better ask on hackintosh forums, such as tonymacx86 or InsanelyMac.

And as always, feel free to share the knowledge my friends!

OSX Updates:

10.8.1 UPDATE PROCEDURE [ GOOD ] - Update, reboot, enjoy!

  1. Eitheir update from App Store or direct link.
  2. Use the following updated ExtraThi_v1.1 to boot Mountain Lion, it contains the new OS X Darwin kernel (12.1.0 for MacOS 10.8.1) included in Preboot.dmg.
  3. (Optional) Users who have installed Chameleon 2.1 r2048 (previous version of this GUIDE) can upgrade their CHAMELEON bootloader with Chameleon 2.1 r2050 (from source or package).
ExtraThi_v1.1_10.8.1.zip
ExtraThi_v1.1_10.8.1.zip
ExtraThi_v1.1_10.8.1.zip
Version: 1.1_10.8.1
50.1 MB
1000 Downloads
Details...

10.8.2 UPDATE PROCEDURE [ GOOD ] - Update, reboot, enjoy!

  1. Eitheir update from App Store or direct link.
  2. Use the following updated ExtraThi_v1.1 to boot Mountain Lion, it contains the new OS X Darwin kernel (12.2.0 for MacOS 10.8.2) included in Preboot.dmg.
  3. (Optional) Users who have installed Chameleon 2.1 r2050 (previous version of this GUIDE) can upgrade their CHAMELEON bootloader with Chameleon 2.1 r2060 (from source or package).
ExtraThi_v1.1_10.8.2.zip
ExtraThi_v1.1_10.8.2.zip
ExtraThi_v1.1_10.8.2.zip
Version: 1.1_10.8.2
50.1 MB
1854 Downloads
Details...

10.8.3 UPDATE PROCEDURE [ GOOD ] - Update, patch, reboot, enjoy!

  1. Update using the OS X Mountain Lion Update v10.8.3 (Combo) from direct link.
  2. Patch your AppleGraphicsPowerManagement.kext if needed (Apple updated this kext in this 10.8.3 version, so you need to patch it again).
  3. Use the following updated ExtraThi_v1.1 to boot Mountain Lion, it contains the new OS X Darwin kernel (12.3.0 for MacOS 10.8.3) included in Preboot.dmg.
  4. Users who have installed Chameleon 2.1 r2060 (previous version of this GUIDE) must upgrade their CHAMELEON bootloader with Chameleon 2.2 r2187 or newer version (from source or package).
  5. Apply fixes for Audio/USB3.0/Ethernet/iMessage/etc.
ExtraThi_v1.2_10.8.3.zip
ExtraThi_v1.2_10.8.3.zip
ExtraThi_v1.1_10.8.3.zip
Version: 1.2_10.8.3
38.7 MB
1070 Downloads
Details...

10.8.4 UPDATE PROCEDURE [ GOOD ] - Update, patch, reboot, enjoy!

  1. Update using the OS X Mountain Lion Update v10.8.4 (Combo) from direct link.
  2. Patch your AppleGraphicsPowerManagement.kext if needed (Apple updated this kext in 10.8.3 version, so you need to patch it again if updating via Combo).
  3. Use the following updated ExtraThi_v1.2.1 to boot Mountain Lion, it contains the new OS X Darwin kernel (12.4.0 for MacOS 10.8.4) included in Preboot.dmg.
  4. Users who have installed Chameleon 2.1 r2187 (previous version of this GUIDE) should upgrade their CHAMELEON bootloader with Chameleon 2.2 r2189 or newer version (from source or package).
  5. Apply fixes for Audio/USB3.0/Ethernet/iMessage/etc.
ExtraThi_v1.2.1_10.8.4.zip
ExtraThi_v1.2.1_10.8.4.zip
ExtraThi_v1.2.1_10.8.4.zip
Version: 1.2.1_10.8.4
38.5 MB
800 Downloads
Details...

10.8.5 UPDATE PROCEDURE [ GOOD ] - Update, patch, reboot, enjoy!

  1. Update using the OS X Mountain Lion Update v10.8.5 (Combo) from direct link.
  2. Patch your AppleGraphicsPowerManagement.kext if needed (Apple updated this kext in 10.8.3 version, so you need to patch it again if updating via Combo).
  3. Use the following updated ExtraThi_v1.3 to boot Mountain Lion, it contains the new OS X Darwin kernel (12.5.0 for MacOS 10.8.5) included in Preboot.dmg.
  4. Users who have installed Chameleon 2.2 r2189 (previous version of this GUIDE) should upgrade their CHAMELEON bootloader with Chameleon 2.2 r2266 or newer version (from source or package).
  5. Apply fixes for Audio/USB3.0/Ethernet/iMessage/etc.
ExtraThi_v1.3_10.8.5.zip
ExtraThi_v1.3_10.8.5.zip
ExtraThi_v1.3_10.8.5.zip
Version: 1.3_10.8.5
34.1 MB
849 Downloads
Details...

10.8.5 Supplemental Update 1.0 PROCEDURE [ GOOD ] - Update, patch, reboot, enjoy!

  1. Update using the OS X Mountain Lion v10.8.5 Supplemental Update 1.0 from direct link.
  2. Patch your AppleGraphicsPowerManagement.kext if needed (Apple updated this kext in 10.8.3 version, so you need to patch it again if updating via Combo).
  3. Use the following updated ExtraThi_v1.3.1 to boot Mountain Lion, it contains the new OS X Darwin kernel (12.5.0 for MacOS 10.8.5) included in Preboot.dmg.
  4. Users who have installed Chameleon 2.2 r2263 (previous version of this GUIDE) should upgrade their CHAMELEON bootloader with Chameleon 2.2 r2266 or newer version (from source or package).
  5. Apply fixes for Audio/USB3.0/Ethernet/iMessage/etc.
  6. For Ethernet, you should consider using AppleIntelE1000e.kext v2.4.14
  7. SAPPHIRE HD 6870 4 PORT kext 10.8.5 patched – Install the patched ATI6000Controller.kext (replace the original one provided by Apple) to fix DVI/HDMI outputs of your Sapphire HD6870 Graphics Card. With the original ATI6000Controller.kext only one DVI output is working out of the box.
ExtraThi_v1.3.1_10.8.5.zip
ExtraThi_v1.3.1_10.8.5.zip
ExtraThi_v1.3.1_10.8.5.zip
Version: 1.3.1_10.8.5
33.6 MB
776 Downloads
Details...

Please note that after each update Audio/USB3.0/Ethernet/etc. might be broken. Make sure to fix them right after the update.

RAID0 users: After each update do not forget to rebuild your Extensions.mkext!

Incoming search terms:

109 Comments :, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , more...

John the Ripped – Steak and French Fries With Salt and Pepper Sauce for Hungry Password Crackers

by on May.20, 2012, under Crack1ng, Guides and tutorials, Hack1ng. 29,665 views

John the Ripper into its latest community enhanced version (John the Ripper 1.7.9-jumbo-5) has many advanced features. Most of them are without any doubt very useful and appreciated such as MD5 hash cracking.

Four days to come before Hack In The Box Amsterdam 2012 security conferences. Excitement is at its top level, bags are already packed and iOS Hacker’s Handbook is left open on the beside table. But because it is always time for challenges, I decided to face one that I have in mind for years…

Cracking a custom hash algorithm and making your own password cracking cluster would be great huh… ? :-) Well you know what? You can do it with John the Ripper jumbo version ;-)

Updates: (subscribe to my twitter to get notified)

  • 11/16/2012 – Note about run/dynamic.conf file. No need to recompile, much more easier to edit! :-D
  • 11/16/2012 – Note dynamic function names up to 999 are reserved!
  • 11/16/2012 – Added “–subformat=LIST” tip.

Prepare salt and pepper sauce… the French Cuisine

Most of the time, hashed passwords are salted and combined with different famous hash algorithms. For example, administrators who have a little sensibility with security will hash user passwords with different combinations, i.e. sha1(md5($salt.$password).”HelloWorld”). This kind of classic enhanced security to store hashed passwords makes the job harder for password crackers.

First of all the attacker needs to know how passwords were hashed. Reverse engineering is always a good start but the easiest way is to get the sources. The second point and the one I’ld like to talk in the first part of this article is to implement and use your own hash algorithm for cracking purpose.

  • First go to http://www.openwall.com/john/, and download the latest jumbo “community enhanced” version. When I write this article the latest stable release was 1.7.9-jumbo-5
$ wget http://www.openwall.com/john/g/john-1.7.9-jumbo-5.tar.gz
$ tar -xvzf john-1.7.9-jumbo-5.tar.gz
  • Let’s see what we have here…
$ cd john-1.7.9-jumbo-5/src/

Before changing anything, we’ld like to check if it compiles well.

  • The make command will list all available compilation modes. This time I’m gonna compile john on MacOS X Lion 10.7.3. Choose the one you prefer…
john-1.7.9-jumbo-5/src$ make
john-1.7.9-jumbo-5/src$ make macosx-x86-64
  • If everything is ok you should see john binaries and configuration files into the run directory
john-1.7.9-jumbo-5/src$ cd ../run/
john-1.7.9-jumbo-5/run$ ./john --test
  • Now go back to the src directory
john-1.7.9-jumbo-5/run$ cd ../src/

In the introduction I talked about a custom hash algorithm such as sha1(md5($salt.$password).”HelloWorld”). So let’s take this one as example. :-)

Note: A similar procedure can also be applied directly to the run/dynamic.conf file, where you can add your own dynamic functions ([List.Generic:dynamic_XXXX]) without the need to recompile.

What we’ll need to modify is dynamic_preloads.c. This is where we can create our custom algorithm under the name of dynamic_1666. Names up to dynamic_999 are reserved, so make sure to use a number which is not already in use by another dynamic function. Use the command “./john –subformat=LIST” to check available numbers.

Additionally, you’ll find into this file many example of classic dynamic subformats such as md5(md5($password)). I advice you to understand by your own how things work before doing anything.

  • When you are ready, open dynamic_preloads.c and add these new lines
//dynamic_1666 --> sha1(md5($s.$p)."HelloWorld") BY THIREUS
static DYNAMIC_primitive_funcp _Funcs_1666[] =
{
	DynamicFunc__clean_input,
	DynamicFunc__append_salt,
	DynamicFunc__append_keys,
	DynamicFunc__crypt,
	DynamicFunc__SSEtoX86_switch_output1,
	DynamicFunc__clean_input2,
	DynamicFunc__append_from_last_output_to_input2_as_base16,
	DynamicFunc__append_input2_from_CONST1,
	DynamicFunc__SHA1_crypt_input2_to_output1_FINAL,
	NULL
};
static struct fmt_tests _Preloads_1666[] =
{
	{"$dynamic_1666$e964aa651052d2bbd64aea60756d7705634187f6$admin","password"}, // salt=admin, password=password
	{"$dynamic_1666$4a573951007f7d23eb411c066e2cfb8a175a76d2$123456789","heydude"},
	{"$dynamic_1666$fee9c8708b2e1a177acd350513c14ce0e9900609$salted","test123"},
	{"$dynamic_1666$d8e18f5f1035ce486dd3a08911a4205d78fc7f49$bonjour","awesome"},
	{NULL}
};
static DYNAMIC_Constants _Const_1666[] =
{
	{"HelloWorld"},
	{NULL}
};

If you are curious about how to declare DynamicFunc__ actions and optimise your function, you’ll find all you need in dynamic_parser.c and dynamic_fmt.c  ;-)

  • Finally at the end of the  file, we need to specify hashes format
{ "dynamic_1666: sha1($s.md5($p).\"HelloWorld\")", _Funcs_1666,_Preloads_1666,_Const_1666, MGF_SALTED|MGF_SHA1_40_BYTE_FINISH, MGF_NO_FLAG },
  • Once everything is in place, we have to clean and compile again.
john-1.7.9-jumbo-5/src$ make clean
john-1.7.9-jumbo-5/src$ make macosx-x86-64
  • You should see john binaries and configuration files into the run directory. And you can run the –test option of John the Ripper.
john-1.7.9-jumbo-5/src$ cd ../run/
john-1.7.9-jumbo-5/run$ ./john --test

New lines should appear to display benchmark scores for your function.

Benchmarking: dynamic_1666: sha1($s.md5($p)."HelloWorld") [SSE2i 10x4x3]... DONE
Many salts:	1855K c/s real, 1995K c/s virtual
Only one salt:	1741K c/s real, 1852K c/s virtual

Benchmarking: dynamic_1666: sha1($s.md5($p)."HelloWorld") [64x2 (MD5_Body)]... DONE
Many salts:	1373K c/s real, 1509K c/s virtual
Only one salt:	1283K c/s real, 1410K c/s virtual
  • You can also verify that your dynamic function exists with the following command.
john-1.7.9-jumbo-5/run$ ./john --subformat=LIST

Tests fails? :-(

There are many reasons why tests can fail. The main reasons are due to a bad use of DynamicFunc__ actions, bad order or bad implementation. This will result into a verbose fail of John before starting any tests.
Another common issue, could be that your fmt_tests are broken, meaning bad format for example, this results into a FAILED (valid) error during the tests.
And one last point, if you hash long strings using SSE mode your tests will automatically fail! That’s the reason why you have to switch between SSE and X86 mode using functions such as DynamicFunc__ToX86 or DynamicFunc__SSEtoX86_switch_output1.

  • You should now be ready to crack these passwords
lydia:$dynamic_1666$72d4d61b4e5db9ef8704d1af81284c67eea640dd$skyrim
admin:$dynamic_1666$70ea6b7f633305f04521683226ecabd0537e90ec$example.com
user123:$dynamic_1666$907c7df1d7e349e98184d74fb7486c77eaf76d60$example.com
Thireus:$dynamic_1666$e41c041fda28b3615b63acddb6407cf74b354d66$CestLaFeteAlouette
  • Put them into a hash.txt file, and crack them all :-)
john-1.7.9-jumbo-5/run$ ./john hash.txt

Step by step instructions for grilling the perfect steak… with MPI enabled barbecue

Few months ago I wrote an article that explains how to compile John the Ripper with OpenMP enable to take advantage of Multiple Cores. Crack Passwords using John the Ripper with Multiple CPU Cores (OpenMP). OpenMP is good for algorithms such as DES which can be used by default with this awesome feature. The bad news is that not all algorithms are compatible with OpenMP, such as MD5 or SHA1. Fortunately there is one good news :-) we can use the MPI (Message Passing Interface) feature of John the Ripper, to take advantage of all our CPU cores with any algorithm! :-D

Before going any further, some packages are required. You have to install OpenMPI.

  1. Under MacOS you can do it via MacPorts using the “sudo port install openmpi” command.
  2. Under Linux you can get everything with “sudo apt-get install libopenmpi-dev openmpi-bin openmpi-doc“.

Make sure your have the mpirun command available.

  • Now what you have to do is to open John’s Makefile and edit two lines
$ cd john-1.7.9-jumbo-5/src/
john-1.7.9-jumbo-5/src$ nano Makefile
  • Locate the following lines
#CC = mpicc -DHAVE_MPI -DJOHN_MPI_BARRIER -DJOHN_MPI_ABORT
#MPIOBJ = john-mpi.o
  • Uncomment MPI flags
CC = mpicc -DHAVE_MPI -DJOHN_MPI_BARRIER -DJOHN_MPI_ABORT
MPIOBJ = john-mpi.o
  • Once everything is in place, we have to clean and compile again
john-1.7.9-jumbo-5/src$ make clean
john-1.7.9-jumbo-5/src$ make macosx-x86-64

Under Linux, compilation should work out of the box. Under MacOS users will face this issue:

john-mpi.c:6:10: fatal error: 'omp.h' file not found
#include <omp.h>
         ^
1 error generated.
make[1]: *** [john-mpi.o] Error 1
make: *** [macosx-x86-64] Error 2

To fix it, just open the john-mpi.c file and comment omp.h file inclusion (which is not needed and must not be used under MacOS X)

#include "john-mpi.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
//#include <omp.h>

Now it should compile and run fine with mpirun :-)

john-1.7.9-jumbo-5/run$ mpirun -n 8 ./john hash.txt

You need to adjust the number of cores depending on your CPU ;-) . With the previous command the work is now split in 8 sub-processes, one per core on my i7-8600K. Isn’t that great? :-D

Warning: Once the number of cores has been fixed for a session, don’t change it unless you know what you are doing. Because for sure it can break your work :-(

Note that you can use sessions, and similar options that can be associated with mpirun. For example, if you want to know the state of a session:

john-1.7.9-jumbo-5/run$ mpirun -n 8 ./john --status=mysavedsession

This will read for you all the “mysavedsession.%d.rec” where %d is a number between 0 and 7 in this case. One last thing, sessions are saved every 10 minutes, so don’t be scared if the status command displays null stats for the first 10 minutes ;-)

Cook some French fries for your steak

So you have many computers in your room, and want to take advantage of all CPUs? As promised, I’ll talk about clustering here for advanced users only :-)

Before going any further, some packages are required. You have to install OpenMPI and mpich2.

  1. Under MacOS you can do it via MacPorts using the “sudo port install openmpi mpich2” command.
  2. Under Linux you can get everything with “sudo apt-get install libopenmpi-dev openmpi-bin openmpi-doc mpich2

Make sure your have the mpirun command available and hydra_pmi_proxy.

hydra_pmi_proxy is the binary file which is used to talk between computers. It is located under “/opt/local/bin/hydra_pmi_proxy” on MacOS X and “/usr/local/bin/hydra_pmi_proxy” under Linux.

What you need to know now is that any systems must run the same John the Ripper version, in the same directory and use the same version of mpich2. If this is not the case you can manually compile and install mpich2 and also create symbolic links with “ln -s” command.

For example, to talk between MacOS and Linux I had to make sure hydra_pmi_proxy can be reached using the same path on both systems.

ln -s /usr/local/bin/hydra_pmi_proxy /opt/local/bin/hydra_pmi_proxy

Now that all your computers are ready, make sure you can reach them via ssh, because this is the way used by MPI messages. So I advice you to create SSH key pairs. Once done, create a nodes.txt file, containing ip addresses of the computers you want to use.

toto@192.168.1.145
localhost
localhost
localhost
localhost
mike@192.168.4.12
mike@192.168.4.12
mike@192.168.4.12
mike@192.168.4.12
192.168.5.5
192.168.5.5
paul@mydomain.com
paul@mydomain.com

You can now use this file to invoke commands on other systems. Let’s start with “john-1.7.9-jumbo-5/run/john –test”.

mpirun -f nodes.txt -n 18 john-1.7.9-jumbo-5/run/john --test

You may have noticed that I’m not using 18 processes (18 CPU cores). Because once the end of the nodes.txt file is reached, mpirun will start again at the beginning of the file, making loops. toto@192.168.1.145 will thus be used twice, as well as the 4 localhost. You should now be ready to play with your own password cracking cluster :-D  

Ready to serve. Bon appétit ! :-)

Incoming search terms:

29 Comments :, , , , , , , , , , , , , , , , , , , , more...

Unigine Heaven 3.0 for MacOS X – 3D Benchmark your HackinTosh!

by on Mar.10, 2012, under  Hack1nT0sh,  MacOS. 27,150 views

Unigine Heaven Benchmark

Unigine Heaven 3.0 is out for MacOS X. We finally have a good 3D benchmark software on Mac!

You can download Unigine Heaven from this page: https://unigine.com/products/heaven/download/. Downloads are available for Windows, Linux and now OSX!

Today I benchmarked my NVIDIA ENGTX480 and AMD HD6870 graphics cards. These two very powerful graphics cards (PassMark High End Video Card Chart) are plugged into my HackinTosh build and connected to two different Full HD 1080p screens. Let’s see how each card deals with Unigine Heaven 3.0 at Maximum Settings!

Edit: First results were wrong. Have a look at the “Bad Results” section to know more ;-)

Unigine Heaven for OSX

First of all, under MacOS X there is no DirectX. So Unigine Heaven 3.0 uses the OpenGL API, which is one of the best way to 3D bench your GPU.

Uningine Heaven 3.0 Basic Edition MacOS X

This is how the main menu looks like… I pushed all settings to the maximum (no Stereo 3D, I don’t have 3D glasses :-p ).

We clearly see that two OSX applications can be run at the same time with their own dedicated GPU and screen.

About the HackinTosh build…

Thireus 10.7.3 HackinTosh

Let’s see what we have here…

  • CPU: Intel – Processeur – Intel Core i7 2600K / 3,4 GHz – LGA1155 Socket – L3 8 Mo
  • RAM: G.Skill Kit Extreme3 2 x 4 Go PC15000 Sniper CAS 9
  • MotherBoard: ASUS SABERTOOTH P67 (rev. B3) – Socket 1155 – Chipset P67 – ATX
  • GPU: SAPPHIRE ATI Radeon HD6870 Toxic | 1024 Mo DDR5 – PCI Express – DUAL DVI / HDMI / mini DP
  • GPU: ASUS ENGTX480/2DI/1536MD5 GeForce GTX 480 (Fermi) 1536MB 384-bit GDDR5 PCI Express 2.0 x16 HDCP Ready SLI Support Video Card
  • Power Supply: OCZ Z Series Gold OCZZ1000M 1000W
  • CPU Cooler: COOLER MASTER HYPER 212 PLUS
  • Case: Lian Li PC-K63

Nothing extreme, just a common HackinTosh build with two graphics cards in it :-)

Graphics/Display OSX 10.7.3 System Information

Benchmark Results!

I have benchmarked both NVIDIA ENGTX480 and AMD HD6870 graphics cards with Unigine Heaven 3.0. Results are very good for the NVIDIA card, but poor for the AMD card with maximum settings.

Default Settings :

NVIDIA ENGTX480 Unigine Heaven 3.0 63.4 FPS Default Settings AMD HD6870 Unigine Heaven 3.0 56.9 FPS Default Settings

Maximum Settings :

NVIDIA ENGTX480 Unigine Heaven 3.0 47.1 FPS Maximum Settings AMD HD6870 Unigine Heaven 3.0 40.7 FPS Maximum Settings

Bad Results?

The first time I benchmarked my AMD HD6870, results were very bad… My uptime was about 24 hours. So I did a fresh new boot, and everything was fine after that for the AMD card. NVIDIA ENGTX480 results were good.

I have noticed that my AMD HD6870 graphics card performance degrades over time. This is a known issue from other AMD GPU owners of the HackinTosh community.

If you face the same issue, I advice you to reboot first, it is always better to benchmark after a fresh boot :-) . Then check if you have the latest Kernel version and the latest Kexts for your video card (www.osx86.net is a good place to find these stuffs).

Conclusion

Both graphics cards are very good and run well under MacOS X 10.7.3. The NVIDIA card is very tricky to install under MacOS X Lion (and a lot more under Snow Leopard 10.6), but once you get all things done it’s just a real pleasure working with it ;-) . The AMD HD6870 works out of the box under MacOS X Lion, everything is fluid, no freezes, no KP at all, but the results are here, this card is less powerful.

I’m planing to write another article regarding CUDA, PhysX, OpenCL, OpenGL benches, and the advantages to have two powerful graphics cards (AMD + NVIDIA) into your HackinTosh. I keep you in touch on twitter ;-)

One last thing for my readers, those who own a GTX480 and are frustrated with lags but can’t wait for my next article… here’s a little gift for you (only works if your HackinTosh model is iMac12,2).

AGPM.kext GTX480 iMac12,2 10.7.3
AGPM.kext GTX480 iMac12,2 10.7.3
AppleGraphicsPowerManagement.kext.zip
Version: 1.0
68.9 KB
725 Downloads
Details...

Incoming search terms:

4 Comments :, , , , , , , , , , , , , , , , , , , more...

Page 1 of 3123

Thireus on Twitter