countryhick
macrumors newbie
@Verlis
Hi, First of all, I'm no expert when it comes to this, but I have managed to get all the information needed to do the patching from the excellent people in this forum.
The following is a rough guide I wrote for myself and wasn't intended to be a comprehensive how 'How to Guide'... But I hope it might help fill in some details for yourself and maybe some others.
Step 1A
Use GRML tool (https://github.com/Ausdauersportler/GRML-FLASH) to read UEFI BIOS using the command line.
or
Or use CH341a to directly read BIOS from chip on MOBO (This requires some disassembly of the machine to gain access to the mother board)
** A good resource for all thing CH341A chip readers is (https://github.com/YTEC-info/CH341A-Softwares)
** I’ve had good success using NeoProgrammer and Windows10
Step 1B Make multiple copies of your BIOS and store them in multiple locations…. Just in case 😉
Step 1C Make sure to use a verify function to validate reads.
Step 2
Download Ver. 0.28.0 of UEFIPatch (https://github.com/LongSoft/UEFITool/releases/tag/0.28.0) to suit the OS you’ll be using to patch the the files on.
Step 3
Once the download has finished, extract the folder and move to a location of your choosing. (Or leave in downloads if you wish)
Step 4
Open a new text document so we can copy and paste some paths and other items.
Step 5
Run the ‘UEFIPatch’ executable. (You may need to allow permission if on Mac in your System Preferences / Security & Privacy)
Step 6
Make a note of the path mentioned when the command line window opens
ie. /Users/andrew/Documents/UEFI/UEFIPatch_0.28.0_mac
Copy your path into that .txt document you just created. We’ll use that later.
Step 7
Download the patches you want to apply from
(https://github.com/m0bil/imac-uefi-patches)
They’re just a simple .txt file eg. flash-protection-bypass.txt
Step 8
Move those txt files to the same directory/folder where your UEFIPatch is located. (Refer step 6)
Step 9
Make a *COPY* of your original unpatched BIOS.bin and place it in the same folder as your UEFIPatch Executable is located.
Step 10
Open a new terminal or Command Prompt window and change working directory to the one that showed up in Step 6.
Ie. /Users/andrew/Documents/UEFI/UEFIPatch_0.28.0_mac
Would end up being
$ cd Documents/iMac/UEFI/UEFIPatch_0.28.0_mac
Step 11
Patching the .bin
At this stage you must have your BIOS.bin and your PATCH.txt in the same directory/folder as your UEFIpatch Executable.
Then in Terminal or cmd you would use the following command frame and insert your own details.
$ ./UEFIPatch <BIN_To_be_Patched.bin> <TXT_file_containing_patch.txt> -o <NEW_bin_name.bin>
Ie. ./UEFIPatch ORIGINAL.bin flash-protection-bypass.txt -o Patched.bin
Step 11
Your newly patched .bin will be in the same directory as we’ve just been using and will have the new file name used when applying the patch.
Flashing BIOS back to chip.
You MUST flash your modified .bin back using your chip programmer, unless you have already applied the ‘flash-protection-bypass.txt’ previously, in which case you can use GRML and FlashROM.
DONE.
Hi, First of all, I'm no expert when it comes to this, but I have managed to get all the information needed to do the patching from the excellent people in this forum.
The following is a rough guide I wrote for myself and wasn't intended to be a comprehensive how 'How to Guide'... But I hope it might help fill in some details for yourself and maybe some others.
Step 1A
Use GRML tool (https://github.com/Ausdauersportler/GRML-FLASH) to read UEFI BIOS using the command line.
or
Or use CH341a to directly read BIOS from chip on MOBO (This requires some disassembly of the machine to gain access to the mother board)
** A good resource for all thing CH341A chip readers is (https://github.com/YTEC-info/CH341A-Softwares)
** I’ve had good success using NeoProgrammer and Windows10
Step 1B Make multiple copies of your BIOS and store them in multiple locations…. Just in case 😉
Step 1C Make sure to use a verify function to validate reads.
Step 2
Download Ver. 0.28.0 of UEFIPatch (https://github.com/LongSoft/UEFITool/releases/tag/0.28.0) to suit the OS you’ll be using to patch the the files on.
Step 3
Once the download has finished, extract the folder and move to a location of your choosing. (Or leave in downloads if you wish)
Step 4
Open a new text document so we can copy and paste some paths and other items.
Step 5
Run the ‘UEFIPatch’ executable. (You may need to allow permission if on Mac in your System Preferences / Security & Privacy)
Step 6
Make a note of the path mentioned when the command line window opens
ie. /Users/andrew/Documents/UEFI/UEFIPatch_0.28.0_mac
Copy your path into that .txt document you just created. We’ll use that later.
Step 7
Download the patches you want to apply from
(https://github.com/m0bil/imac-uefi-patches)
They’re just a simple .txt file eg. flash-protection-bypass.txt
Step 8
Move those txt files to the same directory/folder where your UEFIPatch is located. (Refer step 6)
Step 9
Make a *COPY* of your original unpatched BIOS.bin and place it in the same folder as your UEFIPatch Executable is located.
Step 10
Open a new terminal or Command Prompt window and change working directory to the one that showed up in Step 6.
Ie. /Users/andrew/Documents/UEFI/UEFIPatch_0.28.0_mac
Would end up being
$ cd Documents/iMac/UEFI/UEFIPatch_0.28.0_mac
Step 11
Patching the .bin
At this stage you must have your BIOS.bin and your PATCH.txt in the same directory/folder as your UEFIpatch Executable.
Then in Terminal or cmd you would use the following command frame and insert your own details.
$ ./UEFIPatch <BIN_To_be_Patched.bin> <TXT_file_containing_patch.txt> -o <NEW_bin_name.bin>
Ie. ./UEFIPatch ORIGINAL.bin flash-protection-bypass.txt -o Patched.bin
Step 11
Your newly patched .bin will be in the same directory as we’ve just been using and will have the new file name used when applying the patch.
Flashing BIOS back to chip.
You MUST flash your modified .bin back using your chip programmer, unless you have already applied the ‘flash-protection-bypass.txt’ previously, in which case you can use GRML and FlashROM.
DONE.
Last edited: