radare2/man/radiff2.1
Fangrui Song 0d4d8c083f
radiff2: drop MODE_DIST (#16986)
MODE_DIST (-s) is the same as MODE_DIST_LENVENSTEIN (-ss) but much slower.
Drop it. Make MODE_DIST_MYERS (-sss, faster than MODE_DIST_LENVENSTEIN) take its place (-s).

The original comment was incorrect (-s is not Eugene W. Myer's algorithm). It is correct now.

* drop buggy Levenshtein and rename the original
* fix tests

Co-authored-by: eagleoflqj and Maskray
2021-01-24 22:17:25 +01:00

90 lines
2.3 KiB
Groff

.Dd Feb 10, 2018
.Dt RADIFF2 1
.Sh NAME
.Nm RADIFF2
.Nd unified binary diffing utility
.Sh SYNOPSIS
.Nm radiff2
.Op Fl AabcCdDhOrspxXvzZ
.Op Fl t Ar 0-100
.Op Fl g Ar sym
.Op Fl S Ar algo
.Ar file1
.Ar file2
.Sh DESCRIPTION
radiff2 implements many binary diffing algorithms for data and code.
.Pp
.Bl -tag -width Fl
.It Fl A
Analyze binary after loading it with RCore (see -C) and use -AA to run aaaa instead of aaa.
.It Fl a
Specify architecture (x86, arm, ..)
.It Fl b
Select register size bits for given arch
.It Fl B
Binary output (GDIFF format)
.It Fl c
Count number of differences.
.It Fl e [k=v]
Specify eval config vars for all RCore instances created.
.It Fl C
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)
.It Fl d
Use delta diffing (slower).
.It Fl D
Show disasm instead of hexpairs (honors -a arch and -b bits)
.It Fl g Ar sym | off1,off2
Graph diff output of given symbol, or between two functions, at given offsets: one for each binary.
.It Fl h
Show usage help message.
.It Fl i
Compare the list of imports
.It Fl n
Suppress address names (show only addresses) when code diffing.
.It Fl O
Do code diffing with opcode bytes only.
.It Fl p
Use physical addressing (io.va=0)
.It Fl q
Quiet mode: disable colors and reduce output
.It Fl r
Output in radare commands as a binary patch.
.It Fl x
Show two column hexdump diffing.
.It Fl X
Show two column hexII diffing.
.It Fl s
Compute edit distance (no substitution, Eugene W. Myers' O(ND) diff algorithm) between two files.
.It Fl ss
Compute Levenshtein edit distance (substitution is allowed, O(N^2)) between two files.
.It Fl S Ar [name, namelen, dist, size, ...]
Specify which column of the code diffing algo use for diffing
.It Fl t Ar 0\-100
Choose matching threshold for binary code diffing
.It Fl u
Unified diff output
.It Fl U
Unified diff output using system\'s diff program
.It Fl v
Show version information.
.It Fl V
Be verbose sometimes
.It Fl z
Perform diff on extracted strings
.It Fl Z
Perform diff using zignatures instead of function list (NEW)
.El
.Sh SEE ALSO
.Pp
.Xr radare2(1) ,
.Xr rafind2(1) ,
.Xr rahash2(1) ,
.Xr rabin2(1) ,
.Xr rasm2(1) ,
.Xr ragg2(1) ,
.Xr rarun2(1) ,
.Xr rax2(1) ,
.Sh AUTHORS
.Pp
pancake <pancake@nopcode.org>