GP-2262 Encoder

This commit is contained in:
caheckman
2022-07-12 19:07:37 -04:00
parent ae79857b42
commit aa038c3636
96 changed files with 2701 additions and 2484 deletions

View File

@@ -28,8 +28,7 @@ import ghidra.program.model.lang.InjectContext;
import ghidra.program.model.lang.InjectPayload;
import ghidra.program.model.listing.Function;
import ghidra.program.model.listing.Program;
import ghidra.program.model.pcode.PcodeOp;
import ghidra.program.model.pcode.Varnode;
import ghidra.program.model.pcode.*;
import ghidra.util.Msg;
import ghidra.util.xml.SpecXmlUtils;
import ghidra.xml.*;
@@ -178,12 +177,12 @@ public class InjectPayloadDexParameters implements InjectPayload {
}
@Override
public void saveXml(StringBuilder buffer) {
public void encode(Encoder encoder) throws IOException {
// Provide a minimal tag so decompiler can call-back
buffer.append("<pcode");
SpecXmlUtils.encodeStringAttribute(buffer, "inject", "uponentry");
SpecXmlUtils.encodeBooleanAttribute(buffer, "dynamic", true);
buffer.append("/>\n");
encoder.openElement(ElementId.ELEM_PCODE);
encoder.writeString(AttributeId.ATTRIB_INJECT, "uponentry");
encoder.writeBool(AttributeId.ATTRIB_DYNAMIC, true);
encoder.closeElement(ElementId.ELEM_PCODE);
}
@Override