V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
YGHMXFAL
V2EX  ›  Chrome

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

  •  
  •   YGHMXFAL · 2023-08-26 15:17:48 +08:00 · 1209 次点击
    这是一个创建于 484 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现象[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]中所说,把已经安装好的扩展(不管是以什么方式安装)的目录提取出来,再从其它实例中以开发者模式加载之

    6 条回复    2023-08-26 19:07:51 +08:00
    masyaf
        1
    masyaf  
       2023-08-26 15:48:23 +08:00   ❤️ 1
    [1]就是 chrome 的正黄旗扩展,没啥说的

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

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

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

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

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

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

    道理上的确可能 IDM 先进行了一系列针对不同浏览器的特定优化或配置后再重新打一个 crx 包重新签名给你装进去
    YGHMXFAL
        4
    YGHMXFAL  
    OP
       2023-08-26 17:20:10 +08:00
    @SilencerL #3 我正在比较
    YGHMXFAL
        5
    YGHMXFAL  
    OP
       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
        6
    YGHMXFAL  
    OP
       2023-08-26 19:07:51 +08:00
    #5

    还有一个现象:缺少地这俩文件和其父目录,会在以开发者模式被加载后自动被删除
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2912 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:39 · PVG 08:39 · LAX 16:39 · JFK 19:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.