hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
阅读:6346回复:20

如何修改扩展xpi文件

楼主#
更多 发布于:2017-01-03 14:07
手动修改link alart,但是改好后压成zip,再改成xpi,安装显示错误。谁能帮我改一下扩展,将txt改名为jar,替换原扩展里chrome下的同名文件。我再想办法签名。




linkalert.txtlink_alert-1.0.6-fx - 副本.xpi
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-22
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1115点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2017-01-03 16:03
怎么能这么改呢。jar本质是一个zip格式压缩包,里面还有实际运行的代码等文件。按照扩展本来的结构弄好以后,先压缩成zip格式,然后改名为jar格式。最上层也是按照原来结构弄好,打包成zip格式,再改成xpi格式。
Firefox More than meets your experience
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
2楼#
发布于:2017-01-03 17:19
我就是这么做的。
linkalart.jar是我自己修改好的,上传时由于论坛限制改成了TXT。
把linkalart.jar直接放到我目前ff的配置里是直接可以起作用的。但一段时间后,ff会自检出扩展的安全问题,强制禁用。
所以我才想做到扩展里,然后签名。
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
3楼#
发布于:2017-01-03 17:22
再传一份zip的。哪位可以下载后改成jar,替换扩展里的同名文件。


linkalert.zip
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
4楼#
发布于:2017-01-04 11:50
难道要装java sdk
skytalk
热心会员
热心会员
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2023-07-07
  • 发帖数652
  • 经验1061枚
  • 威望3点
  • 贡献值1292点
  • 好评度154点
  • 社区居民
  • 忠实会员
5楼#
发布于:2017-01-04 13:54
hill:我就是这么做的。
linkalart.jar是我自己修改好的,上传时由于论坛限制改成了TXT。
把linkalart.jar直接放到我目前ff的配置里是直接可以起作用的。但一段时间后,ff会自检出扩展的安全问题,强制禁用。
所以我才想做到扩...
回到原帖
看了下,这个扩展虽然是将xpi解压到linkalert.conlan@addons.mozilla.com路径内,但如果修改该路径内的任何文件,都会导致该路径内的签名文件失效。firefox v48之后的版本自动禁止为签名扩展,可以用下面的方法绕过强制签名。
// Create a file first, you can do it with a text document editor.
// Paste the following code (10-15 lines) into the document.
// Save the document afterwards.
// Right-click on it, and rename to config.js, make sure it is called config.js, not config.js.txt.
// Move the config.js file in the Firefox installation folder.
// On Windows, this is C:\Program Files\Mozilla Firefox\ or C:\Program Files (x86)\Mozilla Firefox\.
// On OS/X, it is /Applications/Firefox.app/.
// On Linux, it is /usr/lib/firefox-<version>/ or /usr/lib64/firefox-<version>/.

//
try {
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
.eval("SIGNED_TYPES.clear()");
}
catch(ex) {}

// Create a second text document and open it afterwards in a text editor.
// Paste the following code (6 and 7 lines) into it.
// Rename the file to config-prefs.js.
// Move the file into the name is "pref" in "defaults" folder of the Firefox program folder.

pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
6楼#
发布于:2017-01-04 14:24
多谢,但我有两个问题。
1. 正如楼上所说,直接在ff配置文件夹里修改扩展,虽然当时可以生效,但是一段时间后就会提示签名无效。所以我想自己申请签名。但是我不知道为什么打包不了xpi。总是显示损坏,所以更没法弄签名。能不能帮我打包一个xpi,我去弄签名。
2. 楼上提供的方法没听说过,50.x以后的版本都可以用吗?
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2023-11-13
  • 发帖数2039
  • 经验655枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
7楼#
发布于:2017-01-04 19:57
你用的解压软件太垃圾的缘故吧,总之7z是可以完美支持xpi和jar格式资源替换的
在7z GUI里打开到相应文件路径,把要替换的文件拖拽出来改完了再直接拖拽回去更新压缩文件就搞定了

签名是另外的问题,楼上有解决方案
-いたんですか? -ええ、ずっと
skytalk
热心会员
热心会员
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2023-07-07
  • 发帖数652
  • 经验1061枚
  • 威望3点
  • 贡献值1292点
  • 好评度154点
  • 社区居民
  • 忠实会员
8楼#
发布于:2017-01-04 22:29
hill:多谢,但我有两个问题。
1. 正如楼上所说,直接在ff配置文件夹里修改扩展,虽然当时可以生效,但是一段时间后就会提示签名无效。所以我想自己申请签名。但是我不知道为什么打包不了xpi。总是显示损坏,所以更没法弄签名。能不能帮我打包一个xpi...
回到原帖
关于签名,你可以看着两个帖子。
https://www.firefox.net.cn/read-50839
https://www.firefox.net.cn/read-53524
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
9楼#
发布于:2017-01-04 23:04
签名好说,关键是打包不了xpi。先用的winrar,后来用tc自带的7z插件,今天上午专门装了7z。三种方法都是过来,装的时候都说损坏。
skytalk
热心会员
热心会员
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2023-07-07
  • 发帖数652
  • 经验1061枚
  • 威望3点
  • 贡献值1292点
  • 好评度154点
  • 社区居民
  • 忠实会员
10楼#
发布于:2017-01-04 23:38
hill:签名好说,关键是打包不了xpi。先用的winrar,后来用tc自带的7z插件,今天上午专门装了7z。三种方法都是过来,装的时候都说损坏。回到原帖
刚刚测试了下,3楼的zip文件没问题,从amo下载link alert,删除chrome/linkalert.jar,3楼的zip,重命名jar。
补充一句,winrar或7z封装zip,压缩等级选正常压缩,就是normal

图片:2017-01-04_112301.png

图片:2017-01-04_112344.png

aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
11楼#
发布于:2017-01-05 00:08
修改已正确签名的扩展时
请记得先删掉 META-INF 目录
你大概没这么做吧


link alert 目录结构太过时了
外加 unpack 属性为 true 导致 xpi 安装后被解压缩
已作修改


diff 了你修改的 jar
只是改动了几张图片?
这种情况不需要改动原扩展
新建扩展直接 override 相关路径即可
然后去签名这个新扩展或者直接滥用系统扩展大法免签都可
参考附件的 linkalert.icons@hill.xpi
附件名称/大小 下载次数 最后更新
linkalert.xpi (153KB)  4 2017-01-05 00:07
linkalert.icons@hill.xpi (41KB)  6 2017-01-05 00:08
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
12楼#
发布于:2017-01-05 00:20
对了
原版图标中的 jsp-icon.png 其实指的是 javascript: 协议
并不是 JavaServer Pages 的 jsp
见 chrome/content/overlay.js

不要用那个巨大的 java 图标
你自己改吧
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
13楼#
发布于:2017-01-05 01:53
非常非常感谢各位。这个扩张确实有些原始,如果用stylish几行就能实现。我是看中他的规则写的相对准确一些,我是完全不会。然而他的图片太辣眼,我修改扩展的目的也是为了替换10组icon。javascript图标只是因为我喜欢咖啡杯,觉得特别有特色。大小懒得调成32和16的了,因为指示的时候是可以自动缩小的。

ff的签名验证机制真是佩服。我当时直接改linkalert.conlan@addons.mozilla.com路径内的icon,当时可以生效,但是一天后会提示签名失效。这种验证方式真厉害。

ls给linkalert配个扩展的方法确实厉害。免签名的方法就是5楼兄弟说的方法吗?

另外总结各位所说我之所以没打包成xpi,原因是因为没有删除META-INF 目录吗?
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
14楼#
发布于:2017-01-05 02:45
已将aaaa007cn的版本签名,非常的好用。想请教一下jar文件实际上是没有用处的是吗?
因为我看到你修改的扩展直接去除了打包jar的环节。去除jar打包是对哪个文件进行修改了呢?我想知道一下,这样以后扩展升级了,我就知道怎么改了。

而你做的linkalert.icons@hill.xpi直接可以调用jar里的文件。
上一页
游客

返回顶部