unlock the advanced menu of Lenovo Yoga Slim 7 BIOS

Overview

yoga-bios-unlock

Based on FlyGoat's work to unlock the BIOS advanced menu documented here, I wrote that tool to unlock my yoga laptop without using a proprietary software which is only available on Windows.

I'd like to thank FlyGoat a lot for giving me the right direction on how to translate his guide into low-level functions provided by glibc.

This tool will unlock the advanced menu in your Lenovo Yoga Slim 7 14ARE05.

To unlock the advanced menu it's necessary to change the data field on port 0x73 at index 0xf7. Port 0x72 is the index port that defines which value at 0x73 will be accessed.

                            \/
     | 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
  ---+------------------------------------------------
  00 | 21 bc 21 63 00 00 5a a5 18 70 f6 7c 00 f5 19 00
  10 | 80 00 a6 20 00 44 00 02 00 00 94 80 89 00 e0 49
  20 | 00 0d 04 30 21 00 24 00 00 10 00 04 00 00 04 ec
  30 | 55 55 55 55 ff 07 00 20 29 00 8c 00 0a a8 00 08
  40 | f4 00 00 00 01 20 01 01 08 00 00 00 10 11 00 00
  50 | 00 00 80 00 00 00 41 00 00 00 00 00 ff 07 00 00
  60 | 00 00 00 00 00 10 00 20 02 00 00 00 00 00 00 00
  70 | 00 00 00 00 08 01 08 00 00 00 00 00 86 22 00 00
  80 | c0 0c 00 80 09 52 00 00 00 00 00 00 00 00 00 00
  90 | 00 00 00 00 08 00 00 80 00 00 04 40 00 80 00 00
  a0 | 00 00 00 00 00 00 00 00 20 40 00 00 20 00 01 00
  b0 | 00 00 08 20 00 00 40 00 00 00 00 00 00 42 00 00
  c0 | 02 02 00 00 00 40 00 00 00 00 80 80 00 00 00 40
  d0 | 00 40 14 00 02 00 82 00 00 00 00 80 81 08 00 80
  e0 | 00 02 00 01 00 00 00 00 00 00 00 00 00 00 01 00
> f0 | 29 a4 a7 a7 00 00 00 77 e0 00 24 04 00 10 10 00
                            ^^

Disclaimer

This tool may eat your cat, burn your house or do anything else beside the expected task. So use it at your own risk and be aware that you're playing around with your BIOS which may end in a bricked device.

Usage

BIOS version DMCN34WW is supported but hides some menus. Using DMCN32WW is recommended.

git clone https://github.com/esno/yoga-bios-unlock.git
cd ./yoga-bios-unlock
make

# ./yoga-bios-unlock --dry-run
Enabled dry-run
WARNING: use at your own risk!
Agree? (y/Y) y
Port 0x72 is 0xf4 and would be set to 0xf7
Port 0x73 is 0x00 and would be set to 0x77

# ./yoga-bios-unlock          
WARNING: use at your own risk!
Agree? (y/Y) y
You might also like...
ASUSTeK AsIO3 I/O driver unlock

AsIo3Unlock ASUSTeK AsIO3 I/O driver unlock Purpose This is proof-of-concept bypass of pseudo-security caller check implemented in AsIO3, "unlocking"

A tool to unlock apps sideloading on Windows Phone having unlocked bootloader.
A tool to unlock apps sideloading on Windows Phone having unlocked bootloader.

Xapload Unlocker A tool for unlocking app sideloading in Windows Phone having unlocked bootloader. Description Using this tool you can revive your Wi

General repository for all code (games, BIOS, etc) that runs within the Vircon32 console itself

Vircon32: Console software This is a general repository containing all Vircon32 sources for any software running on the console itself. This includes:

A customized LGL Android mod menu, containing ESP only for PUBG Mobile 1.3.0 for Android
A customized LGL Android mod menu, containing ESP only for PUBG Mobile 1.3.0 for Android

PUBG Mobile ESP Mod Menu A customized LGL mod menu, containing ESP only for PUBG Mobile 1.3.0 for Android. Everything are fixed so it works with both

Portal 2/Portal Reloaded internal cheat sdk with imgui-based menu
Portal 2/Portal Reloaded internal cheat sdk with imgui-based menu

portal2-internal A simple Portal 2/Portal Reloaded internal cheat base with imgui-based menu coded in a few days because why not Features: simple menu

IDAShell is a shell extension for launching IDA from the context menu of executables.
IDAShell is a shell extension for launching IDA from the context menu of executables.

IDAShell About IDAShell is a shell extension for launching IDA from the context menu of executables. Usage Just install and it works. If you moved IDA

Install the Homebrew Channel to the vWii Menu from Wii U Mode.

Install a channel to the vWii Menu from Wii U Mode. In its current state, it simply installs the Homebrew Channel.

Legendware with a Beautiful Menu
Legendware with a Beautiful Menu

Legendware with a Beautiful Menu. Some stuff has been changed but its nothing revolutionary

use classic context menu in Windows 11 file explorer

Classic Context Menu for Windows 11 Shell32Patcher allows you to use classic context menu in Windows 11 file explorer. Usage Uncheck 'Launch folder wi

api & source menu base import imgui from imgui-js
api & source menu base import imgui from imgui-js

