Jump to content

[UEFIPatch] UEFI patching utility


CodeRush
1,981 posts in this topic

Recommended Posts

do not agree on the speech you do on asus boards, I had two asus boards and I've never had problems with hackintosh .... only has the problem of native PM ... but with this problem coderush has created an excellent utility.

 

Ps:@coderush i have file cap 4102 bios asus r4e , but first rename in rom and after i use you utilty or can without rename ?

Link to comment
Share on other sites

Renaming is necessary because you must use ASUS USB BIOS flashback, each motherboard requires that the bios file has a specific name.

I saw a list of these names on a blog somewhere, or you can use a tool from ASUS called BIOS Renamer or something like that.

PMPatch doesn't care what name the file has, you can name it fluffyunicorn.lol if you want.

 

I've ran four generations of OS X on three generations of Intel chipset ASUS boards so far with great results, maybe I got lucky or bought the right boards. Or maybe I'm just good at it. lol

Link to comment
Share on other sites

Gringo...for me asus it is the special one also for hackintosh...before on my old gigabyte ..only problem ..mhmm never again ..gigabyte in my house, it has a slow boot and usb only annoyance stressful

 

But i dont unterstand how rename my bios ufficial from asus site...uff

How to use ...please step by step

Link to comment
Share on other sites

It's pretty straightforward. Download the attachment and read the readme.

http://www.insanelymac.com/forum/topic/285444-pmpatch-uefi-patching-utility/?p=1929505

 

/EDIT

 

Reading previous posts..your board is a Rampage IV Extreme yes?

 

No need to use BIOS renamer, just name the patched file R4E.CAP and you're good to go.

Dude, you could have found this information yourself with google in 5 seconds.

If you google ASUS BIOS flashback the very first hit has this information.

Link to comment
Share on other sites

No need to use BIOS renamer, just name the patched file R4E.CAP and you're good to go.

Dude, you could have found this information yourself with google in 5 seconds.

If you google ASUS BIOS flashback the very first hit has this information.

 

I'm sorry, but if I take the bios.cap and dragged him into the utilty coderush 0.5.13, this automatically creates me a patched bios for native speed step, why do I need usb flash back? just take the modified bios and flash with EZFlash bios or not?

Link to comment
Share on other sites

Because the only way to flash a modified, non-factory BIOS is with USB BIOS flashback, which as you know by now, require the file to be named in a certain way in order to work.

So put bios mod inside pen drive ( format fat 32 ) and use usb flash back mode ?

But first use usb flash back ( bios original on another pen drive ) buck up if something is not right...or magnifico dont unterstand nothing ?

 

.

Link to comment
Share on other sites

Please stop, this is getting silly. Or create a new topic if you must.

 

How to use USB BIOS flashback is explained in detail in your motherboard manual, now is a good time to read it.

 

listen to me and not 'stupid, and I know what and' a manual and how to use usbflashback, maybe my English is not 'played well ... end of story

 

If this is a off topic ...delete my post ...i am not stupid man ...

Link to comment
Share on other sites

;)

and this a message error

so for me i need rename file.but dont work also i rename i

localhost:~ carmine$ /Users/carmine/Desktop/NewBios/PMPatchPMPatch 0.5.13This program patches UEFI BIOS filesto be compatible with Mac OS X SpeedStep implementationUsage: PMPatch INFILE OUTFILElocalhost:~ carmine$ /Users/carmine/Desktop/NewBios/Rampage-IV-Extreme-ASUS-4102.CAP-bash: /Users/carmine/Desktop/NewBios/Rampage-IV-Extreme-ASUS-4102.CAP: cannot execute binary filelocalhost:~ carmine$
Link to comment
Share on other sites

@ Gringo

I reasoned with my brain, and I realized that I had to rename the file as BRenamer (works only for windows OS) once you have the file R4E.cap I used the utility of PMPatch 0.5.13 coderush, I opened the Terminal and I entered the PMPatch file, so it's not like you say, you have to rename the file.

You write this : No need to use BIOS renamer, just name the patched file R4E.CAP and you're good to go.

 

