


AronaUnflatd is a specialized tool that reconstructs FlatBuffer schema files (.fbs) from decompiled C# code using advanced static analysis techniques.
Features
- ๐ ๏ธ Converts decompiled C# classes to FlatBuffer schemas
- ๐งฉ Preserves table structures, fields, and attributes
- ๐ Reconstructs enum definitions with values
- ๐ Handles nested tables and union types
- ๐ Processes entire directories recursively
- ๐ Maintains field ordering and type information
- โ
Validation of generated schemas
- ๐ Verbose logging for debugging
Installation
From Source
git clone https://github.com/arisu-archive/arona-unflatd
cd arona-unflatd
make build
Go Install
go install github.com/arisu-archive/arona-unflatd@latest
Usage
Basic Conversion
arona-unflatd decompile \
-i ./decompiled_csharp \
-o ./schema_output
Technical Overview
Parsing Pipeline
- Lexical Analysis - Tree-sitter tokenizes C# source
- Syntax Tree Construction - Builds AST with 50+ node types
- Pattern Matching - Executes S-expression queries.
- Semantic Analysis - Resolves type dependencies
- IDL Generation - Outputs validated .fbs files
Key Components
| Component |
Responsibility |
Tech Stack |
| Parser Engine |
Syntax tree construction |
Tree-sitter C# |
| AST Walker |
Pattern matching and node traversal |
Go + C bindings |
| Type Resolver |
C# to FBS type conversion |
Custom rule engine |
| Schema Generator |
IDL formatting and validation |
Template engine |
Development
Build System
make tidy # Format code and clean deps
make audit # Run security checks (govulncheck)
make mocks # Generate mocks
make test # Run tests with coverage
make bench # Performance benchmarking
Contributing
We welcome contributions! Please see our Contribution Guidelines and:
- Follow Go style guidelines
- Include Ginkgo test coverage
- Update documentation accordingly
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer: This tool requires properly decompiled C# code. Schema recovery accuracy depends on original binary structure preservation during decompilation.