internal static void Main(string[] args) { Console.WriteLine("Test"); XedState state = new XedState { Mode = MachineMode.Legacy32, StackAddressWidth = AddressWidth.Width32 }; EncoderRequest enc = new EncoderRequest(state); enc.Class = InstClass.Push; enc.SetOperandOrder(0, OperandName.Reg0); enc.SetReg(OperandName.Reg0, Register.Eax); byte[] bytes = enc.Encode(); DecodedInstruction inst = new DecodedInstruction(state); inst.Decode(bytes); enc = new EncoderRequest(inst); enc.SetBase0(Register.Edx); bytes = enc.Encode(); inst = new DecodedInstruction(state); inst.Decode(bytes); Console.ReadLine(); }
public void DiscoveryServerOnDataAvailable(TcpServerConnection connection) { Logger.Trace("DiscoveryServer.OnDataAvailable: {0}", connection.ClientAddress.ToString()); var client = connection.Socket; using (var stream = client.GetStream()) using (var sw = new StreamWriter(stream)) { if (stream.DataAvailable) { var data = new byte[5013]; try { var bytesRead = stream.Read(data, 0, data.Length); Logger.Debug("{1} Bytes Received: {0}", bytesRead, connection.ClientAddress); var request = new EncoderRequest(); request.Deserialize(ref data); foreach (var device in _settings.Devices) { foreach (var tuner in device.Tuners) { if (tuner.Enabled) { var response = new EncoderResponse { Name = tuner.Name, Length = tuner.Name.Length, Prefix = request.Prefix, Version = "210", Port = (uint)tuner.ListenerPort }; Logger.Debug("Sending:{0}", response); sw.Write(response); } } } connection.ForceDisconnect(); } catch (IOException ex) { Logger.Warn("IOException while reading stream", ex); } } } }