Est-il possible de décoder un addon Firefox de XPI à XUL?
-
26-10-2019 - |
Question
Est-il possible de décoder un addon firefox du format contraignant XPI à la langue maternelle XUL?
Je suis juste essayer d'apprendre comment faire un addon. Donc, je pense que si je peux décoder un addon Firefox Je peux alors apprendre l'architecture addon!
La solution
La plupart du code que vous voulez regarder est dans le répertoire chrome de l'extension, généralement dans un fichier jar. Tout ce que vous avez besoin est un extracteur de fichier qui peut extraire des fichiers zip. Une fois que vous extrayez le XPI (il est juste un fichier zip avec une extension XPI), ouvrez le sous-chrome et voir ce qui est là. Si c'est un fichier jar, extraire le contenu de (il .jar sont également à zip fichiers avec une extension différente). A partir de là, il y a probablement un dossier de contenu, ce qui devrait avoir la plupart des XUL, css, js, etc.
Autres conseils
XPI est mis simplement un fichier ZIP, vous pouvez simplement extraire son contenu et lire les fichiers ...
Juste appris il y a aussi XPI-Déballez et xpi-pack
correspondant dans Ubuntu (via sudo apt-get install mozilla-devscripts
); semble prendre le déballage des deux .xpi
et inclus les fichiers .jar
compte ..
Vive!
Edit: note cependant, vous pouvez avoir des problèmes d'autorisation avec xpi-unpack
; Voici un exemple de journal en ligne de commande que j'avais:
user@PC:Desktop$ xpi-unpack colt.xpi colt-dir
Unpacking colt.xpi
Unpacking ./chrome/colt.jar
Unpacked xpi file.
user@PC:Desktop$ ls -la colt-dir/chrome/colt.jar\!/
total 16
drwxr-xr-x 4 user user 4096 2011-07-05 09:52 .
drwxr-xr-x 3 user user 4096 2011-07-05 09:52 ..
d--------- 2 user user 4096 2010-09-12 05:15 content
d--------- 25 user user 4096 2011-01-08 17:08 locale
user@PC:Desktop$ stat -c '%n %a' colt-dir/chrome/colt.jar\!/
colt-dir/chrome/colt.jar!/ 755
user@PC:Desktop$ stat -c '%n %a' colt-dir/chrome/colt.jar\!/content/
colt-dir/chrome/colt.jar!/content/ 0
user@PC:Desktop$ sudo chmod -R 755 colt-dir/chrome/colt.jar\!/
user@PC:Desktop$ ls -la colt-dir/chrome/colt.jar\!/
total 16
drwxr-xr-x 4 user user 4096 2011-07-05 09:52 .
drwxr-xr-x 3 user user 4096 2011-07-05 09:52 ..
drwxr-xr-x 2 user user 4096 2010-09-12 05:15 content
drwxr-xr-x 25 user user 4096 2011-01-08 17:08 locale
EDIT2: En fait, tour à tour d'autres fichiers peuvent manquer d'autorisations trop:
user@PC:Desktop$ ls -la colt-dir/
total 28
drwxr-xr-x 4 user user 4096 2011-07-05 09:52 .
drwxr-xr-x 5 user user 4096 2011-07-05 10:04 ..
drwxr-xr-x 3 user user 4096 2011-07-05 10:04 chrome
---------- 1 user user 1337 2011-06-23 00:05 chrome.manifest
drwxr-xr-x 3 user user 4096 2011-07-05 09:52 defaults
---------- 1 user user 1969 2011-06-23 00:05 install.rdf
---------- 1 user user 1275 2010-09-12 05:04 LICENSE.txt
user@PC:Desktop$ stat -c '%n %a' colt-dir/install.rdf
colt-dir/install.rdf 0
... donc il vaut mieux chmod tout: sudo chmod -R 755 colt-dir/
avant d'essayer de faire des changements et de l'emballage (comme dans xpi-pack colt-dir colt-2.xpi
)