Пароли

Пароли


Начну с того — где хранится файл с паролями. Этот файл — "Login Data" в папке "C:\Users\SomeUser\AppData\Local\Google\Chrome\User Data\Default\".



Это база данных SQLite.




В ней есть 14 колонок. Нас же интересуют только 3: origin_url (ссылка на сам сайт), username_value (логин), password_value(пароль).

Среди других колонок есть так же: страница авторизации, название элемента ввода для логина и пароля и другие. Все данные незашифровыванны(видно на скрине), кроме поля password_value.

В поле с паролем находится байтовый массив. Выглядит он следующим образом.




Способ шифрования выбран очень удобный для разработчиков. Они использовали Data Protection Application Programming Interface, который использует Windows.

Вкратце скажу, что эта система работает в одном из 2 режимов.


  1. С использованием машинного ключа. (Ключ уникален для текущей системы. Но он позволяет разным программам работать с зашифрованными данными без передачи ключа друг — другу, но исключая утечку данных за пределы машины, а точнее пользователя.)
  2. С использованием ключа пользователя. (Без комментариев.)


Так же стоит отметить, что эту систему безопасности использует всем известный IE версии 7 и старше. Защита в ней устроена ещё на порядок выше, чем у Google Chrome. Там используется вдобавок ещё и энтропия, а в качестве хранилища — используется реестр.



Итак — начнем!


Нам будет необходимо считать байты поля с паролем, так как хранится пароль именно в байтовом массиве. Для этого можно использовать System.Data.SQLite Interop Library версии 1.0.65.0 .

В проекте использован класс DPAPI, который был найден в интернете.


Объявим нужные нам объекты и переменные:




Далее мы заполняем DataTable DB базой данных из нашего файла:




Теперь осталось только вытащить нужную информацию из неё и записать в файл. На этом этапе файл уже не используется — работа ведется только с объектом DataTable:




В итоге у нас есть HTML-документ с нашими логинами-паролями, которые можно хранить на своем мобильном телефоне, или распечатать и положить в конверт… При желании можно записывать больше полей, но лично мне хватает выше упомянутых трех.


Исходники программы


P.S. Если у Вас 64-битная операционная система, то Вам следует заменить файл библиотеки на тот, что находится в корневой папке архива. Я не гарантирую, что данная программа будет работать на Windows XP, или других ОС. Так как проверялось только на Windows 7.



Report Page