diff arquivos binários de tamanhos diferentes?

5

Existe uma maneira legal de ver a diferença entre dois arquivos binários? Eles são basicamente os mesmos, mas alguns bytes são alterados e um dos arquivos tem sequências inseridas em alguns lugares.

Diffing da saída de xxd funcionaria se os bytes fossem apenas alterados e não inseridos.

    
por Anna 30.12.2012 / 14:25

2 respostas

7

Existem alguns editores binários que podem mostrar diferenças entre os arquivos, mas os que eu tentei ( dhex e vbindiff ) não parecem ser capazes de detectar e mostrar inserções ou exclusões.

Existem vários utilitários de comparação binária como rdiff , xdelta ou bsdiff que calculam a diferença entre dois arquivos. Mas o objetivo é gerar patch arquivos para serem posteriormente aplicados a um original. Você não pode ler esses arquivos de patch para ver quais são as diferenças.

Algo que você pode fazer, para ver visualmente a diferença, é fazer o hexdump dos arquivos com um byte por linha e diff dos resultados. Os números de linha informam o deslocamento no arquivo (embora tenha cuidado, ele começa em 1, não em 0):

diff -u <(od -w1 -vAn -tx1 file1) <(od -w1 -vAn -tx1 file2)

(assumindo que seu od suporta a opção% padrão-w não padronizada).

    
por 30.12.2012 / 16:16
1

tente usar dhex ou jojodiff . Você também pode usar bsdiff .

    
por 30.12.2012 / 14:43

Tags