B.
Back to projects

FAT Filesystem Reader

Overview

Built a FAT16 Filesystem reader in C to parse raw disk images without high-level OS functions.

What it does

Reconstructs a FAT volume by reading core on-disk structures such as the BIOS Parameter Block, FAT Tables and directory entries. The program can traverse cluster chains to reconstruct files. It is also capable of reading file contents and metadata.

Why it’s interesting

This project demonstrates low-level systems programming and required working with binary formats, byte offsets, packed data structures and filesystem allocation logic to get usable file information. It also showcases strong fundamentals in Linux systems programming, memory management and POSIX system calls.

Key Technical Points

  • Uses low-level POSIX/Linux functions: The project only uses low-level system calls like open, read, lseek and close.
  • Cross cluster file-reading: Project can follow FAT cluster chains to locate and read file data across the image.
  • Metadata: Decoded metadata e.g. directory entries, file attributes, timestamps and long filename records.

Tech Stack

Language: C
Platform: Linux