如何直接修改Google Chrome扩展程序文件?(的.crx)

ale*_*nco 95 google-chrome

我不确定这些扩展名是哪种语言,我认为它们是用Html,Javascript或JSON编写的.据我所知,它们是在.CRX文件中"压缩"的.

可以直接修改Chrome扩展程序(或他们使用的任何语言)的html,js,json吗?

JDa*_*vis 106

已安装的Chrome扩展程序目录如下所示:

  1. 复制要修改的扩展名的文件夹.(根据扩展ID命名,找到扩展名的ID,转到chrome://extensions/).复制后,您必须删除_metadata文件夹.

  2. chrome://extensions开发模式选择加载已解压的扩展...并选择您复制扩展文件夹,如果它包含了这个被命名版本的子文件夹,选择该文件夹版本,其中有一个清单文件,该文件是必要的Chrome浏览器.

  3. 进行更改,然后选择重新加载并刷新扩展程序的页面以查看更改.


Chrome扩展目录

苹果电脑:

/Users/username/Library/Application Support/Google/Chrome/Default/Extensions
Run Code Online (Sandbox Code Playgroud)

Windows 7的:

C:\Users\username\AppData\Local\Google\Chrome\User Data\Default\Extensions
Run Code Online (Sandbox Code Playgroud)

Windows XP:

C:\Documents and Settings\YourUserName\Local Settings\Application Data\Google\Chrome\User Data\Default
Run Code Online (Sandbox Code Playgroud)

Ubuntu 14.04:

~/.config/google-chrome/Default/Extensions/
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,至少在Windows上,扩展位置路径中的`\ Default`目录指向安装扩展的配置文件.如果您在Chrome中使用多个配置文件`\ Default`是默认配置文件,`\ Profile1`是创建的第一个附加配置文件. (3认同)
  • 查看此Chrome扩展程序,以便快速访问扩展程序的源代码:https://chrome.google.com/webstore/detail/extension-source-locator/cmhbfegjgncgaikpopenldnaidbhdopp (2认同)

sat*_*ish 86

我在谷歌搜索过,我发现了这个:

Google Chrome扩展程序文件类型为CRX.它本质上是一种压缩格式.因此,如果您想查看扩展,脚本和代码背后的内容,只需将文件类型从"CRX"更改为"ZIP"即可.

解压缩文件,您将获得所需的所有信息.通过这种方式,您可以查看内容,了解如何自行编写扩展,或根据自己的需要进行修改.

然后,您可以使用Chrome的内部工具将其打包回来,该工具会自动将文件重新创建回CRX.安装它只需要点击一下.

  • 在压缩内容http://developer.chrome.com/extensions/crx.html之前,crx文件有一个额外的标题 (13认同)
  • 解压缩后,文件变为something.zip.cpgz? (5认同)
  • 将扩展名从`crx`重命名为`zip`并单击它将不起作用.`unzip`命令甚至可以在`crx`扩展名上运行. (5认同)

sow*_*bug 44

签名的CRX文件有一个标题,将导致大多数/所有解压缩程序barf.这不是最容易实现的方法,但是这里是如何从bash命令行完成的.

基本思想是找到原始未签名zipfile开始的位置,然后将CRX文件复制到zip文件但排除CRX标头.

  1. hexdump -C the_extension.crx | more
  2. 在输出中查找zip文件的开头,即ASCII字节"PK".在我尝试的样本中,PK位于偏移量0x132.(从阅读CRX规范,我认为由于签名长度不同,这个数字会因文件而异.)这个数字是我们将在下一步中使用的数字.
  3. dd if=the_extension.crx of=the_extension.zip bs=1 skip=0x132 (对于skip参数,替换在上一步中找到的偏移量.)
  4. 现在解压缩刚刚创建的.zip.
  5. 解压缩解压缩目录中的文件,然后将未签名/解压缩的扩展程序安装到Chrome安装中,或者像重置任何其他Chrome扩展程序一样重新打包.

我确信有一种更简洁的方法可以做到这一点.Bash专家,请改进我的答案.

  • 我实际上能够使用命令行实用程序`unzip`解压缩它.它抱怨了标题的额外306字节,但无论如何都做了. (21认同)
  • 很棒的提示!我的PK偏移量也是"0x132" (3认同)
  • `unzip` 完美运行:`warning [YouTubeCenter.crx]:在 zipfile 开头或内有 304 个额外字节(无论如何都在尝试处理)` (2认同)

Arn*_*rik 9

请注意,某些zip程序无法解压缩像描述的sathish这样的CRX - 如果是这种情况,请尝试使用7-Zip - http://www.7-zip.org/