Obfuscation
Last updated
Last updated
This article will delve into the concept of obfuscation, explore its different types, and articulate 's philosophy on its application. We believe in a balanced and pragmatic approach, prioritizing the most developer experience, app performance, exploitability of attack techniques while minimizing potential drawbacks and considering cost efficiency, to ensure both security and the smooth business operation of your mobile applications.
Building the App in "Release" Mode
Removes debugging symbols
Function names, Line numbers in stack traces
android:debuggable=false
, Release
build configuration, flutter build
Enabling Built-in Obfuscation (Name Minification)
Minimizes Class, Method, and Field names
Class names, Method names, Field names
Android minifyEnabled = true
& R8, Flutter --obfuscate
Talsec Obfuscation Issues Check
String Obfuscation
Protects String Data
API keys, Sensitive URLs, Configuration values
Talsec.getSecret("apiKey01")
Runtime Application Protection
Protection at runtime
Protect against debugger attach, runtime manipulations (Frida hooking)
Dynamic Secret Provisioning
Secrets are provisioned dynamically in a secure way
Remotely pushed API keys, Sensitive URLs, Provisioning of large assets and media from the backend on demand
AppiCrypt-strengthened HTTP communication and remotely managed SecretVault
Talsec , Talsec with Remote Configuration