크기가 다른 바이너리 파일을 비교합니까?

크기가 다른 바이너리 파일을 비교합니까?

두 바이너리 간의 차이점을 확인할 수 있는 깔끔한 방법이 있습니까? 대부분 동일하지만 일부 바이트가 변경되었으며 파일 중 하나의 특정 위치에 시퀀스가 ​​삽입되었습니다.

xxd바이트를 삽입하지 않고 바이트만 변경하면 비교 결과가 작동합니다.

답변1

파일 간의 차이점을 표시할 수 있는 일부 바이너리 편집기가 있지만 제가 시도한 것( dhexvbindiff)은 삽입 또는 삭제를 감지하고 표시할 수 없는 것 같습니다.

두 파일 간의 차이를 계산할 수 있는 , rdiff또는 xdelta와 같은 이진 diff 유틸리티가 많이 있습니다 . bsdiff그러나 목적은 patch나중에 원본 파일에 적용되는 파일을 생성하는 것입니다. 당신은 이것을 읽을 수 없습니다패치 파일도착하다바라보다차이점이 뭐야.

차이점을 시각적으로 확인하기 위해 할 수 있는 한 가지는 파일의 16진수 덤프(한 줄에 1바이트)와 diff결과를 가져오는 것입니다. 줄 번호는 파일의 오프셋을 알려줍니다(단, 0이 아닌 1에서 시작한다는 점에 유의하세요).

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

( od비표준 -w옵션을 지원한다고 가정).

답변2

사용해 보세요텍사스또는 요호디프. 을 사용할 수도 있습니다 bsdiff.

관련 정보