예제 #1
0
        public static void ParseChromeHistory(string historyFilePath, string user, HostCookies[] cookies)
        {
            SQLiteDatabase database       = new SQLiteDatabase(historyFilePath);
            string         query          = "SELECT url, title, visit_count, last_visit_time FROM urls ORDER BY visit_count;";
            DataTable      resultantQuery = database.ExecuteQuery(query);

            database.CloseDatabase();
            foreach (DataRow row in resultantQuery.Rows)
            {
                var lastVisitTime = row["last_visit_time"];
                Console.WriteLine("--- Chrome History (User: {0}) ---", user);
                Console.WriteLine("URL           : {0}", row["url"]);
                if (row["title"] != String.Empty)
                {
                    Console.WriteLine("Title         : {0}", row["title"]);
                }
                else
                {
                    Console.WriteLine("Title         : No Title");
                }
                Console.WriteLine("Visit Count   : {0}", row["visit_count"]);
                HostCookies matching = FilterHostCookies(cookies, row["url"].ToString());
                Console.WriteLine("Cookies       : {0}", matching.ToJSON());
                Console.WriteLine();
            }
        }
예제 #2
0
        public static HostCookies[] ParseChromeCookies(string cookiesFilePath, string user, bool printResults = false, string[] domains = null)
        {
            SQLiteDatabase database       = new SQLiteDatabase(cookiesFilePath);
            string         query          = "SELECT * FROM cookies ORDER BY host_key";
            DataTable      resultantQuery = database.ExecuteQuery(query);

            database.CloseDatabase();
            // This will group cookies based on Host Key
            HostCookies[] rawCookies = SortCookieData(resultantQuery);
            if (printResults)
            {
                if (domains != null)
                {
                    foreach (string domain in domains)
                    {
                        HostCookies hostInstance = FilterHostCookies(rawCookies, domain);
                        Console.WriteLine("--- Chrome Cookie (User: {0}) ---", user);
                        Console.WriteLine("Domain         : {0}", hostInstance.HostName);
                        Console.WriteLine("Cookies (JSON) : {0}", hostInstance.ToJSON());
                        Console.WriteLine();
                    }
                }
                else
                {
                    foreach (HostCookies cookie in rawCookies)
                    {
                        Console.WriteLine("--- Chrome Cookie (User: {0}) ---", user);
                        Console.WriteLine("Domain         : {0}", cookie.HostName);
                        Console.WriteLine("Cookies (JSON) : {0}", cookie.ToJSON());
                        Console.WriteLine();
                    }
                }
            }
            // Parse the raw cookies into HostCookies that are grouped by common domain
            return(rawCookies);
        }
예제 #3
0
        public void Print()
        {
            string user = Environment.GetEnvironmentVariable("USERNAME");

            Console.WriteLine("--- Chrome History (User: {0}) ---", user);
            int spaces = 15;

            Console.WriteLine("{0}{1}: {2}", "URL", SpaceGenerator(spaces - 3), Url);
            Console.WriteLine("{0}{1}: {2}", "Title", SpaceGenerator(spaces - 5), Title == "" ? "No Title" : Title);
            Console.WriteLine("{0}{1}: {2}", "Visit Count", SpaceGenerator(spaces - 11), VisitCount);
            Console.WriteLine("{0}{1}: {2}", "Cookies", SpaceGenerator(spaces - 7), Cookies == null ? "": Cookies.ToJSON());
            Console.WriteLine();
        }