2012-08-13 93 views
0

我在這一個完整的小白,如何從十六進制代碼'建立'一個文件?

,但說我有以下的十六進制碼,這是我所知道的是PNG文件,通過將其轉換爲ASCII:

89 50 4E 47 0D 0A 1A 0A 00 00 00 0d 49 48 44 52 00 00 00 c8 00 00 00 c8 01 03 00 00 00 97 96 3c dd 00 00 00 06 50 4c 54 45 ff ff ff 00 00 00 55 c2 d3 7e 00 00 00 f8 49 44 41 54 58 85 ed 96 31 12 84 20 0c 45 e3 50 6c e9 11 3c 8a 47 83 a3 71 14 8f 60 69 e1 90 fd 01 66 15 d7 ad 4d 76 f8 45 44 9f 16 c1 9f 10 a2 ae 2e cb 9a 58 b4 cc 08 db 98 d7 ab 05 12 11 46 90 01 64 c1 fa 65 83 78·· f1 08 11 2f 20 da 22 39 1f 63 64 0e e4 4c 91 e2 9d 90 e4 72 e7 aa 07 49 ad c6 90 dc 8f 3a d5 48 aa d0 43 76 ba 95 4a 82 7c c8 95 ce 27 c2 7a b5 40 a2 27 b7 22 1f b8 86 17 df 76 3e b5 04 42 35 72 a4 fc cc b7 de d1 4b 66····ab 0d bf 24 1d 1f 68 26 13 87 01 75 4a 75 ff 9b 0a d6 4b 3e 59 e5 3a bd 78 47 2d a9 3d 31 67 02 c7 27 77 ed 96 3a 49 a4 72 fe 48 3e e2 9d ef 93 e9 41 52 a6 8d ea 0d 9c 35 64 88 f8 7c e7 e9 90 01 22 73 88 f4 eb e1 3c fb 6b 26 54 a7 27 d9 7f 7f ee 7c 9a 49 a9 46 cc a3 c8 87圖1b C7 2B 26 5D 5D FF A6 37 A5 E6 4E 4F BB 77 CF E7 00 00 00 00 49 45 4E 44 AE 42 60 82

所述..的是未知的十六進制代碼(在此階段)。

和ASCII輸出:

PNG

IHDRÈÈ<ÝPLTEÿÿÿUÂÓ...EãPlé< G £q `iá ýf×MvøED Á ¢®.Ë ...Ú「9cdäL â ärçªIÆ Ü :ÕHªÐCvº J |È Î'... $ h & uJuÿ ÖK>Yå:½xG-©=1gÇ'wí :I¤rþH>â ï éAR| ê 5d ø|çé 「s ôëá<ûk&§Ù| ©F 012 012 ...

如何從此信息構建可打開的文件(或至少部分可打開的文件)?另外,有沒有辦法反向工作來確定丟失的十六進制代碼必須是什麼?您可能需要慢慢解釋,我非常喜歡初學者。

對學習瞭解ASCII的良好資源 - 十六進制 - 十進制 - 二進制編碼 - 文件類型和加密將是非常讚賞也...

(這與最近TF2 ARG)。

+0

的語言????? – perilbrain 2012-08-13 11:45:44

+0

嗯,這是十六進制,我不介意它被解釋的是哪種語言。我對Java最熟悉,但是我聽說這對大多數事情都不好。 – user1396316 2012-08-13 11:47:13

+0

希望有些Java愛好者不在這裏..你的問題的命運是未知的;;) – perilbrain 2012-08-13 11:48:28

回答

0

簡單的C程序

#include <stdio.h> 

    FILE *stream; 

    int main(void) 
    {  
     char s[3]={0}; 

     if(fopen_s(&stream, "hex.txt", "r") != 0) 
      printf("The file fscanf.out was not opened\n"); 
     else 
     { 
      fseek(stream, 0L, SEEK_SET); 
      while (fscanf(in_fd, "%s", s) != EOF) 
      {printf("%c",strtol((s,s+3,16));} 

      fclose(stream); 
     } 
    } 
+0

您可以添加註釋來解釋您的代碼嗎?如果我能理解正在發生的事情,我可能會更好地裝備自己寫一些類似於我自己的東西... – user1396316 2012-08-13 12:14:44

+0

缺少時間(辦公時間),我會建議你複製函數名並做一個谷歌搜索。 :) – perilbrain 2012-08-13 12:16:53