public virtual void InjectProcedureEntryStatements(Procedure proc, Address addr, CodeEmitter emitter) { }
public void Rewrite(CodeEmitter emitter) { foreach (var de in this.zappedInstructions) { instrs[de.Key].code = de.Value; } foreach (Instruction instr in rewritten) { emitter.Emit(instr); } }
public override void InjectProcedureEntryStatements(Procedure proc, Address addr, CodeEmitter m) { switch (Architecture.Name) { case "mips-be-32": // MIPS ELF ABI: r25 is _always_ set to the address of a procedure on entry. m.Assign(proc.Frame.EnsureRegister(Architecture.GetRegister(25)), Constant.Word32((uint)addr.ToLinear())); break; } }