Skip to content

Latest commit

 

History

97 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn ko-fi


V8 Killer

A powerful and highly customizable universal V8 virtual machine injector.
Explore the docs »

Report Bug · Request Feature

Documentations

Documentations are available under GitHub Pages.

About The Project

This project began with an initial idea: injecting scripts into Electron applications. There are traditionally two main approaches for accomplishing this.

  • Modifying resource files, such as .js or .asar files. However, this approach is highly invasive and cannot pass integrity checks in some software.
  • Opening a debugging port (--inspect or --inspect-brk) and injecting scripts using a debugger. However, some software may inspect this parameter or outright block it.

This project takes a different approach by hooking into the compilation functions of the V8 engine, directly modifying the source code passed to the V8 compiler. This allows scripts to be injected into the V8 engine without altering any local files or opening any debugging ports. Compatibility depends on the target's exported symbols and V8 ABI.

CI covers Node.js 22, 24 and 26 on Linux x64 and Windows x64 (MSVC). macOS support is experimental, with no CI tests.

This project is divided into two parts: core and launcher. The core constitutes the central component and represents the actual injected payload. The launcher is responsible for loading the payload, which is the core, into the target program.

On Linux, loading the payload can be accomplished simply using LD_PRELOAD. However, on Windows, this might require additional work, and this is where the purpose of the launcher comes into play.

So far, we support the following targets:

Target Supported Note
Node.js Tested Node 22 / 24 / 26; Linux x64 and Windows x64 CI.
Electron Unverified Symbol/ABI adaptation exists; real Electron injection has not been verified.
CEF Untested
Deno No Deno remove exports from V8. In future versions, we will introduce pattern matching to address this issue.

Pattern matching is on the way. #12

(back to top)

Getting Started

See Getting Started and the development guide.

CI runs Node 22.23.2, 24.21.0 and 26.8.1 on native Linux x64 and Windows x64 (MSVC). PRs test debug builds; master pushes and manual runs test debug and release builds. Each build is reused across all three Node versions.

Cargo dependencies, Rust and native build outputs, Node downloads and the Dobby archive are cached. Reports are retained for 7 days. Run CI manually to download release binaries.

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

ShellWen - @realShellWen - me@shellwen.com

Project Link: https://github.com/ShellWen/v8_killer

(back to top)

About

A powerful and highly customizable universal V8 virtual machine injector.

Topics

Resources

Stars

431 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages