Puis-je désactiver la vérification du contenu de l'extension de Chrome?

15

Depuis peu de temps, les extensions Google Chrome sont «à contenu vérifié», ce qui signifie que d'autres applications ne peuvent pas les «pirater». C'est une bonne chose, mais incroyablement ennuyeux, car je les pirate tout le temps, pour les ajuster et les améliorer.

Presque immédiatement après l'enregistrement d'un fichier d'extension, l'extension est désactivée et un message s'affiche sur la page des extensions locales:

Cette extension est peut-être corrompue

Existe-t-il un moyen de désactiver cette fonctionnalité de «sécurité» et de continuer à pirater? J'aimerais être le patron de mon navigateur, et non l'inverse.

Il y a un drapeau chrome ( extension-content-verification), mais comme le dit la description:

Cela peut être utilisé pour activer cette fonctionnalité s'il n'aurait pas été activé autrement, mais ne peut pas être utilisé pour la désactiver (car ce paramètre peut être altéré par des logiciels malveillants).

Rudie
la source
Google ne vous laisse pas le désactiver, il semble donc que votre seule option soit d'utiliser l'édition canari de Google Chrome, qui est destinée aux développeurs comme vous.
Tomer
Je ne veux pas développer sur Chrome, mais quelques extensions. Je n'utilise pas Canary pour le chromage quotidien. Bizarre, ce n'est pas désactivable. C'est nouveau. D'une manière ou d'une autre, ce n'était pas un problème depuis 4 ans?
Rudie
Il s'agit d'une nouvelle fonctionnalité censée empêcher les logiciels malveillants d'ajouter sa propre extension dans Chrome sans que l'utilisateur ne le sache.
Tomer
Ce que vous pouvez essayer, c'est de bloquer certaines URL que Chrome utilise pour obtenir les problèmes des extensions. (en utilisant un proxy HTTPS)
Tomer
Ajouter chrome.google.comà mon hostsne le fait pas = (Ils ont probablement leur propre système DNS ou quelque chose. Il y a un indicateur, mais "[..] ne peut pas être utilisé pour le désactiver (car ce paramètre peut être altéré par des logiciels malveillants)" . Zut.
Rudie

Réponses:

11

Il existe une quatrième façon de gérer ce problème et d'éviter complètement le système de détection. Puisque vous mentionnez que vous souhaitez pirater vos extensions, cela implique que vous avez une certaine connaissance du développement d'extensions. Il faut également comprendre que les extensions sont, de par leur nature même, du code source. Cela signifie que vous avez toute la source avec laquelle jouer. Cela étant dit...

La quatrième méthode est relativement simple comme suit:

  1. Recherchez l'extension dans le dossier Extensions sous les données d'application de Chrome
  2. Copiez l'intégralité du dossier de cette extension et collez-le ailleurs
  3. Désactiver l'extension d'origine dans Chrome
  4. Renommez le dossier d'extension abcsoupname nouvellement copié en MyNewExtension
  5. Passez au dossier MyNewExtension
  6. Supprimer les _métadonnées
  7. Modifiez manifest.json et supprimez les sections key et update_url . Modifiez les sections name et short_name pour éviter toute confusion avec l'autre extension désactivée.
  8. Validez et corrigez votre manifest.json sur jsonlint.com
  9. Allez dans Paramètres => Extensions
  10. Activez le mode développeur puis «Charger l'extension non compressée» sur le nouveau dossier que vous venez de créer.
  11. Voila. Une nouvelle version de cette extension n'est pas sous contrôle de contenu.

Vous pouvez désormais modifier, manipuler et gérer cette extension à votre guise. Vous devrez cliquer sur Recharger dans la zone des extensions chaque fois que vous apportez une modification. De plus, vous ne recevrez pas de mises à jour du développeur d'origine. Ainsi, vous devrez mettre à jour périodiquement et trouver un moyen de fusionner les modifications mises à jour dans votre code d'extension distinct. Vous pourrez peut-être laisser intact le update_url , mais il effacera probablement toutes les modifications que vous apporterez lors de la prochaine mise à jour. C'est pourquoi je suggère de le supprimer. Mais n'hésitez pas à expérimenter.

En laissant l'extension d'origine désactivée, cela vous permettra de l'activer et de recevoir périodiquement des mises à jour pour la version de l'auteur. Vous pouvez ensuite comparer les différences entre votre version personnalisée et la version de l'auteur et fusionner les modifications nécessaires. Je recommande fortement cette approche de mise à jour à votre nouvelle extension personnalisée. Si vous choisissez de laisser le update_url actif, il effacera probablement vos modifications lors de la prochaine mise à jour (en supposant que cela fonctionne même correctement sur une extension modifiée). Étant donné que certaines extensions ne sont pas mises à jour très souvent, cela pourrait vous laisser brouiller pour déterminer ce que vous avez modifié des mois plus tard lorsque la prochaine mise à jour sera publiée.

Vous devrez également effectuer ces étapes sur n'importe quelle extension où vous souhaitez la modifier. En effet, vous créez une toute nouvelle extension en utilisant la base de code d'une extension existante, puis mettez cette extension en mode développeur.

Notez, n'utilisez pas TextEdit de Mac pour éditer les fichiers json ou il remplacera "par" ou "et échouera la vérification de la syntaxe json.

Commorancy
la source
Cela a déjà été mentionné. C'est une solution décente, mais j'aimerais obtenir des mises à jour. Au lieu de cela, j'ai accepté les défauts et je me sens bien à ce sujet. Merci pour les étapes =)
Rudie
1
La difficulté est que vous souhaitez modifier l'extension et avoir des mises à jour. C'est mutuellement exclusif. Si vous modifiez une extension, lors de la mise à jour, vous perdrez potentiellement toutes vos modifications en vous souvenant de ce que vous avez modifié. Cela peut être difficile si c'est des mois plus tard. La désactivation des mises à jour et la fusion manuelle des modifications est le seul moyen possible de gérer cela.
Commorancy
Une mise à jour est juste une fusion dans ma version piratée. Les fusions peuvent être intelligentes. Sinon, c'est un conflit de fusion que je peux résoudre. Au lieu de cela, j'ai choisi l'approche paranoïaque et n'utilise aucune extension contrib, juste copiée et piratée comme vous le dites. Réponse très tardive, désolée.
Rudie
Cela ne fonctionne plus. Si votre extension n'est pas disponible sur l'App Store, elle sera désactivée et ne pourra pas être réactivée sans la supprimer et l'ajouter à nouveau.
Wolfish
Salut Wolfish, ce n'est certainement pas vrai. Les développeurs doivent pouvoir développer des extensions localement sur leur système. C'est la raison pour laquelle Chrome propose un mode développeur. Vous remarquerez à l'étape 10 que vous devrez activer le mode développeur. Telle est la clé. Sans le mode dev activé, vous ne pouvez pas charger d'extensions externes. Les développeurs ne peuvent pas créer d'extensions en étant obligés de les télécharger sur le magasin pour les tests, ce qui expose également le code inachevé au public (encore plus risqué). Cependant, Chrome est très diligent en vous demandant de désactiver le mode dev à chaque redémarrage de Chrome.
Commorancy
6

Étant donné que Google ne vous permet pas de désactiver la fonctionnalité de vérification de contenu d'extension en aucune façon, vos solutions de contournement possibles sont essentiellement:

  1. Utilisez l'édition canarienne de Chrome, qui vous permet de modifier des extensions et d'ajouter vos propres extensions sans aucun avertissement
  2. Copiez le répertoire d'extension ailleurs, supprimez le _metadatadossier et chargez-le en mode développeur. L'inconvénient de cette solution de contournement est que chaque fois que vous ouvrez Chrome, vous verrez un message vous demandant de désactiver l'extension. (car il est en mode développeur)
  3. Empêchez Chrome d'obtenir les hachages de l'extension, afin qu'il ne puisse pas vérifier son contenu. L'inconvénient de cette solution de contournement est que vous ne pourrez peut-être pas télécharger \ mettre à jour d'autres extensions.

    Pour faire ça:

    1. Ajoutez la ligne 127.0.0.1 clients2.googleusercontent.comdans votre hostsfichier (généralement sous C:\Windows\System32\drivers\etc)
    2. Videz le cache DNS de Chrome ou attendez quelques minutes
    3. Fermez Chrome et apportez quelques modifications à l'extension
    4. Supprimez le _metadatadossier du répertoire de l'extension (qui stocke les hachages d'origine)
    5. Relancer Chrome

Vous pouvez également utiliser un serveur proxy HTTPS pour bloquer uniquement les requêtes pertinentes, mais ce serait trop piraté.

Tomer
la source
1. semble faire quelque chose =) mais maintenant je ne peux pas télécharger d'extensions, et il est toujours bloqué. Tentative n ° 2. Plus demain.
Rudie
Dit-il toujours qu'il est corrompu? essayez de supprimer le _metadatadossier qui stocke les hachages de Google.
Tomer
Cela fonctionne, mais maintenant je ne peux pas télécharger d'autres extensions ... Pourquoi ne le téléchargerait-il pas simplement chrome.google.com, mais vérifierait-il un domaine différent? Il faut toujours rendre cela difficile. Je ne pense pas qu'un proxy HTTPS soit possible. Ils ont probablement couvert l'approche MITM. (2) est probablement la meilleure solution, j'ai déjà quelques extensions en cours d'exécution. Aucune mise à jour cependant = (Merci!
Rudie
D'accord, mais je ne pense pas qu'ils puissent vraiment faire quoi que ce soit à propos de MITM si vous dites à votre ordinateur de faire confiance à votre propre autorité de certification. essayez peut-être mitmproxy ou quelque chose.
Tomer