chromatic 完全指南:用一段 JS 脚本改造任意 Chromium 应用
【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic
chromatic 把任意基于 Chromium/V8 的应用变成可编程环境:注入一段 JS,就能读写内存、拦截函数、动态改写客户端行为。它适合逆向爱好者、二开开发者,以及想给本地软件加自定义功能又不想动原代码的普通用户。
3 步跑通 chromatic 🚀
整个构建只需要 xmake 一条工具链,第三方依赖全部自动拉取,不需要手动装库。
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/be/BetterNCM - 按 xmake.lua 的默认配置执行
xmake build,一次编译出核心库、injectee 注入库和测试程序 - 运行
xmake run chromatic-test,测试全绿就说明环境就绪
官方使用说明目前标注为待完善,遇到构建问题直接翻源码或提 Issue 即可。
它能帮你做什么
下面 5 件事全部靠内置 JS API 完成,一行原生 C++ 都不用写。
挂钩任意函数,实时偷看参数与返回值
想弄清客户端某段行为背后调用了什么?用Interceptor.attach挂到目标函数上,onEnter里打印入参、onLeave里改写返回值,全程不重编译。
内存扫描,秒级定位关键数据 🔍
想找出某个数值藏在内存的哪个角落?Memory.scan支持带通配符的十六进制模式,命中之后用NativePointer直接读写,比手动翻内存查看器快得多。
硬件断点,卡住任何一次读写 🧲
程序总在你反应过来之前跑掉?HardwareBreakpoint.set可以对指定地址下执行断点或读写观察点,触发瞬间回调接管现场;常规代码断点交给SoftwareBreakpoint就行。
热重载脚本,改完保存即生效 ⚡
调试脚本时反复重启应用太磨人?injectee 的 WatchPath 模式会盯住你的脚本文件,一保存就自动重置运行时并重跑,改错一个字也能秒级回滚。
一套脚本跑遍四大平台
同一份 JS 在 Windows、Linux、macOS、Android 上都能执行,Process.platform随时告诉你当前在哪端,跨平台改造不用维护多套代码。
生态与扩展:JS 脚本就是插件
扩展机制一句话:chromatic 内嵌 JS 引擎,injectee 兼容 fripack,你可以把整段脚本直接嵌进二进制,也可以让它监视一个本地文件。
这套思路承袭自它的前身 BetterNCM——作者把那个网易云音乐客户端插件管理器整体重写、改名为 chromatic,适用范围也从单一客户端扩到了任意 Chromium/V8 程序。
接口速查看 API 文档,中英文版本都在 docs/ 目录下;想加新功能或者报 bug,直接提 Issue,中英文都收。
保持更新 📌
项目正处于活跃开发期,仓库的 Releases 和 Issue 区是最直接的两个窗口,版本变动与新能力都会在那里先行公布。
顺手把 docs/ 目录里的 API 文档加入收藏,它会跟着版本一起迭代,查接口不用到处找。
【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考