npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

frida-il2cpp-bridge

v0.12.2

Published

A Frida module to dump, trace or hijack any Il2Cpp application at runtime, without needing the global-metadata.dat file.

Readme

frida-il2cpp-bridge

Frida NPM

A Frida module to dump, trace or hijack any Il2Cpp application at runtime, without needing the global-metadata.dat file.

code

Features

  • Dump classes, methods, fields and so on
  • Trace, intercept and replace method calls
  • Mess around with the C# runtime
  • Il2Cpp structs and global metadata (almost) free

Compatibility

Unity version

It should work for any Unity version in the range 5.3.0 - 6000.1.x.

Platforms

Android, Linux, Windows, iOS, macOS are supported. However, only Android and Linux are "tested": expect breakage if you are using another platform.

CLI

Starting from version 0.10.0, a frida-il2cpp-bridge Python executable is included alongside the NPM package installation. This executable wraps the frida command and adds IL2CPP specific features. To invoke it, simply run:

npx frida-il2cpp-bridge --help

or

npm exec frida-il2cpp-bridge -- --help

Dumping

Use the dump subcommand to dump an application:

$ npm exec frida-il2cpp-bridge -- dump --help
usage: frida-il2cpp-bridge [options] dump [-h] [--out-dir OUT_DIR] [--cs-output {none,stdout,flat,tree}] [--no-namespaces] [--flatten-nested-classes] [--keep-implicit-base-classes]
                                          [--enums-as-structs] [--no-type-keywords] [--actual-constructor-names] [--indentation-size INDENTATION_SIZE]

options:
  -h, --help            show this help message and exit
  --out-dir OUT_DIR     where to save the dump (defaults to current working dir)
  --cs-output {none,stdout,flat,tree}
                        style of C# output (defaults to tree)
                        -   none: do nothing;
                        - stdout: print to console;
                        -   flat: one single file (dump.cs);
                        -   tree: directory structure having one file per assembly.
  --no-namespaces       do not emit namespace blocks, and prepend namespace name in class declarations
  --flatten-nested-classes
                        write nested classes at the same level of their inclosing classes, and prepend enclosing class name in their declarations
  --keep-implicit-base-classes
                        write implicit base classes (class -> System.Object, struct -> System.ValueType, enum -> System.Enum) in class declarations
  --enums-as-structs    write enum class declarations as structs
  --no-type-keywords    use fully qualified names for builtin types instead of their keywords (e.g. use 'System.Int32' instead of 'int', or 'System.Object' instead of 'object')
  --actual-constructor-names
                        write actual constructors names (e.g. '.ctor' and '.cctor')
  --indentation-size INDENTATION_SIZE
                        indentation size (defaults to 4)

Example:

npm exec frida-il2cpp-bridge -- -f com.example.application dump --out-dir dumps

Output:

Spawning `com.example.application`...
IL2CPP module loaded in 1.13s (id=com.example.application, version=1.12.8, unity version=2019.3.0f1)
Dumping mscorlib: 2872 of 2872 classes
Dumping GameAssembly: 32 of 32 classes
Collected 2904 classes in 4.76s
Dump saved to dumps/com.example.application/1.12.8

Testing

Over the time, it was realized that some testing was necessary, as supporting many Unity version makes introducing regressions or faulty features easy. Though it's far from being complete and bullet-proof, there's a minimal testing setup contributors can get advantage of to test their changes.
In order to test frida-il2cpp-bridge, a IL2CPP application is needed (of course). Here are some very useful resources:

Commands

Unity editors (so IL2CPP toolchains) will be downloaded and extracted automatically.

Prerequisites

  1. Only Linux is currently supported;
  2. Make sure to have clang and make installed.

Build IL2CPP assemblies

make assemblies

An assembly (GameAssembly.so) will be built for each of tested Unity versions.

Build IL2CPP assembly for a specific Unity version only

make unity/2019.3.0f1/

Run tests

make test

Tests run against only the installed Unity versions.

Acknowledgements

Thanks to meme and knobse for helping and getting me into this, and to djkaty and nneonneo for providing the Il2Cpp API.

Problems?

Discussions and Wiki are both active. Use them!