Analyses#
This page reports the list of all the analyses currently featured in rev.ng.
parse-binary analysis#
revng project analyze parse-binary
Runs after: lift
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.
detect-abi analysis#
revng project 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 RawFunctionDefinition 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 project analyze detect-stack-size
Runs after: segregate-stack-accesses
This analysis, for each function, identifies the size of the stack frame and the amount of stack used to pass arguments.
detect-c-strings analysis#
revng project analyze detect-c-strings
Runs after: segregate-stack-accesses
analyze-data-layout analysis#
revng project analyze analyze-data-layout
Runs after: segregate-stack-accesses
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.
llm-rename analysis#
revng project analyze llm-rename
Runs after: single-file
edit-c-body analysis#
revng project analyze edit-c-body
Runs after: tagless-single-file
apply-diff analysis#
revng project analyze apply-diff
Apply a diff to the model.
verify-diff analysis#
revng project analyze verify-diff
Verifies if a diff for the model would apply correctly.
set-model analysis#
revng project analyze set-model
Replace the model with a new one.
verify-model analysis#
revng project analyze verify-model
Verify if the given model is valid.
import-prototypes-from-db analysis#
revng project analyze import-prototypes-from-db
Import function prototypes from a database.
convert-functions-to-cabi analysis#
revng project analyze convert-functions-to-cabi
Convert as many RawFunctionDefinitions as possible to
CABIFunctionDefinitions, using the requested ABI.
edit-c-type analysis#
revng project analyze edit-c-type
Import type definitions from C source code, typically the user-edited
output of the emit-single-type-definition artifact.