From 958f207ce6b05a8e015be99cdceb2a45e506311b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Harabie=C5=84?= Date: Fri, 22 Sep 2017 02:13:29 +0200 Subject: [PATCH] Implemented reading FAT Boot Sector. --- .gitignore | 1 + Cargo.lock | 14 +++++ Cargo.toml | 7 +++ resources/floppy.img | Bin 0 -> 1474560 bytes src/main.rs | 142 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 164 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100755 resources/floppy.img create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eb5a316 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..821c112 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,14 @@ +[root] +name = "rust-fat" +version = "0.1.0" +dependencies = [ + "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "byteorder" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff81738b726f5d099632ceaffe7fb65b90212e8dce59d518729e7e8634032d3d" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..5ec99d0 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "rust-fat" +version = "0.1.0" +authors = ["Rafał Harabień "] + +[dependencies] +byteorder = "1" diff --git a/resources/floppy.img b/resources/floppy.img new file mode 100755 index 0000000000000000000000000000000000000000..968794b693e75d9848b4dd4315b9d378556e5104 GIT binary patch literal 1474560 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 z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N R0t5&UctU}K&wpuw{|gc$^+5mt literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..b5594d8 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,142 @@ +extern crate byteorder; + +use std::fs::File; +use std::io::prelude::*; +use std::io::BufReader; +use std::io; +use std::str; +use std::io::{Error, ErrorKind}; +use byteorder::{LittleEndian, ReadBytesExt}; + +// FAT implementation based on: +// http://wiki.osdev.org/FAT +// https://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html + +#[derive(Debug, Copy, Clone)] +enum FatType { + Fat12, Fat16, Fat32, ExFat +} + +#[derive(Debug)] +struct FatFileSystem { + fat_type: FatType, + root_cluster: u32, + volume_id: u32, + volume_label: String, + first_data_sector: u32, + first_fat_sector: u32, +} + +impl FatFileSystem { + fn fat_type_from_clusters(total_clusters: u32) -> FatType { + if total_clusters < 4085 { + FatType::Fat12 + } else if total_clusters < 65525 { + FatType::Fat16 + } else if total_clusters < 268435445 { + FatType::Fat32 + } else { + FatType::ExFat + } + } + + pub fn new(rdr: &mut BufRead) -> io::Result { + let mut bootjmp = [0; 3]; + rdr.read(&mut bootjmp)?; + let mut oem_name: [u8; 8] = [0; 8]; + rdr.read(&mut oem_name)?; + let bytes_per_sector = rdr.read_u16::()? as u32; + let sectors_per_cluster = rdr.read_u8()? as u32; + let reserved_sector_count = rdr.read_u16::()? as u32; + let table_count = rdr.read_u8()? as u32; + let root_entry_count = rdr.read_u16::()? as u32; + let total_sectors_16 = rdr.read_u16::()? as u32; + rdr.read_u8()?; // media_type + let table_size_16 = rdr.read_u16::()? as u32; + rdr.read_u16::()?; // sectors_per_track + rdr.read_u16::()?; // head_side_count + rdr.read_u32::()?; // hidden_sector_count + let total_sectors_32 = rdr.read_u32::()? as u32; + + let (fat_size, fat_info, root_cluster, volume_id); + let mut volume_label = [0; 11]; + let mut fat_type_label = [0; 8]; + + if table_size_16 == 0 { + let table_size_32 = rdr.read_u32::()? as u32; + rdr.read_u16::()?; // extended_flags + rdr.read_u16::()?; // fat_version + root_cluster = rdr.read_u32::()?; + fat_info = rdr.read_u16::()? as u32; + rdr.read_u16::()?; // backup_bs_sector + let mut reserved_0 = [0; 12]; + rdr.read(&mut reserved_0)?; + rdr.read_u8()?; // drive_num + rdr.read_u8()?; // reserved_1 + rdr.read_u8()?; // ext_sig (0x29) + volume_id = rdr.read_u32::()?; + rdr.read(&mut volume_label)?; + rdr.read(&mut fat_type_label)?; + let mut boot_code = [0; 420]; + rdr.read(&mut boot_code)?; + + fat_size = table_size_32; + } else { + rdr.read_u8()?; // drive_num + rdr.read_u8()?; // reserved1 + rdr.read_u8()?; // ext_sig (0x29) + volume_id = rdr.read_u32::()?; + rdr.read(&mut volume_label)?; + rdr.read(&mut fat_type_label)?; + let mut boot_code = [0; 448]; + rdr.read(&mut boot_code)?; + + fat_size = table_size_16; + fat_info = 0; + root_cluster = 0; + } + let mut boot_sig = [0; 2]; + rdr.read(&mut boot_sig)?; + if boot_sig != [0x55, 0xAA] { + return Err(Error::new(ErrorKind::Other, "invalid signature")); + } + + let total_sectors = if total_sectors_16 == 0 { total_sectors_32 } else { total_sectors_16 }; + let root_dir_sectors = ((root_entry_count * 32) + (bytes_per_sector - 1)) / (bytes_per_sector); + let first_data_sector = reserved_sector_count + (table_count * fat_size) + root_dir_sectors; + let first_fat_sector = reserved_sector_count; + let data_sectors = total_sectors - (reserved_sector_count + (table_count * fat_size) + root_dir_sectors); + let total_clusters = data_sectors / sectors_per_cluster; + let fat_type = FatFileSystem::fat_type_from_clusters(total_clusters); + + let fs = FatFileSystem { + fat_type: fat_type, + root_cluster: root_cluster, + volume_id: volume_id, + volume_label: str::from_utf8(&volume_label).unwrap().to_string(), + first_data_sector: first_data_sector, + first_fat_sector: first_fat_sector, + }; + + println!("fat_type {:?}", fat_type); + println!("fat_info {}", fat_info); + println!("root_cluster {}", root_cluster); + println!("volume_id {}", volume_id); + println!("oem_name {}", str::from_utf8(&oem_name).unwrap()); + println!("volume_label {}", str::from_utf8(&volume_label).unwrap()); + println!("fat_type_label {}", str::from_utf8(&fat_type_label).unwrap()); + Ok(fs) + } +} + +fn fat_test() -> io::Result<()> { + let file = File::open("resources/floppy.img")?; + let mut buf_rdr = BufReader::new(file); + FatFileSystem::new(&mut buf_rdr)?; + Ok(()) +} + +fn main() { + println!("Hello, world!"); + fat_test().unwrap(); +}