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); }