Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
radiff2 -- Binary Diffing Utility

SYNOPSIS
     radiff2 [-abcCdDehiJjlmnoOprqsStuUvVxXzZ] [-A [A]] [-B addr] [-g sym]
	     [-m mode] [-o offset] [-l length] [-t %] [-S name] file1 file2

DESCRIPTION
     A	utility  for diffing binary code and data within the Radare2 suite, sup-
     porting architecture and bits specification, delta diffing, and graph-based
     comparisons.

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

OPTIONS
     -a arch	 Specify architecture plugin to use (x86, arm, etc.).

     -A [A]	 Run aaa or aaaa after loading each binary (see -C).

     -b bits	 Specify  register  size  for  architecture (16 (thumb), 32, 64,
		 etc.).

     -B addr	 Define the base address to add the offsets when listing.

     -c cmd	 Run an r2 command on every RCore instance created.

     -C 	 Graphdiff code (columns: off-A, match-ratio, off-B) (see -A).

     -d 	 Use delta diffing.

     -D 	 Show disasm instead of hexpairs.

     -e k=v	 Set eval config var value for all RCore instances.

     -f format	 Select output format (see -f help for details).

     -g sym	 Graph diff of [sym] or functions in [off1,off2].

     -i type	 Compare bin information (imports, exports,  symbols,  sections,
		 etc.). See -i help for details.

     -j 	 Output in JSON format.

     -l len	 Specify  final  offset (length) for diffing, can use A:B format
		 to specify different lengths for each file.

     -m mode	 Choose the graph output mode (aditsjJ). See  -m  help	for  de-
		 tails.

     -n 	 Count number of changes.

     -o offset	 Specify initial offset for diffing, can use A:B format to spec-
		 ify different offsets for each file.

     -O 	 Code diffing with opcode bytes only.

     -p 	 Use physical addressing (io.va=false) (only for radiff2 -AC).

     -q 	 Quiet mode (disable colors, reduce output).

     -r 	 Output in radare commands.

     -s 	 Compute  edit	distance (no substitution, Eugene W. Myers O(ND)
		 diff algorithm).

     -ss	 Compute Levenshtein edit  distance  (substitution  is	allowed,
		 O(N^2)).

     -S name	 Sort  code  diff  (name, namelen, addr, size, type, dist) (only
		 for -C or -g).

     -t %	 Set threshold for code diff (default is 70%).

     -T 	 Analyze files in threads (EXPERIMENTAL, 30% faster and crashy).

     -u 	 Unified output (---+++).

     -U 	 Unified output using system 'diff'.

     -v 	 Show version information.

     -V 	 Be verbose (current only for -s).

     -x 	 Show two-column hexdump diffing.

     -X 	 Use xpatch format for the diffing output.

ENVIRONMENT
     No environment variables are used.

GRAPH OUTPUT FORMATS (-m [mode])
     -a 	 ASCII art (default).

     -s 	 r2 commands.

     -d 	 Graphviz dot.

     -g 	 Graph Modelling Language (GML).

     -j 	 JSON.

     -J 	 JSON with disassembly.

     -k 	 sdb key-value.

     -t 	 Tiny ASCII art.

     -i 	 Interactive ASCII art.

USAGE EXAMPLES
     Comparing two binaries
		 $ radiff2 bin1 bin2

     Using graph diffing to compare functions by name
		 $ radiff2 -g main bin1 bin2

     Counting the number of changes between two binaries
		 $ radiff2 -n bin1 bin2

     Outputting the diff in a unified format
		 $ radiff2 -u bin1 bin2

     Comparing the opcodes of two functions
		 $ radiff2 -O bin1 bin2

     Compare specific sections of binaries with custom offsets
		 $ radiff2 -o 0x1000 bin1 bin2

     Compare different sections with different offsets
		 $ radiff2 -o 0x1000:0x2000 bin1 bin2

     Compare specific lengths from given offsets
		 $ radiff2 -o 0x1000 -l 0x500 bin1 bin2

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

     Compare a plain string with escaped chars
		 c "string to compare"

     Compare byte at a specific address with current offset
		 c1 0x100

     Compare block size bytes from current offset and the 0x100 offset
		 cc 0x100

     Unified diff of disassembly from current seek and given address
		 cud 0x200 @ 0x100

     Compare memory hexdumps in unified diff format
		 cu 0x100 @ 0x200
     For more detailed usage of the 'c' command, refer to  the	`c[?dfx]  [argu-
     ment]` help section.

SEE ALSO
     radare2(1)

WWW
     https://www.radare.org/

AUTHOR
     pancake <pancake@nopcode.org>

				  Jul 10, 2025			      RADIFF2(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=radiff2&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help