1

Этот вопрос задавался миллион раз в Интернете (пример), но я не нашел решений, которые действительно работают, поэтому я задаю его еще раз. Пожалуйста, прочитайте весь вопрос перед публикацией.

Вопрос довольно простой. Я установил вторую копию Windows на том же компьютере (та же ОС - Windows 8.1 - с тем же ключом продукта и все), и я пытаюсь перенести все на него.
Однако, когда я пытаюсь заставить новую установку Chrome использовать мой старый профиль, он стирает некоторые данные (например, все мои расширения), утверждая , что они повреждены, и в то же время сохраняет другие (например, закладки).
Излишне говорить, что профиль на самом деле не поврежден; он отлично работает в моей старой установке Windows. И да, я использую ту же версию Chrome (версия 47 x64) и все.

Что касается жизни, я не могу понять, как и почему это происходит. Я даже посмотрел на исходный код Chromium и даже не могу понять, где Chrome принимает решение сбросить профиль и на чем основывает это решение. Я пытался использовать Process Monitor, чтобы выяснить, как он обнаруживает, что происходит, и я ничего не нашел.

Может кто-нибудь объяснить мне, что происходит и как я могу продолжать использовать свой старый профиль как есть, без изменений в моей новой установке Windows?

Примечание: из-за крайне низкого количества информации по этой проблеме и большого количества неработающих "решений" на этом сайте и в других местах в Интернете, пожалуйста, не делайте случайных предположений. Размещайте ответ только в том случае, если вы воспроизвели проблему и можете воспроизвести ее рабочее решение или, если вы хотите, указать точную строку, вызывающую это, в исходном коде Chromium. Благодарю.

2 ответа2

2

Частичный ответ от себя:

Похоже, что это связано с функцией "Безопасные настройки", и профиль зашифрован на основе SID компьютера в Windows. Мне удалось изменить SID моего компьютера на старый, и теперь мой профиль загружается, а мои расширения не удаляются. Тем не менее, мои куки по-прежнему не работают, поэтому, если кто-то знает, почему, пожалуйста, объясните.

Соответствующие биты кода находятся в pref_hash_store_impl.cc на момент написания этой статьи (GenerateDeviceId , который вызывает GetDeterministicMachineSpecificId , который вызывает LookupAccountNameW).

0

Не полная миграция, но информация о шифровании и миграции набора ключей.

Несколько файлов профиля Google Chrome зашифрованы с помощью DPAPI. Ключи, используемые для шифрования данных, хранятся в «профиле пользователя в RootDirectory \Documents and Settings \<имя пользователя> \Application Data \Microsoft \Protect» - https://technet.microsoft.com/en-us/library/cc962112.aspx ; и дополнительно шифруется комбинацией SID пользователя и хэша его пароля.

Существует несколько решений для дешифрования данных: https://www.nirsoft.net/utils/chrome_cookies_view.html и https://www.nirsoft.net/utils/dpapi_data_decryptor.html (в котором приведены дополнительные сведения о режиме шифрования и файле ключа. используемый). Декриптор DPAPI также может работать в автономном режиме (чтение файлов с жесткого диска другой установки Windows). Но они оба не могут перешифровать данные с помощью новых ключей или импортировать данные в новый профиль.

Есть также некоторые идеи для переноса всех пользовательских ключей в другую установку Windows (для поиска таких инструкций поищите в Интернете с помощью «dpapimig.exe»):

Таким образом, метод миграции (импорт ключей DPAPI) может работать для вас. В полном решении миграции пользовательские ключи DPAPI должны быть расшифрованы с помощью старых ключей установки Windows /sids, а затем повторно зашифрованы с помощью sids / мастер-ключей установки новой версии Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .