hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
阅读:6389回复: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-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2017-01-06 13:30
skytalk:007已经把该做的都做完了, 而且unpack已被禁用, 如果作者升级, 扩展文件结构没变化的话, 直接解压linkalert.jar出来放到与defaults同级路径, 用007的xpi中的chrome.manifest, install...回到原帖
有时候会有此现象,pw程序太烂不打算修复了
Firefox More than meets your experience
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
2楼#
发布于:2017-01-06 13:24
aaaa007cn:META-INF 里面保存了签名的校验数据
修改已签名扩展时如果没删掉 META-INF 就直接打包 xpi 的话
会因为校验错误导致 firefox 提示扩展损坏
这和扩展未签名的提示不同
你试一下就知道了

因为 unpac...
回到原帖
真是够详细的。棒!

java图标没有遮住影响我使用的选项,所以懒得弄了。

滥用系统扩展大法,厉害,头次听说。
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
3楼#
发布于:2017-01-06 00:49
META-INF 里面保存了签名的校验数据
修改已签名扩展时如果没删掉 META-INF 就直接打包 xpi 的话
会因为校验错误导致 firefox 提示扩展损坏
这和扩展未签名的提示不同
你试一下就知道了

因为 unpack 为 true
原版 link alert 在安装后会解开 xpi
可能 firefox 在处理这种类型时有 bug 才导致“当时可以生效,但是一天后会提示签名失效”
正确的应该是改动后就立即提示签名失效并禁用扩展才对

java 那张图太大了
link alert 的选项也会调用这张图
而且没有设定大小
替换后 link alert 的选项会被撑变形的
就算你喜欢 java 的图标……还是调下大小吧

滥用系统扩展大法和 autoconfig 大法不同
不需要额外添加任何 js 文件
也不会破坏 firefox 的签名校验机制
但是有明显的缺陷:不显示在 about:addons,没法使用 inline option 模式
不过对于你这个仅仅是替换某个扩展的图片的需求来说
正好完美适合
只要把那个 linkalert.icons@hill.xpi 放到 firefox 安装目录下的 browser\features 就行
通过 about:support 列出的扩展项来确认加载

关于 jar,看这个
https://developer.mozilla.org/en-US/docs/Extensions/Updating_extensions_for_Firefox_4#XPI_unpacking
所以我说这个扩展结构太过时
不过看它还要支持 firefox 3,那也没办法就是了
对于当前版本来说就没必要在 xpi 内部再打个 jar 包了
改动在 chrome.manifest
你 diff 一下就明白
参考文档
https://developer.mozilla.org/en-US/docs/Chrome_Registration

linkalert.icons@hill.xpi 是利用 override 实现的
linkalert 的 chrome.manifest 注册了 chrome://linkalert/skin/ 开头的路径,指向 jar 内的 skin 目录
override 后
当 firefox 需要访问路径 chrome://linkalert/skin/ 下特定文件时
会使用新扩展 chrome.manifest 中注册的路径 b 来替换
并不是直接调用 jar 里面的文件
文档还是看上面那个链接
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
4楼#
发布于:2017-01-05 14:42
skytalk:007已经把该做的都做完了, 而且unpack已被禁用, 如果作者升级, 扩展文件结构没变化的话, 直接解压linkalert.jar出来放到与defaults同级路径, 用007的xpi中的chrome.manifest, install...回到原帖
几位对我的帮助都非常的大。一并感谢。能耐心给我讲解更要由衷感谢。
并非不相信,确实一直以为50以后非第三方编译没法儿绕过签名。所以老老实实签名去了。
skytalk
热心会员
热心会员
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2023-07-07
  • 发帖数652
  • 经验1061枚
  • 威望3点
  • 贡献值1292点
  • 好评度154点
  • 社区居民
  • 忠实会员
5楼#
发布于:2017-01-05 12:50
hill:非常非常感谢各位。这个扩张确实有些原始,如果用stylish几行就能实现。我是看中他的规则写的相对准确一些,我是完全不会。然而他的图片太辣眼,我修改扩展的目的也是为了替换10组icon。javascript图标只是因为我喜欢咖啡杯,觉得特别...回到原帖
007已经把该做的都做完了, 而且unpack已被禁用, 如果作者升级, 扩展文件结构没变化的话, 直接解压linkalert.jar出来放到与defaults同级路径, 用007的xpi中的chrome.manifest, install.rdf替换作者的同名文件, 压缩成xpi, 重新签名, 哦, 还有你修改的图片吧.
PS 看来我的可信度较低啊, 太伤感了...
PPS 007为你做了这么多 也不说点个喜欢 太说不过去啦
PPPS 理论上 签名文件会被自动替换 但也不排除上传zip或xpi失败的可能, 所以建议删除.
PPPPS @fiag @fang5566 貌似论坛的回复按钮点击不了了?必须得点高级模式->发布?
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
6楼#
发布于:2017-01-05 02:52
已将aaaa007cn的版本签名,非常的好用。想请教一下jar文件实际上是没有用处的是吗?
因为我看到你修改的扩展直接去除了打包jar的环节。去除jar打包是对哪个文件进行修改了呢?我想知道一下,这样以后扩展升级了,我就知道怎么改了。

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

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

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

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

另外总结各位所说我之所以没打包成xpi,原因是因为没有删除META-INF 目录吗?
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
9楼#
发布于:2017-01-05 00:20
对了
原版图标中的 jsp-icon.png 其实指的是 javascript: 协议
并不是 JavaServer Pages 的 jsp
见 chrome/content/overlay.js

不要用那个巨大的 java 图标
你自己改吧
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
10楼#
发布于: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
skytalk
热心会员
热心会员
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2023-07-07
  • 发帖数652
  • 经验1061枚
  • 威望3点
  • 贡献值1292点
  • 好评度154点
  • 社区居民
  • 忠实会员
11楼#
发布于: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

hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
12楼#
发布于:2017-01-04 23:04
签名好说,关键是打包不了xpi。先用的winrar,后来用tc自带的7z插件,今天上午专门装了7z。三种方法都是过来,装的时候都说损坏。
skytalk
热心会员
热心会员
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2023-07-07
  • 发帖数652
  • 经验1061枚
  • 威望3点
  • 贡献值1292点
  • 好评度154点
  • 社区居民
  • 忠实会员
13楼#
发布于:2017-01-04 22:29
hill:多谢,但我有两个问题。
1. 正如楼上所说,直接在ff配置文件夹里修改扩展,虽然当时可以生效,但是一段时间后就会提示签名无效。所以我想自己申请签名。但是我不知道为什么打包不了xpi。总是显示损坏,所以更没法弄签名。能不能帮我打包一个xpi...
回到原帖
关于签名,你可以看着两个帖子。
https://www.firefox.net.cn/read-50839
https://www.firefox.net.cn/read-53524
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2023-11-13
  • 发帖数2039
  • 经验655枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
14楼#
发布于:2017-01-04 19:57
你用的解压软件太垃圾的缘故吧,总之7z是可以完美支持xpi和jar格式资源替换的
在7z GUI里打开到相应文件路径,把要替换的文件拖拽出来改完了再直接拖拽回去更新压缩文件就搞定了

签名是另外的问题,楼上有解决方案
-いたんですか? -ええ、ずっと
上一页
游客

返回顶部