radiff2 implements many binary diffing algorithms for data and code.
Binary output (GDIFF format)
Analyze binary after loading it with RCore (see -C) and use -AA to run aaaa instead of aaa.
Specify architecture (x86, arm, ..)
Select register size bits for given arch
- -B baddr
Specify the base address to add to the offsets in the diff listings
Count number of differences.
- -e -[k=v]
Specify eval config vars for all RCore instances created.
Code diffing using graphdiff algorithm. Output columns are: file-a-address, percentage of most similar function in B file | file-b-address. (Use with -A to analyze the binaries to find more functions)
Use delta diffing (slower).
Show disasm instead of hexpairs (honors -a arch and -b bits)
- -g sym | off1,off2
Graph diff output of given symbol, or between two functions, at given offsets: one for each binary.
Show usage help message.
- -i i, s, c, m, f
Compare (i)mports, (s)ymbols, (c)lassnames, (m)ethods, (f)ields from given files (radiff2 -ii /bin/ls /bin/cat)
Suppress address names (show only addresses) when code diffing.
Do code diffing with opcode bytes only.
Use physical addressing (io.va=0)
Quiet mode: disable colors and reduce output
Output in radare commands as a binary patch.
Show two column hexdump diffing.
Show two column hexII diffing.
Compute edit distance (no substitution, Eugene W. Myers' O(ND) diff algorithm) between two files.
Compute Levenshtein edit distance (substitution is allowed, O(N^2)) between two files.
- -S [name, namelen, dist, size, ...]
Specify which column of the code diffing algo use for diffing
- -t 0-100
Choose matching threshold for binary code diffing
Unified diff output
Unified diff output using system´s diff program
Show version information.
Be verbose sometimes
Perform diff on extracted strings
Perform diff using zignatures instead of function list (NEW)