5 ms·
With android apk's can so see the complete source code of the app?
by icpmacdo 13y ago
With android apk's can so see the complete source code of the app?
- conradev 13y agoNo, but you can disassemble them to see the Dalvik bytecode[1], which is not too hard to understand. [1] http://source.android.com/tech/dalvik/dalvik-bytecode.html http://source.android.com/tech/dalvik/dalvik-bytecode.html
- wellboy 13y agoYou can actually reverse engineer an entire app to java code and see all the resources such as strings and images. Just takes around 10 minutes http://stackoverflow.com/questions/3593420/android-getting-source-code-from-an-apk-file http://stackoverflow.com/questions/3593420/android-getting-s... You can prevent this by obfuscating your code in eclipse with proguard, however most apps are not obfuscated.
- lnanek2 13y agoEven with obfuscation you tend to just end up with the code, but all the identifiers are replaced with a, b, c, etc.. I've still been able to figure Bluetooth protocols and other things without much trouble. For pirates, impersonators, and malware creators, they often just have to find free/pro/goods counter/license check/sig check or add in a call to their own extra code to run. So a little tougher for them, but not the end.
- deleted 13y ago[deleted]
- mbell 13y agoJava class files (compiled Java) can be decompiled. Unless they ran the code through an obfuscator or something in the android dev cycle does that automatically (I don't know), you can get the full source with full variable names, more or less. The stock javac compiler doesn't do much in terms of optimization, there are a couple things it does (replaces accesses to 'final static' members with constants for example), most is left to the JIT, bytecode -> source translation is pretty straight forward and you don't lose much.
- maceip 13y agoas mentioned, you can use a dalvik decompiler. I recommend JEB: http://www.android-decompiler.com/ http://www.android-decompiler.com/ It's like IDA but for APKs.