onetap v4 crack https://discord.gg/AXCtxVH4PB people asking me for otv4 source "bin2h" (meaning binary to hex) large hexadecimal array deleted all the

Provides a menu for playing Karaoke videos.
Provides a menu for playing Karaoke videos.

Provides a menu for playing Karaoke videos. Audio input from a microphone is automatically mixed with output from videos. Videos can be paused and scrubbed.

Very minimalistic UEFI boot menu / Stivale2 bootloader

Tosaithe Tosaithe is a minimalistic UEFI-firmware menu/bootloader. It can chain-load other EFI programs and loaders, including Linux kernels, and has

Native context menu for Flutter apps
Native context menu for Flutter apps

native_context_menu Native context menu for flutter apps Installation flutter pub add native_context_menu Usage import 'package:native_context_menu/na

ColecoAdam a boot menu and configurator for ADE virtual drives
ColecoAdam a boot menu and configurator for ADE virtual drives

VHS HEAD For Coleco Adam users with Adamnet Disk Emulator (ADE) devices. VHS Head is a boot menu and configuration program for ADE (Pro and Lite) user

 Coco External GTA5 Mod Menu
Coco External GTA5 Mod Menu

Coco External GTA5 Mod Menu DISCLAIMER: This program is purely for Educational and Evaluation purposes ONLY. Be aware that I am not responsible for an

[PS3] Bo1 Mod Menu Jo-Milk's Playground V2... I never finished this project what a shame... works on HEN

-PS3-Bo1-Mod-Menu-Jo-Milk-s-Playground-V2 [PS3] Bo1 Mod Menu Jo-Milk's Playground V2... I never finished this project what a shame... works on HEN Ple

Octowolve/Hooking-Template-With-Mod-Menu
Octowolve/Hooking-Template-With-Mod-Menu

Hooking-Template-With-Mod-Menu This is a simple template for the usage of Cydia Substrate and And64InlineHook with a Mod Menu written in Java. Impleme

Grapple is a graphical menu of plumbable lines.

grapple grapple is a graphical menu of plumbable lines. When run, grapple captures all output from a pipe looking for plumbable text (pattern is: (:)?

This a small cheat menu for Sword With Sauce (a UE4 game) that I made in a week or so.
This a small cheat menu for Sword With Sauce (a UE4 game) that I made in a week or so.

This a small cheat menu for Sword With Sauce (a UE4 game) that I made in a week or so. The reason why I am sharing the project is that it is probably one of the best sources to learn UE game hacking from. The project has many comments.

Advanced, modular, coupled geomorpohology simulator for real-time procedural terrain generation.

SoilMachine Advanced, modular, coupled geomorpohology simulator for real-time procedural terrain generation in C++. Visualization with TinyEngine. Art

Nick McDonald 149 Dec 28, 2022
Vgpu unlock - Unlock vGPU functionality for consumer grade GPUs.

vgpu_unlock Unlock vGPU functionality for consumer-grade Nvidia GPUs. Important! This tool is not guarenteed to work out of the box in some cases, so

Jonathan Johansson 3.6k Dec 29, 2022
Avocado Bootloader is an Advanced X86 - X86_64 BIOS/UEFI multiprotocol bootloader.

Avocado Bootloader What is avocado? Avocado is a modern, advanced x86/x86_64 BIOS/UEFI multiprotocol bootloader used as the reference implementation f

Weida32 2 Jan 3, 2022
✔️The smallest header-only GUI library(4 KLOC) for all platforms

Welcome to GUI-lite The smallest header-only GUI library (4 KLOC) for all platforms. 中文 Lightweight ✂️ Small: 4,000+ lines of C++ code, zero dependenc

null 6.6k Jan 8, 2023
Yoga is a cross-platform layout engine which implements Flexbox

Yoga Building Yoga builds with buck. Make sure you install buck before contributing to Yoga. Yoga's main implementation is in C++, with bindings to su

Meta 15.8k Jan 8, 2023
Opencore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7

macOS on Thinkpad X1 Carbon 7th Generation OpenCore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7. This guide has been generated

Aidan Chandra 35 Dec 19, 2022
A WMI driver for Lenovo Legion series of laptops

Problem The Legion line of laptops from Lenovo come with the ability to switch power modes between "quiet", "balanced" and "performance." On Windows t

null 11 Aug 20, 2022
HMS Core Scene Kit Slim Mesh Demo sample code demonstrates how to invoke external interfaces of SlimMesh to perform mesh simplification.

HMS Core Scene Kit Slim Mesh Demo English | 中文 Table of Contents Introduction Environments Requirements Result License Introduction The Slim Mesh is a

HMS 8 Jul 28, 2022
A slim, fast and header-only GIF loader written in C

gif_load This is an ANSI C compatible animated GIF loader in a single header file of less than 300 lines of code (less than 200 without empty lines an

Andrey Guskov 68 Dec 10, 2022
RocketOS is a Unix based OS that uses legacy BIOS and GRUB and is written in C17. It is being developed for educational purposes primarily, but it still is a serious project. It is currently in its infancy.

RocketOS What is RocketOS? RocketOS is a Unix based OS that uses legacy BIOS and GRUB and is written in C17. It is being developed for educational pur

null 30 Sep 19, 2022