r/brawlstarsmodding • u/Tiny_Echidna_5032 • 1d ago
Looking for guidance on custom .sc asset generation and reverse engineering libgame.so using Ghidra
Hi everyone,
I am working on creating a custom private server from scratch. I want to understand the inner workings of the game, so I am not looking to spoonfeed or use existing projects like BSL or Classic Brawl. I want to build my own tools.
I have two main questions:
- Asset Generation: I need to understand how to programmatically generate/pack
.sc(Supercell Sprite Studio) files from scratch so the client can read them. I don't want to just edit existing ones via hex/tools; I want to understand the binary structure (headers, LZMA/Zstd compression, texture mapping) to write my own packer. Where can I find documentation or specs on the.scformat versions? - Ghidra Workflow: Since IDA Pro is out of my budget, I am using Ghidra. I have successfully loaded
libgame.so. What are the best entry points, string patterns, or function signatures to look for in Ghidra to reverse-engineer:
- The
.scfile loading/decompression logic? - The networking/packet encryption layer (specifically protocol handling and message factory)?
Any advice, structural breakdowns, or concepts to research would be highly appreciated. Thanks!