public DecompilerDriver(ILoader ldr, IServiceProvider services) { this.loader = ldr ?? throw new ArgumentNullException("ldr"); this.services = services ?? throw new ArgumentNullException("services"); this.host = services.RequireService <DecompilerHost>(); this.eventListener = services.RequireService <DecompilerEventListener>(); }
public void Setup() { mr = new MockRepository(); form = new MainForm(); sc = new ServiceContainer(); loader = mr.StrictMock<ILoader>(); dec = mr.StrictMock<IDecompiler>(); sc = new ServiceContainer(); uiSvc = new FakeShellUiService(); host = mr.StrictMock<DecompilerHost>(); memSvc = mr.StrictMock<ILowLevelViewService>(); var image = new LoadedImage(Address.Ptr32(0x10000), new byte[1000]); var imageMap = image.CreateImageMap(); var arch = mr.StrictMock<IProcessorArchitecture>(); arch.Stub(a => a.CreateRegisterBitset()).Return(new BitSet(32)); arch.Replay(); var platform = mr.StrictMock<Platform>(null, arch); arch.BackToRecord(); program = new Program(image, imageMap, arch, platform); project = new Project { Programs = { program } }; browserSvc = mr.StrictMock<IProjectBrowserService>(); sc.AddService<IDecompilerUIService>(uiSvc); sc.AddService(typeof(IDecompilerShellUiService), uiSvc); sc.AddService(typeof(IDecompilerService), new DecompilerService()); sc.AddService(typeof(IWorkerDialogService), new FakeWorkerDialogService()); sc.AddService(typeof(DecompilerEventListener), new FakeDecompilerEventListener()); sc.AddService(typeof(IProjectBrowserService), browserSvc); sc.AddService(typeof(ILowLevelViewService), memSvc); sc.AddService<ILoader>(loader); i = new TestInitialPageInteractor(sc, dec); }
public bool OpenBinaryAs( string file, IProcessorArchitecture arch, Platform platform, Address addrBase, DecompilerHost host) { var ldr = Services.RequireService <ILoader>(); this.Decompiler = CreateDecompiler(ldr, host); IWorkerDialogService svc = Services.RequireService <IWorkerDialogService>(); svc.StartBackgroundWork("Loading program", delegate() { Decompiler.LoadRawImage(file, arch, platform, addrBase); svc.SetCaption("Scanning source program."); Decompiler.ScanPrograms(); }); var browserSvc = Services.RequireService <IProjectBrowserService>(); browserSvc.Load(Decompiler.Project); if (Decompiler.Project.Programs.Count > 0) { var memSvc = Services.RequireService <ILowLevelViewService>(); memSvc.ViewImage(Decompiler.Project.Programs.First()); } return(false); // We never open projects this way. }
public bool OpenBinary(string file, DecompilerHost host) { var ldr = Services.RequireService <ILoader>(); this.Decompiler = CreateDecompiler(ldr, host); IWorkerDialogService svc = Services.RequireService <IWorkerDialogService>(); bool isOldProject = false; svc.StartBackgroundWork("Loading program", delegate() { isOldProject = Decompiler.Load(file); }); if (Decompiler.Project == null) { return(false); } var browserSvc = Services.RequireService <IProjectBrowserService>(); browserSvc.Load(Decompiler.Project); if (Decompiler.Project.Programs.Count > 0) { var memSvc = Services.RequireService <ILowLevelViewService>(); memSvc.ViewImage(Decompiler.Project.Programs.First()); } return(isOldProject); }
public void Setup() { mr = new MockRepository(); form = new MainForm(); sc = new ServiceContainer(); loader = mr.StrictMock<ILoader>(); dec = mr.StrictMock<IDecompiler>(); sc = new ServiceContainer(); uiSvc = new FakeShellUiService(); host = mr.StrictMock<DecompilerHost>(); memSvc = mr.StrictMock<ILowLevelViewService>(); var mem = new MemoryArea(Address.Ptr32(0x10000), new byte[1000]); var imageMap = new SegmentMap( mem.BaseAddress, new ImageSegment("code", mem, AccessMode.ReadWriteExecute)); var arch = mr.StrictMock<IProcessorArchitecture>(); var platform = mr.StrictMock<IPlatform>(); program = new Program(imageMap, arch, platform); project = new Project { Programs = { program } }; browserSvc = mr.StrictMock<IProjectBrowserService>(); sc.AddService<IDecompilerUIService>(uiSvc); sc.AddService(typeof(IDecompilerShellUiService), uiSvc); sc.AddService(typeof(IDecompilerService), new DecompilerService()); sc.AddService(typeof(IWorkerDialogService), new FakeWorkerDialogService()); sc.AddService(typeof(DecompilerEventListener), new FakeDecompilerEventListener()); sc.AddService(typeof(IProjectBrowserService), browserSvc); sc.AddService(typeof(ILowLevelViewService), memSvc); sc.AddService<ILoader>(loader); sc.AddService<DecompilerHost>(host); i = new TestInitialPageInteractor(sc, dec); }
public DecompilerDriver(ILoader ldr, IServiceProvider services) { if (ldr == null) throw new ArgumentNullException("ldr"); if (services == null) throw new ArgumentNullException("services"); this.loader = ldr; this.host = services.RequireService<DecompilerHost>(); this.services = services; this.eventListener = services.GetService<DecompilerEventListener>(); }
public DecompilerDriver(ILoader ldr, DecompilerHost host, IServiceProvider services) { if (ldr == null) { throw new ArgumentNullException("ldr"); } if (host == null) { throw new ArgumentNullException("host"); } if (services == null) { throw new ArgumentNullException("services"); } this.loader = ldr; this.host = host; this.services = services; this.eventListener = services.GetService <DecompilerEventListener>(); }
public bool Assemble(string file, Assembler asm, DecompilerHost host) { var ldr = Services.RequireService<ILoader>(); this.Decompiler = CreateDecompiler(ldr, host); var svc = Services.RequireService<IWorkerDialogService>(); svc.StartBackgroundWork("Loading program", delegate() { Decompiler.Assemble(file, asm); }); if (Decompiler.Project == null) return false; var browserSvc = Services.RequireService<IProjectBrowserService>(); browserSvc.Load(Decompiler.Project); if (Decompiler.Project.Programs.Count > 0) { var memSvc = Services.RequireService<ILowLevelViewService>(); memSvc.ViewImage(Decompiler.Project.Programs.First()); } return false; }
public void Setup() { mr = new MockRepository(); form = new MainForm(); sc = new ServiceContainer(); loader = mr.StrictMock <ILoader>(); dec = mr.StrictMock <IDecompiler>(); sc = new ServiceContainer(); uiSvc = new FakeShellUiService(); host = mr.StrictMock <DecompilerHost>(); memSvc = mr.StrictMock <ILowLevelViewService>(); var image = new LoadedImage(Address.Ptr32(0x10000), new byte[1000]); var imageMap = image.CreateImageMap(); var arch = mr.StrictMock <IProcessorArchitecture>(); arch.Stub(a => a.CreateRegisterBitset()).Return(new BitSet(32)); arch.Replay(); var platform = mr.StrictMock <Platform>(null, arch); arch.BackToRecord(); program = new Program(image, imageMap, arch, platform); project = new Project { Programs = { program } }; browserSvc = mr.StrictMock <IProjectBrowserService>(); sc.AddService <IDecompilerUIService>(uiSvc); sc.AddService(typeof(IDecompilerShellUiService), uiSvc); sc.AddService(typeof(IDecompilerService), new DecompilerService()); sc.AddService(typeof(IWorkerDialogService), new FakeWorkerDialogService()); sc.AddService(typeof(DecompilerEventListener), new FakeDecompilerEventListener()); sc.AddService(typeof(IProjectBrowserService), browserSvc); sc.AddService(typeof(ILowLevelViewService), memSvc); sc.AddService <ILoader>(loader); i = new TestInitialPageInteractor(sc, dec); }
public void Setup() { mr = new MockRepository(); form = new MainForm(); sc = new ServiceContainer(); loader = mr.StrictMock <ILoader>(); dec = mr.StrictMock <IDecompiler>(); sc = new ServiceContainer(); uiSvc = new FakeShellUiService(); host = mr.StrictMock <DecompilerHost>(); memSvc = mr.StrictMock <ILowLevelViewService>(); var mem = new MemoryArea(Address.Ptr32(0x10000), new byte[1000]); var imageMap = new SegmentMap( mem.BaseAddress, new ImageSegment("code", mem, AccessMode.ReadWriteExecute)); var arch = mr.StrictMock <IProcessorArchitecture>(); var platform = mr.StrictMock <IPlatform>(); program = new Program(imageMap, arch, platform); project = new Project { Programs = { program } }; browserSvc = mr.StrictMock <IProjectBrowserService>(); sc.AddService <IDecompilerUIService>(uiSvc); sc.AddService(typeof(IDecompilerShellUiService), uiSvc); sc.AddService(typeof(IDecompilerService), new DecompilerService()); sc.AddService(typeof(IWorkerDialogService), new FakeWorkerDialogService()); sc.AddService(typeof(DecompilerEventListener), new FakeDecompilerEventListener()); sc.AddService(typeof(IProjectBrowserService), browserSvc); sc.AddService(typeof(ILowLevelViewService), memSvc); sc.AddService <ILoader>(loader); sc.AddService <DecompilerHost>(host); i = new TestInitialPageInteractor(sc, dec); }
public bool OpenBinaryAs(string file, IProcessorArchitecture arch, Platform platform, Address addrBase, DecompilerHost host) { throw new NotImplementedException(); }
public bool OpenBinary(string file, DecompilerHost host) { OpenBinaryCalled = true; return false; }
public bool OpenBinary(string file, DecompilerHost host) { OpenBinaryCalled = true; return(false); }
protected virtual IDecompiler CreateDecompiler(ILoader ldr, DecompilerHost host) { return(new DecompilerDriver(ldr, host, Services)); }
public bool Assemble(string file, Assembler asm, DecompilerHost host) { throw new NotImplementedException(); }
public TestDecompiler(ILoader loader, DecompilerHost host, IServiceProvider sp) : base(loader, host, sp) { }
public bool OpenBinary(string file, DecompilerHost host) { var ldr = Services.RequireService<ILoader>(); this.Decompiler = CreateDecompiler(ldr, host); IWorkerDialogService svc = Services.RequireService<IWorkerDialogService>(); bool isOldProject = false; svc.StartBackgroundWork("Loading program", delegate() { isOldProject = Decompiler.Load(file); }); if (Decompiler.Project == null) return false; var browserSvc = Services.RequireService<IProjectBrowserService>(); browserSvc.Load(Decompiler.Project); if (Decompiler.Project.Programs.Count > 0) { var memSvc = Services.RequireService<ILowLevelViewService>(); memSvc.ViewImage(Decompiler.Project.Programs.First()); } return isOldProject; }
protected virtual IDecompiler CreateDecompiler(ILoader ldr, DecompilerHost host) { return new DecompilerDriver(ldr, host, Services); }
public bool OpenBinaryAs( string file, IProcessorArchitecture arch, Platform platform, Address addrBase, DecompilerHost host) { var ldr = Services.RequireService<ILoader>(); this.Decompiler = CreateDecompiler(ldr, host); IWorkerDialogService svc = Services.RequireService<IWorkerDialogService>(); svc.StartBackgroundWork("Loading program", delegate() { Decompiler.LoadRawImage(file, arch, platform, addrBase); svc.SetCaption("Scanning source program."); Decompiler.ScanPrograms(); }); var browserSvc = Services.RequireService<IProjectBrowserService>(); browserSvc.Load(Decompiler.Project); if (Decompiler.Project.Programs.Count > 0) { var memSvc = Services.RequireService<ILowLevelViewService>(); memSvc.ViewImage(Decompiler.Project.Programs.First()); } return false; // We never open projects this way. }
protected override IDecompiler CreateDecompiler(ILoader ldr, DecompilerHost host) { return decompiler; }
protected override IDecompiler CreateDecompiler(ILoader ldr, DecompilerHost host) { return(decompiler); }