我可以禁用Chrome的扩展程序内容验证吗?


15

不久之后,谷歌浏览器扩展程序就“经过了内容验证”,这意味着其他应用无法“入侵”它们。这是一件好事,但令人讨厌的是,因为我一直都在破解它们,以进行调整和改进。

保存扩展文件后,几乎立即禁用该扩展,并在本地扩展页面上显示一条消息:

此扩展名可能已损坏

有什么方法可以禁用此“安全性”功能并继续进行黑客攻击吗?我想成为浏览器的老板,而不是相反。

有一个chrome标志(extension-content-verification),但正如说明所述:

如果未启用此功能,则可以使用此功能将其打开,但不能将其关闭(因为此设置可能会受到恶意软件的篡改)。


Google不允许您禁用它,因此看来,您唯一的选择是使用适用于像您这样的开发人员的Canary版本的Google Chrome。
Tomer,2015年

我不想在Chrome上进行开发,但是想要一些扩展。我每天不使用Canary进行Chroming。很奇怪,这不是不可能的。是新的 最近4年不是什么问题?
鲁迪

这是一项新功能,可以防止恶意软件在用户不知情的情况下将自己的扩展程序添加到Chrome中。
Tomer,2015年

您可以尝试阻止Chrome用来获取扩展程序麻烦的某些URL。(使用HTTPS代理)
Tomer,2015年

添加chrome.google.com到我的计算机hosts上不做=(他们可能有自己的DNS系统或某些东西。有一个标志,但是“ [..]不能用来将其关闭(因为此设置可能被恶意软件篡改)” 。该死。
Rudie

Answers:


11

有第四种方法可以解决此问题并完全避开检测系统。由于您提到要入侵扩展程序,因此这意味着您具有扩展程序开发知识。还应该理解,扩展本质上就是源代码。这意味着您有整个资源需要摆弄。话虽如此...

第四种方法相对简单,如下所示:

  1. 在Chrome的“应用程序数据”下的“扩展程序”文件夹中找到扩展程序
  2. 复制整个扩展程序的文件夹并将其粘贴到其他位置
  3. 在Chrome中禁用原始扩展程序
  4. 将新复制的abcsoupname扩展名文件夹重命名为MyNewExtension
  5. 转到MyNewExtension文件夹
  6. 删除_metadata
  7. 编辑manifest.json并删除keyupdate_url部分。更改名称short_name部分,以避免与其他禁用的扩展名混淆。
  8. 验证并更正您的manifest.json jsonlint.com上
  9. 转到设置=>扩展
  10. 启用开发人员模式,然后在刚刚创建的新文件夹上“加载解压的扩展程序”。
  11. 瞧 此扩展的新版本不受内容控制。

现在,您可以根据需要编辑,操作和管理此扩展。进行更改时,您需要从扩展程序区域单击“重新加载”。另外,您将不会收到原始开发人员的更新。因此,您需要定期更新,并找出一种将更新的更改合并到单独的扩展代码中的方法。您可能可以离开update_url原样,但可能会清除您在下一个更新中所做的所有更改。这就是为什么我建议将其删除。不过,请随时尝试。

通过禁用原始扩展名,这将允许您启用它并定期接收作者版本的更新。然后,您可以比较自定义版本和作者版本之间的差异,并合并任何必要的更改。我强烈建议您对新的自定义扩展程序使用这种更新方法。如果您选择离开update_url活动状态,则可能会清除您对下一个更新的更改(假设即使在修改后的扩展名上也可以正常使用)。由于某些扩展的更新频率不是很高,因此您可能会争先恐后地确定下个月更新发布时所做的更改。

您还需要在要修改它的任何扩展上执行这些步骤。实际上,您是在使用现有扩展的代码库创建一个全新的扩展,然后将该扩展置于开发人员模式。

请注意,请勿使用Mac的TextEdit编辑json文件,否则它将用“或”替换“并导致json语法检查失败。


之前提到过。这是一个不错的解决方案,但我想获取更新。取而代之的是,我接受了缺陷,对此感到很满意。感谢您的操作=)
Rudie 2015年

1
困难在于您要编辑扩展名并进行更新。这是互斥的。如果您编辑扩展程序,则在更新后,您可能会忘记记住所做的更改而丢失所有更改。如果几个月后,这可能会很困难。禁用更新并手动合并更改是管理此操作的唯一可行方法。
纪念2015年

更新只是合并到我的黑名单中。合并可以很聪明。如果没有,那是我可以解决的合并冲突。取而代之的是,我选择了偏执的方式,不使用任何contrib扩展名,只是像您说的那样被复制和黑客入侵。很晚才回复,对不起。
鲁迪'16

这不再起作用。如果您的扩展程序在应用程序商店中不可用,它将被禁用,并且必须先删除并再次添加,才能重新启用。
Wolfish

嗨沃尔夫什,这绝对不是事实。开发人员必须能够在其系统上本地开发扩展。这就是Chrome提供开发人员模式的原因。您会在第10步中注意到需要启用开发人员模式。这是关键。如果未启用开发模式,则无法加载外部扩展。开发人员无法通过强迫将其上传到商店进行测试来创建扩展,这也将未完成的代码暴露给公众(风险更大)。但是,Chrome会非常努力地要求您在每次重新启动Chrome时关闭开发模式。
纪念

6

由于Google不允许您以任何方式禁用扩展内容验证功能,因此可能的解决方法基本上是:

  1. 使用Chrome的Canary版,可让您编辑扩展程序并添加自己的扩展程序,而不会发出任何警告
  2. 将扩展目录复制到其他位置,删除_metadata文件夹并以开发人员模式加载。这种解决方法的缺点是,每次打开chrome时,您都会看到一条消息,要求您禁用扩展程序。(因为它处于开发人员模式)
  3. 阻止Chrome获取扩展程序的哈希值,以使其无法验证其内容。此替代方法的缺点是您可能无法下载\更新其他扩展名。

    去做这个:

    1. 将该行添加127.0.0.1 clients2.googleusercontent.com到您的hosts文件中(通常在下方C:\Windows\System32\drivers\etc
    2. 清除Chrome的DNS缓存或等待几分钟
    3. 关闭Chrome并对该扩展程序进行一些更改
    4. _metadata从扩展程序的目录(存储原始哈希)中删除文件夹
    5. 重新启动Chrome

您还可以使用HTTPS代理服务器来仅阻止相关请求,但这太麻烦了。


1.似乎在做某事=),但是现在我无法下载扩展程序,并且仍然被阻止。尝试#2。更多明天。
鲁迪2015年

它仍然说它已损坏吗?尝试_metadata从Google 删除存储哈希值的文件夹。
Tomer 2015年

此方法有效,但是现在我无法下载其他扩展程序...为什么不从进行下载chrome.google.com,而是在其他域上进行检查?总是要加倍努力。我认为HTTPS代理是不可能的。他们可能涵盖了MITM方法。(2)可能是最好的解决方案,无论如何我已经运行了一些dev ext。虽然没有更新=(谢谢!
Rudie 2015年

好的,但是如果您告诉计算机信任自己的证书颁发机构,我认为他们真的不能对MITM做任何事情。也许尝试mitmproxy之类的东西。
Tomer,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.