native_armor_vault 1.0.2
native_armor_vault: ^1.0.2 copied to clipboard
Native code obfuscation for Flutter. Encrypts secrets using rotating XOR and stores them in C++ native layer for better protection against reverse engineering.
1.0.2 #
🔴 Critical Android Build Fixes #
- BREAKING: Fixed Java keyword conflict in package name
- Changed from
com.native.armor_vaulttocom.nativearmor.vault nativeis a reserved keyword in Java - was causing compile errors
- Changed from
- AGP 8.x compatibility: Added
namespaceto build.gradle- Required for Android Gradle Plugin 8.x+
- Prevents "Namespace not specified" error
- Removed deprecated package attribute from AndroidManifest.xml
- Package now defined in build.gradle (modern approach)
⚠️ Migration Required #
If upgrading from v1.0.0 or v1.0.1:
- Run
flutter clean - Run
flutter pub get - Rebuild your Android app
No code changes needed - package rename is internal!
1.0.1 🎉 #
🔒 Major Security & Stability Improvements #
- Rotating XOR encryption - Now uses ALL characters of the key
- Previous versions: Only first character was used (very weak!)
- Now: Full key rotation for better obfuscation
- Fixed memory crash - Removed incorrect
calloc.free()for static buffers- Static memory cannot be freed - was causing crashes!
- Added explanatory comments in generated code
- Thread safety - Added
thread_localto static buffers- Prevents race conditions in multi-threaded apps
- Each thread gets its own buffer
- Honest documentation - Clarified this is obfuscation, not military-grade security
- Added realistic threat model
- Clear use case guidelines
- Warnings about limitations
🐛 iOS Bug Fixes #
- Generator now writes to
.symlinks/plugins/directory- Ensures
pod installsees C++ files immediately - No more manual copying required
- Ensures
- Simplified podspec - removed complex script_phases
📝 Documentation #
- Updated README with honest security assessment
- Added "Known Limitations" section
- Clear guidance on when to use (and when NOT to use)
⚠️ Breaking Changes #
If upgrading from v0.x:
- Run
dart run native_armor_vault:generateagain - Your secrets will be re-encrypted with rotating XOR
- No code changes needed in your app!
0.0.9 #
Bug Fixes #
- FINAL FIX: iOS symbol not found - Generator writes to .symlinks
- Generator now writes C++ files directly to
.symlinks/plugins/directory - This ensures
pod installsees the file immediately - Removed complex script_phases - simple and reliable solution
- Also writes to
.dart_tool/andios/Classes/as fallback
- Generator now writes C++ files directly to
0.0.8 #
Bug Fixes #
- CRITICAL: iOS symbol not found - Fixed with PODS_ROOT
- Uses
$PODS_ROOT/../..for reliable project root detection - Script runs during Xcode build (before_compile)
- Fallback to
ios/Classes/if.dart_tool/not found - Added debug output showing searched path
- This version WILL work!
- Uses
0.0.6 #
Documentation #
- IMPORTANT: Added critical iOS setup instructions to README
- Clear step-by-step guide for iOS users
- Highlighted
pod installrequirement aftergenerate - Added warning about "symbol not found" error prevention
- Improved user experience with explicit instructions
0.0.5 #
Bug Fixes #
- CRITICAL: iOS "symbol not found" - Final fix with prepare_command
- Added
prepare_commandto podspec to copy C++ files before build - Generator writes to both
.dart_tool/andios/Classes/ - Podspec copies from
.dart_tool/to plugin'sClasses/directory - No manual file copying required
- Works correctly from pub-cache
- Added
0.0.4 #
Bug Fixes #
- CRITICAL: iOS "symbol not found" error (proper fix)
- Generator now writes C++ files to
.dart_tool/native_armor_vault/ios/Classes/ - Podspec updated to read from
.dart_tooldirectory - No manual file copying required
- Works correctly from pub-cache
- Generator now writes C++ files to
0.0.2 #
Bug Fixes #
- CRITICAL: Fixed iOS "symbol not found" error
- Updated podspec to include user's project
ios/Classesdirectory - No more manual file copying required
- Improved user experience significantly
- Updated podspec to include user's project
0.0.1 #
- Initial release
- XOR encryption for secrets stored in native C++ layer
- Automated code generation via CLI (
dart run native_armor_vault:generate) - Support for Android (dynamic library
.so) - Support for iOS (static linking)
- FFI bridge for seamless Dart-C++ integration
- Customizable secret names
- Example app demonstrating usage
- Comprehensive documentation