Instantly share code, notes, and snippets.

@Zibri /UEFIVAR.EXE
Last active May 3, 2018

Embed
What would you like to do?
UEFIVAR
@Zibri

This comment has been minimized.

Show comment
Hide comment
@Zibri

Zibri 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 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)


@Zibri

This comment has been minimized.

Show comment
Hide comment
@Zibri

Zibri 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 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.


@Zibri

This comment has been minimized.

Show comment
Hide comment
@Zibri

Zibri 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

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