skytalk
狐狸大王
狐狸大王
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2017-06-17
  • 发帖数492
  • 经验598枚
  • 威望3点
  • 贡献值620点
  • 好评度119点
  • 社区居民
  • 忠实会员
阅读:1199回复:33

是否已经无法再为传统扩展 (非webextension) 签名? 有何方法绕过?

楼主#
更多 发布于:2017-05-12 01:09
是否已经无法再为传统扩展签名? 看了些相关文档, 为传统扩展写个manifest.json就可以在AMO过签, 但涉及到 "options_ui" ("options_page") 或 "default_popup"部分, 而传统扩展根本没有这部分内容, 该如如何写, 绕过AMO检测过签, 是否俨然已经误解?
Your add-on failed validation with 3 errors.
  • Could not parse the manifest file.
  • An unexpected error has occurred.
  • Could not parse `manifest.json`.
知道了, 才发现, 需要过签扩展中的install.rdf -> unpack居然是true, 这也就是不过签的根本原因, 改为false立刻过签, 根本不需要补全manifest.json, 就说嘛这东西补进去也没什么意义, 对于非webextension扩展来说.
若单纯将unpack由true设置到false, 可以过签, 但百分之百无法在Fx上运行, 那unpack设置禁用后, 还需改对文件结构做哪些改动呢? 提供一些相关文档也行, 我也找了, 但没能直接命中关键点.

例如: Hugo Search All Tabs, Redirect Bypasser, xthunder, fastest search v3.31.1, unpack均默认为true, 在AMO过签, 就必须将unpack设置为false, 但设置禁用就无法在Fx上运行...

唉... 论坛脚本载入延迟很坑, 编辑了下, 发现内容全部被清空...
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2017-06-26
  • 发帖数1653
  • 经验978枚
  • 威望0点
  • 贡献值36点
  • 好评度84点
  • 社区居民
  • 最爱沙发
  • 忠实会员
1楼#
发布于:2017-05-12 04:10
传统扩展已不能签名。https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded_Builds 有无品牌版解除签名限制。

manifest.json 是 WebExtension 扩展。
你的是manifest文件格式(JSON)出错了,仔细检查吧。
options_page 需要改成 options_ui {"page": },不难。
skytalk
狐狸大王
狐狸大王
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2017-06-17
  • 发帖数492
  • 经验598枚
  • 威望3点
  • 贡献值620点
  • 好评度119点
  • 社区居民
  • 忠实会员
2楼#
发布于:2017-05-12 10:28
yfdyh000:传统扩展已不能签名。https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded_Builds 有无品牌版解除签名限制。

manifest.json 是 WebExtension...
回到原帖
是啊, 绕过签名限制倒是容易, 如unbranded builds, 或正式版用config.js.

但现在问题在于想未传统扩展到AMO签名, 目前看了些相关文档, 应该写个manifest.json就可以过签. 但涉及到"options_ui", "default_popup", 或"background", 这些部分传统扩展是没有的, 如何骗过AMO过检? 有些被南烛了...
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2017-06-26
  • 发帖数1653
  • 经验978枚
  • 威望0点
  • 贡献值36点
  • 好评度84点
  • 社区居民
  • 最爱沙发
  • 忠实会员
3楼#
发布于:2017-05-12 16:40
skytalk:是啊, 绕过签名限制倒是容易, 如unbranded builds, 或正式版用config.js.

但现在问题在于想未传统扩展到AMO签名, 目前看了些相关文档, 应该写个manifest.json就可以过签. 但涉及到"options...
回到原帖
传统扩展加manifest.json就能骗过去?你成功过吗。没试过。

必须unpack是否取决于扩展呢,大多数扩展不需要。
skytalk
狐狸大王
狐狸大王
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2017-06-17
  • 发帖数492
  • 经验598枚
  • 威望3点
  • 贡献值620点
  • 好评度119点
  • 社区居民
  • 忠实会员
4楼#
发布于:2017-05-13 01:14
yfdyh000:传统扩展加manifest.json就能骗过去?你成功过吗。没试过。

必须unpack是否取决于扩展呢,大多数扩展不需要。
回到原帖
可以骗过, 但需要补齐manifest.json中的全部内容, 但补齐后, 扩展安装在Fx上运行会出错.

还有关于unpack禁用与否, 确实取决于扩展本身, 但既然unpack设置为禁用就可以过签, 那只需解决为什么无法在Fx运行, 所以应该不是无解. 比如通过修改该扩展文件结构或其他的某些部分, 这应该比较容易做到吧?


2017.05.18
上传 传统扩展 到AMO, 扩展本身文件内容和结构符合AMO标准的情况下, install.rdf 和 manifest.json已经不能同时并存在一个xpi文件内, 同时出现则会提示"Both install_rdf and manifest.json found", 目前我这里已无法通过添加manifest.json绕过AMO检测过签, 不知道是否是个例, 但至今为止仍然可以上传传统扩展到AMO过签, 只是比以前麻烦些.
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2017-06-26
  • 发帖数1653
  • 经验978枚
  • 威望0点
  • 贡献值36点
  • 好评度84点
  • 社区居民
  • 最爱沙发
  • 忠实会员
5楼#
发布于:2017-05-13 04:09
skytalk:可以骗过, 但需要补齐manifest.json中的全部内容, 但补齐后, 扩展安装在Fx上运行会出错.

还有关于unpack禁用与否, 确实取决于扩展本身, 但既然unpack设置为禁用就可以过签, 那只需解决为什么无法在Fx运行,...
回到原帖
如果只是能签名但没法用(manifest.json优先并生效),还是没骗过去嘛。
skytalk
狐狸大王
狐狸大王
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2017-06-17
  • 发帖数492
  • 经验598枚
  • 威望3点
  • 贡献值620点
  • 好评度119点
  • 社区居民
  • 忠实会员
6楼#
发布于:2017-05-13 09:36
yfdyh000:如果只是能签名但没法用(manifest.json优先并生效),还是没骗过去嘛。回到原帖
对的, 所以已经移除manifest.json, 而仅将unpack设置到false来过签, AMO貌似除theme类以外, 不再接受unpack -> true的扩展文件被上传

随便抓几个我知道的扩展做签名测试, 从过签结果上看, AMO是针对不同扩展文件内容, 来判断检测, 与unpack启用/禁用没什么关系, 观点不成立, 再研究吧
DOSforever
非常火狐
非常火狐
  • UID25201
  • 注册日期2008-07-03
  • 最后登录2017-06-25
  • 发帖数851
  • 经验567枚
  • 威望0点
  • 贡献值542点
  • 好评度14点
  • 社区居民
  • 忠实会员
7楼#
发布于:2017-05-13 12:59
Firefox 最吸引我的地方就是有功能丰富的扩展可用,现在为了装一个扩展要费这么大的劲,我等非专业人士实在没这个心思去研究折腾各种“土法”。

是否已经无法再为传统扩展 (非webextension) 签名? 有何方法绕过?
我的方法就是不升级。
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2017-06-25
  • 发帖数1975
  • 经验582枚
  • 威望0点
  • 贡献值332点
  • 好评度55点
  • 社区居民
  • 忠实会员
8楼#
发布于:2017-05-13 14:17
 折腾签名太麻烦了,无奈从beta转移到aurora
希望能用一些(久未更新的)未签名扩展,又不想尝试nightly的不稳定环境的,以前可以在beta混(和release基本一样稳定),现在只能在aurora摸爬滚打

等以后mozilla取消aurora通道,我等边缘人群就只能被迫在nightly的海洋里苟延残喘了……
十分不解,连测试个未签名扩展都做不到的beta究竟有什么卵用
-いたんですか? -ええ、ずっと
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2017-06-25
  • 发帖数16820
  • 经验3396枚
  • 威望5点
  • 贡献值3262点
  • 好评度688点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
9楼#
发布于:2017-05-13 14:29
白左:折腾签名太麻烦了,无奈从beta转移到aurora
希望能用一些(久未更新的)未签名扩展,又不想尝试nightly的不稳定环境的,以前可以在beta混(和release基本一样稳定),现在只能在aurora摸爬滚打

等以后mozil...
回到原帖
不是beta不行,是moz的设定如此。beta使用人数也是很多的,所以决定release和beta要开启扩展签名认证
Firefox More than meets your experience
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-06-25
  • 发帖数1721
  • 经验963枚
  • 威望1点
  • 贡献值210点
  • 好评度120点
