简体   繁体   中英

programming C in order to prevent reverse engineering in android

I am a beginner android developer and I want to make it hard to decompile my apk files. I uses ProGuard but it only changes functions and values names, and people still have access to the full code of my apps, so i'm looking for something stronger.

I have learned today and yesterday how to combine C files in the project and I managed to build an app that combine C and JAVA. I build few functions in C instead of JAVA, and the Java uses them in the app.

How much this method can prevent people from decompile my apps? I know that it's very easy to decompile JAVA, but what about C files ? Is it hard to decompile .so and .o files? Does this method is a good idea ? will it make it harder to decompile my app?

thanks for your help :)

It will make it harder but not impossible. Anyone sufficiently motivated will still be able to disassemble your binaries and see how your program works - disassembly is trivial and modern C decompilers are pretty darn good, too.

The bottom line in software security is that if you have a process that absolutely must be secret, it needs to be on a secure server. Anything that you run on someone else's device should be considered insecure. Pragmatically, however, there's simply not much motivation for people to do this, so even the low barrier (Java compilation) is more than enough to keep your code unseen.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM