https://github.com/google/pawn
Extract BIOS firmware from Intel-based workstations and laptops
https://github.com/google/pawn
bios c-plus-plus firmware firmware-tools uefi
Last synced: 10 months ago
JSON representation
Extract BIOS firmware from Intel-based workstations and laptops
- Host: GitHub
- URL: https://github.com/google/pawn
- Owner: google
- License: apache-2.0
- Created: 2017-08-30T20:59:28.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-05-06T09:44:01.000Z (almost 2 years ago)
- Last Synced: 2024-08-03T17:10:55.667Z (over 1 year ago)
- Topics: bios, c-plus-plus, firmware, firmware-tools, uefi
- Language: C++
- Homepage:
- Size: 99.6 KB
- Stars: 305
- Watchers: 18
- Forks: 45
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-firmware-security - Pawn - Google Pawn is a Linux-centric online firmware tool that dumps the platform firmware image to a file, for later offline analysis. (Tools / Open Source)
README
# Pawn BIOS Dumping Tool
Copyright 2014-2024 Google LLC.
[](https://github.com/google/pawn/actions?query=workflow%3Alinux-build)
Disclaimer: This is not an official Google product (experimental or otherwise),
it is just code that happens to be owned by Google.
## What is it?
Pawn is a tool to extract the BIOS firmware from Intel-based workstations and
laptops.
The name is a play on an internal tool that is also named after a chess piece.
## How to Build
Dependencies:
* Linux on x86_64 (uses `/dev/mem`). FreeBSD might also work.
* GCC >= 7 or Clang >= 7
* CMake >= 3.14
* Ninja or GNU Make
To build:
```bash
mkdir -p build && cmake -S . -B build
cmake --build build/
```
The resulting binary can be found in `build/pawn/pawn`.
## Usage
The following command will extract the BIOS firmware and save the image to
`bios_image.bin`:
```bash
sudo build/pawn/pawn bios_image.bin
```
Note: When running a Linux kernel > 4.8.4, make sure that either
`CONFIG_IO_DEVMEM=n` is set or that you've booted with the `iomem=relaxed`
boot option.
After extraction, you can then use other tools like
[UEFITool](https://github.com/LongSoft/UEFITool) to process the firmware
image further.