Analyses#
This page reports the list of all the analyses currently featured in rev.ng.
apply-diff
analysis#
revng analyze apply-diff
Runs after: initial
Apply a diff to the model.
verify-diff
analysis#
revng analyze verify-diff
Runs after: initial
Verifies if a diff for the model would apply correctly.
set-global
analysis#
revng analyze set-global
Runs after: initial
Replace the model with a new one.
verify-global
analysis#
revng analyze verify-global
Runs after: initial
Verify if the given model is valid.
import-binary
analysis#
revng analyze import-binary
Runs after: initial
This analysis inspects the input binary and, if its format is among the supported ones, imports all the available information in the model. If debug info are available, they are imported as well.
In particular, from the binary image we import Segment
s, the
EntryPoint
and, if symbols are available, Function
Entry
and
names.
We currently support ELF, PE/COFF and Mach-O.
From debug information, all the data structures and function
prototypes are imported.
We currently support DWARF and CodeView (.pdb
) debug info.
import-well-known-models
analysis#
revng analyze import-well-known-models
Runs after: initial
Import the prototype of certain well-known functions from the C standard library.
convert-functions-to-cabi
analysis#
revng analyze convert-functions-to-cabi
Runs after: initial
Convert as many RawFunctionType
s as possible to
CABIFunctionType
s, using the requested ABI.
detect-abi
analysis#
revng analyze detect-abi
Runs after: lift
This analysis creates new functions from targets of function calls and from code addresses found in the code or in memory that would otherwise be unreachable.
Additionally, the analysis builds, for each function lacking a
prototype, a RawFunctionType
by automatically identifying the
list of arguments passed through registers and the list of return
values.
This analysis doesn't handle stack arguments.
detect-stack-size
analysis#
revng analyze detect-stack-size
Runs after: detect-stack-size
This analysis, for each function, identifies the size of the stack frame and the amount of stack used to pass arguments.
analyze-data-layout
analysis#
revng analyze analyze-data-layout
Runs after: make-segment-ref
This analysis inspects the memory accesses performed by the input program and detects the layout of data structures. The produced data structures are the result of merging the information obtained from each function interprocedurally.
import-from-c
analysis#
revng analyze import-from-c
Runs after: decompile
This analysis, given a snippet of C code representing an individual type, parses it and imports into the model, possibly replacing an existing type.