工具名称 | 简介 | 下载地址 | 备注 |
---|---|---|---|
010 Editor | 16进制文本查看工具 | ||
file | Linux 命令,用于识别文件类型 |
文件类型 | 文件后缀 | 文件头 | 备注 |
---|---|---|---|
JPEG | jpg | FFD8FFE1 | |
PNG | png | 89504E47 | |
GIF | gif | 47494638 | |
TIFF | tif | 49492A00 | |
PCAP | cap、pcap | 4D3C2B1A | |
Wave | wav | 57415645 | |
Adobe Acrobat | 355044462D312E | ||
XML | xml | 3C3F786D6C | |
Rich Text Format | rtf | 7B5C727466 | |
Adobe Photoshop | psd | 38425053 | |
RAR Archive | rar | 52617221 | |
ZIP Archive | zip | 504B0304 | |
Windows Bitmap | bmp | 424DC001 | 图片 |
PBG | pbg | 425047 |
文件格式判断:010 Editor、Linux file命令
文件分离:binwalk、foremost
题目给出一个文件,但没有给出文件后缀名。通常需要我们利用工具来进行文件类型判断。
步骤:
文件识别简单脚本
def distinguishSuffix(filename):
with open(filename, 'rb') as f:
for (k, v) in dSuffix.items():
f.seek(0, 0)
if v in f.read():
print(k)
def findFlagSymbol(filename, flag=b'\\x66\\x6C\\x61\\x67'):
with open(filename, 'rb') as f:
if flag in f.read():
print("find flag")
else:
print("not flag")
if __name__ == '__main__':
# 后缀字典
dSuffix = {"jpg": b'\\xff\\xd8', "png": b'\\x89\\x50\\x4E\\x47', "gif": b'\\x47\\x49\\x46\\x38', "tif": b'\\x49\\x49\\x2A\\x00',
"zip": b'\\x50\\x4B\\x03\\x04', "rar": b'\\x52\\x61\\x72\\x21'}
# 更改文件名
filename = "attachment.png"
distinguishSuffix(filename)
findFlagSymbol(filename)