CRX格式详解:安装、开发与反编译

一、CRX 是什么格式,模板

  • CRX(Chrome Extension)是 Chromium 内核浏览器(Chrome、Edge、360极速、Opera、Brave等)的扩展程序安装包格式。

  • 本质:带数字签名的 ZIP 压缩包。

  • 包含文件manifest.json、JS、HTML、CSS、图片等。


二、如何打开 / 安装 CRX

方法1:拖拽安装(推荐)

  1. 打开扩展管理页:

    • Chrome:chrome://extensions/

    • Edge:edge://extensions/

  2. 开启 开发者模式

  3. .crx 文件拖入页面。

  4. 点击 添加扩展程序

方法2:查看源码(不安装)

  • 使用 7-Zip / WinRAR 直接打开 .crx,或将后缀改为 .zip 后解压。

三、最简单的扩展示例

文件夹结构

bash 复制代码
my-extension/
├── manifest.json
├── popup.html
└── icon.png(可选)

1. manifest.json

javascript 复制代码
{
  "manifest_version": 3,
  "name": "我的第一个扩展",
  "version": "1.0",
  "description": "测试CRX扩展",
  "action": {
    "default_popup": "popup.html"
  },
  "icons": {
    "16": "icon.png"
  }
}

2. popup.html

html 复制代码
<!DOCTYPE html>
<html>
<body>
  <h3>Hello CRX</h3>
  <p>我是自己写的扩展</p>
</body>
</html>

3. icon.png(可选)

  • 尺寸建议:16×16、48×48、128×128。

四、本地加载测试

  1. 打开 chrome://extensions/edge://extensions/

  2. 开启 开发者模式

  3. 点击 加载已解压的扩展程序

  4. 选择你的扩展文件夹。

  5. 完成,右上角出现扩展图标。


五、打包成 .crx

  1. 进入扩展管理页。

  2. 点击 打包扩展程序

  3. 选择扩展文件夹。

  4. 点击 打包

  5. 生成两个文件:

    • xxx.crx → 安装包

    • xxx.pem → 密钥(用于更新,需妥善保存)


六、反编译 + 修改 + 重新打包 CRX

1. 反编译(解压源码)

  • .crx 后缀改为 .zip

  • 解压得到源码文件夹(包含 manifest.json 等所有文件)。

2. 修改代码

  • 按需编辑 JS、HTML、CSS、manifest.json 等。

3. 重新打包

  • 使用浏览器的 打包扩展程序 功能,选择修改后的文件夹。

  • 得到新的 .crx.pem(建议使用原 .pem 以保持相同扩展ID)。


相关推荐
辞旧 lekkk25 分钟前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2301_809204702 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy277772 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
笨蛋不要掉眼泪2 小时前
Mysql架构揭秘:update语句的执行流程
数据库·mysql·架构
万邦科技Lafite2 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
秋93 小时前
ruoyi项目更换为mysql9.7.0数据库
数据库
Andya_net3 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限
android·数据库·mysql
筑梦之路4 小时前
harbor数据库报错权限异常如何处理——筑梦之路
数据库·harbor
czlczl200209255 小时前
理解 MySQL 行锁:两阶段锁协议与热点更新优化
数据库·mysql
AllData公司负责人5 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql