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

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

#include <inject_ghidra.hh>

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

Public Member Functions

 InjectCallotherGhidra (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
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.)
 

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.
 
bool incidentalCopy
 True if injected COPYs are considered incidental.
 
int4 paramshift
 Number of parameters shifted in the original call.
 
vector< InjectParameterinputlist
 List of input parameters to this payload.
 
vector< InjectParameteroutput
 List of output parameters.
 

Detailed Description

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

Member Function Documentation

◆ restoreXml()

void InjectCallotherGhidra::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.


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