|
Ghidra 11.4.2
Ghidra internal decompiler documentation.
|
A callother-fixup injection that uses a Ghidra client to generate the p-code ops. More...
#include <inject_ghidra.hh>
Public Member Functions | |
| InjectCallotherGhidra (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. | |
| void | decodePayloadAttributes (Decoder &decoder) |
| Parse the attributes of the current <pcode> tag. | |
| void | decodePayloadParams (Decoder &decoder) |
| Parse any <input> or <output> children of current <pcode> tag. | |
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. | |
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 callother-fixup injection that uses a Ghidra client to generate the p-code ops.
|
virtual |
Decode this payload from a stream.
Reimplemented from ghidra::InjectPayloadGhidra.
References ghidra::Decoder::closeElement(), ghidra::Decoder::closeElementSkipping(), ghidra::InjectPayload::decodePayloadAttributes(), ghidra::InjectPayload::decodePayloadParams(), ghidra::InjectPayload::name, ghidra::Decoder::openElement(), and ghidra::Decoder::readString().