https://github.com/baltpeter/bios-info
Library for extracting data from UEFI BIOS dumps.
https://github.com/baltpeter/bios-info
bios bios-dump uefi windows-product-key
Last synced: about 1 year ago
JSON representation
Library for extracting data from UEFI BIOS dumps.
- Host: GitHub
- URL: https://github.com/baltpeter/bios-info
- Owner: baltpeter
- License: mit
- Created: 2023-06-25T15:25:23.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-25T22:30:06.000Z (almost 3 years ago)
- Last Synced: 2025-03-16T01:29:29.600Z (over 1 year ago)
- Topics: bios, bios-dump, uefi, windows-product-key
- Language: TypeScript
- Homepage: https://cyberchef.bn.al/#recipe=Extract_Windows_product_keys_from_BIOS_dump()
- Size: 78.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bios-info
> Library for extracting data from UEFI BIOS dumps (currently only the Windows product key).
`bios-info` is a TypeScript library to extract data from UEFI BIOS dumps.
Currently, `bios-info` provides a single function (`findWindowsProductKeys()`) that can extract Windows 8+ product key from a BIOS dump. Whereas for previous Windows versions, the Windows product key on OEM systems was provided on a COA sticker, since Windows 8, it is typically stored in the [MSDM ACPI table in the BIOS/UEFI](https://dellwindowsreinstallationguide.com/the-oem-product-key-and-oem-system-locked-preinstallation/). It does so based on a [specific marker](https://vlab.su/viewtopic.php?f=35&t=30952) ([`010000000000000001000000000000001d000000`](https://www.alisaler.com/find-windows-key-from-bios-bin-file/)) that should indicate where the product key is stored in the BIOS. As a fallback, it also uses a regular expression to find anything that looks like a product key in the dump.
You can use this online through my [CyberChef instance](https://cyberchef.bn.al/#recipe=Extract_Windows_product_keys_from_BIOS_dump()).
## Installation
You can install bios-info using yarn or npm:
```sh
yarn add bios-info
# or `npm i bios-info`
```
## API reference
A full API reference can be found in the [`docs` folder](/docs/README.md).
## Example usage
Here is an example of how to use this library in TypeScript:
```ts
import { readFile } from 'fs/promises';
import { findWindowsProductKeys } from 'bios-info';
(async () => {
const biosBuffer = await readFile('bios.bin');
const keys = findWindowsProductKeys(biosBuffer);
console.log(keys);
// [ '3V66T-NKG7Y-8B7W4-X2WWD-8QK9K' ]
})();
```
## License
This code is licensed under the MIT license, see the [`LICENSE`](LICENSE) file for details.
Issues and pull requests are welcome! Please be aware that by contributing, you agree for your work to be licensed under an MIT license.