Je ne sais pas dans quelles langues se trouvent ces extensions, je pense qu'elles sont écrites en Html, Javascript ou JSON. Autant que je sache, ils sont "compressés" dans un fichier .CRX.
Est-il possible de modifier directement les html, js, json d'une extension Chrome (ou quelle que soit la langue utilisée)?
google-chrome
Alexchenco
la source
la source
Réponses:
Je l'ai recherché dans Google et j'ai trouvé ceci:
la source
crx
àzip
et cliquer dessus ne fonctionnera pas. launzip
commande fonctionnera même sur l'crx
extension.Les répertoires d'extensions Chrome installés sont répertoriés ci-dessous:
Copiez le dossier de l'extension que vous souhaitez modifier. (Nommé en fonction de l'ID d'extension, pour trouver l'ID de l'extension, accédez à
chrome://extensions/
). Une fois copié, vous devez supprimer le dossier _metadata.A partir de
chrome://extensions
en mode développeur , sélectionnez Charger l' extension non empaquetée ... et sélectionnez votre dossier d'extension copié, si elle contient un sous ce nom est par la version, sélectionnez ce dossier version où il y a un fichier manifeste, ce fichier est nécessaire pour Chrome.Apportez vos modifications, puis sélectionnez recharger et actualisez la page de votre extension pour voir vos modifications.
Répertoires d'extension Chrome
Mac:
Windows 7:
Windows XP:
Ubuntu 14.04:
la source
\Default
répertoire dans le chemin de l'emplacement de l'extension pointe vers le profil pour lequel l'extension est installée. Si vous utilisez plusieurs profils dans Chrome,\Default
le profil par défaut\Profile1
est le premier profil supplémentaire créé.null
pour le nom d'utilisateur donc le chemin copié ne fonctionne pas - je suis sous OS X - bonne idée cependant, il faut juste un peu travail. Oh et aussi, la barre oblique entre les extensions et l'ID d'extension est manquante.Un fichier CRX signé a un en-tête qui entraînera la plupart / tous les décompresseurs à barf. Ce n'est pas la manière la plus simple de s'y prendre, mais voici comment le faire à partir d'une ligne de commande bash.
L'idée de base est de trouver où commence le fichier zip original non signé, puis de copier le fichier CRX dans un fichier zip mais d'exclure l'en-tête CRX.
hexdump -C the_extension.crx | more
dd if=the_extension.crx of=the_extension.zip bs=1 skip=0x132
(Pour le paramètre de saut, remplacez le décalage que vous avez trouvé à l'étape précédente.)Je suis sûr qu'il existe une manière plus concise de procéder. Experts Bash, veuillez améliorer ma réponse.
la source
0x132
unzip
. Il s'est plaint des 306 octets supplémentaires de l'en-tête, mais l'a fait quand même.unzip
fonctionne parfaitement:warning [YouTubeCenter.crx]: 304 extra bytes at beginning or within zipfile (attempting to process anyway)
00000230 63 d5 11 76 bf 9f 50 4b 03 04 14 00 08 08 08 00 |c..v..PK........|
webext="Downloads/Extension_v0.1.crx" dd if="$webext" of="${webext%.crx}.zip" bs=1 skip=$(hexdump "$webext" | awk '/50 4b/{a=$1; for(i=2;i<=NF;i++){if($i=="50" && $(i+1)=="4b"){print "0x"substr(a,0,6)i-2;exit}}}')
Notez que certains programmes zip ont du mal à décompresser un CRX comme sathish décrit - si tel est le cas, essayez d'utiliser 7-Zip - http://www.7-zip.org/
la source
J'ai lu les autres réponses et j'ai trouvé important de noter quelques autres choses:
1.) Pour les utilisateurs de Mac: lorsque vous cliquez sur "Charger l'extension décompressée ...", le dossier Bibliothèque est masqué par défaut et (même si l'option Afficher les fichiers cachés est activée sur votre Mac), il peut ne pas apparaître dans la fenêtre de recherche de Chrome .
2.) Le sous-dossier contenant l'extension est une chaîne alphanumérique aléatoire nommée d'après l'ID de l'extension, qui peut être trouvée sur la page d'extension de Chrome si l'indicateur de développeur est défini sur true. (Case à cocher en haut à droite sur la page des extensions)
la source
(Déjà dit) J'ai découvert cela en créant des thèmes Chrome (qui ont disparu depuis longtemps ... :-P)
Les thèmes, extensions, etc. Chrome ne sont que des fichiers compressés. Obtenez 7-zip ou WinRar pour le décompresser. Chaque extension / thème a un fichier manifest.json. Ouvrez le fichier manifest.json dans le bloc-notes. Ensuite, si vous connaissez le codage, modifiez le code. Il y aura d'autres fichiers. Si vous regardez dans le fichier manifeste, vous pourrez peut-être comprendre à quoi servent. Ensuite, vous pouvez tout changer ...
la source
Les fichiers .CRX sont comme des fichiers .ZIP, il suffit de changer l'extension et de faire un clic droit> Extraire les fichiers et vous avez terminé.
Une fois que vous avez extrait les fichiers -> modifiez-les et ajoutez-les au zip et changez l'extension en .crx.
Autre moyen -> Ouvrir Chrome -> Paramètres -> Extensions -> Activer les options du développeur -> Charger l'extension décompressée (dossier des fichiers extraits modifiés), puis cliquez sur l'extension du pack.
La source
la source
Maintenant, Chrome est multi-utilisateur et
Extensions
devrait donc être imbriqué sous le profil utilisateur du système d'exploitation, puis le profil utilisateur Chrome, mon premier utilisateur Chrome a été appeléProfile 1
, monExtensions
chemin étaitC:\Users\
username
\AppData\Local\Google\Chrome\User Data\
Profile 1
\Extensions\
.Pour trouver le vôtre Accédez à
chrome://version/
(j'utiliseabout:
par paresse).Notez le
Profile Path
et ajoutez simplement le\Extensions\
vôtre.J'espère que cela met à jour cette information sur cette question.
la source
Il est possible de modifier le code de l'extension .CRX, car il s'agit d'une simple archive .zip. Vous pouvez télécharger l'extension, extraire son code source, le modifier (le tester et le déboguer car il est de votre côté) et le remettre dans un fichier .CRX.
J'ai cherché cet outil sur Google pour télécharger simplement l'extension .CRX et extraire le code source et cela a fonctionné pour moi: http://crxextractor.com
Tout ce qu'il fait, c'est analyser le format de fichier .CRX et extraire le fichier .zip réel contenant le code source.
la source
Si vous avez installé la version portable de Chrome ou si vous l'avez installée dans un répertoire personnalisé, les extensions ne seront pas disponibles dans le répertoire référencé dans les réponses ci-dessus.
Essayez de faire un clic droit sur le raccourci de Chrome et vérifiez le répertoire "Cible". À partir de là, accédez à un répertoire ci-dessus et vous devriez pouvoir voir le
User Data
dossier, puis utiliser les réponses mentionnées ci-dessusla source