Можно ли декодировать аддон Firefox из XPI в XUL? - PullRequest
5 голосов
/ 28 апреля 2011

Можно ли декодировать аддон Firefox из формата привязки XPI на родной язык XUL?

Я просто пытаюсь узнать, как создать аддон.Итак, я думаю, что если я смогу декодировать аддон Firefox, тогда я смогу изучить архитектуру аддона!

Ответы [ 3 ]

7 голосов
/ 28 апреля 2011

XPI - это просто файл ZIP, так что вы можете просто извлечь его содержимое и прочитать файлы ...

3 голосов
/ 05 июля 2011

Только что узнал, что также есть xpi-unpack и соответствующий xpi-pack в Ubuntu (через sudo apt-get install mozilla-devscripts);похоже, что нужно принять во внимание распаковку как .xpi, так и включенных .jar файлов ..

Cheers!

Редактировать: заметьте, однако, у вас могут быть проблемы с разрешениями xpi-unpack;Вот пример журнала командной строки, который у меня был:

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: На самом деле оказывается, что другим файлам тоже не хватает разрешений:

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

... так что лучше всего chmod все:sudo chmod -R 755 colt-dir/ перед попыткой внести изменения и упаковать (как в xpi-pack colt-dir colt-2.xpi)

3 голосов
/ 07 мая 2011

Большая часть кода, который вы хотите просмотреть, находится в каталоге chrome расширения, обычно в jar-файле. Все, что вам нужно, это экстрактор файлов, который может извлекать ZIP-файлы. После извлечения xpi (это просто zip-файл с расширением xpi), откройте подпапку chrome и посмотрите, что там. Если это jar-файл, извлеките его содержимое (.jar-файлы - это также просто zip-файлы с другим расширением). Оттуда, вероятно, есть папка с содержимым, которая должна содержать большую часть xul, css, js и т. Д.

...