2013-10-11 52 views
1

我有一個文件,我不知道它的類型。我試圖運行工具來獲取文件類型,但沒用。當我在十六進制編輯器中打開文件時,它顯示從開始到某個地址(50 + linse)的00十六進制值。我知道我們可以通過查看文件的十六進制代碼來找到文件的類型。但在這種情況下,它顯示00.任何人可以幫助如何使用十六進制值查找文件類型?有什麼辦法可以隱藏十六進制信息,以便隱藏文件類型。使用HEX找到文件類型

回答

0

如果您正在使用Linux或Unix。您可以鍵入

$ filename文件

或者你可以使用HEX簽名的文件。參考這個。 http://www.garykessler.net/library/file_sigs.html

,或者使用第三方庫「magic.h」庫被稱爲「libmagic」和使用,如果在C++中是這樣的。

#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; 
} 
+0

我還沒有嘗試過的Linux文件命令。我下載的Cygwin現在檢查。我我使用HEX只簽字:日期,但文件的起始字節是00這是不是一個簽名。我相信有方法來隱藏文件的簽名。但我沒能獲得源確認。 – Mavenkp

0

沒有,沒有。十六進制編輯器總是顯示真實內容(如果它有權限讀取文件)。

大多數二進制文件格式與神奇數字開始,但不是所有的人。然而,在開始的一堆nul字節看起來更像是文件被損壞了。

+0

反正有沒有找到文件類型,即使文件已損壞。當你說「十六進制文件有權讀取文件」時,你是什麼意思? – Mavenkp

+0

@Mavenkp:hex是一種格式,它不能擁有任何權限。另一方面,編輯...如果你沒有閱讀文件的權限,顯然它不會顯示出來。但是沒有部分文件的許可,所以無論是全部內容還是根本沒有。 –

+0

這取決於它是什麼文件類型。有些文件內部有特徵結構,有些則沒有。但即使對於可能的情況,也是相當困難的,而且無論如何內容可能無法恢復。 –