不拆優(yōu)盤(pán)低斋,拆遷就好了躯喇。
分區(qū)引導(dǎo)扇區(qū)
上一篇,我們從優(yōu)盤(pán)的分區(qū)引導(dǎo)扇區(qū)得知
- 保留扇區(qū)大小為0xD80扇區(qū)
- FAT個(gè)數(shù)為0x2
- 一個(gè)FAT表大小為0x3940扇區(qū)
根目錄
因?yàn)?strong>保留扇區(qū)残腌、FAT表和根目錄是挨在一起的,所以從分區(qū)引導(dǎo)扇區(qū)開(kāi)始奶陈,跳過(guò)前兩個(gè),就找到了第三個(gè)虑绵。
- 已知
- 分區(qū)引導(dǎo)扇區(qū)地址=0x4000(前面的文章算的)
- 保留扇區(qū)大小=0xD80扇區(qū)
- FAT個(gè)數(shù)=2
- 一個(gè)FAT表大小=0x3940扇區(qū)
- 扇區(qū)大小=512字節(jié)
- 保留扇區(qū)尿瞭、FAT表和根目錄是挨在一起的
- 求
根目錄地址 - 解
即下圖中的Offset。
文件項(xiàng)
上圖中翅睛,每個(gè)紅框中是一個(gè)文件項(xiàng),一個(gè)文件項(xiàng)記錄了文件的文件名黑竞、大小捕发、起始簇、創(chuàng)建時(shí)間很魂、修改時(shí)間等元數(shù)據(jù)扎酷。文件項(xiàng)根據(jù)文件名長(zhǎng)短有兩種,分別是短文件項(xiàng)和長(zhǎng)文件項(xiàng)遏匆。
短文件項(xiàng)
上圖中的0x1004020法挨、0x10040E0處就是短文件項(xiàng)谁榜。如果一個(gè)文件的名字(不包括后綴)不超過(guò)8個(gè)字節(jié),后綴也不長(zhǎng)的話凡纳,它的元數(shù)據(jù)就會(huì)是一個(gè)短文件項(xiàng)窃植。也就是說(shuō),一個(gè)短文件項(xiàng)存儲(chǔ)的文件名的字符數(shù)是有限的荐糜。
長(zhǎng)文件項(xiàng)
上圖中的0x1004040巷怜、0x1004100處就是長(zhǎng)文件項(xiàng),看右側(cè)的字符暴氏,很明顯它們的名字比較長(zhǎng)延塑,所以先存了個(gè)截?cái)嗟拿郑ɡ?x10040C0),然后向上依次以某種格式存儲(chǔ)unicode格式的文件名(例如0x10040A0答渔、0x1004080关带、0x1004060、0x1004040)沼撕。
根目錄本身就是個(gè)目錄豫缨,可以從以上介紹看出,目錄也是有內(nèi)容的端朵,就是目錄下文件和目錄的文件項(xiàng)好芭。