尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

chromatic Chromium/V8 通用修改器完整安装指南:3 步编译注入你的 Hook 库

chromatic Chromium/V8 通用修改器完整安装指南:3 步编译注入你的 Hook 库 chromatic Chromium/V8 通用修改器完整安装指南3 步编译注入你的 Hook 库【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromaticchromatic 是注入 Chromium/V8 进程的通用修改器面向开发者和折腾党是 BetterNCM 的完全重写后继支持 Windows、macOS、Linux 的 x64 与 arm64。它解决没有源码也要给 Chromium 系软件加功能的问题写 JavaScript在目标进程里直接执行。30 秒看懂原理chromatic 把能力分成两部分一个静态库 chromatic-core和一个真正进驻目标进程的注入库 chromatic-injecteeWindows 上是 DLLLinux 是 .somacOS 是 .dylib。目标加载注入库后内嵌的 JS 引擎breeze-js即一个轻量 JavaScript 运行时启动执行你的脚本由你去读写内存、挂钩函数、打断点。简单说塞一个小库进去目标的内部就变成可脚本操控的。注入库有两种脚本装载模式EmbedJs 用 fripack 工具在编译后把脚本压缩进库体内WatchPath 从指定文件路径读取后台线程轮询文件变化并热重载。装完你能得到什么给任意 Chromium/V8 软件安装自定义 Hook 脚本无需重编译或改安装包读写进程内存、按十六进制模式扫描字节Memory.scanSync拦截任意原生函数调用改参数或返回值Interceptor.attach设置软件/硬件断点监视谁在读写一段内存MemoryAccessMonitorWatchPath 模式下脚本保存即自动热重载免去反复注入用 TypeScript 编写插件编译期自动打包成 JS安装前自查清单系统是 Windows / macOS / Linux 之一x64 或 arm64装了支持 C23 的编译器与 xmake装了 Node.js 和 pnpm构建 TypeScript 层需要已克隆仓库git clone https://gitcode.com/gh_mirrors/be/chromatic目标软件如 QQ 音乐或任何内嵌 Chromium 的程序已退出杀软若对注入库告警已提前放行标准安装3 步完成先构建 TypeScript 层。在 src/core/typescript 目录依次执行 pnpm install 和 pnpm build产出 dist/index.js——xmake.lua 会直接把它打进 chromatic-core跳过这步编译必挂。用 xmake 编译出三个产物。仓库根目录执行 xmake得到 chromatic-core 静态库、chromatic-injectee 注入库、chromatic-test 测试程序capstone、libtcc 等依赖包由 xmake 自动下载不用手动处理。跑测试程序自检。执行 build/平台/架构/模式/ 下的 chromatic-test全部用例通过即环境正确压测方法见 scripts/stress-test.sh。最后一步把注入库送进目标进程需配合你目标对应的注入工具完成README 注明使用文档尚在完善API 可先查阅 docs/zh-CN/API.md。编译不过换 WatchPath 模式不方便走 fripack 嵌入脚本这一步时可以绕开脚本进库环节。只编译注入库xmake -t chromatic-injectee把 .js 脚本放到进程可读的任意目录以 WatchPath 模式配置注入库并加载进目标最容易被忽略的细节监视线程每 500ms 检查一次文件写入时间且初次读取脚本若为空会静默退出加载前先确认文件里有内容。验证生效 故障排查验证看两处chromatic-test 用例无失败注入后控制台打印 [chromatic-injectee] Library loaded, initializing Chromatic engine随后出现你自己脚本的输出。不生效时按这些方向查缺构建产物chromatic-core 依赖 src/core/typescript/dist/index.js报找不到文件就回到第 1 步补构建Linux 链接错误breeze-quickjs-ng 与 breeze-js-runtime 之间的符号已由 xmake.lua 用 linkgroup 处理同样报错时检查是否自行改动过 xmake.lua注入库被拦共享库容易被杀软隔离查隔离区并放行后重新注入脚本报错但目标没崩注入库会把 Script error: 打到 stderr按提示修脚本即可进程本身不挂高频问题Q更新后需要重新注入吗只改 JS 脚本、注入库二进制没变的话不用WatchPath 模式保存即自动重载改了 C 代码才需要重新编译并重新注入。Q怎么卸载chromatic 驻留在目标进程内存里不修改软件安装目录的任何文件卸载即停止注入并重启目标恢复原状。Q多个 Chromium 软件能同时注入吗可以。每个进程各加载一份注入库内存相互独立、互不干扰甚至可以在不同目标里跑不同脚本。【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表