介绍
这是一个控制台应用程序,通过低级磁盘读取方法从 NTFS 卷复制文件。
语法
RawCopy /ImageFile:FullPath\ImageFilename /ImageVolume:[1,2...n] /FileNamePath:FullPath\Filename /OutputPath:FullPath /AllAttr:[0|1] /RawDirMode:[0|1|2] /WriteFSInfo:[0|1] /TcpSend:[0|1]
参数说明
/ImageFile:
要从中提取的镜像文件的完整路径和文件名。如果使用了此参数,则必须设置 /ImageVolume:。可选。
/ImageVolume:
要从中提取的卷号。如果卷不是 NTFS,则不会提取任何内容。仅与 /ImageFile: 一起使用。
/FileNamePath:
要提取的文件的完整路径和文件名。也可以通过 卷:MftRef 的形式指定。必需。
/OutputPath:
提取文件的目标路径。可选。如果省略,则提取路径默认为程序目录。
/OutputName:
输出文件名。可选。如果省略,则文件名保持原文件名。仅用于覆盖原始文件名。
/AllAttr:
布尔标志,用于触发提取所有属性。可选。默认为 0。
/RawDirMode:
可选的目录列表模式。0 为不打印,1 为详细打印,2 为基础打印。如果省略,默认为 0。可与其他任何参数一起使用,但启用此模式时,不能通过 MftRef 定义 FileNamePath。
/WriteFSInfo:
可选的布尔标志,用于在指定的输出目录中将一些卷信息写入 VolInfo.txt 文件。
/TcpSend
可选的布尔标志,用于指示输出应通过网络发送。如果设置了此标志,则 /OutputPath: 的值必须是 IP:PORT 或 DOMAIN:PORT。
此工具允许您复制通常因系统锁定而无法访问的文件。例如,注册表配置单元(如 SYSTEM 和 SAM)、"系统卷信息"中的文件、pagefile.sys 或文件系统上的任何文件。
它支持通过完整文件路径或通过其 $MFT 记录号(索引号)指定输入文件。
那么,如何获取已知系统文件之外某个文件的索引号?从版本 1.0.0.13 开始,RawDir 的功能已移植到 RawCopy 中。这样,就可以搜索诸如 "System Volume Information" 等目录(RawCopy.exe /FileNamePath:"c:\System Volume Information" /RawDirMode:2)。
对于镜像文件,/FileNamePath: 参数中的卷字母将被忽略。
在 /FileNamePath 中指定设备路径时,可以访问没有挂载任何卷的已连接设备。示例包括 HarddiskVolume1、Harddisk0Partition2、HarddiskVolumeShadowCopy1、PhysicalDrive1。
为了从镜像文件内的卷影副本中提取文件,需要事先挂载镜像文件,以便 Windows 显示指向该卷影副本的符号链接,例如 \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy60。建议使用诸如 Arsenal Image Mounter(免费)之类的工具挂载镜像。
/WriteFSInfo: 参数在编写脚本时非常有用,因为 LogFileParser 和 Mft2Csv 会用到 SectorsPerCluster 和 MFTRecordSize。
当使用 /TcpSend:1 将输出发送到网络时,目标端必须有一个正在监听的服务,例如 netcat。目前,数据以明文形式通过网络发送。
此版本与 Windows 2000 / NTFS 3.0 不兼容。我准备了一个基于 v1.0.0.19 的特殊构建版本,可在该环境下使用;https://github.com/jschicht/RawCopy/releases/download/1.0.0.19/RawCopy_v1.0.0.19_.Win2000.zip 早期版本未经过测试。
使用示例
从运行中的系统复制休眠文件并保存到 E:\output\hiberfil_c.sys 的示例
RawCopy.exe /FileNamePath:C:\hiberfil.sys /OutputPath:E:\output /OutputName:hiberfil_c.sys
从运行中的系统复制 SYSTEM 配置单元的示例
RawCopy.exe /FileNamePath:C:\WINDOWS\system32\config\SYSTEM /OutputPath:E:\output
通过指定索引号提取 $MFT 到程序目录,并将默认输出文件名覆盖为 MFT_C.bin 的示例
RawCopy.exe /FileNamePath:C:0 /OutputName:MFT_C.bin
提取 MFT 引用号 30224 及其所有属性(包括 $DATA),并将其转储到 C:\tmp 的示例
RawCopy.exe /FileNamePath:C:30224 /OutputPath:C:\tmp /AllAttr:1
访问磁盘镜像并从卷号 2 提取 MftRef($LogFile)的示例
RawCopy.exe /ImageFile:e:\temp\diskimage.dd /ImageVolume:2 /FileNamePath:c:2 /OutputPath:e:\out
访问分区/卷镜像并提取 file.ext 并将其转储到 E:\out 的示例
RawCopy.exe /ImageFile:e:\temp\partimage.dd /ImageVolume:1 /FileNamePath:c:\file.ext /OutputPath:e:\out
在 c:$Extend 中创建详细模式原始目录列表的示例
RawCopy.exe /FileNamePath:c:$Extend /RawDirMode:1
在磁盘镜像文件中的 c:\System Volume Information 内创建基础模式原始目录列表的示例
RawCopy.exe /ImageFile:e:\temp\diskimage.dd /ImageVolume:1 /FileNamePath:"c:\System Volume Information" /RawDirMode:2
在卷影副本的根级别创建详细模式原始目录列表的示例
RawCopy.exe /FileNamePath:\.\HarddiskVolumeShadowCopy1❌\ /RawDirMode:1
从硬盘1的分区2提取 $MFT 并转储到 e:\out 的示例
RawCopy.exe /FileNamePath:\.\Harddisk0Partition2:0 /OutputPath:e:\out
从 PhysicalDrive0 上的第二个卷提取 $MFT 并将其保存为 E:\out\MFT_Pd0Vol2.bin 的示例
RawCopy.exe /FileNamePath:\.\PhysicalDrive0:0 /ImageVolume:2 /OutputPath:e:\out /OutputName:MFT_Pd0Vol2.bin
从系统卷提取 $LogFile 并通过网络发送的示例
RawCopy.exe /FileNamePath:c:$LogFile /TcpSend:1 /OutputPath:10.10.10.10:6666
RawCopy.exe /FileNamePath:c:$LogFile /TcpSend:1 /OutputPath:www.mypublicdomain.com:6666