请教:在 Chrome 系浏览器中,安装 XXX.crx 的不同方式及其区别?

2023-08-26 15:17:48 +08:00
 YGHMXFAL

现象[1]

例如 IDM,在其默认安装目录下,存在一个c:\Program Files (x86)\Internet Download Manager\IDMGCExt.crx,这明显是一个 Chrome 扩展吧?

但是将其解压到某一个空目录后,再从开发者模式中加载,会弹出一个新标签页提示安装成功,同时有一条警告信息大意就是"文件已损坏"之类

此时,从 Brave 浏览器点击链接,并不能调起 IDM 来下载

现象[2]

先启动 IDM,再从 Brave 中新建一个实例(也就是"个人资料"),此时 Brave 会黄标提示,大意就是"IDM 扩展已安装"之类,也就是说 IDM 监测到 Brave 产生了一个新实例并且自动为其安装了 IDM 扩展

此时,从 Brave 浏览器点击链接,可以正常调用 IDM 来下载

现象[3]

现象[2]中新建得那个实例里,提取出 IDM 扩展所在地目录,即c:\Users\XXX\AppData\Local\BraveSoftware\Brave-Browser\User Data\Profile 4\Extensions\ngpampappnmepgilojfohadhhmbhlaek\6.40.12_0\,将其复制到一个新位置,再从现象[1]中那个实例里依然以开发者模式加载之,此时又弹出新标签页提示安装成功,但是不再报告"文件已损坏"之类

此时,从 Brave 浏览器点击链接,可以正常调用 IDM 来下载

所以,我的问题是,在 Chrome 系浏览器中安装扩展,如下方式是否有区别/有什么区别?

[1]从网页https://chrome.google.com/webstore/category/extensions上点击安装

[2]下载 XXX.crx 后,拖动到浏览器窗口中安装

[3]下载 XXX.crx 后,解压,再从浏览器中以开发者模式加载其父目录

[4]如我在现象[3]中所说,把已经安装好的扩展(不管是以什么方式安装)的目录提取出来,再从其它实例中以开发者模式加载之

1182 次点击
所在节点    Chrome
6 条回复
masyaf
2023-08-26 15:48:23 +08:00
[1]就是 chrome 的正黄旗扩展,没啥说的

[2]不能绕开 chrome 的上架检测。没上架,用不了

[3]可以绕开上架检测,使用诸如 bypass-paywalls-chrome 的扩展

[4]不知
YGHMXFAL
2023-08-26 16:03:13 +08:00
其实到目前为止,我也就只发现 IDM 的 Chrome 扩展有这个`安装姿势不同则表现行为不同`的现象

或许不是 XXX.crx 的安装姿势的问题?

IDM 监测到 Brave 产生了一个新实例,并且自动为这个新实例安装了自身的扩展,这个扩展是不是我以为得那个 IDMGCExt.crx 呢?或者说 IDMGCExt.crx 也许要经过 IDM 主进程 HOOK 一番之后才会被安装到 Brave 呢?这些都没法儿确定(以我的水平)

所以也有可能是 IDM 的骚操作
SilencerL
2023-08-26 17:02:34 +08:00
搞个其他 Chromium like 的浏览器,让 IDM 给它装上扩展,找到这个新装的浏览器的 IDM 扩展所在地目录
开个 BC 对比一下和 Brave 所安装的 IDM 扩展所在地目录的文件有什么区别
也可以先对比一下你最开始解压出来的文件和 Brave 所安装的 IDM 扩展所在地目录的文件有什么区别

道理上的确可能 IDM 先进行了一系列针对不同浏览器的特定优化或配置后再重新打一个 crx 包重新签名给你装进去
YGHMXFAL
2023-08-26 17:20:10 +08:00
@SilencerL #3 我正在比较
YGHMXFAL
2023-08-26 18:55:26 +08:00
目前发现:

[将 XXX.crx 解压后,再从 Brave 浏览器中以开发者模式加载],和[由 IDM 自动为 Brave 浏览器安装自身的扩展]相比,少了俩文件,分别是[_metadata\computed_hashes.json]和[_metadata\verified_contents.json]

结合报错[文件已损坏 XXX]来看,问题应该出在这里

新的疑问是:

我看每一个扩展所在的目录下都有这俩文件啊,这个校验和难道不是由浏览器在调用扩展之前/之后来主动计算并且记录吗?(猜测还是 IDM 在中间有 HOOK 吧)
YGHMXFAL
2023-08-26 19:07:51 +08:00
#5

还有一个现象:缺少地这俩文件和其父目录,会在以开发者模式被加载后自动被删除

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/968474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX