Difference between pages "FAT" and "Pine Header Format"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
 
(Added version numbers to Message-ID)
 
Line 1: Line 1:
The FAT allocation system is primarly concerned with a descrete method of organizing files. In order to protect the file system, two copies are stored: FAT1 and FAT2. With two copies available redundancy is achieved in case one fails. The partition Boot Sector stores information critical to the file system. This information includes the number of sectors, and number of clustors, the number of sectors per cluster and more. When a computer user wants to read any type of file, the FAT file system also reassembles each piece of the file into one complete unit for viewing.
+
[[Pine]] composes headers in the following format:
The Root Folder contains a small piece of information for each file and directory in the system. Unlike other files in the system the Root Folder has a fixed size.
+
  
*  FAT Partition Boot Sector
+
<pre>Date: Tue, 6 Mar 2007 11:10:36 -0500 (EST)
*  FAT File System
+
From: Sender Name <sender@host.com>
*  FAT Root Folder
+
To: Getter Name <getter@otherhost.com>
*  FAT Folder Structure
+
cc: Other Person <somebody@somehost.com>
 +
Subject: The subject text
 +
Message-ID: <Pine.LNX.4.64.0703061056380.29699@host.com></pre>
  
[[Image:Recover-FAT-volume-structur.jpg]]
+
Using the function <tt>generate_message_id</tt> in the file <tt>reply.c</tt> we can see that the format for the Message-ID line is a series of fields separated by periods, followed by the <tt>@</tt> symbol and the hostname of the sending machine. The fields are
  
'''History'''
+
# The word <tt>Pine</tt>
 +
# A three letter version of the operating system name (e.g. <tt>LNX</tt> for Linux)
 +
# The major version of Pine
 +
# The minor version of Pine
 +
# A number YYMMDDHHmmssX, Where YY is the last two digits of the year, MM the current month, DD the current day of the month, HH the current hour, mm the current minute, ss the current second, and X is either a zero or one depending on the number of seconds.
 +
# The current process ID number
  
----
+
Note that the timestamp in the Message-Id may not necessarily match the <tt>Date</tt> line.
  
 
+
The hostname can be [[ROT-13]] encrypted on some configurations.
Originally developed by Bill Gates in 1976 as a way to store data on floppy disks for a version of Basic, the file allocation table system was quickly incorporated into an early version of Tim Patterson's (of Seattle Computer Products fame) operating system, QDOS ("Quick and Dirty Operating System"). Gates later bought the rights to QDOS and released it under Microsoft as PC-DOS and later, MS-DOS.
+
 
+
----
+
 
+
+
'''FAT32''':
+
FAT32 is the enhanced version of the FAT system implemented beginning with Windows 95 OSR2, Windows 98, and Windows Me.
+
Features include:
+
*  Drives of up to 2 terabytes are supported (Windows 2000 only supports up to 32 gigabytes)
+
*  Since FAT32 uses smaller clusters (of 4 kilobytes each), it uses hard drive space more efficiently. This is a 10 to 15 percent improvement over FAT or FAT16.
+
The limitations of FAT or FAT 16 on the number of root folder entries have been eliminated. In FAT32, the root folder is an ordinary cluster chain, and can be located anywhere on the drive.
+
*  File allocation mirroring can be disabled in FAT32. This allows a different copy of the file allocation table then the default to be active.
+
 
+
Currently the FAT file system has become the ubiquitous format that is used for interchange of media between computers. Since the advent of less expensive, removable flash memory, the FAT file system has become the format that is used between digital devices. Some items in which you might find the FAT file format are:
+
 
+
* Thumb drives
+
* Portable digital still/video cameras
+
* Portable digital audio and video players
+
* Multifunction printers
+
* Electronic photo frames
+
* Electronic musical instruments
+
* Standard televisions
+
 
+
 
+
----
+
 
+
'''Comparison of FAT Versions''''
+
 
+
Table adapted from:
+
http://en.wikipedia.org/wiki/File_Allocation_Table
+
 
+
 
+
<table cellpadding="2" border="1">
+
<tr bgcolor="lightgreen" align="center">
+
<td bgcolor="white"></td>
+
<td><b>FAT12</b></td>
+
<td><b>FAT16</b></td>
+
<td><b>FAT32</b></td>
+
 
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Developer</th>
+
<td colspan="3">Microsoft</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey" rowspan="2">Full Name</th>
+
<td colspan="3">File Allocation Table</td>
+
</tr>
+
<tr align="center">
+
<td>(12-bit version)</td>
+
<td>(16-bit version)</td>
+
 
+
<td>(32-bit version)</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Introduced</th>
+
<td>1977 (Microsoft Disk BASIC)</td>
+
<td>July 1988 (MS-DOS 4.0)</td>
+
 
+
<td>August 1996 (Windows 95 OSR2)</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Partition identifier</th>
+
<td>0x01 (MBR)</td>
+
<td>0x04, 0x06, 0x0E (MBR)</td>
+
 
+
<td>0x0B, 0x0C (MBR)<br />
+
<small>EBD0A0A2-B9E5-4433<br />
+
-87C0-68B6B72699C7</small> (GPT)</td>
+
</tr>
+
<tr bgcolor="lightgreen" align="center">
+
<th>Structures</th>
+
<th><b>FAT12</b></th>
+
 
+
<th><b>FAT16</b></th>
+
<th><b>FAT32</b></th>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Directory contents</th>
+
<td colspan="3">Table</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">File allocation</th>
+
<td colspan="3">Linked List</td>
+
</tr>
+
 
+
<tr align="center">
+
<th bgcolor="lightgrey">Bad blocks</th>
+
<td colspan="3">Linked List</td>
+
</tr>
+
<tr bgcolor="lightgreen" align="center">
+
<th>Limits</th>
+
<th><b>FAT12</b></th>
+
<th><b>FAT16</b></th>
+
<th><b>FAT32</b></th>
+
</tr>
+
<tr align="center">
+
 
+
<th bgcolor="lightgrey">Max file size</th>
+
<td>32 MiB</td>
+
<td>2 GiB</td>
+
<td>4 GiB</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Max number of files</th>
+
<td>4,077</td>
+
 
+
<td>65,517</td>
+
<td>268,435,437</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Max filename size</th>
+
<td colspan="3">8.3 or 255 characters when using LFNs</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Max volume size</th>
+
<td>32 MiB</td>
+
 
+
<td>4 GiB</td>
+
<td>2 TiB</td>
+
</tr>
+
<tr bgcolor="lightgreen" align="center">
+
<th>Features</th>
+
<th><b>FAT12</b></th>
+
<th><b>FAT16</b></th>
+
<th><b>FAT32</b></th>
+
</tr>
+
 
+
<tr align="center">
+
<th bgcolor="lightgrey">Dates recorded</th>
+
<td colspan="3">Creation, modified, access</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Date range</th>
+
<td colspan="3">January 1, 1980 - December 31, 2107</td>
+
 
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Forks</th>
+
<td colspan="3">Not natively</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Attributes</th>
+
<td colspan="3">Read-only, hidden, system, volume label, subdirectory, archive</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Permissions</th>
+
<td colspan="3">No</td>
+
 
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Transparent compression</th>
+
<td colspan="2">Per-volume, Stacker, DoubleSpace, DriveSpace</td>
+
<td>No</td>
+
</tr>
+
<tr align="center">
+
<th bgcolor="lightgrey">Transparent encryption</th>
+
 
+
<td colspan="2">Per-volume only with DR-DOS</td>
+
<td>No</td>
+
</tr>
+
</table>
+
 
+
 
+
----
+
 
+
'''References:'''
+
 
+
http://en.wikipedia.org/wiki/File_Allocation_Table
+
 
+
http://www.microsoft.com
+
 
+
http://www.ntfs.com
+
 
+
http://support.microsoft.com/kb/q154997/#XSLTH3126121123120121120120
+

Revision as of 15:29, 6 March 2007

Pine composes headers in the following format:

Date: Tue, 6 Mar 2007 11:10:36 -0500 (EST)
From: Sender Name <sender@host.com>
To: Getter Name <getter@otherhost.com>
cc: Other Person <somebody@somehost.com>
Subject: The subject text
Message-ID: <Pine.LNX.4.64.0703061056380.29699@host.com>

Using the function generate_message_id in the file reply.c we can see that the format for the Message-ID line is a series of fields separated by periods, followed by the @ symbol and the hostname of the sending machine. The fields are

  1. The word Pine
  2. A three letter version of the operating system name (e.g. LNX for Linux)
  3. The major version of Pine
  4. The minor version of Pine
  5. A number YYMMDDHHmmssX, Where YY is the last two digits of the year, MM the current month, DD the current day of the month, HH the current hour, mm the current minute, ss the current second, and X is either a zero or one depending on the number of seconds.
  6. The current process ID number

Note that the timestamp in the Message-Id may not necessarily match the Date line.

The hostname can be ROT-13 encrypted on some configurations.