如何使用隐写术在 Ubuntu 中隐藏图像中的文件

隐写术是将机密信息隐藏在另一个文件中的过程。 其目的是以一种看起来不可疑的方式隐藏机密信息的存在。 此外,直接查看文件的人可能无法看到实际信息。 将隐写术与加密相结合增加了额外的保护层,因为它不仅隐藏了数据的存在,而且使其更加安全。

在这篇文章中,我们将介绍如何使用隐写术在 Ubuntu 中隐藏图像中的文件。 我们将介绍四种不同的方法:

  • 使用 Steghide 实用程序(命令行)
  • 使用 Outguess 实用程序(命令行)
  • 使用 Cat 实用程序(命令行)
  • 使用 Stegosuite 实用程序 (GUI)

笔记:我们已经解释了 Ubuntu 20.04 LTS 上的程序(也适用于 Debian 操作系统)。 您将需要 sudo 在系统上安装实用程序的权限。

使用 Steghide 实用程序(命令行)

Steghide 是一个命令行实用程序,可让您隐藏到图像或音频文件中的文件。 它可以隐藏 JPEG、WAV、AU 和 BMP 格式的数据。

您可以使用以下命令安装 Steghide 实用程序:

$ sudo apt install steghide

安装 Steghide 后,您就可以在图像中隐藏或嵌入文件了。 您将需要要隐藏的文件和要隐藏的图像(也称为封面文件)。

要使用 Steghide 隐藏图像文件中的文件,语法如下:

$ steghide embed -ef <file-to-hide > -cf <image.jpg>

在哪里 -ef 用于指定文件 需要嵌入和 –参考 用于指定封面文件 你想隐藏它。

例如,下面的命令将隐藏 测试文件.txt 在一个 花.jpg 图像文件。

$ steghide embed -ef testfile.txt -cf flower.jpg

它会要求您输入密码,然后确认。 此密码稍后将用于提取图像中嵌入的文件。 如果您不想使用密码保护它,只需点击 Enter 两次。

现在我们的文件隐藏在图像中,我们可以删除原始文件。

$ sudo rm testfile.txt

访问隐藏文件

要访问隐藏在图像中的文件,您需要从图像中提取它。 语法如下:

$ steghide extract -sf <image>

在哪里 -sf 用于指定包含嵌入数据的图像名称。

例如,下面的命令将提取嵌入图像的原始文件 花.jpg.

$ steghide extract -sf flower.jpg

提供文件的密码,之后将提取原始文件。

使用 Outguess 实用程序(命令行)

Outguess 是另一个用于将文件嵌入图像中的命令行实用程序。 它使您可以将信息隐藏在封面媒体的冗余位中。 它可以隐藏 PPM、PNM 和 JPEG 文件中的数据。

您可以使用以下命令安装 Steghide 实用程序:

$ sudo apt install outguess

安装 Outguess 后,您就可以在图像中隐藏或嵌入文件了。 您将需要要隐藏的文件和要隐藏的图像(也称为封面文件)。

使用 Outguess 隐藏图像文件中的文件,语法如下

$ outguess -k <“password”> -d <file-to-hide> <image> <image-out>

在哪里 “密码” 是用于加密和隐藏的密码 在一个里面 是包含嵌入数据的结果图像的结果文件。

例如,下面的命令将嵌入 测试文件.txt 进入 花.jpg 带密码 abc123 并将结果存储在 花开.jpg.

$ outguess -k “abc123” -d testfile.txt flower.jpg flower-out.jpg

现在您可以删除原始文本文件:

$ sudo rm testfile.txt

访问隐藏文件

要访问隐藏在图像中的文件,您需要从图像中提取它。 语法如下:

$ outguess -k “password” -r <image-out> <filename>

您可以为 选择任何名称,不一定是原始文件名。

例如,下面的命令将提取嵌入图像的原始文件 花开.jpg.

$ outguess -k “abc123” -r flower-out.jpg testfile.txt

使用 Cat 命令(命令行)

你会很清楚 Linux Cat 命令具有三个主要功能:创建文件、查看文件内容和连接文件。 使用 Cat 命令连接功能,我们可以实现隐写术。

对于此方法,您将需要一个 zip 文件(包含需要隐藏的文件)和一个图像文件(您要在其中隐藏文件)。 请按照分步程序执行此操作:

