sobota 5. ledna 2019

FAT tabulka

U příležitosti obnovy dat z čínské SD karty 64 GB za podezřele nízkou cenu mě napadlo se podívat na to jak jsou data na ni uložena.



Zaměřil jsem se na FATku, vytvořil jsem si tedy oddíl o velikosti jednoho 1 MB. Ten obsahoval jen jeden soubor s originálním názvem Soubor.txt a ten obsahoval text "Read Counter: 0". K jeho významu se dostanu až časem (možná).

Pro optimalizace zátěže se při každém čtení souboru Soubor.txt nečte kompletní obsah souboru (adresa 0x105200) ale jen tabulka. Pokud nedošlo ke změně času "Last acces", tak je jasné, že







HoursMinutesSeconds/2
1514131211109876543210
1001000001000011
































YearMonthDay
1514131211109876543210
0100111000100101


A jak si vytvořit pokusný soubor bez MBR?

root@JFila:/mnt/hdd/Mass Storage# dd if=/dev/zero of=test.bin bs=1k count=1k
1024+0 records in
1024+0 records out
root@JFila:/mnt/hdd/Mass Storage# du -h test.bin
1.0M    test.bin
root@JFila:/mnt/hdd/Mass Storage# mkfs.fat test.bin
mkfs.fat 3.0.28 (2015-05-16)
root@JFila:/mnt/hdd/Mass Storage# hexdump -C test.bin
00000000  eb 3c 90 6d 6b 66 73 2e  66 61 74 00 02 04 01 00  |.<.mkfs.fat.....|
00000010  02 00 02 00 08 f8 02 00  20 00 40 00 00 00 00 00  |........ .@.....|
00000020  00 00 00 00 80 00 29 67  98 1c 6f 4e 4f 20 4e 41  |......)g..oNO NA|
00000030  4d 45 20 20 20 20 46 41  54 31 32 20 20 20 0e 1f  |ME    FAT12   ..|
00000040  be 5b 7c ac 22 c0 74 0b  56 b4 0e bb 07 00 cd 10  |.[|.".t.V.......|
00000050  5e eb f0 32 e4 cd 16 cd  19 eb fe 54 68 69 73 20  |^..2.......This |
00000060  69 73 20 6e 6f 74 20 61  20 62 6f 6f 74 61 62 6c  |is not a bootabl|
00000070  65 20 64 69 73 6b 2e 20  20 50 6c 65 61 73 65 20  |e disk.  Please |
00000080  69 6e 73 65 72 74 20 61  20 62 6f 6f 74 61 62 6c  |insert a bootabl|
00000090  65 20 66 6c 6f 70 70 79  20 61 6e 64 0d 0a 70 72  |e floppy and..pr|
000000a0  65 73 73 20 61 6e 79 20  6b 65 79 20 74 6f 20 74  |ess any key to t|
000000b0  72 79 20 61 67 61 69 6e  20 2e 2e 2e 20 0d 0a 00  |ry again ... ...|
000000c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  f8 ff ff 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000210  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000600  f8 ff ff 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000610  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00100000

https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system
http://blog.hakzone.info/posts-and-articles/bios/analysing-the-master-boot-record-mbr-with-a-hex-editor-hex-workshop/
https://wiki.osdev.org/FAT

Žádné komentáře:

Okomentovat