Getting around the Wifi whitelist in Lenovo BIOS

I have a Lenovo Thinkpad that only allows certain hardware to be installed. If there is a piece of hardware connected that is not on the whitelist, BIOS will tell you to remove it and restart. Otherwise the machine will not boot. Now I want to install an unauthorized wifi+bluetooth module, so I need to get rid of that whitelist.

I've been following this guide up to the point where the author suggests the use of the IDA pro software, which I don't want to buy just for this one hack.

Instead, I have dabbled around a bit with the extracted body in Ghidra, and managed to get to locate the hex code for the "Unauthorized network card detected ..." and to find out that the string is part of some entity called "DAT_000104d0", and the only place that entity is referenced is the following function:

void FUN_00010ec4(undefined8 param_1,undefined *param_2,undefined8 param_3,undefined8 param_4)
{ if (param_2 == (undefined *)0x0) { param_2 = &DAT_00010ec0; } (**(code **)(DAT_00011040 + 0x170))(0x200,param_1,param_2,param_3,&DAT_000104d0,param_4); return;
}

That function in turn gets called from here:

longlong entry(undefined8 param_1,longlong param_2)
{ longlong lVar1; undefined8 local_res18; undefined8 *local_res20; undefined local_18 [24]; FUN_00010f08(param_1,param_2); lVar1 = (**(code **)(DAT_00011040 + 0x140))(&LAB_00010480,0,&DAT_00011058); if (-1 < lVar1) { lVar1 = (**(code **)(DAT_00011040 + 0x140))(&LAB_00010410,0,&DAT_00011070); if (-1 < lVar1) { lVar1 = (**(code **)(DAT_00011040 + 0x140))(&DAT_000103f0,0,&DAT_00011078); if (-1 < lVar1) { lVar1 = (**(code **)(DAT_00011040 + 0x140))(&LAB_00010460,0); if (-1 < lVar1) { DAT_00011060 = *local_res20; local_res18 = 0; _DAT_00011068 = &LAB_00010b54; (**(code **)(DAT_00011040 + 0x80))(&local_res18,&DAT_000103d0,0,&DAT_00011068); DAT_00011028 = local_res18; FUN_00010ec4(0x10,FUN_00010cf8,0,local_18); lVar1 = 0; } } } } return lVar1;
}

Any idea on how I should proceed, hopefully without messing up the whole thing?

5 Reset to default

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like