4

I have developed a hybrid app for both iOS and Android. If I use some some hacking tools then I can unzip the APK file and see the code.

I also decrypted some famous app source code using the following website

http://www.javadecompilers.com/apk

I have following question:

  1. Is it permissible to encrypt the app code in both App store(android play store & Apple app store)?

  2. Is is the best practice?

  3. If it is permissible, what are the way to encrypt?

  4. Will be the encrypted app approved by app-store?

Artjom B.
  • 61,146
  • 24
  • 125
  • 222
Naju
  • 1,541
  • 7
  • 27
  • 59
  • 3
    Encryption should not be confused with obfuscation. You can still find out what the code is doing by reading the obfuscated code. You can even change it. If we talk about modern encryption, then the code would need to be completely unintelligible aside from the length of the code. And this is not entirely possible, because the CPU needs to understand the code. If the CPU can understand the code, so could you. – Artjom B. Feb 20 '17 at 19:14

2 Answers2

7

For Android

  1. Yes it is allowed on Google Play Store for Android.
  2. Yes it is a good practice (By using Proguard you can shrink your code, encrypt your code etc.)
  3. Proguard is the best way to to it in Android.
  4. Yes if you add proper proguard rules in your proguard file. The apk should run properly and will be accepted by the playstore.

Yes you can encrypt your Android source code using Proguard https://developer.android.com/studio/build/shrink-code.html

For iOS

I am not sure but i don't think you can use any hacking tool to decrypt iOS code.

Proguard

Proguard is free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names.

Hope this helps.

  • Thanks for the detailed reply but pro-guard is a tool to shrink the code and resources but not for encrypt.,am i correct? – Naju Feb 20 '17 at 07:49
  • 1
    No, proguard is also used to obfuscate/encrypt your code. Please refer to the following link http://stackoverflow.com/questions/35145540/how-to-enabling-proguard-obfuscation-in-android-studio – Zeerak Hameem Feb 20 '17 at 07:54
  • 5
    Obfuscating the code is not the same as encrypting it. – James Goodwin Feb 28 '17 at 11:11
  • There are open source solutions to decrypt iOS apps. https://github.com/as0ler/r2flutch – efremidze Oct 07 '21 at 20:07
1

Try this Bg+ Anti Decompiler/Obfuscator It's the best tool for protect your android apps. One sample:

void ¢¢£()
{
   ¢¢ = (AdView) findViewById(R.id.ad_view);
   ¢¢¢=null;
   {
     AdRequest ¢¢¤ = new AdRequest.Builder() .build();
      ¢¢.loadAd(¢¢¤);
     ¢¢º();
   }
}
Neoco
  • 39
  • 2