14

Вскоре расширения Google Chrome «проверяются», что означает, что другие приложения не могут их «взломать». Вроде хорошо, но невероятно раздражает, потому что я все время их взламываю, чтобы подправить и улучшить.

Почти сразу после сохранения файла расширения расширение отключается, и на странице локальных расширений появляется сообщение:

Возможно, это расширение повреждено

Есть ли способ, которым я могу отключить эту функцию «безопасности» и продолжать взламывать? Я хотел бы быть боссом моего браузера, а не наоборот.

Есть флаг chrome (extension-content-verification), но, как сказано в описании:

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

2 ответа2

9

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

Четвертый метод относительно прост:

  1. Найдите расширение в папке «Расширения» в разделе «Данные приложения Chrome».
  2. Скопируйте всю папку этого расширения и вставьте ее в другое место.
  3. Отключить оригинальное расширение в Chrome
  4. Переименуйте вновь скопированную папку расширения abcsoupname в MyNewExtension
  5. Перейдите в папку MyNewExtension
  6. Удалить _metadata
  7. Отредактируйте файл manifest.json и удалите разделы key и update_url . Измените разделы name и short_name, чтобы избежать путаницы с другим отключенным расширением.
  8. Проверьте и исправьте ваш manifest.json на сайте jsonlint.com.
  9. Зайдите в Настройки => Расширения
  10. Включите режим разработчика, а затем «Загрузить распакованное расширение» в новой папке, которую вы только что создали.
  11. Вуаля. Новая версия этого расширения не находится под контролем контента.

Теперь вы можете редактировать, управлять и управлять этим расширением по своему желанию. Вам нужно будет нажимать «Обновить» в области расширений каждый раз, когда вы вносите изменения. Кроме того, вы не будете получать обновления от первоначального разработчика. Таким образом, вам нужно будет периодически обновляться и найти способ объединить обновленные изменения в ваш отдельный код расширения. Возможно, вы сможете оставить update_url без изменений, но он, скорее всего, уничтожит все изменения, внесенные вами при следующем обновлении. Вот почему я предлагаю удалить его. Хотя, не стесняйтесь экспериментировать.

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

Вам также нужно будет выполнить эти шаги для любого расширения, где вы хотите изменить его. По сути, вы создаете новое расширение, используя базу кода существующего расширения, а затем переводите это расширение в режим разработчика.

Обратите внимание: не используйте TextEdit для Mac для редактирования файлов json, иначе он заменит «на« или »и не пройдет проверку синтаксиса json.

6

Поскольку Google никоим образом не позволяет отключить функцию проверки содержания расширения, ваши возможные обходные пути:

  1. Используйте стандартную версию Chrome, которая позволяет редактировать расширения и добавлять свои собственные расширения без каких-либо предупреждений.
  2. Скопируйте каталог расширения в другое место, удалите папку _metadata и загрузите ее в режиме разработчика. Недостаток этого обходного пути заключается в том, что каждый раз, когда вы открываете Chrome, вы увидите сообщение с просьбой отключить расширение. (потому что это в режиме разработчика)
  3. Запретите Chrome получать хеши расширения, чтобы он не мог проверить его содержимое. Недостаток этого обходного пути заключается в том, что вы не сможете загружать \ обновлять другие расширения.

    Сделать это:

    1. Добавьте строку 127.0.0.1 clients2.googleusercontent.com в файл hosts (обычно это C:\Windows\System32\drivers\etc)
    2. Очистите кеш DNS от chrome или подождите несколько минут
    3. Закройте Chrome и внесите некоторые изменения в расширение
    4. Удалите папку _metadata из каталога расширения (в котором хранятся исходные хэши)
    5. Перезапустить Chrome

Вы также можете использовать прокси-сервер HTTPS, чтобы блокировать только соответствующие запросы, но это было бы слишком глупо.

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