Lenovo G50-70 , Z40-70 and Z50-70
Bios whitelist removal howto
This is a DANGEROUS
procedure and it may damage your laptop if you make mistakes. It worked for me and some friends so I decided to share it.
Use the informations contained in this document at your own risk, I take no responsibility for any damage.
If you have a newer bios installed you can downgrade it: in bios setup enable the Bios Back Flash option and flash the required version (9ACN26WW or 9BCN26WW).
Once you have the proper version installed, load the default settings before proceeding. You can adjust some options but DO NOT CHANGE the Graphic Device related options.
From now on I will refer to the G50-70 bios name, if you have a Z50-70 be aware the filename differs.
Execute Universal Bios Backup as administrator and backup your actual bios. You will get a file called LENOVO-9ACN26WW.rom
, it’s your bios image.
Put it in an empty folder we will use as workspace.
Decompile and Modify Bios
Launch PhoenixTool.exe and open your bios image with it.
View attachment 179109
Your image is now being extracted, be patient and press OK to the two info popup.
When the extraction process finishes, in the Manufacturer dropdown list choose Lenovo and once done press the Advanced button. In the Options window check the options marked with red in the image
View attachment 179110
Press Done. You’ll go back to the previous window where you have now to press Go. Wait until it finishes working and shows you this message:
View attachment 179111
DO NOT PRESS OK YET!!!!
Open the workspace folder where LENOVO-9ACN26WW.rom
was and you should find the DUMP directory, navigate into it and look for a file named 11D378C2-B472-412F-AD87-1BE4CD8B33A6_xxxx.ROM
There will be more than one file with the same name except for the _xxxx part,
open the bigger one (7k) with the hex editor.
Disable the autobackup feature in HxD or you'll eventually repack the bios with the .bak file inside, resulting in a wrong (and maybe dangerous) bios to flash.
View attachment 179112
We are now going to modify the bios, be sure to edit the proper bytes.
At the offsets 2F9, 322 and 366 you will find the value 74, it represents a conditional jump instruction in assembly, change it to EB which is an unconditional jump instruction. When executed it won’t perform the WWAN and WLAN whitelist checks. The next two images will show you the file before and after the edit:
View attachment 179113View attachment 179114
if you found the very same values and modified the file as instructed, save the file and close the hex editor.
You can now press OK on the PhoenixTool popup. It will repack your bios and after a while you will find LENOVO-9ACN26WW_SLIC.rom
besides the backup one in the workspace folder. This is your whitelist free bios image.
Flash Modified Bios
and copy it in the same folder where fptw64.exe is.
Use the sleep bug to disable bios write protection (optional but sometimes required): close the lid, wait for the laptop sleep, reopen the lid.
Open a CLI window as administrator, navigate to the folder where ftpw64.exe and bios.bin
are and type:
fptw64.exe -f bios.bin -bios
Press Enter and wait until it ends.
Cross your fingers and reboot.
If you did everything properly your Lenovo G50-70 is now whitelist free.
Remember to enable wifi in the bios setup
Now you are ready to install macOS: have a look at this excellent guide
Whitelist removal is not permanent. If you upgrade the bios you'll loose the modification.
You can remove the whitelist from newer bios versions using the guide, please be sure to find the very same values at the very same offsets.
Steps to upgrade:
- Install desired version (let's say v30)
- back it up
- mod the backup
- install original v26
- flash modded v30
You have to be on v26 to flash a modded bios with fptw
I wish to thank donovan6000 for his excellent guide. Although there are many differences in the bios code it puts me in the right direction.