repinek/frida-il2cpp-proto-dumper
GitHub: repinek/frida-il2cpp-proto-dumper
Stars: 5 | Forks: 0
# frida-il2cpp-proto-dumper
Dumps `protobuf-net` messages and enums from an IL2CPP Unity game into a valid `.proto` file using [Frida](https://frida.re/) and [frida-il2cpp-bridge](https://github.com/vfsfitvnm/frida-il2cpp-bridge)
## How it works?
Injects into the game process via Frida and going through IL2CPP domain at runtime.
## Requirements
- Python >= 3.7 for [Frida](https://frida.re)
- Node.js
- Unity IL2CPP Game _(protected or obfuscated games are probably not supported)_
## Usage
1. Clone repo
git clone https://github.com/repinek/frida-il2cpp-proto-dumper
cd frida-il2cpp-proto-dumper
2. Install dependencies
python -m venv .venv # Creating a virtual environment for Python
# Activate Python venv, it's depending on what OS you are. For example Linux with fish:
. .venv/bin/activate.fish
pip install -r requirements.txt
npm install
3. Build script
npm run build
Script will be built into `dist/agent.js`
4. Spawn script by using any method (frida-server, frida-gadget...)
Once attached, the script will automatically dump and report the absolute output path.
#### Expected output
Script and Il2cpp Loaded!
x assemblies loaded!
Found 2 custom_attrs exports!
Checking Assembly-CSharp...
Found proto classes in protobuf-net!
Dumping ABC.XYZ...
Done! Written to /abc/xyz/proto/dump.proto
## License
This project is licensed under the **MIT License**.
See the [LICENSE](LICENSE) file for details.
## Acknowledgements
This project was inspired by and based on the DJ Katy research
- **[Il2CppProtoExtractor-FallGuys](https://github.com/djkaty/Il2CppProtoExtractor-FallGuys)** - Original C# tool uses [Il2CppInspector](https://github.com/djkaty/Il2CppInspector) to generate `.proto` file
- **[Practical IL2CPP: Extracting Protobuf Definitions](https://katyscode.wordpress.com/2020/08/10/practical-il2cpp-protobuf/)** - djkaty's Article about reverse engineering `protobuf-net` structures and IL2CPP.
标签:自动化攻击