İkili dosya dizeleri ve bazı numaraları vardır, Ben yaparsam
od -c filename
veya strings filename
, dizeleri düzgün görebiliyorum. Peki ya sayılar? Garip bir biçimde.
Yaptıktan sonra metin od -c filename
şu şekildedir:
0000000 036 \ 0 032004 SD \ 0 \ 0 \ 0 \ 0 sıra 1 0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ t \ 0 ó 002 3001 0000040 & \ 0 032 \ f O 2 006 \ 0 \ 0 \ 0 osfus 1 0000060 ó 002 3001 ÿ \ r \ 0 \ 0 \ t \ 0 \ 0 @ 3 × 0000100 233 º 004 \ 0 é 003 \ 0 \ 0 & \ 0 032 \ f O 2 7 \ 0 0000120 \ 0 \ 0 osfeu 1 ó 002 3001 é 235 0000140 \ 0 \ 0 035003 \ 0 @ 3 × 233 º 004 \ 0 Ñ \ a \ 0 \ 0 0000160 ä \ 0 032 \ f O r E \ 0 \ 0 \ 0 osfap 1
Bunu nasıl çözebilirim?
Denedim bile hexdump -C filename
Çıktı şöyle:
00000000 1e 00 1a 04 53 44 00 00 00 00 73 65 71 31 20 20 | .... SD .... seq1 | 00000010 20 20 00 00 00 00 00 00 00 00 09 00 f3 02 33 01 | .......... O.3. | 00000020 26 00 1a 0c 4f 32 06 00 00 00 6f 73 66 75 73 31 | & ... O2 .... osfus1 | 00000030 20 20 f3 02 33 01 ff 0d 00 00 09 00 00 40 33 d7 | ó.3.ÿ ...... 3 × Bu | 00000040 9b ba 04 00 e9 03 00 00 26 00 1a 0c 4f 32 37 00 | .º..é ... & ... O27. | 00000050 00 00 6f 73 66 65 75 31 20 20 f3 02 33 01 e9 9d | ..osfeu1 ó.3.é. | 00000060 00 00 1d 03 00 40 33 d7 9b ba 04 00 d1 07 00 00 | ..... @ 3 × .º..Ñ ... | 00000070 e4 00 1a 0c 4f 72 45 00 00 00 6f 73 66 61 70 31 | E ... OrF ... osfap1 |
Açıklığa kavuşturmak için, normal bir dosya olan ana dosyanın görüntülenen bir niteliği vardı, bu yüzden ham / ikili dosyaya bakıyoruz.
Normal dosyada sekizli dökümü yapmak, görüntüleme sorununu çözdü.
İçinde grep 'id=123' regular_file | head -1 | od -c
hangi numaranın olduğunu görebildim. 1 bekliyordum, bize 001 olarak gösterdi.
not text
o ASCII göre, sebebi yok bunun dosyasını okur programa ASCII olduğu anlamına gelir. Örneğin. 64 bit küçük endian işaretsiz tam sayı olarak kodlandığında 7957706749327538292 sayısı . bakışlar ASCII görünümünde böyle: not text
.