Documentation ¶
Index ¶
- func ConvertLittleEndianByteSliceToInt64(inBytes []byte) (outInt64 int64)
- func ConvertLittleEndianByteSliceToUInt64(inBytes []byte) (outUint64 uint64)
- func CreateDirectoryList(inboundBuffer *chan []byte, directoryListChannel *chan map[uint64]Directory, ...)
- func ParseMFT(mftFilePath, outFileName string) (err error)
- func ParseTimestamp(timestampBytes []byte) (timestamp string)
- type AttributeInfo
- type DataAttributes
- type DataRun
- type Directory
- type DirectoryList
- type FileNameAttributes
- type FileNameFlags
- type MappedDirectories
- type MasterFileTableRecord
- func (mftRecord *MasterFileTableRecord) CheckForRecordHeader() (recordHeaderPresent bool)
- func (mftRecord *MasterFileTableRecord) GetAttributeList() (err error)
- func (mftRecord *MasterFileTableRecord) GetDataAttribute() (err error)
- func (mftRecord *MasterFileTableRecord) GetFileNameAttributes() (err error)
- func (mftRecord *MasterFileTableRecord) GetRecordHeader()
- func (mftRecord *MasterFileTableRecord) GetStandardInformationAttribute() (err error)
- func (mftRecord *MasterFileTableRecord) ParseMFTRecord() (err error)
- func (mftRecord *MasterFileTableRecord) QuickDirectoryCheck()
- func (mftRecord *MasterFileTableRecord) TrimMFTRecordSlackSpace()
- type MftFile
- type NonResidentDataAttributes
- type RawDataRun
- type RawDataRunList
- type RecordHeader
- type ResidentDataAttributes
- type StandardInformationAttributes
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertLittleEndianByteSliceToInt64 ¶
Convert a byte slice to a little endian int64.
func ConvertLittleEndianByteSliceToUInt64 ¶
Convert a byte slice to a little endian uint64.
func CreateDirectoryList ¶
func CreateDirectoryList(inboundBuffer *chan []byte, directoryListChannel *chan map[uint64]Directory, waitGroup *sync.WaitGroup)
Creates a list of directories from a channel of MFR record bytes.
func ParseTimestamp ¶
Parse a byte slice containing a unix timestamp and convert it to a timestamp string.
Types ¶
type AttributeInfo ¶
type DataAttributes ¶
type DataAttributes struct { TotalSize uint8 FlagResident bool ResidentDataAttributes ResidentDataAttributes NonResidentDataAttributes NonResidentDataAttributes }
type DirectoryList ¶
type FileNameAttributes ¶
type FileNameAttributes struct { FnCreated string FnModified string FnAccessed string FnChanged string FlagResident bool FlagNamed bool NamedSize byte AttributeSize uint32 ParentDirRecordNumber uint64 ParentDirSequenceNumber uint16 LogicalFileSize uint64 PhysicalFileSize uint64 FileNameFlags FileNameFlags FileNameLength byte FileNamespace string FileName string }
type FileNameFlags ¶
type MappedDirectories ¶
type MasterFileTableRecord ¶
type MasterFileTableRecord struct { BytesPerCluster int64 RecordHeader RecordHeader StandardInformationAttributes StandardInformationAttributes FileNameAttributes []FileNameAttributes DataAttributes DataAttributes MftRecordBytes []byte AttributeInfo []AttributeInfo }
func (*MasterFileTableRecord) CheckForRecordHeader ¶
func (mftRecord *MasterFileTableRecord) CheckForRecordHeader() (recordHeaderPresent bool)
Verifies that the bytes receives is actually an MFT record. All MFT records start with "FILE0".
func (*MasterFileTableRecord) GetAttributeList ¶
func (mftRecord *MasterFileTableRecord) GetAttributeList() (err error)
Get MFT record attributes list.
func (*MasterFileTableRecord) GetDataAttribute ¶
func (mftRecord *MasterFileTableRecord) GetDataAttribute() (err error)
func (*MasterFileTableRecord) GetFileNameAttributes ¶
func (mftRecord *MasterFileTableRecord) GetFileNameAttributes() (err error)
func (*MasterFileTableRecord) GetRecordHeader ¶
func (mftRecord *MasterFileTableRecord) GetRecordHeader()
func (*MasterFileTableRecord) GetStandardInformationAttribute ¶
func (mftRecord *MasterFileTableRecord) GetStandardInformationAttribute() (err error)
func (*MasterFileTableRecord) ParseMFTRecord ¶
func (mftRecord *MasterFileTableRecord) ParseMFTRecord() (err error)
Parse the bytes of an MFT record
func (*MasterFileTableRecord) QuickDirectoryCheck ¶
func (mftRecord *MasterFileTableRecord) QuickDirectoryCheck()
Quickly checks the bytes of an MFT record to determine if it is a Directory or not.
func (*MasterFileTableRecord) TrimMFTRecordSlackSpace ¶
func (mftRecord *MasterFileTableRecord) TrimMFTRecordSlackSpace()
Trims off slack space after end sequence 0xffffffff
type MftFile ¶
type MftFile struct { FileHandle *os.File MappedDirectories map[uint64]string OutputChannel chan MasterFileTableRecord }
func (*MftFile) BuildDirectoryTree ¶
Builds a list of directories for the purpose of of mapping MFT records to their parent directories.
type RawDataRun ¶
type RawDataRunList ¶
type RawDataRunList map[int]RawDataRun
type RecordHeader ¶
type ResidentDataAttributes ¶
type ResidentDataAttributes struct {
ResidentData []byte
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.