2

我有一个文件,但我不知道它的类型。我试图运行工具来获取文件类型,但这没有用。当我在十六进制编辑器中打开文件时,它显示从开始到某个地址(50 + linse)的 00 十六进制值。我知道我们可以通过查看文件的十六进制代码来找到文件类型。但在这种情况下,它显示 00。任何人都可以帮助如何使用十六进制值查找文件类型吗?有什么方法可以隐藏十六进制信息,以便隐藏文件类型。

4

2 回答 2

1

如果您使用的是 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; 
}
于 2013-10-11T08:56:52.313 回答
-1

不,那里没有。十六进制编辑器始终显示真实内容(如果它完全有权读取文件)。

大多数二进制文件格式都以幻数开头,但不是全部。但是,开头的一堆 nul 字节看起来更像是文件已损坏。

于 2013-10-11T08:52:32.107 回答