从ntfs文件系统分析$mft。

analyzeMFT的Python项目详细描述


====
analyze mft
==


,并以多种格式尽可能准确地显示结果。


installation
==
pip:

pip install analyzemft

或者:

python setup.py install(或者,从该目录运行它)

usage
==br/>用法:analyzemft.py[选项]

选项:
-h,--帮助显示此帮助消息并退出
-v,--版本报告版本并退出


文件输入选项:

-f文件,--文件=从文件读取mft

--输出=文件
将结果写入文件
-c文件,--csvtimefile=文件
写入csv格式时间线文件
-b文件,--body file=file
将mac信息写入bodyfile

特定于body文件的选项:

--body std对body文件使用std\u信息时间戳,而不是fn
时间戳
--body full使用完整路径名+文件名而不仅仅是
打开调试输出
-s,--save in memory在内存中保存解码的mft的副本。不要对非常大的mft使用
-p,--progress显示系统进度报告。
-w,--windows path在构建文件路径时使用windows路径分隔符,而不是linux或bodyfile格式。

csv输出
——
输出当前以csv格式写入。由于excel
自动确定列中的数据类型,建议
将输出写入不带.csv扩展名的文件,在excel中打开,并在导入向导启动时将所有列设置为"文本"而不是"常规"。如果不这样做,将导致excel格式化列的方式
会歪曲数据。


将nogui标志设置为"true"。这是针对不想安装TK/TCL库的安装。


update history
===
[参见changes.txt]


version 2.0.4:支持外部程序的小调整
version 2.0.3:重新构造以支持PYPI(PIP)
version 2.0.2:de oop'd mft record解析以减少内存消耗
2.0.1版:添加了L2T CSV和正文文件支持,修复了一路上的一些小错误
提高了完整文件路径计算的效率
2.0.0版对布局进行了重组,将其转换为模块。
使其更加面向对象。
改进了错误处理和损坏记录检测

----版本1历史记录如下---

1.0版:初始版本
1.1版:将父文件夹引用和序列拆分为两个字段。我仍在试图弄清楚父文件夹序列号的重要性,但我确信一些文档中所指的父文件夹记录号实际上是两个值-父文件夹记录号和父文件夹记录号文件夹序列号。
1.2版:修复了文件名中不可打印字符的问题。任何unicode字符都是legal文件名,包括换行符。这在我的输出中提出了一些问题。不
呈现良好的字符现在被转换为十六进制,并在notes列中添加一个注释来指示这一点。
(自从我第一次编写这篇文章以来,我已经学到了很多关于unicode的知识。)
添加了"编译时"标志来关闭任何与gui相关的包含。模块和库
用于缺少tk/tcl支持的系统。(在代码中将nogui设置为true)
1.3版:添加了新列以保存与每个记录相关的日志条目。例如,说明文件名中的某些字符由于无法打印而被转换为十六进制的注释。
1.4版:credit:spencer lynch。我误用了mft头中的flags字段。第一位是
活动/非活动。第二位是文件/文件夹。
1.5版:固定日期/时间报告。我根本没有报告使用情况。
添加了异常检测。添加两列:
std fn shift:if y,entry的fn create time在std create time之后
usec zero:if y,entry的std create time的usec value为零
version 1.6:各种错误修复
version 1.7:bodyfile支持,多亏了dave hull
1.8版:增加了对全路径提取的支持,作者Kristinn Gudjonson
1.9版:增加了对CSV时间线输出的支持
1.10版:仅适用于Tom
1.11版:修复了TSK bodyfile输出
1.12版:修复了导致递归错误的孤立文件检测问题(2013年4月18日)
1.13版:已从"全部遍历"更改从MFT提取序列号的序列号。以前的方法不能很好地处理
间隙
版本1.14:如果指定了-b,则使-o输出为可选。(要么/要么)
1.15版:增加了文件大小(实数,未分配)到bodyfile。
添加bodyfile选项以包括完整路径+文件名,而不仅仅是文件名
添加bodyfile选项以使用std_信息时间戳而不是fn时间戳



version 2 history is inchanges.txt









inspiration
==
我最初的灵感是mft ripper(即当前输出格式)和
sans 508.1学习指南的结合。我不忍心再看一次关于ntfs结构的文章,
尤其是因为信息没有"粘住"。我还想学习python,所以我认为使用它来分解mft文件是一个大小合理的项目。他的代码,加上他写的"文件系统鉴证分析"一书,对我编写这段代码非常有帮助。他的工具真的激励了我学习更多关于mft结构的知识,学习我可以从数据中收集到的额外信息。


对这一领域的进一步研究可能是一个很好的基础。BR/> BR/>< BR/>未来的工作
如果添加.csv扩展名,excel将在不调用导入向导的情况下打开文件,日期字段将被视为"常规",日期将被截断,只留下时间。
2)添加版本开关
3)添加"mftr"开关-生成与mft ripper兼容的输出
4)添加"提取"切换-提取或处理实时mft文件5)完成对所有可能属性的分析6)研究如何使用信息进行更多的时间线分析7)改进文档,以便我可以使用结构作为参考,并更有效地重用代码8)清理代码特别是,遵循标准命名约定
9)有两个mft条目标志,我无法确定其重要性。这些在
输出中显示为unknown1和unknown2
10)基于fn structure中的"nspace"值分析文件名
11)测试它并确保它在所有主要Windows操作系统版本上都有效
12)输出HTML和CSV
13)如果指定了错误的输入文件名和良好的输出filename,您将得到一个关于输出文件名的
错误。



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在构造函数外部添加鼠标侦听器   java如何使用比较器对列表进行排序以正确排序空值?   javajavax。由于javax,邮件“535.7.3身份验证失败”。邮件升级(v1.3.1至v1.5.2)   java将arraylist流到固定的二维数组中并打印?   RecyclerView适配器上的java上下文   java如何为此Twitter API为KafkaProducer建立连接   java Spring安全性重写WebSecurity配置适配器的配置(AuthenticationManagerBuilder)是否会影响全局应用程序?   线程“awteventque0”NullPointerException中的java异常   if条件中的null值和null指针异常java   java树集<Object>允许相同类型的多个对象   java定义类;我认不出   字符串java replaceAll()   JAVAutil。scanner(Java)读取文件时如何跳过空格?   java在swing中关闭flash屏幕   java在Wildfly 16中的应用程序中加载pk12文件   有没有工具可以自动生成屏幕抓取的Java代码   创建意图时,java方法getParcelableExtra()返回null   将数据从java传递到jsp   java Android Studio |永久保存布局