Ghidra Decompiler Analysis Engine
|
Context needed to emit a p-code injection as a full set of p-code operations. More...
#include <pcodeinject.hh>
Public Member Functions | |
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, and InjectContextSleigh.