How to Reduce File Size when Obfuscating code

This Knowledge Base article provides step-by-step instructions for implementing Binary Code Obfuscation with the  Favor App Size setting enabled.  With this setting enabled, Appdome will automatically detect and exclude publicly available elements from being obfuscated to reduce overall application package size.

We hope you find this knowledge base useful and enjoy using Appdome!

Appdome is a no-code mobile security and mobile integration platform that allows users to add security features, like RASP, code obfuscation, data encryption and more, as well as mobile threat, mobile fraud, anti-bot and other SDKs and APIs to Android and iOS apps. This KB describes how to use Appdome’s simple ‘click to build’ user interface to quickly and easily build Code Obfuscation with the optional “Favor App Size” feature enabled. 

There are no development or coding prerequisites to use obfuscate mobile apps using Appdome. For example, there is no SDK, no libraries, or plug-ins to implement. Likewise, there is no requirement to mark, symbol or manually obfuscate code inside Android or iOS apps. Appdome’s technology automatically obfuscates the mobile app binary using multiple obfuscation methods, giving you the same outcome as if you had done this work manually. Appdome’s mobile app binary code obfuscation modifies the mobile application binary code to make it unrecognizable by reverse-engineering tools such as IDA-Pro and Hopper. Using Appdome, there is no development work required to implement code obfuscation.

Optimize Your App’s File Size when implementing Binary Code Obfuscation

Obfuscation decreases the efficiency of compression algorithms, so obfuscating all the code in the app may increase its file size significantly. You can enable Favor App’s Size to keep publicly available elements unobfuscated in order to decrease the size of the built app.

If you enable Favor App Size, the following libraries will remain unobfuscated:

Open Source Libraries:

LibrariesComment
libstlport_shared.sohttps://developer.android.com/ndk/guides/cpp-support
libiconv.so, libzbarjni.sohttps://github.com/dm77/ZBarScanner
libtool-checker.sohttps://github.com/scottyab/rootbeer
libcrashlytics.so, libcrashlytics-envelope.sohttps://try.crashlytics.com/sdk-android
libfirebase.sohttps://github.com/firebase/firebase-android-sdk
libmpdf.sohttps://github.com/mpdf/mpdf
libj2v8.sohttps://github.com/eclipsesource/J2V8
libjniPdfium.so, libmodpdfium.sohttps://pdfium.googlesource.com/pdfium
libopencv_imgproc.so, libopencv_core.so, libopencv_java3.sohttps://opencv.org

Xamarin Libraries

libmonodroid.so, libmono-btls-shared.so, libmonosgen-2.0.so, libe_sqlite3.so

React Native

libfb.so, libfolly_json.so, libglog.so, libglog_init.so, libgnustl_shared.so, libicu_common.so, libimagepipeline.so, libjsc.so, libprivatedata.so, libreactnativejni.so, libyoga.so. libc++_shared.so

Unity

libunity.so, libil2cpp.so, libcri_ware_unity.so, libgpg.so

Cordova

libxwalkcore.so, libxwalkdummy.so, libsqlcipher.so

IMPORTANT: Some applications which come with anti-tampering might clash with Appdome’s binary code obfuscation. Read this article to learn about Appdome’s Anti-Tampering functionality.

Prerequisites for Mobile app obfuscation using Appdome

In order to use Appdome’s no code implementation of Binary Code Obfuscation, such as Flow Relocation, you’ll need:

How to Add Mobile App Binary Code Obfuscation to your app

Follow these step-by-step instructions to add Mobile App Binary Code Obfuscation to Any Mobile App:

Upload a Mobile App to Your Account

Please follow these steps to add a mobile app to your Appdome account.

If you don’t have an Appdome account, click here to create an account.

From the Security Tab, select Binary Code Obfuscation

Click the Build Tab. Note: A blue highlight and underline will appear showing the step is active. 

Click the Security Category. Note: A blue highlight will appear showing the category is active. 

  1. From within TOTALCode™ Obfuscation, enable Binary Code Obfuscation.
  2. Favor App’s Size (Android only, see below) can also be enabled with Binary Code Obfuscation.
  3. Click Build My App

favor app size when obfuscating code in ios and android apps using appdome

The technology behind Build My App has two major elements – (1) a microservice architecture filled with 1000s of code sets needed for mobile integrations, and (2) an adaptive code generation engine that can recognize the development environment, frameworks and methods in each app and match the app to the relevant code-sets needed to add the requested service to the mobile app in seconds.

Congratulations! When your integration is complete, you will see the notice below. You now have a mobile app fully integrated with Binary Code Obfuscation.success message - obfuscate mobile apps

What to do Ater I Build My App?

After you finish building your app on Appdome, there are a few additional steps needed to complete your mobile integration project.

That is it – Enjoy Appdome’s Binary Code Obfuscation in your app!

How Do I Learn More?

For more details, read the binary Code Obfuscation KB.

Binary Code Obfuscation is just one of the many features TOTALCode™ can offer in terms of code obfuscation.

If you have any questions, please send them our way at support@appdome.com or via the chat window on the Appdome platform.

Thank you!

Thanks for visiting Appdome! Our mission is to make mobile integration easy. We hope we’re living up to the mission with your project. If you don’t already have an account, you can sign up for free

Alan Bavosa

Have a question?

Ask an expert

EvgenyMaking your security project a success!