decompiler  1.0.0
Public Member Functions | List of all members
InjectCallfixupGhidra Class Reference

A call-fixup injection that uses a Ghidra client to generate the p-code ops. More...

#include <inject_ghidra.hh>

Inheritance diagram for InjectCallfixupGhidra:
InjectPayloadGhidra InjectPayload

Public Member Functions

 InjectCallfixupGhidra (const string &src, const string &nm)
 Constructor.
 
virtual void restoreXml (const Element *el)
 Restore this payload from an XML stream. More...
 
- Public Member Functions inherited from InjectPayloadGhidra
 InjectPayloadGhidra (const string &src, const string &nm, int4 tp)
 Constructor.
 
virtual void inject (InjectContext &context, PcodeEmit &emit) const
 
virtual void printTemplate (ostream &s) const
 Print the p-code ops of the injection to a stream (for debugging)
 
virtual string getSource (void) const
 Return a string describing the source of the injection (.cspec, prototype model, etc.)
 
- Public Member Functions inherited from InjectPayload
 InjectPayload (const string &nm, int4 tp)
 Construct for use with restoreXml.
 
int4 getParamShift (void) const
 Get the number of parameters shifted.
 
bool isDynamic (void) const
 Return true if p-code in the injection is generated dynamically.
 
int4 sizeInput (void) const
 Return the number of input parameters.
 
int4 sizeOutput (void) const
 Return the number of output parameters.
 
InjectParameter & getInput (int4 i)
 Get the i-th input parameter.
 
InjectParameter & getOutput (int4 i)
 Get the i-th output parameter.
 
virtual ~InjectPayload (void)
 Destructor.
 
string getName (void) const
 Return the name of the injection.
 
int4 getType (void) const
 Return the type of injection (CALLFIXUP_TYPE, CALLOTHERFIXUP_TYPE, etc.)
 

Additional Inherited Members

- Public Types inherited from InjectPayload
enum  { CALLFIXUP_TYPE = 1, CALLOTHERFIXUP_TYPE = 2, CALLMECHANISM_TYPE = 3, EXECUTABLEPCODE_TYPE = 4 }
 
- Protected Member Functions inherited from InjectPayload
void orderParameters (void)
 Assign an index to parameters. More...
 
- Static Protected Member Functions inherited from InjectPayload
static void readParameter (const Element *el, string &name, uint4 &size)
 Read in an <input> or <output> XML tag describing an injection parameter. More...
 
- Protected Attributes inherited from InjectPayload
string name
 Formal name of the payload.
 
int4 type
 Type of this payload: CALLFIXUP_TYPE, CALLOTHERFIXUP_TYPE, etc.
 
bool dynamic
 True if the injection is generated dynamically.
 
int4 paramshift
 Number of parameters shifted in the original call.
 
vector< InjectParameter > inputlist
 List of input parameters to this payload.
 
vector< InjectParameter > output
 List of output parameters.
 

Detailed Description

A call-fixup injection that uses a Ghidra client to generate the p-code ops.

Member Function Documentation

◆ restoreXml()

void InjectCallfixupGhidra::restoreXml ( const Element *  el)
virtual

Restore this payload from an XML stream.

The base class version of this method restores from a <pcode> tag. Derived classes may restore from a parent tag and then invoke the base class method.

Parameters
elis the XML element

Reimplemented from InjectPayloadGhidra.

References InjectPayload::name.


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