是否可以将Firefox插件从XPI解码为XUL?

是否可以将Firefox插件从XPI解码为XUL?,firefox,firefox-addon,xul,decompiling,xpi,Firefox,Firefox Addon,Xul,Decompiling,Xpi,是否可以将firefox插件从XPI绑定格式解码为本机语言XUL 我只是想学习如何制作插件。所以,我想如果我能解码Firefox插件,那么我就可以学习插件架构了 XPI是一个简单的ZIP文件,因此您可以提取它的内容并读取文件…您要查看的大部分代码都在扩展的chrome目录中,通常在jar文件中。您所需要的只是一个文件提取器,它可以提取zip文件。解压缩xpi后(它只是一个带有xpi扩展名的zip文件),打开chrome子文件夹,看看里面有什么。如果是jar文件,则提取其内容(.jar文件也只是具

是否可以将firefox插件从XPI绑定格式解码为本机语言XUL


我只是想学习如何制作插件。所以,我想如果我能解码Firefox插件,那么我就可以学习插件架构了

XPI是一个简单的ZIP文件,因此您可以提取它的内容并读取文件…

您要查看的大部分代码都在扩展的chrome目录中,通常在jar文件中。您所需要的只是一个文件提取器,它可以提取zip文件。解压缩xpi后(它只是一个带有xpi扩展名的zip文件),打开chrome子文件夹,看看里面有什么。如果是jar文件,则提取其内容(.jar文件也只是具有不同扩展名的zip文件)。从那里,可能有一个内容文件夹,其中应该有大部分xul、css、js等。

刚刚了解到Ubuntu中也有相应的
xpi包(通过
sudo apt get install mozilla devscripts
);似乎考虑了
.xpi
和包含的
.jar
文件的解包

干杯

编辑:注意,但是,
xpi解包
可能存在权限问题;下面是我的一个命令行日志示例:

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

您可以寻找一个源代码随时可用的插件。或者阅读。啊,我的坏;jar文件也只是zip文件。只需将其重命名为.zip并使用解压应用程序。为什么不直接使用归档管理器呢?它显示扩展的内容。