Ghidra Decompiler Analysis Engine
Public Member Functions | Static Public Member Functions | List of all members
IfcCallFixup Class Reference

Add a new call fix-up to the program: fixup call ... More...

Inheritance diagram for IfcCallFixup:
Inheritance graph
[legend]
Collaboration diagram for IfcCallFixup:
Collaboration graph
[legend]

Public Member Functions

virtual void execute (istream &s)
 
- Public Member Functions inherited from IfaceDecompCommand
virtual void setData (IfaceStatus *root, IfaceData *data)
 Associate a specific data object with this command. More...
 
virtual string getModule (void) const
 Get the formal module name to which this command belongs. More...
 
virtual IfaceDatacreateData (void)
 Create a specialized data object for this command (and its module) More...
 
virtual void iterationCallback (Funcdata *fd)
 Perform the per-function aspect of this command. More...
 
void iterateFunctionsAddrOrder (void)
 Iterate command over all functions in all scopes. More...
 
void iterateFunctionsLeafOrder (void)
 Iterate command over all functions in a call-graph traversal. More...
 
- Public Member Functions inherited from IfaceCommand
void addWord (const string &temp)
 Add a token to the command line string associated with this command. More...
 
void addWords (const vector< string > &wordlist)
 Add words to the associated command line string.
 
void commandString (string &res) const
 Get the complete command line string. More...
 
int4 compare (const IfaceCommand &op2) const
 Order two commands by their command line strings. More...
 

Static Public Member Functions

static void readPcodeSnippet (istream &s, string &name, string &outname, vector< string > &inname, string &pcodestring)
 Scan a single-line p-code snippet declaration from the given stream. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IfaceDecompCommand
void iterateScopesRecursive (Scope *scope)
 Iterate recursively over all functions in given scope. More...
 
void iterateFunctionsAddrOrder (Scope *scope)
 Iterate over all functions in a given scope. More...
 
- Protected Attributes inherited from IfaceDecompCommand
IfaceStatusstatus
 The console owning this command.
 
IfaceDecompDatadcp
 Data common to decompiler commands.
 

Detailed Description

Add a new call fix-up to the program: fixup call ...

Create a new call fixup-up for the architecture/program, suitable for replacing called functions. The fix-up is specified as a function-style declarator, which also provides the formal name of the fix-up. A "void" return-type and empty parameter list must be given.

fixup call void myfixup1() { EAX = 0; RBX = RCX + RDX + 1; }

Member Function Documentation

◆ execute()

void IfcCallFixup::execute ( istream &  s)
virtual

Execute this command. Additional state can be read from the given command line stream. Otherwise, the command gets its data from its registered IfaceData object

Parameters
sis the input stream from the command line

Implements IfaceCommand.

◆ readPcodeSnippet()

void IfcCallFixup::readPcodeSnippet ( istream &  s,
string &  name,
string &  outname,
vector< string > &  inname,
string &  pcodestring 
)
static

Scan a single-line p-code snippet declaration from the given stream.

A declarator is scanned first, providing a name to associate with the snippet, as well as potential names of the formal output Varnode and input Varnodes. The body of the snippet is then surrounded by '{' and '}' The snippet name, input/output names, and the body are passed back to the caller.

Parameters
sis the given stream to scan
namepasses back the name of the snippet
outnamepasses back the formal output parameter name, or is empty
innamepasses back an array of the formal input parameter names
pcodestringpasses back the snippet body

The documentation for this class was generated from the following files: