using System; using System.IO; using System.Net.Http; using System.Security.Cryptography; using System.Text; using System.Text.Json; using System.Threading.Tasks; class Program { private static readonly byte[] Key = Encoding.UTF8.GetBytes("XRemote1234Secure5678Key90123456"); private static readonly byte[] IV = Encoding.UTF8.GetBytes("XRemoteIV1234567"); public static string DecryptString(string cipherText) { byte[] buffer = Convert.FromBase64String(cipherText); using (Aes aesAlg = Aes.Create()) { aesAlg.Key = Key; aesAlg.IV = IV; var decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV); using (var msDecrypt = new MemoryStream(buffer)) { using (var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) { using (var srDecrypt = new StreamReader(csDecrypt)) { return srDecrypt.ReadToEnd(); } } } } } static async Task Main() { try { Console.WriteLine("START..."); string cipherText = "0xU4AtyuN12/2fO5aR3z4kKk1mZ2z+x/2XnLqJkY+oA2H9SmlGg/gTx+qk/fJzCcZQufgtujjxrcFIVTARjSA=="; string configUrl = DecryptString(cipherText); Console.WriteLine("URL: '" + configUrl + "'"); using var http = new HttpClient(); Console.WriteLine("Fetching..."); var resp = await http.GetAsync(configUrl); Console.WriteLine("Status: " + resp.StatusCode); string json = await resp.Content.ReadAsStringAsync(); Console.WriteLine("JSON size: " + json.Length); using var doc = JsonDocument.Parse(json); if (doc.RootElement.TryGetProperty("ApiBaseUrl", out var apiUrl)) { Console.WriteLine("API URL: " + apiUrl.GetString()); } Console.WriteLine("SUCCESS!"); } catch (Exception ex) { Console.WriteLine("Error: " + ex.ToString()); } } }