本文简介
- copy命令详解
- 常用文件头标识
- 隐藏文件实践
1. copy命令详解
命令使用格式:
COPY [/D][/V][/N][/Y|/-Y][/Z][/L][/A|/B] <source> [/A|/B][ <source> [/A|/B][+ ...]] [<destination> [/A|/B]]
含义:将一份或多份文件复制到另一个位置,不区分大小写,在cmd中使用copy /?查阅详细规则。
/D :允许加密文件被复制并解密存储到目标文件
/V :验证新文件写入是否正确。
/N :复制带有非 8dot3 名称的文件时,尽可能使用短文件名。
/Y :不使用确认是否要覆盖现有目标文件的提示。
/-Y :使用确认是否要覆盖现有目标文件的提示。
/Z :用可重新启动模式复制已联网的文件。
/L :如果源是符号链接,请将链接复制
/A :表示一个 ASCII 文本文件。
/B :表示一个二进位文件。
destination :为新文件指定目录和/或文件名。
命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定(启动cmd是输入cmd /e:on 启动扩展)。
这可能会被命令行上的/-Y替代。除非COPY命令是在一个批处理脚本中执行的,默认值应为在覆盖时进行提示。
要附加文件,请为目标指定一个文件,为源指定数个文件(用通配符*或 file1+file2+file3 格式)。
copy命令使用较为简单,可以每一个都尝试一下,这里就不做详细介绍了。
2. 常用文件头标识
文件扩展名 | 文件头标识(HEX) |
---|---|
bmp | 42 4D |
gif | 47 49 46 38 39 61 |
ico | 00 00 01 00 00 |
img | 00 01 00 08 00 01 00 01 01 |
ISO | 43 44 30 30 31 |
jar | 5F 27 A8 89 |
jpg; jpe; jpeg | FF D8 FF |
25 50 44 46 2D 31 2E | |
png | 89 50 4E |
PPT | D0 CF 11 |
psd | 38 42 50 53 |
zip | 50 4B 30 30 |
这里必须强调一下,不同软件创建的文件的标识略有不同,即使创建的文件类型相同,标识也会不同,这儿有一份博客的描述,请自行查阅——这儿是链接
3. 隐藏文件
讲了这么多,命令知道怎么用了,常用的文件标识也知道了,现在该怎样隐藏文件呢?copy命令不就是简单的复制命令吗?好吧,揭开面纱的时候到了!如何隐藏文件,主要用到的还是将多个文件复制到一个文件中,将多个文件隐藏到一个正常的文件中,如jpg等,或者直接将文件格式定为一个奇怪的格式(没有软件能够打得开,即使打开也看不到文件)。简单的复制文件如下:
- 目的:将1.txt和2.txt文件合并成3.txt
copy /a 1.txt + 2.txt 3.txt
从文件内容看,3.txt包含了1.txt和2.txt的内容,我们使用MadEdit对3个文件以16进制格式进行查看,如下图所示:
合并文件.png
由于txt文件没有文件头标识,所以合并文件的时候能够直接合并,并在末尾添加文件结束符(Ctrl+Z)结尾,如果是其他类型的文件,合并后的文件可能会提示损坏。这只是开始,通过利用这种办法,我们来隐藏一张图片,并将格式改为txt,以造成混淆的模式,使用的命令为:
copy /b night.txt+flower.jpg what.txt
night.txt的文件内容为:
flower.jpg的文件内容为:
flower.png
是时候看看效果了,合并文件为:
文件的确是隐藏起来了,正常的方式的确是打不开,但是我们可以通过文件标识来提取以前的图片文件,从而恢复出图片,jpg格式的文件标识符为:
FF D8 FF
,使用MadEdit查看what.txt文件的16进制数据,查找文件标识,如下图所示:
查找标识.png
从文件头开始,一直到文件的尾部,都是图片,通过新建一个文件,将16进制数据复制出来,就能恢复出文件。
思考
如果看完了肯定会有人觉得画蛇添足,想这样隐藏文件,何必用这种方式,直接用DES、AES、RSA、椭圆曲线算法加密等,我觉的理是这个理,但是我想隐藏一个txt文件的内容到一个图片格式中,并且又不损害图片,这种办法还是可行的,大家可以发挥想象力,比如想加密一个图片文件,在加密前,还可以使用这种方法来对文件进行混淆,除去文件标识,增加噪声等等等......
网友评论