Jump to content

[UEFIPatch] UEFI patching utility


CodeRush
1,981 posts in this topic

Recommended Posts

Hi Coderush,

Problem to patch the UEFI BIOS of Maximus VII Gene (i don't know if it's locked by it does not hurt to patch i guess)

 

Please see the terminal logs :

Last login: Tue Jun 24 06:28:53 on console
pc10:~ Nico$ /Users/Nico/Desktop/PMPatch /Users/Nico/Desktop/MAXIMUS-VII-GENE-ASUS-0904.CAP /Users/Nico/Desktop/MAXIMUS-VII-GENE-ASUS-0904PATCHED.CAP 
PMPatch 0.5.14
PowerManagement modules not found.
PowerMgmtDxe/PowerManagement2.efi module at 00290C00 not patched: Repacked module can't be inserted.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 0068D670 not patched: Patch pattern not found.
CpuPei module at 0078D670 not patched: Patch pattern not found.
pc10:~ Nico$ 


Thanks

Link to comment
Share on other sites

C:\>pmpatch bios.bin bios-pm.bin
PMPatch 0.5.14
PowerManagement module at 004054A0 patched.
PowerMgmtDxe/PowerManagement2.efi modules not found.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 00790AA8 not patched: Patch pattern not found.
CpuPei module at 007D0AA8 not patched: Patch pattern not found.
Output file generated.
 
C:\>
 
 
hi could you tell me if everything was ok? 
Thank you very much 
greetings

 

Link to comment
Share on other sites

 

C:\>pmpatch bios.bin bios-pm.bin
PMPatch 0.5.14
PowerManagement module at 004054A0 patched.
PowerMgmtDxe/PowerManagement2.efi modules not found.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 00790AA8 not patched: Patch pattern not found.
CpuPei module at 007D0AA8 not patched: Patch pattern not found.
Output file generated.
 
C:\>
 
 
hi could you tell me if everything was ok? 
Thank you very much 
greetings

 

When you see output file generated, everything is ok, read first post in thread

Link to comment
Share on other sites

Hi!

 

I extract the dell 7240 biusupdate.exe in custom DellBiosExtract.py script.

This generate xxxxxx.hdr, rename to .bin

Then load this file in UEFITool and image save to dellbios.bin

Then run UEFIPatch and this output looks good.

 

C:\Users\Robi\Desktop\UEFIPatch>UEFIPatch.exe 7240.bin

Body of PE32+ image section patched, 75080fbae80f89442430 -> eb080fbae80f89442430
Image patched
 
This generate 7240.bin.patched file.
 
But my questíon:
How tu update my BIOS from this bin file?
 
Thanks for Help!
Link to comment
Share on other sites

I have a MSI MPOWER MAX and I couldnt get OS X on it. I heard I needed to patch the BIOS however I have zero idea how to do this or how to get started. Could someone do it for me?

 

Specs:

4770K

MSI Mpower Max Z87

MSI 780 Lightning

Corsair Vengence 16GB (2x8GB) 1600, DDR3

 

I will attach my latest BIOS

 

Apparently I cant attach the file but if you could help me that would be great and this is the link to the BIOS

Link to comment
Share on other sites

@CodeRush I tried patching a Z68XP-UD3 UEFI but I get 

MacPro:UEFIPatch_0.1.0_osx nano$ ./UEFIPatch z68-894-smc.rom 
parseInputFile: descriptor parsing failed, descriptor region has intersection with BIOS region
FFS file or search pattern not found in input file

I checked the patches.txt file to see the GUID's and I do have them:

|117|PowerManagement|8C783970-F02A-4A4D-AF09-8797A51EEC8D|003E87CE|004D1D|DRVR|

|013|CpuPei         |2BB5AFA9-FF33-417B-8497-CB773C2B93BF|003CBCE8|00160E|PEIM|

Any clue whats the problem?

 

Thanks

Link to comment
Share on other sites

I have completely rewrote UEFIPatch to make it more powerful, new features are described here and in supplied patches.txt file. 

There is no big changes for OSX users, the PM patches are the same.

  • Like 4
Link to comment
Share on other sites

paulxandrei, no one can provide any guarantee for methods that use undocumented keys and non-vendor flashing utilities.

Sometimes it works, sometimes it doesn't, and SPI programmer is the best solution there.

Your chip is fine, BTW, no need to replace it physically, flashing a full BIOS dump from the same motherboard will be enough.

  • Like 1
Link to comment
Share on other sites

paulxandrei, no one can provide any guarantee for methods that use undocumented keys and non-vendor flashing utilities.

Sometimes it works, sometimes it doesn't, and SPI programmer is the best solution there.

Your chip is fine, BTW, no need to replace it physically, flashing a full BIOS dump from the same motherboard will be enough.

 

