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 Segments, 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 RawFunctionTypes as possible to
CABIFunctionTypes, 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.
llm-rename analysis#
revng analyze llm-rename
Runs after: decompile
Rename the specified function(s) bodies using an LLM