news 2026/8/22 7:09:45

chromatic 安装与使用完整指南:三步跑通 Chromium/V8 通用修改器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
chromatic 安装与使用完整指南:三步跑通 Chromium/V8 通用修改器

chromatic 安装与使用完整指南:三步跑通 Chromium/V8 通用修改器

【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic

chromatic 是一个面向 Chromium/V8 引擎的通用注入修改器,能把 JavaScript 脚本注入到 QQ 音乐、微信、各类 Electron 应用等桌面软件中,实现内存读写、函数拦截、断点调试等能力。如果你是想要定制软件行为的开发者,或是刚入门逆向分析的爱好者,这篇指南能帮你在几分钟内完成安装并跑通验证。

为什么值得试试 🎯

它的前身是知名插件框架 BetterNCM,但旧版年代久远且疏于维护。chromatic 是将相关代码整体重写后的产物,最大的变化有两点:

  • 不挑软件:旧版只服务网易云音乐,新版可以注入任何基于 Chromium/V8 的应用,适用范围大幅扩展。
  • 能力更底层:脚本 API 覆盖了内存操作、指针与原生函数调用、软件/硬件断点、内存访问监控、异常处理、FFI 等(详见 docs/zh-CN/API.md),接近一个轻量级的 Frida,但脚本可以直接用 TypeScript 编写。

三步跑通环境

整个过程基于 xmake 构建系统,依赖会自动下载,不需要手动装一堆库。

  1. 拉取代码git clone https://gitcode.com/gh_mirrors/be/BetterNCM
  2. 安装 xmake 并构建:安装好 xmake 后进入项目目录,执行xmake build,它会自动拉取 capstone、libffi、asmjit、fmt 等依赖并完成编译。
  3. 跑测试验证:执行xmake run chromatic-test,看到 gtest 用例通过,说明引擎的内存、拦截、断点等功能都工作正常。

构建产物分三块:chromatic-core(静态核心库)、chromatic-injectee(待注入的共享库)、chromatic-test(测试程序),分别对应不同用途。

目录里有什么

chromatic/ ├── src/ │ ├── core/ # 核心引擎:内存、拦截器、断点、FFI 等 C++ 实现 │ │ └── typescript/ # TypeScript API 封装,编译后内嵌进二进制 │ ├── injectee/ # 注入用共享库(dll/so),读取内嵌脚本并执行 │ └── test/ # gtest 测试套件,覆盖各模块功能 ├── deps/ # 第三方依赖声明(breeze-js、libtcc、yalantinglibs) ├── docs/ # API 文档,分 zh-CN / en-US 两版 ├── scripts/ # bindgen 绑定生成、压力测试脚本 └── xmake.lua # 构建脚本,定义三个构建目标与平台宏
  • src/core/:所有底层能力的实现所在,包括函数拦截、反汇编、硬件断点等模块,文件名即功能名。
  • src/core/typescript/:用 TypeScript 编写的脚本 API 层,通过 esbuild 打包后编译进二进制,你在脚本里能用的ProcessModuleMemory等对象都来自这里。
  • src/injectee/:真正被注入目标进程的部分,逻辑很直接——读取内嵌的脚本配置,启动 JS 运行时并执行脚本。
  • docs/:中文 API 文档写得比较完整,写脚本前建议先翻一遍。

脚本放在哪里?怎么配置 ⚙️

chromatic 没有传统的配置文件,核心机制是把脚本直接嵌进 injectee 共享库里。它兼容 fripack 工具链:编译完成后,由 fripack 把 JSON 配置(含你的 JS 源码)修补进共享库的g_embedded_config符号中,注入时自动读取执行。配置支持两种模式:

  • EmbedJs:JS 源码直接嵌在二进制里,适合发布成品。
  • WatchPath:指向一个外部 JS 文件路径,运行时监视该文件,保存后自动热重载——开发调试时非常方便。

如果你只是先跑测试,测试程序还支持--no-signal-tests参数(或设置环境变量CHROMATIC_NO_SIGNAL_TESTS=1)跳过信号相关的用例,方便在不支持信号调试的环境里验证。

新手常见坑

Q:文档里怎么提到 BetterNCM?和旧版兼容吗?BetterNCM 已停止维护,chromatic 是其代码的整体重写并更名,旧代码只保留在存档分支中。所以别按旧版 BetterNCM 的教程操作,行为会有差异。

Q:直接编译出来的 injectee 库,注入进去就能跑吗?不行。库本身只是"空壳",必须先经 fripack 修补、嵌入你的脚本后才能生效,否则加载时不会执行任何逻辑。

Q:遇到问题去哪看?项目仍在活跃开发中,README 的"文档/使用方法"章节尚未完善。API 细节以 docs/zh-CN/API.md 为准,遇到 Bug 或疑问建议直接提 Issue,中英文都可以。


到这里,chromatic 的环境搭建和核心玩法就介绍完了。想写自己的注入脚本或深入了解拦截器、断点等高级 API,建议前往官方仓库查看最新文档和示例,跟进它的迭代更新。

【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 7:09:38

从Kafka到Databend Cloud:万亿级Agent Trace数据实时接入架构实践

1. 项目概述:当海量Agent Trace数据遇上现代数据栈在可观测性领域,Agent Trace(代理追踪)数据是理解复杂分布式系统行为的“生命线”。每一次用户请求背后,都可能触发数十甚至上百个微服务间的调用,生成一条…

作者头像 李华
网站建设 2026/8/22 7:08:49

数学思维赋能管理决策:从数据洞察到优化实战

1. 项目概述:当数学思维遇见管理决策“数学与经济管理”,这个标题听起来像是一门大学课程,或者一本厚重的教科书。但如果你把它看作一个项目,一个我们每天都在参与、却未必能清晰感知其运作逻辑的系统性工程,它的魅力就…

作者头像 李华
网站建设 2026/8/22 7:06:43

典型相关分析(CCA)原理与实战:从多变量关联到Python实现

1. 项目概述:从“相关性”到“典型相关”在数据分析的日常工作中,我们最常打交道的可能就是“相关性”了。无论是用皮尔逊相关系数看看销售额和广告投入的关系,还是用斯皮尔曼系数排排客户满意度的名次,本质上都是在探究两个变量之…

作者头像 李华
网站建设 2026/8/22 7:03:27

一个OBS同时推3个平台:obs-multi-rtmp多平台直播插件完整指南

一个OBS同时推3个平台:obs-multi-rtmp多平台直播插件完整指南 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp obs-multi-rtmp 是一款免费开源的 OBS 插件,让同一…

作者头像 李华
网站建设 2026/8/22 7:00:31

程序员高效学习技术的方法论与面试策略

1. 程序员快速掌握技术的核心方法论作为从业十年的技术面试官,我见过太多程序员在面试前临时抱佛脚的情况。上周刚面试了一位候选人,简历上写着"精通Spring Cloud",结果连服务注册中心的原理都说不清楚。这种"简历精通&#x…

作者头像 李华