chromatic 安装指南:如何从源码快速构建并验证 Chromium/V8 注入修改器
【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic
chromatic 是广谱注入 Chromium/V8 软件的通用修改器,内置 JS 脚本引擎,提供内存读写、函数拦截、断点调试等能力。这份 chromatic 安装指南带你走通环境检查、构建、验证与排障,照做完即得到一个可用的测试程序和注入库。
装好之后你能做什么
chromatic 以共享库形式注入目标进程,把底层 C++ 能力包装成 JS API,让你用脚本改写程序行为。
- 运行 JS 脚本,调用原生函数
- 读写、扫描、修改内存
- 拦截并替换任意函数调用
- 设置软/硬件断点调试
安装前,先把环境核对一遍
按这张表逐项确认,可避开绝大多数构建失败:
| 检查项 | 为什么重要 | 怎么确认 |
|---|---|---|
| 网络畅通 | xmake 会自动下载多个依赖包 | git clone仓库能成功 |
| 支持 C++23 的编译器 | 源码按 C++23 标准编译 | gcc -v或clang --version显示 13/15 以上 |
| Node.js 与 pnpm | TS 层需经 esbuild 打包 | node -v、pnpm -v能打印版本号 |
| xmake 3.x 以上 | 项目主构建工具 | xmake --version显示 3.x |
安装实战:两条路径任选其一
路径A(推荐:一条命令全自动构建)
- 克隆源码:
git clone https://gitcode.com/gh_mirrors/be/chromatic。看到本地生成 chromatic 目录即成功。 - 构建 TS 层:在
src/core/typescript/目录执行pnpm install && pnpm build。看到dist/index.js生成即成功。 - 全量构建:在仓库根目录执行
xmake,自动下载并编译全部依赖。看到build/下出现chromatic-test和chromatic-injectee共享库即成功。 - 运行测试程序:执行
build/下对应平台目录的chromatic-test。看到 gtest 汇总全部 PASSED 即成功。
路径B(备用:只构建核心库手动集成)
原理一句话:chromatic-core是可独立编译的静态库,你只需它时只构建这个目标即可。
- 执行
xmake build -t chromatic-core。看到build/下生成libchromatic-core静态库即成功。 - 自行编写入口文件,把
src/及依赖头文件目录加入包含路径后编译链接。看到链接阶段无未定义引用即成功。
💡 提醒:dist/index.js必须位于src/core/typescript/dist/index.js,且构建目标名要与xmake.lua中定义的目标名一字不差,跳步或改名都会直接报错。
确认生效,以及不生效时怎么办
chromatic-test输出全部用例 passed、0 failed,即构建成功;injectee 加载时打印[chromatic-injectee] Library loaded即注入生效。
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 构建报找不到 index.js | TS 层没先打包 | 先在 typescript/ 目录执行pnpm build |
| 测试在 signal 相关用例处崩溃 | 各平台信号行为有差异 | 带--no-signal-tests参数重跑 |
| injectee 报 bad magic or version | 二进制未经 fripack 修补,未嵌入配置 | 先用 fripack 写入脚本内容再加载 |
你可能还会问
chromatic 支持 macOS 和 Linux 吗?支持。Windows、Linux、macOS、Android 均可,xmake.lua会自动识别平台与架构,命令完全一致。
更新源码后需要全部重编吗?git pull后重跑xmake即可。依赖已缓存,只重编变更文件,通常几分钟内完成。
第一次写脚本从哪入手?完整接口见 src/core/typescript/ 对应的 API 文档,先用Process.arch读架构、Memory.alloc分配内存确认运行时正常。
构建成功且测试全绿后,内存、拦截、断点这些能力就都能在 JS 里调用了。完整 API 参考请看 docs/zh-CN/API.md。
【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考