https://github.com/thejanit0r/x86_vbrkit
Small and lightweight x86-64 VBR bootkit for research purposes
https://github.com/thejanit0r/x86_vbrkit
asm boot bootkit c99 fat32 research vbr x86-64
Last synced: 12 months ago
JSON representation
Small and lightweight x86-64 VBR bootkit for research purposes
- Host: GitHub
- URL: https://github.com/thejanit0r/x86_vbrkit
- Owner: thejanit0r
- License: apache-2.0
- Created: 2022-12-06T16:58:50.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T11:28:08.000Z (over 3 years ago)
- Last Synced: 2025-07-06T00:05:26.461Z (12 months ago)
- Topics: asm, boot, bootkit, c99, fat32, research, vbr, x86-64
- Language: C
- Homepage:
- Size: 81.1 KB
- Stars: 9
- Watchers: 2
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# x86_vbrkit
`x86_vbrkit` is a small and lightweight FAT32 VBR (Volume Boot Record) bootkit for research purposes, with the intention to simplify the application of chained patches and the deployment of multiple stages. It is fully C99 compliant.
# Build
Requirements: `gcc`, `nasm` and `qemu-utils`
```bash
make clean && make all
```
# Usage
Tested with VMWare and a Windows 10 x64 VM (MBR).
To interact with the virtual machine through a serial port add a `Serial Port` device and configure it to use a socket (named pipe) from `Client` to `An Application`, with `Yield CPU on poll` checked in order to allow the guest OS to use the serial port in polled mode (as opposed to interrupt mode). Before starting the VM, execute the following command:
`socat -d -d unix-listen:/tmp/serial0 stdio`
# License
`x86_vbrkit` is licensed under the Apache License, Version 2.0