Могу ли я отключить проверку содержимого расширения Chrome?

15

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

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

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

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

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

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

Rudie
источник
Google не позволяет вам отключить его, поэтому похоже, что единственный вариант - использовать канадскую версию Google Chrome, которая предназначена для таких разработчиков, как вы.
Томер
Я не хочу разрабатывать на Chrome, но некоторые расширения. Я не использую Canary для дневного Chroming. Странно, это не может быть невозможным. Это новое. Почему-то не было проблемой в последние 4 года?
Руди
Это новая функция, которая должна предотвращать добавление собственного расширения в Chrome вредоносным программным обеспечением без ведома пользователя.
Томер
Вы можете попытаться заблокировать определенные URL-адреса, которые использует Chrome для получения расширений. (с использованием HTTPS-прокси)
Tomer
Добавление chrome.google.comк my hostsне делает этого = (Возможно, у них есть своя собственная система DNS или что-то в этом роде. Есть флаг, но «[..] нельзя использовать для его отключения (поскольку этот параметр может быть подделан вредоносным ПО)» Черт.
Руди

Ответы:

11

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

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

  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.

временное пребывание
источник
Это было упомянуто ранее. Это достойное решение, но я бы хотел получать обновления. Вместо этого я принял недостатки и чувствую себя большим об этом. Спасибо за шаги =)
Руди
1
Сложность в том, что вы хотите отредактировать расширение и получить обновления. Это взаимоисключающее. Если вы отредактируете расширение, после обновления вы потенциально потеряете все свои изменения, если будете помнить, что вы изменили. Это может быть сложно, если это будет через несколько месяцев. Отключение обновлений и ручное объединение изменений - единственный реальный способ справиться с этим.
Commorancy
Обновление - это просто слияние с моей взломанной версией. Слияния могут быть умными. Если нет, то это конфликт слияния, который я могу решить. Вместо этого я выбрал параноидальный подход и не использую расширение contrib, просто скопировал и взломал, как вы говорите. Очень поздний ответ, извините.
Руди
Это больше не работает. Если ваше расширение недоступно в магазине приложений, оно будет отключено и не может быть повторно включено без удаления и добавления его снова.
Wolfish
Привет Волк, это определенно не правда. Разработчики должны иметь возможность разрабатывать расширения локально в своей системе. По этой причине Chrome предлагает режим разработчика. На шаге 10 вы заметите, что вам нужно включить режим разработчика. Это ключ. Без включенного режима разработки вы не можете загружать внешние расширения. Разработчики не могут создавать расширения, будучи вынуждены загружать их в хранилище для тестирования, что также предоставляет публике незавершенный код (что еще более рискованно). Однако Chrome очень старательно просит вас отключать режим разработки при каждом перезапуске Chrome.
Празднование
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, чтобы блокировать только соответствующие запросы, но это было бы слишком глупо.

Томер
источник
1. похоже что-то делает =) но теперь я не могу скачать расширения, и он все еще заблокирован. Попытка № 2. Больше завтра.
Руди
Это все еще говорит, что это повреждено? попробуйте удалить _metadataпапку, в которой хранятся хэши от Google.
Томер
Это работает, но теперь я не могу загрузить другие расширения ... Почему бы не просто скачать с chrome.google.com, а проверить на другом домене? Всегда нужно делать это сложно. Я не думаю, что HTTPS-прокси возможен. У них, вероятно, есть подход MITM. (2), вероятно, лучшее решение, у меня уже есть несколько запущенных разработчиков. Хотя обновлений нет = (Спасибо!
Руди
Хорошо, но я не думаю, что они действительно могут что-то сделать с MITM, если вы скажете своему компьютеру доверять своему собственному центру сертификации. возможно попробуйте mitmproxy или что-то.
Томер