windows中copy /B 实现文件里藏文件(文件隐写的实现)

0x01. 问题背景

最近研究图片的图片数字水印技术,发现很简单的两个文件合并成一个文件功能,然而还不影响原始文件的内容,我们将其称为图片文件的隐写。当然,小秘密或者私人文件需要隐藏但是又逃不过别人的多层“扫描”,那也可以通过简单的几行命令实现隐藏。一起来试试吧~~~

0x02. 命令说明

copy 是一个基础的DOS命令,也许在今天已经很少有人使用,但它仍然很实用。我们先看看文档说明,如图:
在这里插入图片描述
于是,我们基本的命令格式如下:

copy /B 文件名1+文件名2 合并后的文件名

0x03. 玩转copy

0x03_1. 素材准备

如图,一张res.jpg图片,一个要被隐藏的secret.py文件。
在这里插入图片描述

0x03_2. 把文件藏进图片里

打开cmd命令框, 一定处于当前文件目录下,使用如下命令:

copy /B res.jpg+secret.py out.jpg

如图:
在这里插入图片描述
表示成功,我们对比一下,左图res.jpg是原图,out.jpg是生成图。
在这里插入图片描述
是不是看不出什么差别!再也不担心我的种子被兄弟们要走啦~~~
我们细心求证,真的隐藏了嘛?再看看细节:
在这里插入图片描述
out藏入的信息后,内容确实变大了!

0x03_3. 此处有坑

什么坑?那就是如何还原的坑,如果没有专业的工具,我们还是将要隐藏的secret.py转换成zip文件,一方面能再次减小合并后的文件大小,另一方面恢复隐藏内容只需要手动提取即可。因此,我们合并时候命令改变如下:

copy /B res.jpg+secret.zip out.jpg

产生同样的结果,但是我们对比一下文件属性,如图:
在这里插入图片描述
右边输出的out.jpg文件大小是不是变小了~~~

0x04. 文件恢复

我们如何将隐藏的文件恢复呢?很简单,只需要将out.jpg改成out.zip,如图:
在这里插入图片描述
直接解压即可得到被隐藏的文件secret.py.

0x05. 探索原理

我们将合并后的文件,使用winhex打开,如图:
在这里插入图片描述
发现原始文件的前面部分一点不变化,我们拖到最后面,查找十六进制FFD9,它是jpg文件的结束标识,如图:
在这里插入图片描述
那后面的一堆内容是什么呢,我们将其复制出来,创建新的文件,发现是一个名为secret.zip的文件,里面包含secret.py。

那么很容易解释原理了,copy /B命令其实就是将两个文件的二进制结合即可,形成了一个新的二进制文件,但是window环境下,jpg文件只识别到文件末尾的FFD9标识符后即不再往后识别展示。因此后面添加什么只要不是FFD9,都是可以正常解析出来看到。

0x06. 写在最后

如果各位看官熟悉kali,当然这种问题也属于CTF杂项中的隐写问题,那么可以直接使用工具:
binwalk查看是否隐写,foremost进行文件的分离即可。又或者用StegSolve去分析文件信息又或者使用winhex查看文件的表示段字符方式进行分离。(想到这里,我感觉我也可以出题去了哈哈哈哈~~~)

上述方法对于MP3文件的组合也可以起到作用,实现音乐的大串烧,如果想用java实现,详细代码请戳:传送门

如果觉得写的不错,麻烦给个关注吧!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
如果想要合并多个文件视频,我们可以使用copy/b命令来完成。copy是一个用于复制文件的命令,而/b选项表示复制文件时以二进制模式执行。 首先,将所有要合并的视频文件放置在同一个文件,确保它们的文件格式和编码方式相同,否则合并时可能会出现问题。 然后,打开命令提示符窗口,进入视频文件所在的文件夹。你可以通过在文件夹地址栏输入"cmd"就可以直接在当前文件夹下打开命令提示符窗口。 在命令提示符窗口,输入以下命令格式来合并多个视频文件copy /b 视频文件1+视频文件2+视频文件3+... 合并后的视频文件 请替换"视频文件1"、"视频文件2"、"视频文件3"等为实际要合并的视频文件文件名。合并后的视频文件名可以根据个人需求来自由命名。 例如,如果要合并3个视频文件,命令可以是: copy /b video1.mp4+video2.mp4+video3.mp4 merged_video.mp4 执行上述命令后,系统将会将video1.mp4、video2.mp4和video3.mp4文件合并为一个名为merged_video.mp4的视频文件。 需要注意的是,合并多个视频文件时,合并后的视频文件的格式和编码方式将与原始文件保持一致,因此请确保要合并的视频文件具有相同的属性。 使用copy/b命令合并多个文件视频是一种简单而有效的方法,同时也是在Windows操作系统常用的方法。希望这个回答对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l8947943

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值