public void Run(FuzzController ctrl)
        {
            //It is assumed that currently the program is stopped at the snapshot

            ctrl.Snapshot.Destroy ();

            if (_currentAllocatedMemory != null)
            {
                ctrl.Connector.FreeMemory (_currentAllocatedMemory);
                _currentAllocatedMemory = null;
            }

            _currentFuzzData = _fuzzLocation.DataGenerator.GenerateData ();
            _currentAllocatedMemory = ctrl.Connector.AllocateMemory ((UInt64)_currentFuzzData.Length);
            ctrl.Connector.WriteMemory (_currentFuzzData, _currentAllocatedMemory.Address, (UInt64)_currentFuzzData.Length);

            //TODO: Big-Little endian handling
            byte[] addressBytes = BitConverter.GetBytes (_currentAllocatedMemory.Address);
            byte[] realAddressBytes;

            if (addressBytes.Length != _fuzzLocation.FuzzTarget.Size)
            {
                realAddressBytes = new byte[_fuzzLocation.FuzzTarget.Size];
                Array.Copy (addressBytes, realAddressBytes, Math.Min (addressBytes.Length, realAddressBytes.Length));
            }
            else
                realAddressBytes = addressBytes;

            ctrl.Connector.WriteMemory (realAddressBytes, _fuzzLocation.FuzzTarget.Address.Value, (UInt64)realAddressBytes.Length);
            ctrl.Snapshot = ctrl.Connector.CreateSnapshot ();
        }
 public void Run(FuzzController fuzzController)
 {
     _currentFuzzData = _fuzzLocation.DataGenerator.GenerateData ();
     ISnapshot snapshot = fuzzController.Snapshot;
     fuzzController.Connector.WriteMemory (_currentFuzzData, _fuzzLocation.FuzzTarget.Address.Value, (UInt64)_currentFuzzData.Length, ref snapshot);
     fuzzController.Snapshot = snapshot;
 }
        public virtual void Run(FuzzController ctrl)
        {
            if (_stopCondition != null)
                _stopCondition.StartFuzzRound ();

            if (_triggers != null)
            {
                foreach (ITrigger trigger in _triggers)
                    trigger.NextFuzzRun ();
            }
        }
 public override void Run(FuzzController ctrl)
 {
     base.Run (ctrl);
     _tech.Run (ctrl);
 }
        public override void Run(FuzzController ctrl)
        {
            base.Run (ctrl);

            if (!_socket.Connected)
                _socket.Connect ();

            byte[] data = _dataGenerator.GenerateData ();
            _socket.Write (data, 0, data.Length);
        }
        public override void Run(FuzzController ctrl)
        {
            base.Run (ctrl);

            Thread.Sleep (_myDelay);
        }
 public void Run(FuzzController ctrl)
 {
     _childLocation.ApplyChangeableId (_changeableId);
     _childLocation.Run (ctrl);
 }