尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

chromatic 快速上手教程:如何给 Chromium/V8 程序注入自己的修改脚本

chromatic 快速上手教程:如何给 Chromium/V8 程序注入自己的修改脚本 chromatic 快速上手教程如何给 Chromium/V8 程序注入自己的修改脚本【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic想给常用的客户端加点自己的功能又不想反编译整个程序chromatic 干的就是这件事。它能把一段 JavaScript 脚本注入到任何基于 Chromium 或 V8 引擎的程序里让你在运行时读内存、拦函数、改行为。它来自 BetterNCM 的整体重写支持面从网易云扩大到一大批 Chromium 系软件。什么场景下你会用到 chromatic给客户端加小功能界面微调、自动填充几十行 JS 就够观察程序内部行为想知道某函数何时被调用、参数是什么挂个拦截器就能打印不想写 C内存扫描、断点这类底层操作用脚本就能做动手前准备系统要求和工具清单系统Windows、Linux、macOS 任选其一64 位x64 或 arm64已安装 Git已安装 xmake一个构建工具作用类似 Makefile能把源码变成可运行的文件一个文本编辑器用来写 JS 脚本目标程序任意 Chromium/V8 系应用三分钟跑通第一版克隆、装依赖、编译先克隆代码仓库git clone https://gitcode.com/gh_mirrors/be/BetterNCM进入目录接着执行构建cd BetterNCM xmake build首次构建会自动下载 capstone、libffi 等依赖稍等片刻。看到 build 目录下生成了chromatic-injectee要注入的动态库和chromatic-test自检程序即可继续。第一次运行看到 PASSED 才算成功 直接运行自检程序./build/chromatic-test产物按系统/架构/编译模式分层放在 build 目录里Windows 下运行对应的 .exe 即可。结尾统计行显示 PASSED说明编译和核心功能都没问题。最常用的三件事脚本模式、函数拦截、内存读写1. 选对脚本加载模式注入端支持两种方式把 JS 打包进动态库EmbedJs或指向一个 JS 文件并监听改动WatchPath。新手推荐 WatchPath改完脚本保存立即生效不用重新编译。2. 拦截一个函数Interceptor.attach(addr, { onEnter(args) { console.log(args[0]) } })挂上之后函数每次被调用都会打印参数。观察程序行为就从这里开始。3. 读写内存const buf Memory.alloc(64) buf.writeU32(0xCAFEBABE)配合Process.enumerateModules()能列出进程里所有模块拿到地址再操作。卡住了对照这份排错小抄 四个最常见的卡点xmake命令找不到敲xmake --version验证没装就先装好装完重新打开终端编译中途报错缺库首次构建需要联网拉依赖网络不稳就重跑一次脚本改了没反应确认是 WatchPath 模式且路径指向的正是你正在编辑的那个文件注入后目标程序崩溃先把脚本逻辑在 chromatic-test 里验证通过再注入真实客户端去哪看更多文档与源码入口中文 API 文档Process、Memory、Interceptor 等全部接口的用法示例英文 API 文档内容一致习惯英文的看这份src/core/typescript/脚本的类型定义源码写 JS 时可当速查手册下一步建议先用 WatchPath 模式写一个只打印日志的脚本注入一个 Chromium 系客户端跑通确认稳定后再尝试拦截函数和修改内存。遇到问题直接在项目仓库提 Issue中英文都可以。【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表