当文件被修改时,某些属性(如创建时间、修改时间、访问时间及编码软件等)都会发生变化。然而,通过修改文件的元数据,可以有效地掩盖这些修改痕迹。
简短的元数据修改命令介绍:
一.exiftool
查看和修改文件元数据,如图像、视频和 PDF 文件。
安装:
macOS:
1.Homebrew:
打开终端,输入以下命令安装 Homebrew(如果还未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装 ExifTool:
brew install exiftool
手动下载:
前往 ExifTool 官方网站 下载适用于 macOS 的版本。
解压下载的文件,并将 exiftool 可执行文件移动到 /usr/local/bin 或其他系统路径。
Windows:
1. 使用 Chocolatey:
打开命令提示符(以管理员身份运行),输入以下命令安装 Chocolatey(如果还未安装):
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
安装ExifTool:
choco install exiftool
常用参数:
-
-Author=<>:设置作者。
-
-Title=<>:设置标题。
-
-Subject=<>:设置主题。
-
-Keywords=<>:设置关键字。
-
-Creator=<>:设置内容创造者。
-
-Producer=<>:设置编码软件。
-
-overwrite_original:覆盖原文件。
-
-All=:清除所有元数据。
示例:
exiftool -Author= -Creator= -Producer= -overwrite_original /path/to/file.pdf
二.touch
修改文件时间戳(访问时间和修改时间)。
安装:
macOS:
touch 是 macOS 系统自带的工具,无需额外安装。可以直接在终端中使用。
Windows:
Windows 没有内置的 touch 命令,可以通过安装 GnuWin32 工具包来获得。
前往 GnuWin32 的核心工具包下载页面 下载核心工具包。
安装后,将 bin 目录(通常在 C:\Program Files (x86)\GnuWin32\bin)添加到系统路径中。
常用参数:
-
-a:修改访问时间。
-
-m:修改修改时间。
-
-t [[CC] YY] MMDDhhmm [.ss]:指定时间。
-
-d:使用日期字符串。
示例:
touch -t 202406202335 /path/to/file.txt
三.SetFile
修改文件的创建日期和修改日期(仅限 macOS)。
安装:
1.macOS:
SetFile 是 macOS 的开发者工具包 Xcode 的一部分。
安装 Xcode 命令行工具:
xcode-select --install
参数:
-
-d <MM/DD/YYYY hh:mm>:设置创建日期。
-
-m <MM/DD/YYYY hh:mm>:设置修改日期。
示例:
SetFile -d '06/20/2024 23:35:00' /path/to/file.txt
SetFile -m '06/20/2024 23:35:00' /path/to/file.txt
2.Windows:
SetFile 是 macOS 特有的工具,在 Windows 上没有直接对应的工具。
使用 PowerShell 可以通过 Get-Item 和 Set-ItemProperty 命令来修改文件的时间戳。以下是具体的步骤和示例代码:
打开 PowerShell:以管理员身份运行 PowerShell。
参数:
- $filePath:文件的路径。
- $newDateTime:新的日期和时间。
- $file.CreationTime:设置文件的创建日期。
- $file.LastWriteTime:设置文件的修改日期。
- $file.LastAccessTime:设置文件的访问日期。
示例:
使用以下命令可以修改文件的创建日期:
$file = Get-Item "C:\path\to\file.txt"
$file.CreationTime = "2024-06-20 23:35:00"
使用以下命令可以修改文件的修改日期:
$file = Get-Item "C:\path\to\file.txt"
$file.LastWriteTime = "2024-06-20 23:35:00"
使用以下命令可以修改文件的访问日期:
$file = Get-Item "C:\path\to\file.txt"
$file.LastAccessTime = "2024-06-20 23:35:00"
部分安装命令需预先配置网络环境