stealth_enum_generator
The companion build_runner code generator for stealth_enum.
This package transforms @StealthEnum() annotated private Dart enums into zero-cost, obfuscated Dart 3 extension types to neutralize AI-driven reverse engineering pipelines (REA, Blutter, Ghidra).
Getting started
Add stealth_enum_generator to your dev_dependencies alongside build_runner, and stealth_enum to your dependencies:
dependencies:
stealth_enum: ^0.1.0
dev_dependencies:
build_runner: ^2.4.0
stealth_enum_generator: ^0.1.0
Then run:
dart pub get
# or for Flutter:
flutter pub get
How it works
StealthEnumGenerator extends GeneratorForAnnotation<StealthEnum> from source_gen:
- Validation: Inspects
@StealthEnum()annotations and ensures they are applied to privateEnumElementdeclarations. - Identifier Extraction: Resolves the public type name (strips the leading
_or applies the customname:override). - Entropy & Value Generation: Computes collision-free, deterministic 32-bit hex values for each constant using a seeded random distribution.
- Extension Type Synthesis: Emits an
extension type const <Name>._(int rawValue)with static constants,valueslist, and fully inlined.when()/.maybeWhen()pattern matching methods. - String Sanitization: Generates wildcard fallbacks (
_ =>) to ensure no exception strings or class names leak into the compiled AOT binary. - Shared Pipeline Integration: Built with
SharedPartBuilderso it seamlessly shares.g.dartfiles withjson_serializable,freezed, and other generators.
For full documentation and examples, see the stealth_enum README.
Contributing
PRs and issues are welcome! Please open an issue first for significant changes.
License
Made with 💛 by aslamambiloly © 2026
Libraries
- stealth_enum_generator
- stealth_enum_generator — build_runner code generator for stealth_enum.
