Вопрос

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

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

Это было полезно?

Решение

Большая часть кода, на который вы захотите посмотреть, находится в каталоге хромирования расширения, обычно в файле JAR. Все, что вам нужно, это экстрактор файла, который может извлечь файлы ZIP. После извлечения XPI (это просто zip -файл с расширением XPI), откройте подпапку Chrome и посмотрите, что там. Если это файл JAR, извлеките его содержимое (.JAR -файлы также являются просто ZIP -файлами с другим расширением). Оттуда, вероятно, есть папка содержимого, которая должна иметь большую часть XUL, CSS, JS и т. Д.

Другие советы

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

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

Ваше здоровье!

РЕДАКТИРОВАТЬ: Обратите внимание, что у вас могут быть проблемы с разрешением с 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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top