|
1 | 1 | package browingdata |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "path" |
4 | 5 | "time" |
5 | 6 |
|
6 | 7 | "hack-browser-data/internal/item" |
7 | 8 | "hack-browser-data/internal/log" |
| 9 | + "hack-browser-data/internal/outputter" |
| 10 | + "hack-browser-data/internal/utils/fileutil" |
8 | 11 | ) |
9 | 12 |
|
10 | 13 | type Data struct { |
@@ -35,6 +38,24 @@ func (d *Data) Recovery(masterKey []byte) error { |
35 | 38 | return nil |
36 | 39 | } |
37 | 40 |
|
| 41 | +func (d *Data) Output(dir, browserName, output string) { |
| 42 | + outputter := outputter.New(output) |
| 43 | + |
| 44 | + for _, source := range d.Sources { |
| 45 | + |
| 46 | + filename := fileutil.Filename(browserName, source.Name(), outputter.Ext()) |
| 47 | + |
| 48 | + f, err := outputter.CreateFile(dir, filename) |
| 49 | + if err != nil { |
| 50 | + log.Error(err) |
| 51 | + } |
| 52 | + if err := outputter.Write(source, f); err != nil { |
| 53 | + log.Error(err) |
| 54 | + } |
| 55 | + log.Noticef("output to file %s success", path.Join(dir, filename)) |
| 56 | + } |
| 57 | +} |
| 58 | + |
38 | 59 | func (d *Data) addSource(Sources []item.Item) { |
39 | 60 | for _, source := range Sources { |
40 | 61 | switch source { |
@@ -69,7 +90,7 @@ func (d *Data) addSource(Sources []item.Item) { |
69 | 90 | } |
70 | 91 |
|
71 | 92 | const ( |
72 | | - queryChromiumCredit = `SELECT guid, name_on_card, expiration_month, expiration_year, card_number_encrypted FROM credit_cards` |
| 93 | + queryChromiumCredit = `SELECT guid, name_on_card, expiration_month, expiration_year, card_number_encrypted, billing_address_id, nickname FROM credit_cards` |
73 | 94 | queryChromiumLogin = `SELECT origin_url, username_value, password_value, date_created FROM logins` |
74 | 95 | queryYandexLogin = `SELECT action_url, username_value, password_value, date_created FROM logins` |
75 | 96 | queryChromiumHistory = `SELECT url, title, visit_count, last_visit_time FROM urls` |
@@ -126,5 +147,7 @@ type ( |
126 | 147 | ExpirationYear string |
127 | 148 | ExpirationMonth string |
128 | 149 | CardNumber string |
| 150 | + Address string |
| 151 | + NickName string |
129 | 152 | } |
130 | 153 | ) |
0 commit comments