16 #ifndef __INJECT_SLEIGH__ 17 #define __INJECT_SLEIGH__ 40 virtual void restoreXml(
const Element *el);
41 virtual void printTemplate(ostream &s)
const;
42 virtual string getSource(
void)
const {
return source; }
45 const vector<InjectParameter> &
output,
const string &source);
47 const vector<InjectParameter> &inputlist,
const vector<InjectParameter> &output,
48 const string &source);
52 vector<string> targetSymbolNames;
55 virtual void restoreXml(
const Element *el);
61 virtual void restoreXml(
const Element *el);
73 virtual void restoreXml(
const Element *el);
74 virtual void printTemplate(ostream &s)
const;
79 map<Address,Document *> addrMap;
83 void restoreEntry(
const Element *el);
86 virtual string getSource(
void)
const {
return "dynamic"; }
91 vector<OpBehavior *> inst;
96 virtual int4 allocateInject(
const string &sourceName,
const string &name,int4 type);
97 virtual void registerInject(int4 injectid);
100 virtual void restoreDebug(
const Element *el);
101 virtual int4 manualCallFixup(
const string &name,
const string &snippetstring);
102 virtual int4 manualCallOtherFixup(
const string &name,
const string &outname,
const vector<string> &inname,
103 const string &snippet);
105 virtual const vector<OpBehavior *> &getBehaviors(
void);
Definition: inject_sleigh.hh:58
Classes for managing p-code injection.
Context needed to emit a p-code injection as a full set of p-code operations.
Definition: pcodeinject.hh:56
Definition: inject_sleigh.hh:31
A collection of p-code injection payloads.
Definition: pcodeinject.hh:162
Abstract class for emitting pcode to an application.
Definition: translate.hh:76
A snippet of p-code that can be executed outside of normal analysis.
Definition: pcodeinject.hh:134
virtual string getSource(void) const
Return a string describing the source of the injection (.cspec, prototype model, etc.)
Definition: inject_sleigh.hh:42
virtual string getSource(void) const
Return a string describing the source of the injection (.cspec, prototype model, etc.)
Definition: inject_sleigh.hh:86
virtual void printTemplate(ostream &s) const
Print the p-code ops of the injection to a stream (for debugging)
Definition: inject_sleigh.hh:85
Common core of classes that read or write SLEIGH specification files natively.
Definition: sleighbase.hh:29
Definition: context.hh:68
vector< VarnodeData > inputlist
Storage location for input parameters.
Definition: pcodeinject.hh:62
Definition: inject_sleigh.hh:51
An active container for a set of p-code operations that can be injected into data-flow.
Definition: pcodeinject.hh:78
Definition: inject_sleigh.hh:22
Definition: context.hh:163
Manager for all the major decompiler subsystems.
Definition: architecture.hh:117
virtual InjectContext & getCachedContext(void)
Retrieve a reusable context object for this library.
Definition: inject_sleigh.hh:104
Definition: semantics.hh:161
An XML element. A node in the DOM tree.
Definition: xml.hh:150
virtual void saveXml(ostream &s) const
Save this context to an XML stream as a <context> tag.
Definition: inject_sleigh.hh:28
Architecture * glb
Architecture associated with the injection.
Definition: pcodeinject.hh:58
Definition: inject_sleigh.hh:77
vector< VarnodeData > output
Storage location for output.
Definition: pcodeinject.hh:63
Definition: inject_sleigh.hh:89
Definition: inject_sleigh.hh:64