rz-diff implements many binary diffing algorithms for data and code.
Analyze binary after loading it with RzCore (see -C) and use -AA to run aaaa instead of aaa.
Specify architecture (x86, arm, ..)
Select register size bits for given arch
Binary output (GDIFF format)
Count number of differences.
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)
- -e -[k=v]
Specify eval config vars for all RzCore instances created.
- -g sym | off1,off2
Graph diff output of given symbol, or between two functions, at given offsets: one for each binary.
- -G -[cmd]
Run an rz command on every RzCore instance created
Show usage help message.
Compare the list of imports
- -m -[mode]
Specify the graph output mode
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 rizin commands as a binary patch.
Show two column hexdump diffing.
Show two column hexII diffing.
Calculate text distance from two files.
Same as before but using the Levenstein algorithm (faster but sometimes buggy)
- -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)
rizin(1), rz-find(1), rz-hash(1), rz-bin(1), rz-asm(1), rz-gg(1), rz-run(1), rz-ax(1),
rizin(1), rz-asm(1), rz-ax(1), rz-bin(1), rz-find(1), rz-gg(1), rz-hash(1), rz-run(1).