文件类型识别
1. file命令
当文件没有后缀名或者有后缀名而无法正常打开时,根据识别出的文件类型来修改后缀名即可正常打开文件。
使用场景:不知道后缀名,无法打开文件。
格式:file 文件名
file命令是linux系统的命令。
常见的文件头类型
2. winhex
通过winhex程序中可以查看文件头类型,根据文件头类型判断出文件类型。
使用场景:windows下通过文件头信息判断文件类型。
常用的三个工具:winhex、010editor、notepad++
notepad++需要下载一个插件:
3. 文件头残缺/错误
通常文件无法正常打开有两种情况,一种是文件头部残缺,另一种是文件头部字段错误。针对文件头部残缺的情况,使用winhex程序添加相应的文件头;针对头部字段错误,可以找一个相同类型的文件进行替换。
使用场景:文件头部残缺或文件头部字段错误无法打开正常文件。
格式:file 文件名
文件分离操作
1.Binwalk工具
2.foremost
如果binwalk无法正确分离出文件,可以使用foremost,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件。
3.dd
当文件自动分离出错或者因为其他原因无法自动分离时,可以使用dd实现文件手动分离。
例子:
4.Winhex
除了使用dd外,还可以使用winhex实现文件手动分离,将目标文件拖入winhex中,找到要分离的部分,点击复制即可。
使用场景:windows下利用winhex程序对文件进行手动分离。
例:新建一个文件,文件大小1byte,在文件开头位置点击粘贴,弹出提示框选否、确定,将文件保存为想要的即可。
5.010Editor
将某块区域文件保存的方式如下:
010Editor打开文件→选中右键→Selection→Save selection
将16进制字符文件导入保存操作方法如下:
- 将16进制字符文件保存在一个文件
- 打开010editor,导入16进制文件import Hex
文件合并操作
Linux下的文件合并:cat 合并的文件 > 输出的文件
linux下计算文件md5:md5sum 文件名
Windows下的文件合并:copy /B 合并的文件 输出的文件
windows下计算文件md5:certutil -hashfile 文件名 md5
文件内容隐写
文件内容隐写,就是直接将KEY以十六进制的形式写在文件中,,通常在文件的开头或结尾部分,分析时通常重点观察文件开头和结尾部分。如果在文件中间部分,通常搜索关键字KEY或者flag来查找隐藏内容。
使用场景:windows下,搜索隐写的文件内容。
1.Winhex/010Editor
通常将要识别的文件拖入winhex中,查找具有关键字或明显与文件内容不和谐的部分,通常优先观察文件首部和尾部,搜索flag或key等关键字,最后拖动滚轮寻找。
2.Notepad++
使用notepad++打开文件,查看文件头尾是否有含有关键字的字符串,搜索flag或key等关键字,最后拖动滚轮寻找。
另外通过安装插件HEX-Editor可以实现winhex的功能。
课程链接:https://www.bilibili.com/video/BV1eq4y1x71H/?spm_id_from=333.999.0.0