一、文件类型的识别
1、文件头完好情况:
(1)file命令
使用file命令
识别:识别出file.doc为jpg类型
(2)winhex
通过winhex工具查看文件头类型,根据文件头部内容去判断文件的类型
eg:JPG类型
(3)notepad++
下载HEXeditor插件
,查看文件的头部信息,和010editor,winhex原理相同
(4)0101editor
个人推荐使用这个,因为包含好用的模板,不用在记忆宽度、高度、CRC的具体位置
2、文件头部损坏情况:
场景:使用file命令无法显示文件类型,只显示data,说明文件头部被破坏,需要修复
(1)使用010editor等工具结合具体情况进行修复
二、文件分离操作
1、binwalk命令
分析文件 binwalk filename分离文件 binwalk -e filename分离分拣 binwalk filename -T png
2、foremost命令
场景:binwalk无法分离出文件、可以尝试使用foremost进行分离文件
foremost filename -o 分离后的保存位置
3、dd命令
场景:binwalk和foremost都无法进行分离文件
解释:bs就是块的大小、count就是块的个数、skip就是跳过多少个块
dd if=源文件 of=目标文件名 bs=1 skip=开始分离的字节数
eg1:假设1.txt 内容为1234567890dd if=1.txt of=2.txt bs=5 count=1
2.txt当中的内容为12345
dd if=1.txt of=3.txt bs=5 count=1 skip=1
3.txt内容为67890,skip就是跳过第一块
eg2:
想要分离出AC3zlib文件(zlib文件为图片数据压缩文件),需要输入
dd if=2.png of=3 bs=1 skip=85
4、winhex手动分离
结合binwalk;直接将想要的数据复制出来(很简单,和上述dd原理一样)
三、文件合并
1、Linux下的文件合并
考点:题目可能会给出一个md5值,让你合并文件,只有按照一定的次序合并,MD5才能够吻合
cat 1.txt 2.txt 3.txt 4.txt >1.jpg将1.txt,2.txt,3.txt.4.txt合并为1jpg校验md5:md5sum1.jpg
2、windows下的文件合并
copy /B 1.txt+2.txt+3.txt 1.jpg校验md5:certutil -hashfile 1.jpg