Git Product home page Git Product logo

dropwpbt's Introduction

dropWPBT

Disables the Windows Platform Binary Table (WPBT) in your firmware. This program use a non-permenant, non-destructive method to remove the table from system memory, so it should be executed every time the computer is rebooted before Windows bootloader starts.

Usage

Requirements

  • amd64 architecture
  • UEFI firmware
  • disabled Secure Boot

Installation

With a 3rd-party bootloader

Put dropWPBT.efi to a location where it will be executed every time before Windows starts.

  • rEFInd: ESP:\EFI\refind\drivers_x64
  • OpenCore: ESP:\EFI\OC\Drivers
  • Clover: ESP:\EFI\CLOVER\drivers\UEFI

You can also load it using UEFI shell's startup.nsh, or even manually.

Without an external bootloader

This method is for advanced users. You need to be familiar with how UEFI works. The commands below is just for reference, do not blindly copy and paste!

dropWPBT-loader.efi can act as a bootloader itself. To install, launch a cmd.exe with Administrator privilege and type something like this:

mountvol T: /S
mkdir T:\EFI\boot
cp dropWPBT-loader.efi T:\EFI\boot\bootx64.efi
bcdedit /set {bootmgr} path \EFI\boot\bootx64.efi
mountvol T: /D

FAQ

What is WPBT?

Windows Platform Binary Table (WPBT) is an ACPI table in your firmware allowing your computer vendor to run a program every time Windows (8 or later) boots. This is a convenient method for computer vendors to force the installation of a service program or an anti-theft software, but this also means your fresh installed Windows will have potentially unwanted 3rd party programs running straight on the first boot, and you, the end user, would have no control over it. Also, firmware is not updated as frequently as your OS or software, which means if there is a security vulnerability in the WPBT-loaded program, a fair number of users might never get the update.

A lot PC vendors (Lenovo, ASUS, Huawei, etc.) are known to utilize WPBT table to run their own programs on the consumer's computer.

How to verify if my computer have a WPBT?

You can use one of the following software:

Note that they might not work if you enabled HVCI.

Alternatively you can search for C:\Windows\system32\wpbbin.exe. This program might delete itself after running so this is not a reliable evidence.

Is there any alternative methods to disable the WPBT?

From Windows

This is an undocumented feature, use it at your own risk. To disable WPBT execution from a running Windows, set the following registry key:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"DisableWpbtExecution"=dword:00000001

How to set a registry key on the first boot before session manager starts is left as an exercise to the reader. (Hint: One possible method is to set this registry key in a WIM file using BiscuitTin/Disable-WpbtExecution.)

For more information, see sminit.c.

From a 3rd-party Bootloader

Hackintosh-oriented bootloaders such as OpenCore have their own config for deleting ACPI tables which does exactly the same thing as this program. Please see their documentation.

From the Firmware

Some vendors provide an option to disable WPBT in the firmware settings on some models.

dropwpbt's People

Contributors

jamesits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dropwpbt's Issues

Try not to use ELF and GNU-EFI CRT

The whole process of making a ELF using gcc and then wrapping it into a PE is dumb. There are tools you can use to just make a PE directly. People seem to prefer LLVM/clang for that, since it supports all architectures by default via a --target switch.

  • The basic CFLAGS is --target $(GCC_ARCH)-unknown-windows -ffreestanding -fshort-wchar -fno-stack-protector. You have most of that.
  • The LDFLAGS are basically the same as what you have right now.

Questions

Great program, thank you for sharing! A couple questions:

  1. Is it possible to have dropWPBT.efi run when using the Windows native bootloader?
  2. If not, is it possible to have dropWPBT-loader.efi run with secureboot?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.