Exemple #1
0
        private static void ScanSingleDWord32(VirtualMachine vm)
        {
            uint dest = vm.PhysicalMemory.GetUInt32(vm.Processor.ESBase + vm.Processor.EDI);

            Cmp.DWordCompare(vm.Processor, (uint)vm.Processor.EAX, dest);

            if (!vm.Processor.Flags.Direction)
            {
                vm.Processor.EDI += 4;
            }
            else
            {
                vm.Processor.EDI -= 4;
            }
        }
Exemple #2
0
        private static void CompareSingleDWord32(VirtualMachine vm)
        {
            var  srcSegment = vm.Processor.GetOverrideBase(SegmentIndex.DS);
            uint src        = vm.PhysicalMemory.GetUInt32(srcSegment + vm.Processor.ESI);
            uint dest       = vm.PhysicalMemory.GetUInt32(vm.Processor.ESBase + vm.Processor.EDI);

            Cmp.DWordCompare(vm.Processor, src, dest);

            if (!vm.Processor.Flags.Direction)
            {
                vm.Processor.ESI += 4;
                vm.Processor.EDI += 4;
            }
            else
            {
                vm.Processor.ESI -= 4;
                vm.Processor.EDI -= 4;
            }
        }