O arquivo binário possui cadeias e alguns números. Se eu tiver
od -c filename
ou strings filename
, posso ver as cadeias corretamente. Mas e os números? Eles estão em algum formato estranho.
O texto depois de fazer od -c filename
é assim:
0000000 036 \ 0 032 004 SD \ 0 \ 0 \ 0 \ 0 seq 1 0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ t \ 0 ou 002 3 001 0000040 & \ 0 032 \ f O 2 006 \ 0 \ 0 \ 0 osfus 1 0000060 ó 002 3 001 r \ 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 ou 002 3 001 é 235 0000140 \ 0 \ 0 035 003 \ 0 @ 3 × 233 º 004 \ 0 \ a \ 0 \ 0 0000160 ä \ 0 032 \ f O ou E \ 0 \ 0 \ 0 osfap 1
Como decifrar isso?
Eu até tentei hexdump -C filename
A saída é assim:
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 | .......... ó.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 40 d7 | ó.3.ÿ ...... @ 3 × | 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 | ä ... OrE ... osfap1 |
Para esclarecer, o arquivo principal, que é um arquivo regular, tinha um atributo que estava sendo exibido em algum formato estranho, por isso estamos analisando o arquivo bruto / binário.
Fazer dump octal no arquivo regular, resolveu o problema de visualização.
Com grep 'id=123' regular_file | head -1 | od -c
, pude ver qual número estava lá. Eu estava esperando 1, ele nos mostrou como 001.
not text
nessa exibição ASCII, isso não significa que seja ASCII para o programa que lê o arquivo. por exemplo. O número 7957706749327538292 quando codificado como um número inteiro não assinado de little endian de 64 bits. Parece que este na vista ASCII: not text
.