|
decompiler
1.0.0
|
Context needed to emit a p-code injection as a full set of p-code operations. More...
#include <pcodeinject.hh>
Public Member Functions | |
| virtual | ~InjectContext (void) |
| Destructor. | |
| virtual void | clear (void) |
| Release resources (from last injection) | |
| virtual void | saveXml (ostream &s) const =0 |
| Save this context to an XML stream as a <context> tag. More... | |
Public Attributes | |
| Architecture * | glb |
| Architecture associated with the injection. | |
| Address | baseaddr |
| Address of instruction causing inject. | |
| Address | nextaddr |
| Address of following instruction. | |
| Address | calladdr |
| If the instruction being injected is a call, this is the address being called. | |
| vector< VarnodeData > | inputlist |
| Storage location for input parameters. | |
| vector< VarnodeData > | output |
| Storage location for output. | |
Context needed to emit a p-code injection as a full set of p-code operations.
P-code injection works by passing a pre-built template of p-code operations (ConstructTpl) to an emitter (PcodeEmit), which makes the final resolution SLEIGH concepts like inst_next to concrete Varnodes. This class contains the context dependent data to resolve:
|
pure virtual |
Save this context to an XML stream as a <context> tag.
| s | is the output stream |
Implemented in InjectContextGhidra.
Referenced by ArchitectureGhidra::getPcodeInject().
1.8.11