decompiler
1.0.0
|
A call-fixup injection that uses a Ghidra client to generate the p-code ops. More...
#include <inject_ghidra.hh>
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. | |
bool | isIncidentalCopy (void) const |
Return true if any injected COPY is considered incidental. | |
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. | |
bool | incidentalCopy |
True if injected COPYs are considered incidental. | |
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. | |
A call-fixup injection that uses a Ghidra client to generate the p-code ops.
|
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.
el | is the XML element |
Reimplemented from InjectPayloadGhidra.
References Element::getAttributeValue(), and InjectPayload::name.