1.创建一个目录并添加所有要隐藏在图像中的文件。 例如,我们想隐藏一个名为的文件目录 我的文件,所以我们使用以下命令创建了它:

$ sudo mkdir myfiles

然后在新创建的目录中,复制要隐藏的文件。

2. 现在,使用以下命令压缩此目录:

$ sudo zip -r myfiles.zip myfiles

在哪里 我的文件.zip 是压缩文件名。

C:Users1 EBDesktopScreenshot from 2021-03-01 00-29-25.png

3. 现在,将您的图像文件放在放置压缩文件的同一目录中,在我们的例子中是主目录。 然后将压缩文件和图像文件连接起来,并将其保存在一个新的图像文件中,如下所示:

$ cat myfiles.zip image.jpg > flower.jpg

在哪里 我的文件.zip 是压缩文件, 图像.jpg 是我们要用作封面文件的图像文件,并且 花.jpg 是实际隐藏文件的输出文件。

C:用户1 EB桌面aa.png

4. 现在您已经隐藏了图像中的文件,您可以安全地删除文件目录和压缩文件。 您可以使用 R M 命令如下:

$ sudo rm -r myfiles
$ sudo rm myfiles.zip

访问隐藏文件

要访问隐藏在图像中的文件,您需要解压缩该图像文件。 为此,首先确保您位于包含输出图像文件的同一目录中 花.jpg 包含隐藏数据。 然后运行以下命令解压缩隐藏文件:

$ unzip flower.jpg

C:Users1 EBDesktopScreenshot from 2021-03-01 00-51-00.png

使用 Stegosuite 实用程序(图形)

Stegosuite 是另一个图形隐写术实用程序,可让您在图像中嵌入文件。 它使用 AES 加密嵌入的数据。 它可以隐藏 BMP、GIF、JPG 和 PNG 格式的数据。

您可以使用以下命令安装 Stegosuite 实用程序:

$ sudo apt install stegosuite

当提示确认时,按 .

安装 Stegosuite 后,您就可以在图像中隐藏或嵌入文件了。 您将需要要隐藏的文件和要隐藏的图像(也称为封面文件)。

要启动 Stegosuite 实用程序,请按键盘上的超级键并输入 Stegosuite。 在搜索结果中,单击 Stegosuite 图标以启动它。

现在为了将文件隐藏在图像中,请按照以下步骤操作:

1. 在 Stegosuite 实用程序中,转到 文件 > 打开 从顶部菜单栏中。

2. 将出现一个文件浏览器。 选择要隐藏文件的封面图像,然后单击 打开。 在我们的例子中,它是 花.jpg

完成后,您将在 Stegosuite 窗口的右侧看到加载的图像。

3. 现在,您需要上传要隐藏在图像中的文件。 为此,请右键单击下方的区域 嵌入文件 部分并选择 添加文件 选项。

从文件浏览器浏览所需文件,然后单击 打开. 在我们的例子中,它是 测试文件.txt。

4. 为您的文件设置密码。 当您必须从图像中提取文件时,稍后将使用它。 然后点击 嵌入 按钮将文件嵌入到图像中。

它将创建一个以格式命名的新文件 imagename_embed.延期. 例如,如果您的图像名称是 花.jpg,那么新的输出文件将被创建,名称为 花嵌入.jpg.

现在我们的文件已经嵌入到图片中了,我们可以去掉原来的机密文件(测试文件.txt)。 我们只需要保留输出图像文件(花嵌入.jpg)。

访问隐藏文件

要访问隐藏在图像中的文件,您需要从嵌入的图像中提取它。 1. 启动 Stegosuite 实用程序并转到 文件 > 打开.

2. 然后加载我们示例中的输出图像文件 花嵌入.jpg.

2. Enter 文件的密码,然后单击 提炼 提取隐藏在图像中的原始文件。

现在您的原始文件将被提取。

删除/卸载

如果您想从系统中删除隐写术实用程序; 您可以通过使用 apt remove 命令后跟实用程序名称轻松完成此操作。 例如,要删除 Steghide 实用程序,命令将是:

$ sudo apt remove steghide

在这篇文章中,我们介绍了如何通过四种不同的方法(包括命令行和图形方法)将文件隐藏在图像中。 所有方法都易于使用,不需要任何特殊的专业知识。 如需更多帮助,请通过键入 man 后跟实用程序名称来访问这些实用程序的手册页。