public AlphaDisassembler(AlphaArchitecture arch, EndianImageReader rdr) { this.arch = arch; this.rdr = rdr; this.addr = null !; }
public override Address ReadCodeAddress(int size, EndianImageReader rdr, ProcessorState state) { throw new NotImplementedException(); }
public override IEnumerable <Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable <Address> knownAddresses, PointerScannerFlags flags) { throw new NotImplementedException(); }
public MicroMipsDisassembler(MipsProcessorArchitecture arch, EndianImageReader rdr) { this.arch = arch; this.rdr = rdr; this.ops = new List <MachineOperand>(); }
public override IEnumerable <Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable <Address> knownAddresses, PointerScannerFlags flags) { var knownLinAddresses = knownAddresses.Select(a => (uint)a.ToLinear()).ToHashSet(); return(new MipsPointerScanner32(rdr, knownLinAddresses, flags).Select(l => Address.Ptr32(l))); }
public override IEnumerable <Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable <Address> knownAddresses, PointerScannerFlags flags) { return(mode.CreateInstructionScanner(map, rdr, knownAddresses, flags)); }
public override bool TryPeekOpcode(EndianImageReader rdr, out uint opcode) { return(rdr.TryPeekUInt32(0, out opcode)); }
public override void ApplyRelocation(Address baseOfImage, uint page, EndianImageReader rdr, RelocationDictionary relocations) { //$TODO: where to find docs for this? :-) rdr.ReadLeUInt32(); }
public ThumbRewriterRetired(Dictionary <int, RegisterStorage> regs, INativeArchitecture nArch, EndianImageReader rdr, AArch32ProcessorState state, IStorageBinder binder, IRewriterHost host) { this.regs = regs; this.nArch = nArch; this.rdr = rdr; this.binder = binder; this.host = host; }
public Cray1Disassembler(Cray1Architecture arch, EndianImageReader rdr) { this.arch = arch; this.rdr = rdr; this.ops = new List <MachineOperand>(); }
public Tlcs90Disassembler(Tlcs90Architecture arch, EndianImageReader rdr) { this.arch = arch; this.rdr = rdr; }
public CilDisassembler(EndianImageReader rdr) { this.rdr = rdr; }
public override IEnumerable<Address> CreatePointerScanner(SegmentMap map, EndianImageReader rdr, IEnumerable<Address> knownAddresses, PointerScannerFlags flags) { return new Arm32PointerScanner(rdr, knownAddresses.Select(a => a.ToUInt32()).ToHashSet(), flags) .Select(lin => Address.Ptr32(lin)); }
private IEnumerator <Arm32Instruction> CreateInstructionStream(EndianImageReader rdr) { return(new Arm32Disassembler(arch, rdr).GetEnumerator()); }
public IEnumerable <MachineInstruction> CreateDisassembler(EndianImageReader imageReader) { throw new NotImplementedException(); }
/// <summary> /// Instantiates a new Basic-Range PIC16 disassembler. /// </summary> /// <param name="arch">The PIC architecture.</param> /// <param name="rdr">The memory segment reader.</param> protected PIC16BasicDisasm(PICArchitecture arch, EndianImageReader rdr) : base(arch, rdr) { }
private void AddSection(SegmentMap segmentMap, uint size, uint flags, uint reserved1, uint reserved2, uint protection, Address addr, EndianImageReader bytes, string name) { AccessMode am = 0; if ((protection & VM_PROT_READ) != 0) { am |= AccessMode.Read; } if ((protection & VM_PROT_WRITE) != 0) { am |= AccessMode.Write; } if ((protection & VM_PROT_EXECUTE) != 0) { am |= AccessMode.Execute; } var mem = new MemoryArea(addr, bytes.ReadBytes((uint)size)); var machoSection = new MachOSection(name, addr, (SectionFlags)flags, reserved1, reserved2); var imageSection = new ImageSegment(name, mem, am); ldr.imageSections.Add(machoSection, imageSection); this.ldr.sections.Add(machoSection); this.ldr.sectionsByName.Add(imageSection.Name, machoSection); if (imageSection.Size > 0) { segmentMap.AddSegment(imageSection); } }
private IEnumerable <SparcInstruction> CreateDisassemblyStream(EndianImageReader rdr) { return(new SparcDisassembler(arch, arch.Decoder, rdr)); }
public X86Disassembler CreateDisassemblerImpl(EndianImageReader imageReader) { return(mode.CreateDisassembler(this.Services, EnsureRootDecoders(), imageReader, Options)); }
public override IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, IStorageBinder binder, IRewriterHost host) { throw new NotImplementedException(); }
public override bool TryPeekPointer(EndianImageReader rdr, out uint target) { return(rdr.TryPeekUInt32(0, out target)); }
public PowerPcDisassembler(PowerPcArchitecture arch, Decoder [] primaryDecoders, EndianImageReader rdr, PrimitiveType defaultWordWidth) { this.arch = arch; this.rdr = rdr; this.defaultWordWidth = defaultWordWidth; this.primaryDecoders = primaryDecoders; }
public override IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, IStorageBinder binder, IRewriterHost host) { return(new Msp430Rewriter(this, rdr, state, binder, host)); }
public override IEnumerable <MachineInstruction> CreateDisassembler(EndianImageReader rdr) { return(new XtensaDisassembler(this, rdr)); }
public override bool TryPeekPointer(EndianImageReader rdr, out ushort target) { return(rdr.TryPeekLeUInt16(0, out target)); }
public IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, Frame frame, IRewriterHost host) { throw new NotImplementedException(); }
public override IEnumerable <MachineInstruction> CreateDisassembler(EndianImageReader imageReader) { return(new ThumbDisassembler(imageReader)); }
public ProcedureBase GetTrampolineDestination(EndianImageReader rdr, IRewriterHost host) { return(null); }
public override IEnumerable <RtlInstructionCluster> CreateRewriter(EndianImageReader rdr, ProcessorState state, IStorageBinder frame, IRewriterHost host) { return(new ThumbRewriter(this, rdr, (ArmProcessorState)state, frame, host)); }
public SuperHDisassembler(SuperHArchitecture arch, EndianImageReader rdr) { this.arch = arch; this.rdr = rdr; this.state = new DasmState(); }