ChromePass - программа для импорта и экспорта паролей Google Chrome (не актуальна для браузеров на движке Chromium версии > 80)По мотивам недавней дискуссии в чате наваял по быстрому утилиту, для легкого переноса паролей в другой профиль, т.к. поиск программы с аналогичной функцией закончился ничем. Может плохо искал... Немного теории: Сохраненные пароли в хромоподобных браузерах хранятся в файле Login Data. Для Chrome он находится тут - c:\Users\<имя пользователя>\AppData\Local\Google\Chrome\User Data\Default\Login Data. Login Data представляет собой базу данных в формате SQLite3. Пароль хранится в таблице logins в зашифрованном c помощью DPAPI виде. Данный вид шифрования позволяет шифровать/расшифровывать данные только под одной учетной записью уникального пользователя. Т.е. перенести Login Data напрямую в другую ОС или для другого пользователя (к примеру, после переустановки Windows) нельзя. Работа с программой:
С помощью кнопки "Открыть" можно открыть Login Dataтекущего пользователя или файл сохраненный с помощью функции "Сохранить".
При нажатии "Сохранить" сохраняется полностью таблица содержащая данные о сохраненных паролях, но с расшифрованным паролем. Внимание! С полученного с помощью кнопки "Сохранить" дампа легко получить пароли. Храните его в недоступном для детей других пользователей месте, если не хотите поделиться с ними своими паролями.
При использовании функции "Экспорт в Chrome" необходимо выбрать файл Login Dataв который необходимо экспортировать пароли. Они будут зашифрованы и с использованием уникального ключа текущего пользователя.
В таблице синим подсвечены сайты для которых сохранен логин/пароль, серым - игнорируемые сайты.
ЛКМ по ячейке копирует её содержимое (включая пароль в скрытой ячейке) в буфер обмена.
Двойной ЛКМ по по ссылке URL открывает её в браузере по умолчанию.
ПКМ по заголовку "Пароль" включает/отключает отображение пароля.
Фильтр "Скрыть игнорируемые" отключает отображение игнорируемых сайтов. Работает так же и для "Сохранения" и "Экспорта".
Т.е. для переноса паролей на другой компьютер или другого пользователя (например, при переустановке ОС) необходимо сделать следующее:
Под учетной записью, где используется браузер выбираем браузер с помощью соответствующей кнопки или вручную открываем Login Data с помощью кнопки "Открыть".
Сохранить файл с помощью "Сохранить".
Под учетной записью, куда необходимо экспортировать пароли открыть ранее сохраненный дамп.
С помощью "Экспорт" вручную выбрать файл Login Data в который необходимо поместить пароли.
"Сохранить" и "Экспорт в Chrome" занимает некоторое время (до нескольких секунд) и может показаться, что программа зависла. По завершению операции будет выдано сообщение об окончании. При экспорте в Login Data который уже содержит пароли добавятся только пароли для сайтов, для которых нет сохраненных паролей. Пароли для уже имеющихся сайтов будут проигнорированы. В базе может быть сохранен только один пароль для одного сайта.
Добавлена возможность работы с базой запущенного браузера.
Добавлен фильтр, позволяющий скрыть список сайтов, для которых пароли не сохраняются. Настройки фильтра действуют на Сохранение и Экспорт.
Добавлено шифрование паролей в сохраняемом дампе, что не позволяет посмотреть пароли в дампе открыв их в hex редакторе или менеджере БД. Предыдущие версии программы не совместимы с дампами текущей версии. Дампы предыдущих версий совместимы с данной версией программы.
По двойному ЛКМ по полю с URL ссылкой она будет открыта в браузере по умолчанию.
Мелкие исправления и фиксы.
Обновление 0.4+ beta (08.05.19)
Интерфейсные изменения:
Добавлена возможность растягивать окно по вертикали.
По умолчанию скрыто отображение паролей в окне. Для отображения паролей необходимо сделать ПКМ по надписи "Пароль". При этом возможность копирования пароля в буфер обмена по ЛКМ сохраняется.
Отключил функцию выделения ячеек. (Мне так больше нравится, если не нравится - пишите)
Исправлены мелкие баги.
Экспорт в некоторых браузерах может работать не корректно. 10.05 - исправлены проблемы аналогичные описанным тут Не совместим с Яндекс.Браузер новых версий (с конца 2018) из-за использования в них другого алгоритма шифрования пароля (в поле пароля будет что-то наподобие этого: {"c":"","e":"","p":"fSAnnLGtbqFqrf6e0us5vvb1ORS66Vs85c4b60S/IHjDRw==","t":[]}). В данный момент работающий метод дешифровки паролей для Яндекс.Браузер неизвестен. Попытка экспорта такого пароля приведет скорее всего к ошибкам в работе браузера. Кому интересно касательно способа шифрования паролей в новых версиях Яндекс.Браузер можно почитать тут. Теоретически программа работоспособна и с другими Хромоподобными браузерами (Если структура БД такая же). P.S. Для работы программы необходим .Net 4.0 или выше. Комментарии и пожелания приветствуются. Все действия с программой выполняются на свой страх и риск.
Последний раз редактировалось: Adler (2020-05-25 22:32), всего редактировалось 36 раз(а)
Adler, как и обещал проверил Оперу на другом компьютере. Сохранил пароль, открыл Login Data, файл открылся без проблем. Значит какая-то проблема у меня на домашнем компьютере (путь тот, который я прописал выше).
vovan1982, ну и отлично. Значит только путь в программе надо поменять. Проверь пожалуйста эту версию.
Исправил путь к Опере и к YandexBrowser (хоть и бессмысленно), добавил путь к CentBrowser. 14:02 - файл перезалит. Исправлена ошибка при попытке чтения базы.
Последний раз редактировалось: Adler (2019-05-06 14:05), всего редактировалось 3 раз(а)
Adler, Приветствую! Ничё не пойму, может я что-то не так делаю, но браузер закрыт (хром), запускаю прогу, жмякаю по кнопке гугл хром, выдаёт ошибку: P.S. WebBrowserPassView без проблем показывает и логин и пароль открывая всё тот же Login Data
sergeysvirid, упс. Это последний билд криво собрался, забыл в VS поменять "Any CPU" на "x86" из-за чего .dll не подхватывается. Сейчас пересоберу. P.S. Перезалил в предыдущем сообщении.
Adler, Тааак, интерееесно получается: Я конечно экспериментировал с бекапом/восстановлением данных браузера, но копию то ведь точно я создавал Да и как то, тому же WebBrowserPassView не мешает же такая мысль, что "Вероятно файл с паролем создан другим пользователем"
sergeysvirid, очень странно, т.к. это сообщение выводится при ошибке расшифровки. А что выдаст версия со вложения (вместо этого текста должен быть необработанный код ошибки)? А каким образом делался бэкап и восстановления? <удалил за ненадобностью>
Последний раз редактировалось: Adler (2019-05-06 15:38), всего редактировалось 2 раз(а)
Вообще не понимаю ничего Скорее всего в базе какие то ошибки, т.к. в ошибку валится на стандартной функции расшифровки первой же строки. А эта версия хоть какие то пароли покажет (в случае ошибки расшифровки поле останется пустым)? <удалил за ненадобностью>
Последний раз редактировалось: Adler (2019-05-06 16:00), всего редактировалось 1 раз
Если показывает и пароли, но возникают ошибки расшифровки, то значит, что в базе есть поля пароля с битыми или ложными данными (к примеру, зашифрованные ключем какой то другой учетной записи). Скорее это после бекаперов остается. Переделаю немного алгоритм на случай подобных ситуаций, что бы сразу в ошибку не падало. Версия во вложении должна показать сколько строк всего в базе и строки для каких сайтов и имен пользователей не получилось расшифровать пароль (в начале строки цифра указывает на номер строки в базе). Есть предположение, что и WebBrowserPassView для них пароль не покажет. <удалил за ненадобностью>
Последний раз редактировалось: Adler (2019-05-06 23:38), всего редактировалось 2 раз(а)
66743то значит, что в базе есть поля пароля с битыми или ложными данными (к примеру, зашифрованные ключем какой то другой учетной записи)
Да, есть пустые поля логина и пароля (5 шт), но то какие-то старые URL которые уже не актуальны и изменили адрес (например есть парочка из них на мой старый и очень старый адрес vtb-online кабинет )
sergeysvirid, а сборка из последнего вложения показала какие то поля, для которых не удалось пароли расшифровать? Пустые поля пароля в базе бывают еще когда указываешь, что для данного сайта не нужно запоминать пароль. Сайт записывается в эту же базу с пометкой в определенном поле. Но для них пустое поле тоже шифруется и ячейка в базе не пустая. И расшифровывается она так же в ничего. Это не будет вызывать ошибки при расшифровке. Если возникает ошибка, то значит поле содержит некоторые данные (больше 100 байт) которые не расшифровываются.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы