Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 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 (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-05-06T09:44:01.000Z (5 months ago)
- Last Synced: 2024-05-08T21:49:25.080Z (4 months ago)
- Topics: bios, c-plus-plus, firmware, firmware-tools, uefi
- Language: C++
- Homepage:
- Size: 99.6 KB
- Stars: 299
- Watchers: 18
- Forks: 45
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
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.
[![Linux Build Status](https://github.com/google/pawn/workflows/linux-build/badge.svg)](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 MakeTo 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.