10

I have an app source and its APK file. Now I want to prevent this APK file from being reverse engineered. If it is possible to secure my app from reverse engineering, what are the steps to follow in my coding or any library is used for that?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
RajeshVijayakumar
  • 10,281
  • 11
  • 57
  • 84
  • possible duplicate of [Is it possible to decompile an Android .apk file?](http://stackoverflow.com/questions/3122635/is-it-possible-to-decompile-an-android-apk-file) – PearsonArtPhoto Nov 14 '12 at 13:52
  • Went to a good talk on this at Devoxx UK - check it out [here](http://www.parleys.com/play/5167dc5ce4b05b6ad71fa6fb/chapter0/about) – BrantApps Jun 19 '13 at 11:11
  • possible duplicate of [How to avoid reverse engineering of an APK file?](http://stackoverflow.com/questions/13854425/how-to-avoid-reverse-engineering-of-an-apk-file) – Adam Stelmaszczyk Aug 25 '13 at 17:36

1 Answers1

14

Now I want to prevent this APK file from being reverse engineered.

That is impossible, sorry.

If it is possible to secure my app from reverse engineering, what are the steps to follow in my coding or any library is used for that?

ProGuard, properly configured, will obfuscate your code. DexGuard, a commercial extended version of ProGuard, may help a bit more. However, your code can still be converted into smali, and developers with reverse-engineering experience will be able to learn what you do from that smali code.

If you do not want others seeing your code, do not store that code on their device.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
CommonsWare
  • 986,068
  • 189
  • 2,389
  • 2,491
  • How not to store the code on their device? Let's say they have a rooted device and downloaded your APK for the first time. They got your APK and can start from there right? – stuckedunderflow Apr 05 '13 at 05:26
  • 11
    @Halim: "How not to store the code on their device?" -- put your business logic on your server, and have your app talk to your server. – CommonsWare Apr 05 '13 at 12:03