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 | decode (Decoder &decoder) |
Decode this payload from a stream. | |
Public Member Functions inherited from ghidra::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 ghidra::InjectPayload | |
InjectPayload (const string &nm, int4 tp) | |
Construct for use with decode. | |
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 ghidra::InjectPayload | |
enum | { CALLFIXUP_TYPE = 1, CALLOTHERFIXUP_TYPE = 2, CALLMECHANISM_TYPE = 3, EXECUTABLEPCODE_TYPE = 4 } |
Protected Member Functions inherited from ghidra::InjectPayload | |
void | orderParameters (void) |
Assign an index to parameters. More... | |
void | decodePayloadAttributes (Decoder &decoder) |
Parse the attributes of the current <pcode> tag. More... | |
void | decodePayloadParams (Decoder &decoder) |
Parse any <input> or <output> children of current <pcode> tag. More... | |
Static Protected Member Functions inherited from ghidra::InjectPayload | |
static void | decodeParameter (Decoder &decoder, string &name, uint4 &size) |
Parse an <input> or <output> element describing an injection parameter. More... | |
Protected Attributes inherited from ghidra::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.