【问题标题】:How to delete saved passwords from the browser, programmatically如何以编程方式从浏览器中删除保存的密码
【发布时间】:2012-11-23 12:20:20
【问题描述】:

有谁知道如何使用 C# 删除 Firefox、Chrome 和 IE 中的密码? 我已经尝试过很多方法,但我没有成功,因为我找不到存储它们的位置来删除它们。 我查看了http://kyrionhackingtutorials.com/2012/03/all-saved-password-location,但似乎找不到并删除它们。

public static void deleteHistory(string browser)

    {
        switch (browser)
        {
            case "explorer":
                RegistryKey r = Registry.CurrentUser;
                try
                {
                    r.DeleteSubKey(@"Software\Microsoft\Internet Explorer\IntelliForms\Storage2");
                }
                catch(Exception e)
                {
                    Console.WriteLine("no passwords deleted : " + e);
                }
                   string Efilepath = System.Environment.GetEnvironmentVariable("USERPROFILE") + explorerPath;
                string[] Edirctorys = Directory.GetFiles(Efilepath);
                foreach (string dir in Edirctorys)
                {
                    File.Delete(dir);
                }
                break;
            case "chrome":
                string[] filePaths;
                if (File.Exists(chromePathXP))
                {
                     filePaths = Directory.GetFiles(chromePathXP);
                    foreach (string file in filePaths)
                        File.Delete(file);
                }
                if (File.Exists(chromePathVista))
                {
                    filePaths = Directory.GetFiles(chromePathVista);
                    foreach (string file in filePaths)
                        File.Delete(file);
                }
                break;
            case "firefox":


                string displayName = WindowsIdentity.GetCurrent().Name.Split('\\')[1];
                string filepath = System.Environment.GetEnvironmentVariable("USERPROFILE") + firefoxPath+displayName;

                //string[] dirctorys = Directory.GetDirectories(filepath);
            //    foreach (string dir in dirctorys)

                    foreach (string file in firefoxFiles)
                    {
                        if (File.Exists(filepath + "\\" + file))
                        {
                            Console.WriteLine(filepath + file);
                            File.Delete(filepath + "\\" + file);
                        }
                    }

                break;
            default:
                break;
        }

    }

【问题讨论】:

    标签: c# google-chrome internet-explorer firefox passwords


    【解决方案1】:

    我不确定您链接的网站上的信息是否正确。我相信 Firefox 的密码等已在一段时间前移入了配置文件文件夹....

    对于 Firefox,配置文件文件夹位于

    %APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default.

    %APPDATA% 是 C:\Users\\AppData\Roaming\Mozilla (Win 7/Vista) 的简写 (或 C:\Documents and Settings\\Application Data\Mozilla for Win XP)

    key3.db 等应该在里面

    恐怕无法帮助您解决其他问题,因为我不使用它们

    【讨论】:

    • 我需要删除 xxxxxx.default 文件夹中的什么内容?
    • 虽然在 FF16 和 17 上与网页上的相同,但我相信它们是 signons.sqlite、signons2.sqlite 等而不是文本文件
    • 查看您链接到它的网站大致正确,但也需要一些腿部工作。我会在测试机器上安装所有浏览器等,然后找到带有扩展名的通配符的文件......你也可以随时忽略代码中的扩展名
    • 我错过的另一点是 8 个随机数字 (xxxxxxxx) 是随机生成的。然而,它总是在用户(由用户名定义)主配置文件的末尾有 .default,这违背了随机生成器的想法,因为您可以抓取 *.default 文件夹以查找密码等
    【解决方案2】:

    要清除用户名,密码就像在C#中那样

                TextBox_UserName.Attributes["AUTOCOMPLETE"] = "off";
                TextBox_NewPassword.Attributes["AUTOCOMPLETE"] = "off";
                TextBox_ConfirmNewPassword.Attributes["AUTOCOMPLETE"] = "off";
    

    【讨论】:

    • 这不会删除浏览器上保存的密码,它只是首先防止自动完成。
    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 2011-12-04
    • 2012-01-08
    • 2013-07-18
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多