win10当中,浏览器无论安装在那里其历史记录的存放点都是一样的,且内核一样的浏览器其历史记录格式也是一样的。因此可以轻松查询浏览器历史记录。

浏览器正在使用当中的时候不能够进行历史记录获取操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import os
import glob
import sqlite3

class bro_history:
def __init__(self):
self.systemroot = os.environ["SYSTEMROOT"]

def _firefox_history(self, path):
path = os.path.join(self.systemroot, path)
for p in glob.glob(path):
p_tokens = p.split('\\')
user = p_tokens[2]
profile = p_tokens[len(p_tokens) - 2]
con = sqlite3.connect(p)
cur = con.cursor()
for time, url in cur.execute(
("SELECT datetime(moz_historyvisits.visit_date/1000000, 'unixepoch', 'localtime'), moz_places.url "
"FROM moz_places, moz_historyvisits WHERE moz_places.id = moz_historyvisits.place_id;")):
yield time, url, user, profile

def _chrome_history(self, path):
path = os.path.join(self.systemroot, path)
for p in glob.glob(path):
p_tokens = p.split('\\')
user = p_tokens[2]
profile = p_tokens[len(p_tokens) - 2]
con = sqlite3.connect(p)
cur = con.cursor()
print(p)
for time, url, title in cur.execute(
('SELECT datetime(((visits.visit_time/1000000)-11644473600), "unixepoch"), '
'urls.url, urls.title FROM urls, visits WHERE urls.id = visits.url;')):
yield time, url, title, user, profile


test = bro_history()
# 谷歌浏览器
# for i in test._chrome_history('\\Users\\*\\AppData\\Local\\Google\\Chrome\\User Data\\*\\History'):
# print(i)
# 火狐浏览器
# for i in _firefox_history('\\Users\\*\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\*.default\\places.sqlite')
# print(i)
# QQ浏览器
# for i in test._chrome_history('\\Users\\*\\AppData\\Local\\Tencent\\QQBrowser\\User Data\\*\\History'):
# print(i)
# Edge浏览器
# for i in test._chrome_history('\\Users\\*\\AppData\\Local\\Microsoft\\Edge\\User Data\\*\\History'):
# print(i)
# brave浏览器
# for i in test._chrome_history('\\Users\\*\\AppData\\Local\\BraveSoftware\\Brave-Browser-Beta\\User Data\\*\\History'):
# print(i)
# Opera浏览器
# for i in test._chrome_history('\\Users\\*\\AppData\\Roaming\\Opera Software\\Opera Stable\\History'):
# print(i)
# Vivaldi浏览器
# for i in test._chrome_history('\\Users\\*\\AppData\\Local\\Vivaldi\\User Data\\*\\History'):
# print(i)
# 360浏览器
# for i in test._chrome_history('\\Users\\*\\AppData\\Roaming\\360se6\\User Data\\*\\360History'):
# print(i)

比较有意思的是,在获取浏览器历史记录的时候由于知道浏览器历史记录的存放点,QQ浏览器竟然在没有经过我同意的情况下读取了谷歌浏览器的历史记录,并且堂而皇之的放到了自己的历史记录当中。QQ浏览器是真的6