So It's not like you say ,
 
and this is the result, you can see by the path in the Terminal

 

 

localhost:~ carmine$ /Users/carmine/Desktop/NewBios/PMPatch /Users/carmine/Desktop/NewBios/Rampage-IV-Extreme-ASUS-4102.CAP /Users/carmine/Desktop/NewBios/R4E.CAP
PMPatch 0.5.13
PowerManagement modules not found.
PowerMgmtDxe/PowerManagement2.efi modules not found.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 0079CAC8 patched.
CpuPei module at 007DCAC8 patched.
Output file generated.
localhost:~ carmine$

 

Perhaps, as regards USB FLASH BACK, meant that the right way to Flash was just this, because Asus EZ Flash cannot read mod file because it has a broken safety control
 
End of story
and I don't want to make unnecessary controversy, thanks for your help
 
:wink_anim:
Link to comment
Share on other sites

 

;)

and this a message error

so for me i need rename file...in .rom , but dont work also i rename in.rom

localhost:~ carmine$ /Users/carmine/Desktop/NewBios/PMPatch
PMPatch 0.5.13
This program patches UEFI BIOS files
to be compatible with Mac OS X SpeedStep implementation

Usage: PMPatch INFILE OUTFILE

localhost:~ carmine$ /Users/carmine/Desktop/NewBios/Rampage-IV-Extreme-ASUS-4102.CAP
-bash: /Users/carmine/Desktop/NewBios/Rampage-IV-Extreme-ASUS-4102.CAP: cannot execute binary file
localhost:~ carmine$

You got this error message because you do not type the correct command line:

 

Usage: PMPatch INFILE OUTFILE

 

so you should type, for instance:

 

PMPatch  Rampage-IV-Extreme-ASUS-4102.CAP  NEW_Rampage-IV-Extreme-ASUS-4102.CAP

 

But you use only Rampage-IV-Extreme-ASUS-4102.CAP as a command line, without the program and the output file...

Link to comment
Share on other sites

Hi guys...i'll almost to buy exactly the same motherboard of Magnifico (Rampage-IV-Extreme). I cannot understand 2 things:

1/  after modding process of bios...in the future i'll have to use always the PM.kext, or  i'll be fine just with bios ?

2/ If i'll need always the powermanagement kext ....it must be a  patched kext , or also an original untouched powermanagement kext will work?

Thank you very much in advance!

Link to comment
Share on other sites

I was contacted by Jose Philips today via Skype, he has found a BIOS file, that can't be patched by PMPatch. It's normal to find one, but this file is definitely special and worth telling it's story.

Behold, a new version 2209 of Intel UEFI BIOS for old Intel DP67BG board. Looks like normal UEFI BIOS, behaves like normal UEFI BIOS, what's special about it?

First, it can't be patched by any current patch included in PMPatch, I'm OK with that, next.

Second, it can be opened by PhoenixTool 2.14, big thanks go to AndyP, it's cool, next.

Third and finally, this file is an Intel's tribute to Inception movie, because it has modules with 12 (twelwe!) levels of inclusion (EFI Capsule->Firmware Volume->File->File->...->File). 

The module with locking code has only 9 levels of inclusion, which is a kid level for this UEFI BIOS.

Intel has also removed all UI sections from their modules, so we can name one a "PowerManagement module" or something. There are only GUIDs, they are for real men.

The module with 0xE2 locking code has 62D171CB-78CD-4480-8678-C6A2A797A8DE GUID and there are 2 copies of this module in that BIOS.

The locking code itself is nothing special:

  0000000000005E4E: B9 E2 00 00 00     mov         ecx,0E2h                ; copy 0xE2 MSR number to ECX
  0000000000005E53: E8 EA AE 00 00     call        0000000000010D42        ; rdmsr inside  
  0000000000005E58: 48 89 44 24 28     mov         qword ptr [rsp+28h],rax ; copy read value of 0xE2 from RAX to some memory address
  0000000000005E5D: 48 8B 44 24 28     mov         rax,qword ptr [rsp+28h] ; copy the same value back to RAX (not sure if too smart or just stupid)
  0000000000005E62: 48 25 00 80 00 00  and         rax,8000h               ; set all bits of RAX except 15 (LOCK) to 0
  0000000000005E68: 48 85 C0           test        rax,rax                 ; test if lock bit is already set
  0000000000005E6B: 75 31              jne         0000000000005E9E        ; if so, jump over the next 10 lines 
  0000000000005E6D: B9 E2 00 00 00     mov         ecx,0E2h                ; if not, copy 0xE2 MSR number to ECX again
  0000000000005E72: E8 CB AE 00 00     call        0000000000010D42        ; rdmsr inside
  0000000000005E77: 48 89 44 24 28     mov         qword ptr [rsp+28h],rax ; RAX to memory
  0000000000005E7C: 48 8B 44 24 28     mov         rax,qword ptr [rsp+28h] ; memory to RAX (I like to move it, move it ...)
  0000000000005E81: 48 0D 00 80 00 00  or          rax,8000h               ; set bit 15 (LOCK) of RAX to 1 
  0000000000005E87: 48 89 44 24 28     mov         qword ptr [rsp+28h],rax ; RAX to memory
  0000000000005E8C: 48 8B 44 24 28     mov         rax,qword ptr [rsp+28h] ; memory to RAX (You like to move it, move it ...)
  0000000000005E91: 48 8B D0           mov         rdx,rax                 ; copy RAX to RDX
  0000000000005E94: B9 E2 00 00 00     mov         ecx,0E2h                ; copy 0xE2 MSR number to ECX
  0000000000005E99: E8 62 4D 00 00     call        000000000000AC00        ; wrmsr inside
  0000000000005E9E: E8 79 AB 00 00     call        0000000000010A1C        ; execution continues here

The patch itself is 73 31 to EB 31, which disables WRMSR part of this code. Can be done with PhoenixTool now.

I have no plans for integrating this patch to PMPatch, because will be really a chalenge to implement 9 levels of inclusion traversal without any traversal code. Will be done some day, I hope. 

Modified BIOS file is attached.

BG2209P_PM.zip

  • Like 4
Link to comment
Share on other sites

Hi guys...i'll almost to buy exactly the same motherboard of Magnifico (Rampage-IV-Extreme). I cannot understand 2 things:

 

1/  after modding process of bios...in the future i'll have to use always the PM.kext, or  i'll be fine just with bios ?

 

2/ If i'll need always the powermanagement kext ....it must be a  patched kext , or also an original untouched powermanagement kext will work?

 

Thank you very much in advance!

 

To run OSX with Apple PowerManagement, you have 3 solutions:

1) use a motherboard with a bios that permits it (mainly Gigabyte  boards)

2) use a patched AICPUPM kext

3) use a patched bios that will make your "locked" bios to behave like case #1 (Asus, Asrock and a lot of other brands).

 

Once you patched your bios using PMPatch or PhoenixTools or other methods, you can install and run with vanilla PM.

It is the whole point of patching your bios: you do not have to use patched kext anymore for PM.

  • Like 1
Link to comment
Share on other sites

To run OSX with Apple PowerManagement, you have 3 solutions:

1) use a motherboard with a bios that permits it (mainly Gigabyte  boards)

2) use a patched AICPUPM kext

3) use a patched bios that will make your "locked" bios to behave like case #1 (Asus, Asrock and a lot of other brands).

 

Once you patched your bios using PMPatch or PhoenixTools or other methods, you can install and run with vanilla PM.

It is the whole point of patching your bios: you do not have to use patched kext anymore for PM.

Thanks mate...now it's clear!

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I have an Asus UX32VD laptop which has UEFI installed on. But recently I just switched it to SSD and now if I look into the Windows/Panther directory in one of the file. I dont see UEFI anymore only BIOS. Can I fix this problem before marching on with OSX86 installation

Link to comment
Share on other sites

And it will be done as soon as I have enough time for programming. My exam session ended 2 days ago, and in 2-3 weeks I will finally have some time for PMPatch successor I've planned to write about 3 months ago.

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...