Create a gist now

Instantly share code, notes, and snippets.

@Zibri /UEFIVAR.EXE
Last active Nov 23, 2017

What would you like to do?
UEFIVAR
Owner

Zibri commented Nov 22, 2017


An "italian" army knife to manage UEFI variables in Windows.
V1.0 (C) 2017 by Zibri http://www.zibri.org
This program has been used 232 times.
Top country: Egypt
Running days: 8

UEFIVAR [-l] [-sg] [-sn] [-G:"GUID"] [-N:"NAME"] [-hd] [-bd[[:]["filename"]]] [-D] [-WB64:b64data]
        [-A:"ATTRIBUTES"] [-b64[[:]["filename"]]] [-I:"filename"] [-i:"filename"] [-WHEX:hexstring]
        [-APPEND] [-h] [-m]

  -l                     Lists all UEFI variables.
  -l -sg                 Sorts variables by their GUIDs.
  -l -sn                 Sorts variables by their names.
  -G:"GUID"              Specifies the variable GUID.
  -N:"Name"              Specifies the variable name.
  -A:"xx"                Specifies the variable attribute.
  -hd                    Dumps the content of the variable(s) in Hex.
  -bd[[:]["filename"]]   Dumps the content of the variable(s) in Binary file.
  -b64[[:]["filename"]]  Dumps the content of the variable(s) in Base64.
  -I:"fname"             Imports from binary or base64 file (need GUID and NAME).
  -i:"fname"             Imports from binary or base64 file (using filename).
  -D                     Deletes the variable (DANGEROUS!)
  -WB64:"b64data"        Writes the variable data (creating the variable if needed).
  -WHEX:"hex string"     Writes the variable data (creating the variable if needed).
  -APPEND                Appends the data to the existing variable.
  -h/-H                  Show this help sheet.
  -m/-M                  Manual with examples.
  -z                     Donate (please donate more than $2 or PayPal will take it all)


Owner

Zibri commented Nov 22, 2017


An "italian" army knife to manage UEFI variables in Windows.
V1.0 (C) 2017 by Zibri http://www.zibri.org
This program has been used 233 times.
Top country: Egypt
Running days: 8

UEFIVAR [-l [-sg] [-sn]] [-G:"GUID"] [-N:"NAME"] [-hd] [-bd[[:]["filename"]]] [-D] [-WB64:b64data]
        [-A:"ATTRIBUTES"] [-b64[[:]["filename"]]] [-I:"filename"] [-i:"filename"] [-WHEX:hexstring]
        [-APPEND] [-h] [-m]

Examples:
uefivar -l -bd     Dumps all UEFI variables in binary format in the current directory.
uefivar -l -hd     Hex-dumps all UEFI variables in the current console.
uefivar -l -b64    Dumps all UEFI variables in base64 format in the current console.
uefivar -l -b64:   Dumps all UEFI variables in base64 format in the current directory.

Dump a variable on screen in hex:
uefivar -G:"8be4df61-93ca-11d2-aa0d-00e098032b8c" -N:"BootCurrent" -hd

Dump a variable on screen in base64:
uefivar -G:"8be4df61-93ca-11d2-aa0d-00e098032b8c" -N:"BootCurrent" -b64

Dump a variable on disk in binary and automatic name:
uefivar -G:"8be4df61-93ca-11d2-aa0d-00e098032b8c" -N:"BootCurrent" -bd

Dump a variable on disk in binary and custom name:
uefivar -G:"8be4df61-93ca-11d2-aa0d-00e098032b8c" -N:"BootCurrent" -bd:"bc.bin"

Import a variable from binary file (automatic):
uefivar -i:"8be4df61-93ca-11d2-aa0d-00e098032b8c-BootCurrent (BS+RT).bin"

Create a variable (base64):
uefivar -G:"12345678-1234-1234-1234-123456789012" -N:"Zibri" -WB64:"AQ==" -A:"NV"

Create a variable (hex):
uefivar -G:"12345678-1234-1234-1234-123456789012" -N:"Zibri" -WHEX:"01020304" -A:"NV"

Delete a variable:
uefivar -G:"12345678-1234-1234-1234-123456789012" -N:"Zibri" -D

Automatic import from disk of a saved binary variable:
uefivar -i:"12345678-1234-1234-1234-123456789012-Zibri (NV+BS+RT).bin"

Dump a variable on disk in base64 automatic mode:
uefivar -G:"12345678-1234-1234-1234-123456789012" -N:"Zibri" -b64:

Manual import of a variable saved in an arbitrary binary file:
uefivar -G:"12345678-1234-1234-1234-123456789012" -N:"Zibri" -I:"zibri.bin"

Note:
On my pc it seems to be possible to create variables only with "NV" attribute set
otherwise I get a write error and the variable is not written.


Owner

Zibri commented Nov 23, 2017

Make AMI BIOS Setup READONLY
uefivar -G:"E770BB69-BCB4-4D04-9E97-23FF9456FEAC" -N:"SystemAccess" -A:"NV" -WHEX:"01"

Make AMI BIOS SETUP READ/WRITE again
uefivar -G:"E770BB69-BCB4-4D04-9E97-23FF9456FEAC" -N:"SystemAccess" -A:"NV" -WHEX:"00"
or
uefivar -G:"E770BB69-BCB4-4D04-9E97-23FF9456FEAC" -N:"SystemAccess" -A:"NV" -D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment