|
decompiler 1.0.0
|
An injection context that can be serialized and sent to the Ghidra client. More...
#include <inject_ghidra.hh>
Public Member Functions | |
| virtual void | encode (Encoder &encoder) const |
| Encode this context to a stream as a <context> element. More... | |
Public Member Functions inherited from InjectContext | |
| 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... | |
Additional Inherited Members | |
Public Attributes inherited from InjectContext | |
| 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. | |
An injection context that can be serialized and sent to the Ghidra client.
This adds the capability to wrap up the context data in <context> XML tag that can then be forwarded to the Ghidra client.
|
virtual |
Encode this context to a stream as a <context> element.
| encoder | is the stream encoder |
Implements InjectContext.
References InjectContext::baseaddr, InjectContext::calladdr, Encoder::closeElement(), ELEM_ADDR, ELEM_CONTEXT, Address::encode(), AddrSpace::encodeAttributes(), InjectContext::inputlist, VarnodeData::offset, Encoder::openElement(), InjectContext::output, VarnodeData::size, and VarnodeData::space.