它的原理是劫持 V8 中的 v8::ScriptCompiler::CompileFunctionInternal(...),修改传入这个函数的参数,将指向原有 v8::Local 的指针指向修改之后的 v8::Local。
目前 V8 Killer 支持的目标有:
目前以下平台由于移除了 V8 的符号导出,目前尚未支持,未来将引入符号匹配支持这些平台:
项目目前支持 Windows 和 Linux 双平台,macOS 的支持仍在规划中。由于主要维护者(我)缺少 macOS 设备,macOS 支持可能仍需一段时间。欢迎各位果子程序员适配 PR 。
项目仍在活跃开发中,欢迎提交 Feature Request 和 Bug Report 到 GitHub Issues 中,也欢迎在评论区中直接提及。我会尽快处理他们 :)
题外话,这是我第一个使用 Rust 编写的正式项目,也是我 GitHub 目前为止唯一的正式项目,限于水平问题,代码难免简陋,也没有很好地组织项目结构,还望各位多多指教。
这里是 GitHub 链接:ShellWen/v8_killer。