一 杂项
1文件隐写
- 文件类型识别
- file命令
在Linux系统中使用该命令
命令格式:file 文件名
- winhex工具
使用winhex程序可以查看文件的头类型,根据头类型可以判断出文件类型
使用场景:windows系统
flag可能就藏在文件被解析为16进制后的字段中
- 文件头残缺/错误(可能要用到的工具:010editor 16进制编辑器)
文件头部残缺或者头部字段错误无法打开正常文件,针对这种请款阿甘,使用winhex程序添加相应的文件头,针对头部字段错误,可以找一个相同类型的文件进行替换
使用场景:文件头部残缺或者头部字段错误无法打开正常文件
格式:file 文件名
如果文件无法打开,使用该命令解析,显示data信息,则表示该文件头部残缺或者错误,此时就可以用16进制编辑器在第一行补充正确的文件头
② 文件分离操作
a. binwalk工具
该工具是Linux下用来分析和分离文件的工具,可以快速分辨文件是否有多个文件合并而成,并将文件分离。如果分离成功会在目标文件的目录中生成一个形如_文件名_extracted的文件目录,目录中会有分离后的文件。
格式:
分析文件 binwalk filename.后缀
分离文件 binwalk -e filename.后缀
b. foremost
如果用binwalk无法分离出文件,可以使用该工具,将目标文件复制到kali中,成功执行后会将分离后的文件保存在源文件的新文件夹中。
命令格式:foremost 文件名.后缀 -o 自定义保存分离文件的文件夹名
c. dd(半自动化分离文件工具)
当上面两个工具分离出错或者无法自动分离时,就需要dd来手动实现分离力
命令格式:
dd if=源文件 of=目标文件名 bs= count= skip=
参数说明;
if = file 输入文件名 缺省为标准输入
of = 分离后的文件名 分离后的文件名
bs=i 将文件分为多个块,一个块的大小为字节为i
count=j 从头开始取j块
skip-k
命令表示:截取源文件,开始字段为i k,截取字段的长度为i
j 当skip省略时,截取从0开始,截取字段的长度为i
j
d. winhex
除了用dd外,还可以使用过winhex实现手动分离,将目标文件拖入winhex中,找到要分离的部分,点击复制即可
使用场景:windows下利用winhex程序对文件进行手动分离
例如:新建一个文件,文件大小1byte,在文件开头位置点击粘贴,弹出提示框选否,确定,将文件保存为想要的后缀即可。