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 | encode (Encoder &encoder) const =0 |
Encode this context to a stream as a <context> element. 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 |
Encode this context to a stream as a <context> element.
encoder | is the stream encoder |
Implemented in ghidra::InjectContextGhidra.
Referenced by ghidra::ArchitectureGhidra::getPcodeInject().