Exemple #1
0
        private void Given_VaScanner(IPlatform platform)
        {
            var segmentMap = CreateSegmentMap(0, 128);

            this.program = new Program(segmentMap, platform.Architecture, platform);
            this.vafs    = CreateVaScanner(program);
        }
        private void Given_VaScanner(IProcessorArchitecture arch)
        {
            var platform   = new DefaultPlatform(null, arch);
            var segmentMap = CreateSegmentMap(0, 128);

            this.program = new Program(segmentMap, arch, platform);
            this.vafs    = CreateVaScanner(program);
        }
Exemple #3
0
        public void Vafs_ReplaceArgs()
        {
            var platform = new Mock <IPlatform>();
            var cc       = new X86CallingConvention(4, 4, 4, false, false);

            platform.Setup(p => p.GetCallingConvention("")).Returns(cc);

            var newSig = VarargsFormatScanner.ReplaceVarargs(
                platform.Object,
                x86PrintfSig,
                new DataType[] { PrimitiveType.Int16, new Pointer(PrimitiveType.Char, 32) });

            System.Diagnostics.Debug.Print("{0}", DumpSignature("test", newSig));
            Assert.AreEqual(
                "void test(Stack +0004 (ptr32 char), Stack +0008 int16, Stack +000C (ptr32 char))",
                DumpSignature("test", newSig));
        }