ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

chromatic 修改器使用指南:在 Chromium 应用里注入 JS 脚本

chromatic 修改器使用指南:在 Chromium 应用里注入 JS 脚本 chromatic 修改器使用指南在 Chromium 应用里注入 JS 脚本【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic想改一个 Chromium 内核的本地应用却拿不到源码也分不清功能藏在哪个函数。chromatic 是 Frida 风格的 Chromium/V8 修改器把 JS 运行时注入目标进程hook 函数、读写内存、下断点都写在 JS 里。 项目定位与技术栈chromatic 是 BetterNCM 的重写BetterNCM 只服务网易云音乐 2.10~3.0 客户端重写后它面向任意带 Chromium/V8 内核的应用覆盖 Windows、Linux、macOS、Android 四个平台与 x64、arm64 两种架构。技术栈为 C23 加 xmake 构建JS 侧使用 QuickJS 系运行时 breeze-js反汇编、原生调用与动态代码生成分别交给 capstone、libffi、asmjit 处理。 chromatic 安装与构建步骤克隆仓库git clone https://gitcode.com/gh_mirrors/be/BetterNCM运行xmake build编译依赖自动拉取产出核心静态库、注入动态库与测试程序。执行 chromatic-test 跑 gtest 测试套件确认环境可用。用 fripack 命令行把 JS 打进动态库嵌入模式或指向本地 JS 文件启用 watch 热重载。⚙️ 核心功能拦截、扫描与断点chromatic的 JS API 分五个方向全部通过全局对象暴露。函数拦截配置方法Interceptor.attach 挂到任意导出函数onEnter 拿参数onLeave 可改返回值。例给 malloc 挂 hook 打印每次分配大小出现异常值就知道是哪个功能在申请内存。内存读写与模式扫描NativePointer 支持 8 位到 64 位读写Memory.scanSync 支持 ?? 通配。例scanSync(buf, 64, ef be ad de) 定位一段字节scanModule 可扫整个模块。断点与内存访问监控设置INT3/BRK 软件断点加硬件调试寄存器通常 4 个MemoryAccessMonitor 按页粒度回调读、写、执行。例给 4 字节计数器设 write 观察点它一变就能看到写入者。反汇编与交叉引用分析Instruction.disassemble 输出助记符与操作数findXrefs 定位交叉引用。例反汇编函数入口 5 条指令再从 100 条里过滤出全部 call 指令。脚本注入与热重载模式两种注入模式embed 把 JS 打进动态库随进程启动执行watch 读取本地文件保存后自动重载不用重启应用。 适用人群与使用时机你是做安全研究的学生实验课上 hook 样本的 Chromium 进程在 onEnter 里打印参数不碰源码也能还原调用流程。你是维护本地工具的开发者晚上把补丁逻辑写成 watch 模式的 JS 文件保存即重载改一次不用重启一次应用。你是分析闭源应用的逆向工程师夜里在可疑模块里扫字节模式再下硬件断点盯住值的变化把排查范围从整个模块缩到单个函数。 上手前必读的注意事项chromatic仍在活跃开发阶段README 明确标注 warning先跑 chromatic-test 验证环境遇到问题直接提 Issue中英文均可。API 与 Frida 兼容现有 Frida 脚本大多能直接迁移跨平台调用原生函数时注意选 ABIsysv、stdcall、win64。老版 BetterNCM 只支持网易云 2.10~3.0重写版面向任意 Chromium/V8 应用注入前先读 Process.arch 与 Process.platform确认目标在四平台两架构的支持矩阵内。源码可从上文的 gitcode 地址克隆API 文档共 13 章docs/zh-CN/API.md 里每个命名空间都带参数说明与示例建议先读 Memory 与 Interceptor 两章再动手。【免费下载链接】chromaticUniversal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器项目地址: https://gitcode.com/gh_mirrors/be/chromatic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表