4

I have an app on android. I use facebook keys,twitterkeys on my strings.xml file. I use proguard. But when a man which want to see real code, decompile myapp , yes it is complex because I use proguard. But my strings value is seen. Is it a securty problem. I want to hide them or how can I encrypt them.

thanks

user3086226
  • 93
  • 1
  • 7
  • 18
  • 2
    you can't stop completely from reverse engineering. Proguard obfuscates the code. Its harder to reverse engineer. You can further use encryption and decryption algorithms – Raghunandan Mar 18 '14 at 06:12
  • Nope, there's nothing you can hide. APK is just a compressed file. What you can do is store these keys on the server encrypted and fetch inside your app and decrypt it – BlackBeard Mar 18 '14 at 06:18
  • 3
    @BlackBeard ok when I want to decrypt it I should use a key to decrypt it but reverse engineers can find that key too? – user3086226 Mar 18 '14 at 06:27
  • 4
    You can't beat a determined reverse engineer – miniBill Mar 18 '14 at 06:36
  • Even if they get the key, they wont get FB or Twitter keys right away, not by reverse engineering. Or a much better way, encrypt your data completely by generating different KEY for each new user on the server and send both DATA as well as KEY to decrypt, which would make everyone's life harder to **HACK**. This involves couple of steps more for server calls – BlackBeard Mar 18 '14 at 06:37

2 Answers2

1

As far as I know only possible way how to achieve your goal is to physically check every user. It could be some kind of form which user has to fill with some personal data so term "physically" is maybe not the best choice here. I guess you could do that semi automatically.

Other methods are just slowing down the reverse engineer and making his life harder.

If you have the controll over your users (for example if your app is for some company employees only), you can control people who download the app by providing password secured download site and provide that password only to company employees by mail or some other way.

But after all - every secure user can be the bad guy who provide apk to some reverse engineer, so you will be never 100% safe, until .apk format change in some way.

Srneczek
  • 2,143
  • 1
  • 22
  • 26
0

create one encrypted file with your text data and store in assets & read it from assets by decrypting it , is one of the better solution

pavanmvn
  • 749
  • 10
  • 21