Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Version.dll / Chrome++ для Chrome и иных Chromium браузеров

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Открыть новую тему     Написать ответ в эту тему

insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chrome++ DLL для портаблезации Chrome и иных Chromium-based браузеров.

Chrome-браузеры в файле "Secure Preferences" сохраняют хеш на основе конкретного пользователя конкретной установленной ОС. При запуске в другом пользователе или ОС браузер обнаруживает несоответствие старого хеша и затирает "Secure Preferences" целиком! Соответственно, теряются все установленные расширения и часть настроек, потому что именно от него они зависят. Так же могут затираться куки и сохранённые данные логинов+паролей. Именно Version.DLL не даёт браузеру потерять настройки с расширениями.
Помимо этого при использовании Version.dll отпадает необходимость указывать --user-data-dir=<путь>, по умолчанию она будет в ..\Data и ..\Cache (уровнем выше от chrome.exe). Эти пути можно менять на свои в ini файле. Так браузер можно запускать прямо по ехе, без дополнительных лаунчеров или батников.
 
Работоспособность проверена на: Brave, CentBrowser, Chromium (dev), GDIChromium, Google Chrome, Iron, Supermium, Ungoogled Chromium, Vivaldi и других.
* Существуют несколько "особенных", где version.dll затруднено либо бесполезно: MS Edge, QQ, 360EE.
 
Актуальные (Cr118+): Версия Описание Обновления Страница загрузки Прямые ссылки **    
Chrome++ от Bush2021 (release) Почитать История Скачать x86, x64, chrome++.ini    
Version.dll от nekto78 (release) Почитать История Скачать x86, x64, version.ini    
Vivaldi++ от ca-x (czyt) (release) Почитать История Скачать x86, x64    
Vivaldi++ от ca-x (czyt) (nightly) Почитать История Скачать x86, x64      
Chrome++ от jestxfot (release) Почитать История Скачать x86, x64

** Прямые ссылки - только для опытных пользователей. Если вы не знаете, какой файл нужен, читайте инструкцию и скачивайте релиз со страницы загрузки!
 
Архив версий (перезаливы)
 
Инструкция:
1. Положить version.dll возле chrome.exe / brave.exe / vivaldi.exe / <...>
2. Запустить браузер по exe
Готово! Пользоваться и радоваться результату.
По вкусу можно поковырять ini.
F.A.Q. по ini-файлам
 
Внимание!
• Для 32-битной версии использовать 32-битную version.dll, а для х64 - соответственно х64. Не путать!
Имя файла должно быть именно "version.dll"! Не "version.32.dll". Не "version.64.dll". Не "chrome++.dll". Не какое-то ещё. Только "version.dll"!
• Если хочется оставить старый настроенный профиль, не забывайте сначала сделать его бэкап! Затем при первом запуске нужно будет установить расширения заново. Не забывайте предварительно позаботиться о сохранении паролей/куков, если нужны.

Всего записей: 20038 | Зарегистр. 04-11-2010 | Отправлено: 02:18 02-01-2023 | Исправлено: insorg, 22:21 09-06-2025
El Sanchez



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Значит всё же хромой в очередной раз затягивает гайки.

nekto78, при RMDISK=1 вы перехватываете GetFinalPathNameByHandleW, в теле которой творится дичь. Покажите конкретное место в исходниках, для которого этот перехват нужен.

Всего записей: 519 | Зарегистр. 23-12-2008 | Отправлено: 19:39 14-10-2025
nekto78



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
El Sanchez
 

Цитата:
nekto78, при RMDISK=1 вы перехватываете GetFinalPathNameByHandleW, в теле которой творится дичь. Покажите конкретное место в исходниках, для которого этот перехват нужен.
 

Когда-то уже писал что при установке расширений хромой проверяет путь к папке Temp особым образом и если эта папка расположена на RAM диске используемая там функция GetFinalPathNameByHandle всегда завершается с ошибкой, а браузер сообщает "COULD_NOT_GET_TEMP_DIRECTORY". В исходниках самого хрома (версии примерно 109) был предложен альтернативный вариан без использования GetFinalPathNameByHandle и ссылка на него. Собственно код по ссылке и был реализован и до сего момента исправно работал и работает за исключением "суперактуальных" версий.
 