10楼#
发布于:2017-05-13 19:20
fang5566:不是beta不行,是moz的设定如此。beta使用人数也是很多的,所以决定release和beta要开启扩展签名认证回到原帖
aurora 砍掉后,FDE 将基于 beta
那么要么让 beta 安装未签名扩展
要么连 nightly 也同样不可安装未签名扩展
毕竟 webext 都是 restartless 的
可以直接通过 about:debugging 来临时加载
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-06-25
  • 发帖数1721
  • 经验963枚
  • 威望1点
  • 贡献值210点
  • 好评度120点
11楼#
发布于:2017-05-13 20:01
首先
install.rdf 的 unpack 相关信息看
https://developer.mozilla.org/en-US/Add-ons/Extension_Packaging
https://developer.mozilla.org/en-US/docs/Extensions/Updating_extensions_for_Firefox_4#XPI_unpacking

其次
谋智表示 53 开始不接受新的传统扩展提交过签
如果你仅仅改了 install.rdf 的 unpack 属性就过了的话
那是 amo 的 bug

再次
从目前 resource://gre/modules/addons/XPIProvider.jsm 的实现来看
同时包含 install.rdf 和 manifest.json 的扩展会优先读取 install.rdf
所以加了 manifest.json 的传统扩展还是当作传统扩展来处理的
但这随时可能被调整为优先 manifest.json 或者仅 manifest.json
同样
如果 amo 仅仅因为给一个传统扩展添加了 manifest.json 就放行的话
这也是个 bug

最后
不建议修改顶楼原帖
本坛的智障 phpwind 不显示最后修改时间
所以我不知道你现在到底是不是改了 unpack 就能过(顶楼和 6 楼哪个更新?)
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2017-06-25
  • 发帖数1975
  • 经验582枚
  • 威望0点
  • 贡献值332点
  • 好评度55点
  • 社区居民
  • 忠实会员
12楼#
发布于:2017-05-13 20:31
aaaa007cn:aurora 砍掉后,FDE 将基于 beta
那么要么让 beta 安装未签名扩展
要么连 nightly 也同样不可安装未签名扩展
毕竟 webext 都是 restartless 的
可以直接通过 about:debugging 来临...
回到原帖
应该不可能开发者版本完全不让装测试扩展,只能临时加载吧……大概
比方说还有测试插件的需求?……啊不对,插件已经全部移除了

希望beta能沾FDE的光用上未签名扩展;或者既然FDE基于beta,直接用FDE也是好的,相当于名字没变,更新通道前移

@skytalk  唉... 论坛脚本载入延迟很坑, 编辑了下, 发现内容全部被清空...  

帖子被清空,你是否伤心,是否难过?
这时候你需要Textarea Cache!
源自台湾的★★★顶尖数据保护技术★★★,只需轻点鼠标,即可保证你的资料安全!
还在等什么,赶快拿起鼠标点击下载吧!
>>>>>>【点此立刻免费下载】<<<<<<
★★★  绿色无毒无广告  ★★
-いたんですか? -ええ、ずっと
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-06-25
  • 发帖数1721
  • 经验963枚
  • 威望1点
  • 贡献值210点
  • 好评度120点
13楼#
发布于:2017-05-13 21:11
https://www.firefox.net.cn/read-54173
FDE 改 repack 的计划破产了
beta 应该不会改强制签名的政策

从目前的 FAQ 看
http://release.mozilla.org/firefox/release/2017/04/17/Dawn-Project-FAQ.html
短期内 FDE 应该还是可以直接 xpinstall.signatures.required 设 false 来使用未签名扩展的
但是谁知道以后会怎么变
毕竟对于功能有限的 webext 扩展来说
临时加载就已经足够了
skytalk
狐狸大王
狐狸大王
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2017-06-17
  • 发帖数492
  • 经验598枚
  • 威望3点
  • 贡献值620点
  • 好评度119点
  • 社区居民
  • 忠实会员
14楼#
发布于:2017-05-13 23:55
白左:应该不可能开发者版本完全不让装测试扩展,只能临时加载吧……大概
比方说还有测试插件的需求?……啊不对,插件已经全部移除了

希望beta能沾FDE的光用上未签名扩展;或者既然FDE基于beta,直接用FDE也是好的,相当于名字没变,更...
回到原帖
谢谢啦, 这么出名的扩展还是知道的, 只是为了节省Fx资源, 尽量减少扩展的安装, 因为扩展+脚本+式样已经不少了, 这个扩展记下了, 认为有必要时就武装到Fx上, 再次感谢.
上一页
游客

返回顶部