bindiff icon indicating copy to clipboard operation
bindiff copied to clipboard

BinDiff displays blocks as 100% similar even though instruction operands differ

Open cblichmann opened this issue 2 years ago • 1 comments

BinDiff doesn't detect a change between:

movups      b16 ds:[r8+rcx-16], b16 xmm0

and

movups      b16 ds:[r8+rcx+0x18], b16 xmm0

Ideally, the matched basic block should be "yellow" instead of "green":

69532690__16060079__68576

cblichmann avatar Sep 21 '23 12:09 cblichmann

Possible implementation note: We can add an additional pass (after the main diffing run) to annotate these instruction level changes. This can even be trivially parallelized: As these are per instruction and hence also per basic block changes that won't influence control flow diffing.

cblichmann avatar Sep 21 '23 12:09 cblichmann