1

私はこれで完全な初心者です、

しかし、次の16進コードがあるとしましょう。これは、ASCIIに変換することでpngファイルであることがわかっています。

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 658378··f10811 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 4b66····ab0dbf 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 7c9a 49 a9 46 cc a3 c8 87 1b c7 2b 26 5d 5d ff a6 37 a5 e6 4e bb 4f 77 cf e7 00 00 00 00 49 45 4e 44 ae 42 60 82

..は不明な16進コードです(この段階では)。

そしてASCII出力:

�PNG

���IHDR���È���È�����&lt;Ý���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�ôëá&lt;ûk&T§'Ùî|�I©FÌ£È�Ç…</ p>

この情報から開くことができる(または少なくとも部分的に開くことができる)ファイルを作成するにはどうすればよいですか?また、欠落している16進コードが何であるかを判断するために逆方向に作業する方法はありますか?あなたはそれをゆっくりと説明しなければならないかもしれません、私は非常に初心者です。

ascii-hex-decimal-binarycoding-filetypesと暗号化について学ぶための良いリソースも大歓迎です...

(これは最近のTF2 ARGに関連しています)。

4

1 に答える 1

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 );
       }
    }
于 2012-08-13T11:56:29.683 に答える