yeah , i know the chip is fine. its empty!!! dahh! what normal users know how to program with SPI? i dont! my notebook was literaly dead. no power , no nothing, i was lucky i still have rma asus in time. asus rma , replace the motherboard. so even they dont use SPI. god lord , now my notebook is fine.

Link to comment
Share on other sites

What "normal" user will patch anything in his/her UEFI firmware? What "normal" user aims to install unsupported OS that can't be legally used in most countries? What kind of normality is this?

I'm glad that your laptop is fine now, but it seems that you are blaming me for some reason. Please don't do it, if you are "normal" and can't use SPI programmer to make backup dump before any possible failure happens - it's totally not my fault. 

 

To any new readers of this topic: it's you who takes all the risk of bricking your board, it's you who is responsible for all things that you have done to your PC, not me or any other developer out there.

  • Like 6
Link to comment
Share on other sites

What "normal" user will patch anything in his/her UEFI firmware? What "normal" user aims to install unsupported OS that can't be legally used in most countries? What kind of normality is this?

I'm glad that your laptop is fine now, but it seems that you are blaming me for some reason. Please don't do it, if you are "normal" and can't use SPI programmer to make backup dump before any possible failure happens - it's totally not my fault. 

 

To any new readers of this topic: it's you who takes all the risk of bricking your board, it's you who is responsible for all things that you have done to your PC, not me or any other developer out there.

1. 90% of users are normal, very normal usr that dont know what is SPI.

2. 10% are usr like you PRO users.

3. its not your fault or un-vendor tools i use.

4. is my fault, next time .. i will go with RehabMan trick so i dont need complicate things when is so simple.

Link to comment
Share on other sites

@Coderush,

 

Just want to thank you again for sharing these Miraculous tools and docmentation.

 

I bricked my Bios on a P9x79 Pro.  The Flash Back feature will only flashes the Converter Bios and it will not let me flash any Bios from that version on up.  I am lucky because I have an old 2008 Zeltek 580U Prom burner and the Bios chip pulled right out.

 

I used you EFITool to extract the ROM without the Cap header but want to make sure I did this correctly with screen shot.  I right clicked on the image file and saved as is.  I then flashed the 4701 bios rom extension and took a screen shot of the hex and it seems like it has the typical 5A A5 code right under the FF....

 

Just not sure if the Prom burner flashes over the Boot block?  It should be locked right?

 

Thanks

post-135888-0-92989800-1404717750_thumb.png

post-135888-0-13967100-1404717758_thumb.png

Link to comment
Share on other sites

@oSxFr33k, yes, you have done it correctly, but it's not enough for ASUS boards.

There is a special file with GUID FD44820B-F1AB-41C0-AE4E-0C55556EB9BD, where individual board data (i.e serial number, UUID, DolbyDTS key and so on) are located. 

This file must be ported from your old BIOS dump to the new BIOS image before flashing. It can be done numerous ways, but the easiest way is to use my FD44Copier utility, which is a part of FTK package linked in my signature.

Just make a dump of current BIOS using your programmer, download FTK for Windows and extract fd44cpr.exe from the archive, then open command line and execute 

fd44cpr bios.dump bios.cap

where bios.dump is a path to your dump file and bios.cap is a path to capsule file unpacked from ASUS BIOS update archive. 

The utility transfers all available individual data into capsule file, removes it's header and changes it's extension to .bin. This .bin file is now ready to be flashed back to SPI chip.

If you encounter any error or have further questions - please write me a PM, because this ASUS-related things are a bit offtopic here.

Link to comment
Share on other sites

@oSxFr33k, yes, you have done it correctly, but it's not enough for ASUS boards.

There is a special file with GUID FD44820B-F1AB-41C0-AE4E-0C55556EB9BD, where individual board data (i.e serial number, UUID, DolbyDTS key and so on) are located. 

This file must be ported from your old BIOS dump to the new BIOS image before flashing. It can be done numerous ways, but the easiest way is to use my FD44Copier utility, which is a part of FTK package linked in my signature.

Just make a dump of current BIOS using your programmer, download FTK for Windows and extract fd44cpr.exe from the archive, then open command line and execute 

fd44cpr bios.dump bios.cap

where bios.dump is a path to your dump file and bios.cap is a path to capsule file unpacked from ASUS BIOS update archive. 

The utility transfers all available individual data into capsule file, removes it's header and changes it's extension to .bin. This .bin file is now ready to be flashed back to SPI chip.

If you encounter any error or have further questions - please write me a PM, because this ASUS-related things are a bit offtopic here.

 

for asus boards there's a way better tool from american megatrends called amidewin

dump using amidewinx64 /all smbios.data

and you'll get a pretty perfect formatted list of all static variables including the arguments to restore them besides.

Link to comment
Share on other sites

×
×
  • Create New...