StringShield class

Singleton manager for runtime string deobfuscation.

Provides optional caching of deobfuscated values and tracks deobfuscation statistics.

StringShield().init(StringShieldConfig(
  enableCache: true,
  enableStats: true,
));

// Access stats:
print(StringShield().deobfuscationCount);

Constructors

StringShield()
Returns the singleton StringShield instance.
factory

Properties

cacheSize → int
The number of entries currently in the cache.
no setter
config → StringShieldConfig
The current configuration.
no setter
deobfuscationCount → int
The total number of deobfuscation operations performed.
no setter
fieldAccessCounts → Map<String, int>
Per-field access counts.
no setter
hashCode → int
The hash code for this object.
no setterinherited
isCacheEnabled → bool
Whether caching is enabled.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

clearCache() → void
Clears the deobfuscation cache.
getCached(String fieldKey) → String?
Returns a cached value for fieldKey, or null if not cached.
init(StringShieldConfig config) → void
Initializes the StringShield with the given config.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
recordAccess(String fieldKey) → void
Records a deobfuscation event for statistics.
reset() → void
Resets the StringShield to its default state.
setCached(String fieldKey, String value) → void
Stores a deobfuscated value in the cache under fieldKey.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited