add README
This commit is contained in:
75
README.md
75
README.md
@@ -1,46 +1,61 @@
|
||||
# MFTECmd
|
||||
|
||||
## Command Line Interface
|
||||
[] []
|
||||
|
||||
Утилита является портированной под Linux версией утилиты [Эрика Циммермана](https://github.com/EricZimmerman). При портировании была пересмотрена структура флагов и для более простого взаимодействия с программой.
|
||||
|
||||
---
|
||||
|
||||
## Поддерживаемые форматы файлов
|
||||
В качестве входных файлов утилита поддерживает:
|
||||
- `$MFT` - системный файл в файловой системе NTFS, в котором хранится информация о содержимом тома.
|
||||
- `$J` (USN Journal) -системный файл в файловой системе NTFS, который хранит журнал изменений на томе.
|
||||
- `$Boot` - системный файл в файловой системе NTFS, содержащий загрузочный сектор и код запуска.
|
||||
- `$SDS` - системный файл в файловой системе NTFS, содержит список дескрипторов безопасности для всех файлов и каталогов на томе.
|
||||
- `$I30` - атрибут индекса размещения. Связан с каталогами и содержит информацию о файлах и подкаталогах, содержащихся в каталоге.
|
||||
- `$LogFile` - системный файл в файловой системе NTFS, содержащий журнал транзакций.
|
||||
|
||||
Для экспорта доступны форматы: CSV, JSON и Bodyfile.
|
||||
|
||||
### CLI
|
||||
```sh
|
||||
MFTECmd version 0.5.0.1
|
||||
Usage: mftecmd <command> [flags]
|
||||
|
||||
f File to process ($MFT | $J | $LogFile | $Boot | $SDS). Required
|
||||
Utility for processing $MFT, $J, $LogFile, $Boot, $SDS, $I30
|
||||
|
||||
json Directory to save JSON formatted results to. This or --csv required unless --de or --body is specified
|
||||
jsonf File name to save JSON formatted results to. When present, overrides default name
|
||||
csv Directory to save CSV formatted results to. This or --json required unless --de or --body is specified
|
||||
csvf File name to save CSV formatted results to. When present, overrides default name
|
||||
Flags:
|
||||
-h, --help Show context-sensitive help.
|
||||
--debug Show debug information during processing
|
||||
--trace Show trace information during processing
|
||||
|
||||
body Directory to save bodyfile formatted results to. --bdl is also required when using this option
|
||||
bodyf File name to save body formatted results to. When present, overrides default name
|
||||
bdl Drive letter (C, D, etc.) to use with bodyfile. Only the drive letter itself should be provided
|
||||
blf When true, use LF vs CRLF for newlines. Default is FALSE
|
||||
Commands:
|
||||
mft parse <path> [flags]
|
||||
Parse $MFT and write CSV, JSON, or bodyfile output
|
||||
|
||||
dd Directory to save exported FILE record. --do is also required when using this option
|
||||
do Offset of the FILE record to dump as decimal or hex. Ex: 5120 or 0x1400 Use --de or --vl 1 to see offsets
|
||||
mft show <path> <entry> [flags]
|
||||
Show full details for a specific $MFT entry or entry-sequence
|
||||
|
||||
de Dump full details for entry/sequence #. Format is 'Entry' or 'Entry-Seq' as decimal or hex. Example: 5, 624-5 or 0x270-0x5.
|
||||
fls When true, displays contents of directory specified by --de. Ignored when --de points to a file.
|
||||
ds Dump full details for Security Id as decimal or hex. Example: 624 or 0x270
|
||||
mft export-record --offset=STRING --out=STRING <path>
|
||||
Export one raw $MFT FILE record by offset
|
||||
|
||||
dt The custom date/time format to use when displaying time stamps. Default is: yyyy-MM-dd HH:mm:ss.fffffff
|
||||
sn Include DOS file name types. Default is FALSE
|
||||
fl Generate condensed file listing. Requires --csv. Default is FALSE
|
||||
at When true, include all timestamps from 0x30 attribute vs only when they differ from 0x10. Default is FALSE
|
||||
j parse <path> [flags]
|
||||
Parse $J and write CSV or JSON output
|
||||
|
||||
vss Process all Volume Shadow Copies that exist on drive specified by -f . Default is FALSE
|
||||
dedupe Deduplicate -f & VSCs based on SHA-1. First file found wins. Default is FALSE
|
||||
boot parse <path> [flags]
|
||||
Parse $Boot. CSV output is optional, matching MFTECmd behavior
|
||||
|
||||
debug Show debug information during processing
|
||||
trace Show trace information during processing
|
||||
sds parse <path> [flags]
|
||||
Parse $SDS and write CSV output
|
||||
|
||||
sds show <path> <security-id>
|
||||
Show full details for a specific Security ID from $SDS
|
||||
|
||||
Examples: MFTECmd -f "C:\Temp\SomeMFT" --csv "c:\temp\out" --csvf MyOutputFile.csv
|
||||
MFTECmd -f "C:\Temp\SomeMFT" --csv "c:\temp\out"
|
||||
MFTECmd -f "C:\Temp\SomeMFT" --json "c:\temp\jsonout"
|
||||
MFTECmd -f "C:\Temp\SomeMFT" --body "c:\temp\bout" --bdl c
|
||||
MFTECmd -f "C:\Temp\SomeMFT" --de 5-5
|
||||
i30 parse <path> [flags]
|
||||
Parse $I30 and write CSV output
|
||||
|
||||
Short options (single letter) are prefixed with a single dash. Long commands are prefixed with two dashes
|
||||
logfile parse <path>
|
||||
Recognize $LogFile input, but report that parsing is not supported yet
|
||||
```
|
||||
|
||||
## Документация
|
||||
[Introducing MFTECmd](https://binaryforay.blogspot.com/2018/06/introducing-mftecmd.html)
|
||||
@@ -19,7 +19,7 @@ func NewCLI() *CLI {
|
||||
c.parser = kong.Must(
|
||||
&c.cmd,
|
||||
kong.Name("mftecmd"),
|
||||
kong.Description("Utility for processing $MFT, $J, $LogFile, $Boot, $SDS"),
|
||||
kong.Description("Utility for processing $MFT, $J, $LogFile, $Boot, $SDS, $I30"),
|
||||
kong.UsageOnError(),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user