Scroll to navigation

RADIFF2(1) General Commands Manual RADIFF2(1)

NAME

radiff2 - binary diffing utility

SYNOPSIS

radiff2 [-1abcCdeGhijnropqsSxuUvVzZ] [-A[A]] [-B #] [-g sym] [-m graph_mode][-t %] file file

DESCRIPTION

radiff2 is a tool from the radare2 suite designed for binary diffing code and data.

It supports a wide range of formats and features, including architecture and bits specification, delta diffing, graph diffing, and more.

OPTIONS

-1
Output in Generic binary DIFF (0xd1ffd1ff magic header).
Specify architecture plugin to use (x86, arm, etc.).
Run aaa or aaaa after loading each binary (see -C).
Specify register size for architecture (16 (thumb), 32, 64, etc.).
Define the base address to add the offsets when listing.
Count of changes.
Graphdiff code (columns: off-A, match-ratio, off-B) (see -A).
Use delta diffing.
Show disasm instead of hexpairs.
Set eval config var value for all RCore instances.
-g [arg]
Graph diff of [sym] or functions in [off1,off2].
Run an r2 command on every RCore instance created.
-i [ifscm]
Diff imports | fields | symbols | classes | methods.
Output in JSON format.
Choose the graph output mode (aditsjJ).
Print bare addresses only (diff.bare=1).
Code diffing with opcode bytes only.
Use physical addressing (io.va=false) (only for radiff2 -AC).
Quiet mode (disable colors, reduce output).
Output in radare commands.
Compute edit distance (no substitution, Eugene W. Myers' O(ND) diff algorithm).
Compute Levenshtein edit distance (substitution is allowed, O(N^2)).
Sort code diff (name, namelen, addr, size, type, dist) (only for -C or -g).
-t [0-100]
Set threshold for code diff (default is 70%).
Analyze files in threads (EXPERIMENTAL, 30% faster and crashy).
Unified output (---+++).
Unified output using system 'diff'.
Show version information.
Be verbose (current only for -s).
Show two-column hexdump diffing.
Show two-column hexII diffing.
Diff on extracted strings.
Diff code comparing zignatures.

GRAPH OUTPUT FORMATS (-m [mode])

.
default is ASCII art.
r2 commands.
Graphviz dot.
Graph Modelling Language (gml).
JSON.
JSON with disarm.
sdb key-value.
Tiny ascii art.
Interactive ascii art.

USAGE EXAMPLES

radiff2 bin1 bin2
radiff2 -g main bin1 bin2
radiff2 -c bin1 bin2
radiff2 -u bin1 bin2
radiff2 -O bin1 bin2

'C' COMMAND IN R2

The 'c' command in r2 is used for various comparison operations within data inside the same file. Here are some examples of its usage:

c "string to compare"

c1 0x100

cc 0x100

cud 0x200 @ 0x100

cu 0x100 @ 0x200

For more detailed usage of the 'c' command, refer to the `c[?dfx] [argument]` help section.

SEE ALSO

radare2(1)

https://www.radare.org/

AUTHOR

pancake <pancake@nopcode.org>

radiff2 tool Mar 16, 2024