文件操作与隐写
1、文件类型的识别
1、文件头部未被破坏的情况下
(1)file命令
识别出file.doc为jpg类型
打开图片之后没有发现flag,用notepad++打开,发现末尾有unicode编码的数据,解码发现了flag
(2)winhex
通过winhex程序查看文件头类型,根据文件头部内容去判断文件的类型
(3)notepad++ HEXeditor插件
(4)0101editor
flag可能藏在文件内容当中(根据一定的编码方式隐藏在里面)
2、文件头部被破坏
使用file命令无法显示文件类型,只显示data,说明文件头部被破坏,需要修复
2、文件分离操作
1、binwalk命令
分析文件 binwalk filename
分离文件 binwalk -e filename
eg:
但是分离之后并没有找到flag,可能是图片宽度和高度方面的问题
2、foremost命令
如果binwalk无法正确的分离出文件、可以使用foremost进行分离文件
foremost filename -o 分离后的保存位置
3、dd命令
dd if=源文件 of=目标文件名 bs=1 skip=开始分离的字节数
eg 1.txt 内容为1234567890
dd 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就是跳过第一块
借助binwalk和dd进行分离文件
eg:
想要分离出AC3zlib,需要输入
dd if=2.png of=3 bs=1 count=2755 skip=85
分离成功
4、winhex工具分离
直接将想要的数据复制出来(很简单,和上述dd原理一样)
5、16进制txt文档处理方法
导入0101editor,然后分析文件头部,识别文件的头部,根据文件的类型导出进行下一步的分析
3、文件合并
1、Linux下的文件合并
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