Module cwe_checker_lib::pcode

source ·
Expand description

Types to describe Ghidra P-Code and functions to translate it to the internally used intermediate representation.

The types in this module are not an exact representation of P-Code, as some preprocessing is already done in the P-Code-Extractor plugin.

The contents of this module are only used for the initial translation of P-Code into the internally used IR. For everything else the intermediate_representation should be used directly.

Structs

  • An argument (parameter or return value) of an extern symbol.
  • A basic block.
  • A call instruction.
  • A struct describing a calling convention.
  • An assignment instruction, assigning the result of an expression to a varnode.
  • A P-Code expression.
  • An extern symbol, i.e. a function not contained in the binary but loaded from a shared library.
  • A jump instruction.
  • The program struct containing all information about the binary except for CPU-architecture-related information.
  • The project struct describing all known information about the binary.
  • Properties of a register with respect to its base register.
  • A subfunction.
  • A variable representing a varnode in Ghidra P-Code

Enums

  • The intent (input or output) of a function argument.
  • Expression Opcodes as parsed from Ghidra
  • A jump type mnemonic.
  • A jump label for distinguishing between direct and indirect jumps.