В исходниках не помню точно какой версии файл file_util_win в реализации функции NormalizeToNativeFilePath в строке 426 комментарий и прямая ссылка
 
// In Vista, GetFinalPathNameByHandle() would give us the real path
// from a file handle.  If we ever deprecate XP, consider changing the
// code below to a call to GetFinalPathNameByHandle().  The method this
// function uses is explained in the following msdn article:
// http://msdn.microsoft.com/en-us/library/aa366789(VS.85).aspx
 
Функция NormalizeToNativeFilePath вызывается функцией NormalizeFilePath, а функция NormalizeFilePath функциями VerifyJunctionFreeLocation, SandboxedUnpacker из файла sandboxed_unpacker.
 
В двиге 109 версии если смотреть под отладчиком реализация более и менее совпадает с означенными исходниками.

Всего записей: 676 | Зарегистр. 10-02-2006 | Отправлено: 22:11 14-10-2025 | Исправлено: nekto78, 11:54 15-10-2025
El Sanchez



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
при установке расширений хромой проверяет путь к папке Temp особым образом и если эта папка расположена на RAM диске используемая там функция GetFinalPathNameByHandle всегда завершается с ошибкой, а браузер сообщает "COULD_NOT_GET_TEMP_DIRECTORY"

nekto78, это так, я проверил для ImDisk, GetFinalPathNameByHandle завершается с ошибкой ERROR_INVALID_FUNCTION.

Цитата:
В исходниках самого хрома (версии примерно 109) был предложен альтернативный вариан без использования GetFinalPathNameByHandle и ссылка на него.

nekto78, с 77.0.3818.0 внедрили, стало быть код, который вы взяли, следует смотреть в предыдущем билде, а это в 77.0.3817.2. Только вот код в NormalizeToNativeFilePath полностью не покрывает функционал реальной GetFinalPathNameByHandle, точнее NormalizeToNativeFilePath ну никак не аналог GetFinalPathNameByHandle. Ваша реализация не проверяет аргументы, буфер ваш внутренний ограничен MAX_PATH, пофиг, что вызывающий запросит DOS-нотацию, где максимум 32767 символа, пофиг, что результатом функции всегда будет длина внутреннего буфера, для вызывающего это будет сюрпризом, когда он мусор будет считывать при реальной длине меньше MAX_PATH.
 
 

Всего записей: 519 | Зарегистр. 23-12-2008 | Отправлено: 13:02 15-10-2025
nekto78



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
El Sanchez

Цитата:
что результатом функции всегда будет длина внутреннего буфера, для вызывающего это будет сюрпризом, когда он мусор будет считывать при реальной длине меньше MAX_PATH.

Нет, это не так не совсем так. Смотрел под отладчиком, результат функции (в указателе) всегда только реальный путь без лишнего мусора (компилятор в delphi умеет работать с указателями такого типа и обо всём позаботился). А вот с  возвращаемым значением количества символов в пути да - сильная несостыковка, надо исправлять. По поводу проверки аргументов - смотрел и менял их в оригинальной функции под отладчиком и смотрел что будет, так вот хромой при установке расширений всегда вызывает эту функцию с одним и тем же значением аргументов: FILE_NAME_NORMALIZED и VOLUME_NAME_NT (в диапазоне версий 109 - 135 это точно), под них и реализована модифицированная функция без дополнительной проверки.
 
deb7

Цитата:
Если есть время, надеюсь вы сможете решить все эти проблемы

 
El Sanchez
Благодарю за замечания. Внёс некоторые исправления в код функции без полного, но, на мой взгляд, достаточного соответствия. Бинарники перекомпилил и обновил. Так что можно тестировать.

Всего записей: 676 | Зарегистр. 10-02-2006 | Отправлено: 17:00 15-10-2025 | Исправлено: nekto78, 00:27 16-10-2025
deb7

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nekto78
Если есть время, надеюсь вы сможете решить все эти проблемы.(извиняюсь опечатка)
 
 

Всего записей: 8 | Зарегистр. 20-03-2015 | Отправлено: 22:05 15-10-2025 | Исправлено: deb7, 22:16 15-10-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Программы » Version.dll / Chrome++ для Chrome и иных Chromium браузеров


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru