rizin/binrz/man/rz-diff.1
Riccardo Schirone 6f40dfe493
Move remaining things from shlr/ to meson subprojects (#2126)
* Move binrz meson directives to binrz/ dir

* Move rizin-shell-parser to a subproject

* Move bochs to a meson subproject

* Move rzqnx to meson subproject

* Move winkd to a meson subproject

* Move rzar to a meson subproject

* Move rzw32dbg_wrap to a meson subproject

* Move ptrace-wrap to a meson subproject

* Move rzgdb to a meson subproject

* Rename w32dbg_wrap to rzw32dbg_wrap

* Update CODEOWNERS

* Remove old references to shlr

* Move shlr/heap stuff in core and remove shlr/arm

* Move spp to a meson subproject

* Remove last references to shlr

* Remove use_webui option

* Move include files directives to librz/include/meson.build

* Move librz meson directives into librz/meson.build

* Handle d/ directories inside the specific module meson.build

* Move plugins listing to specific module meson.build

* Move rzheap to its own subproject

* Fix js linter and licenses

* Use meson.override_dependency for all rz_ modules
2021-12-22 09:20:39 +08:00

93 lines
2.4 KiB
Groff

.Dd Feb 10, 2018
.Dt RZ_DIFF 1
.Sh NAME
.Nm RZ_DIFF
.Nd unified binary diffing utility
.Sh SYNOPSIS
.Nm rz-diff
.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
rz-diff implements many binary diffing algorithms for data and code.
.Pp
.Bl -tag -width Fl
.It Fl A
Analyze binary after loading it with RzCore (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 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 e [k=v]
Specify eval config vars for all RzCore instances created.
.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 G [cmd]
Run an rz command on every RzCore instance created
.It Fl h
Show usage help message.
.It Fl i
Compare the list of imports
.It Fl m [mode]
Specify the graph output mode
.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 rizin 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 rizin(1) ,
.Xr rz-find(1) ,
.Xr rz-hash(1) ,
.Xr rz-bin(1) ,
.Xr rz-asm(1) ,
.Xr rz-gg(1) ,
.Xr rz-run(1) ,
.Xr rz-ax(1) ,
.Sh AUTHORS
.Pp
pancake <pancake@nopcode.org>