Is it possible to prevent or otherwise hinder the decompilation of your own applications? Programmatically or otherwise?
Asked
Active
Viewed 127 times
2 Answers
3
You can at most make it difficult to analyze your app by using obfuscators like proguard. You can put logic into NDK compiled c++ libraries. Hackers will still be able to decompile, modify, distribute, ... your app. I know this from experience, its better to put your time into new features than spending too much time on protecting your app.
... of course you can move you app logic (whatever you want to protect) online.

marcinj
- 48,511
- 9
- 79
- 100
2
Proguard already does it for you, although it's used to make the bytecode smaller.
Remember, there is nothing special in your code. You're not the great genius you think you are, so any time you put into this is wasted time.
(If you were a genius, you wouldn't be asking this question ;)

Kayaman
- 72,141
- 5
- 83
- 121
-
2Proguard doesn't hinder decompilation. It just makes it harder to read the output. – Michael Feb 13 '14 at 17:42
-
I know :P , but i'd still like to hinder the appearance of clones if i happened to stumble on something good. Of course inevitably if the application was good it would be recreated/developed again in some way. – Christopher Lawless Feb 13 '14 at 17:45
-
@Michael Well, it hinders the **understanding** of the decompiled code, which is the main issue. – Kayaman Feb 13 '14 at 17:45
-
Could i just leave random unused code in there? e.g. redherring.class – Christopher Lawless Feb 13 '14 at 17:52
-
@Kayaman: Sure. The key word there is "hinders", though. The OP should be aware that he's not going to be able to _prevent_ anyone from reverse-engineering his app; all he can do is make it slightly more difficult. – Michael Feb 13 '14 at 17:52
-
1@ChristopherLawless If your application is important enough (banking/security/whatever), the "attacker" will be very motivated. If the application isn't important enough, nobody will even care. It all comes down to how much time you will be wanting to waste. – Kayaman Feb 14 '14 at 08:28