【发布时间】:2013-10-19 06:46:36
【问题描述】:
我有一个文件,但我不知道它的类型。我试图运行工具来获取文件类型,但这没有用。当我在十六进制编辑器中打开文件时,它显示从开始到某个地址(50 + linse)的 00 十六进制值。我知道我们可以通过查看文件的十六进制代码来找到文件类型。但在这种情况下,它显示为 00。任何人都可以帮助如何使用十六进制值查找文件类型吗?有什么方法可以隐藏十六进制信息,以便隐藏文件类型。
【问题讨论】:
我有一个文件,但我不知道它的类型。我试图运行工具来获取文件类型,但这没有用。当我在十六进制编辑器中打开文件时,它显示从开始到某个地址(50 + linse)的 00 十六进制值。我知道我们可以通过查看文件的十六进制代码来找到文件类型。但在这种情况下,它显示为 00。任何人都可以帮助如何使用十六进制值查找文件类型吗?有什么方法可以隐藏十六进制信息,以便隐藏文件类型。
【问题讨论】:
如果您使用的是 Linux 或 Unix。你可以输入
$ 文件文件名
或者您可以使用文件的 HEX 签名。参考这个。 http://www.garykessler.net/library/file_sigs.html
或使用称为“libmagic”的第三方库“magic.h”库,并像这样在 c++ 中使用 if。
#include <stdio.h>
#include "magic.h"
int main() {
magic_t myt = magic_open(MAGIC_CONTINUE|MAGIC_ERROR/*|MAGIC_DEBUG*/|MAGIC_MIME);
magic_load(myt,NULL); printf("magic output: '%s'\n",magic_file(myt,YOURFILENAME));
magic_close(myt);
return 0;
}
【讨论】:
不,没有。十六进制编辑器始终显示真实内容(如果它完全有权读取文件)。
大多数二进制文件格式都以幻数开头,但不是全部。但是开头的一堆 nul 字节看起来更像是文件损坏了。
【讨论】: