|
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.
1.8.11