我使用以下命令将音频/视频文件隐藏在备用数据流 (ADS) 中
F:\>type "Message.mp3">"MainFile.txt:Message.mp3"
在尝试从 ADS 中检索音频/视频文件时,或者换句话说,从 ADS 中吸出文件并将其放回常规文件中时,我使用“cat”命令
cat "f:\MainFile.txt:Message.mp3">"Message.mp3"
在 Windows Powershell 中执行上述命令时,会检索文件,但该文件无法成功打开或播放。此外,检索后其大小几乎增加一倍。
有人对此有发言权吗?
答案1
以下两个 powershell 命令将完成此任务。
$a = Get-Content f:\MainFile.txt:HANDS.3gp -Encoding Byte -ReadCount 0
Set-Content f:\HANDS.3gp -Encoding Byte -Value $a
答案2
默认情况下,cat
( Get-Content
) 假设文件内容为文本,具体来说是 UTF-16LE。当对 MP3 等二进制文件应用文本处理假设时,它们将受到破坏。
命令处理器type
会保留字节,因此您可以保留该部分。要使用 PowerShell 提取文件,您应该小心处理字节:
[IO.File]::WriteAllBytes('C:\full\path\to\output.mp3', (cat 'F:\MainFile.txt:Message.mp3' -Encoding Byte))