摘要:
由于apk是Android虚拟机加载的,它有一定的规范,加密apk后Dalvik无法识别apk了。 完全避免是不可能的,总有人能够破解你的代码。但还是有几种方式来提高被反编译获取代码的难度。 提高反编译难度的几种方式: 1. 关键代码使用jni调用本地代码,用c或c++编写,相对于class文件,so相对比较难于反编译。 缺点是很多搞java的程序员不太熟悉如何写c或c++代码,同时本地代码很难调试。出错容易导致整个虚拟机死掉,用户感受不好。 2. 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。 网上开源的java代码混淆工具较多,自己上 阅读全文