Example #1
0
        public void Setup()
        {
            sc = new ServiceContainer();

            form = new Mock <IMainForm>();

            var arch     = new X86ArchitectureReal(sc, "x86-real-16");
            var platform = new Mock <IPlatform>();

            platform.Setup(p => p.CreateMetadata()).Returns(new TypeLibrary());
            platform.Setup(p => p.Architecture).Returns(arch);
            program = new Program();
            program.Architecture = arch;
            program.Platform     = platform.Object;
            var mem = new ByteMemoryArea(Address.SegPtr(0xC00, 0), new byte[10000]);

            program.SegmentMap = new SegmentMap(
                mem.BaseAddress,
                new ImageSegment("0C00", mem, AccessMode.ReadWriteExecute));

            program.SegmentMap.AddOverlappingSegment("0C10", mem, Address.SegPtr(0x0C10, 0), AccessMode.ReadWrite);
            program.SegmentMap.AddOverlappingSegment("0C20", mem, Address.SegPtr(0x0C20, 0), AccessMode.ReadWrite);
            mapSegment1 = program.SegmentMap.Segments.Values[0];
            mapSegment2 = program.SegmentMap.Segments.Values[1];

            decSvc = new DecompilerService();

            sc.AddService <IDecompilerService>(decSvc);
            sc.AddService <IWorkerDialogService>(new FakeWorkerDialogService());
            sc.AddService <DecompilerEventListener>(new FakeDecompilerEventListener());
            sc.AddService <IStatusBarService>(new FakeStatusBarService());
            sc.AddService <IDecompiledFileService>(new FakeDecompiledFileService());
            uiSvc  = AddService <IDecompilerShellUiService>();
            memSvc = AddService <ILowLevelViewService>();

            var ldr = new Mock <ILoader>();

            ldr.Setup(l => l.LoadImageBytes("test.exe", 0)).Returns(new byte[400]);
            ldr.Setup(l => l.LoadExecutable(
                          It.IsNotNull <string>(),
                          It.IsNotNull <byte[]>(),
                          null,
                          It.IsAny <Address>())).Returns(program)
            .Callback(() =>
            {
                program.ToString();
            });
            decSvc.Decompiler = new Decompiler(ldr.Object, sc);
            decSvc.Decompiler.Load("test.exe");

            interactor = new ScannedPageInteractor(sc);
        }
Example #2
0
        public void Setup()
        {
            mr = new MockRepository();
            sc = new ServiceContainer();

            form = new MainForm();

            var platform = mr.Stub <IPlatform>();

            program = new Program();
            program.Architecture = new X86ArchitectureReal("x86-real-16");
            program.Platform     = platform;
            var mem = new MemoryArea(Address.SegPtr(0xC00, 0), new byte[10000]);

            program.SegmentMap = new SegmentMap(
                mem.BaseAddress,
                new ImageSegment("0C00", mem, AccessMode.ReadWriteExecute));

            program.SegmentMap.AddSegment(Address.SegPtr(0x0C10, 0), "0C10", AccessMode.ReadWrite, 0);
            program.SegmentMap.AddSegment(Address.SegPtr(0x0C20, 0), "0C20", AccessMode.ReadWrite, 0);
            mapSegment1 = program.SegmentMap.Segments.Values[0];
            mapSegment2 = program.SegmentMap.Segments.Values[1];

            decSvc = new DecompilerService();

            sc.AddService <IDecompilerService>(decSvc);
            sc.AddService <IWorkerDialogService>(new FakeWorkerDialogService());
            sc.AddService <DecompilerEventListener>(new FakeDecompilerEventListener());
            sc.AddService <IStatusBarService>(new FakeStatusBarService());
            sc.AddService <DecompilerHost>(new FakeDecompilerHost());
            uiSvc  = AddService <IDecompilerShellUiService>();
            memSvc = AddService <ILowLevelViewService>();

            ILoader ldr = mr.StrictMock <ILoader>();

            ldr.Stub(l => l.LoadImageBytes("test.exe", 0)).Return(new byte[400]);
            ldr.Stub(l => l.LoadExecutable(
                         Arg <string> .Is.NotNull,
                         Arg <byte[]> .Is.NotNull,
                         Arg <string> .Is.Null,
                         Arg <Address> .Is.Null)).Return(program);
            ldr.Replay();
            decSvc.Decompiler = new DecompilerDriver(ldr, sc);
            decSvc.Decompiler.Load("test.exe");

            interactor = new ScannedPageInteractor(sc);
        }
        public void Setup()
        {
            sc = new ServiceContainer();

            form = new Mock <IMainForm>();

            var arch     = new X86ArchitectureReal(sc, "x86-real-16", new Dictionary <string, object>());
            var platform = new Mock <IPlatform>();

            platform.Setup(p => p.CreateMetadata()).Returns(new TypeLibrary());
            platform.Setup(p => p.Architecture).Returns(arch);
            program = new Program();
            program.Architecture = arch;
            program.Platform     = platform.Object;
            var mem = new ByteMemoryArea(Address.SegPtr(0xC00, 0), new byte[10000]);

            program.SegmentMap = new SegmentMap(
                mem.BaseAddress,
                new ImageSegment("0C00", mem, AccessMode.ReadWriteExecute));
            program.SegmentMap.AddOverlappingSegment("0C10", mem, Address.SegPtr(0x0C10, 0), AccessMode.ReadWrite);
            program.SegmentMap.AddOverlappingSegment("0C20", mem, Address.SegPtr(0x0C20, 0), AccessMode.ReadWrite);
            mapSegment1 = program.SegmentMap.Segments.Values[0];
            mapSegment2 = program.SegmentMap.Segments.Values[1];

            var project = new Project();

            project.AddProgram(ImageLocation.FromUri("/home/bob/test.exe"), program);

            decSvc = new DecompilerService();

            sc.AddService <IDecompilerService>(decSvc);
            sc.AddService <IWorkerDialogService>(new FakeWorkerDialogService());
            sc.AddService <DecompilerEventListener>(new FakeDecompilerEventListener());
            sc.AddService <IStatusBarService>(new FakeStatusBarService());
            sc.AddService <IDecompiledFileService>(new FakeDecompiledFileService());
            uiSvc  = AddService <IDecompilerShellUiService>();
            memSvc = AddService <ILowLevelViewService>();

            decSvc.Decompiler = new Decompiler(project, sc);

            interactor = new ScannedPageInteractor(sc);
        }