工欲善其事必先利其器,先下载工具链: apktool, jd-gui, dex2jar.sh
【这里已经假设你有android基础】
反编译APK确实我已经没有接触过,由于工作需要,我只能硬着头皮学习了。
反编译APK程序,必须需要一定的android基础还要有 汇编基础(这个没有关系,可以看看网上JAVA汇编注释)
一般的代码都可以反编译出来,但是有一些代码被混淆了或者被如何如何了,所以需要看类似汇编的代码,有很多核心的代码会写成一个动态库的形式,如果你需要反编译出来自己写的程序也能运行起来,必须会NDK(说白了,只是绑定而已).
如果破解,需要改东西,必须一定要会看 smali 的代码.
[if语句的判断]
if-eq v0, v1, : cond_0 # v0 == v1 跳转到 cond_0 执行流程.
if-ne v0, v1, :cond_0 # v0 != v1....
if-lt v0, v1, :cond_0 # v0 < v1 ....
if-le v0, v1, :cond_0 # v0 <= v1 ... ...
if-ge v0, v1, :cond_0 # v0 >= v1 ....
if-gt v0, v1, :cond_0 # v0 > v1 ... ...
if-eqz v0,:cond_0 # v0 == 0 ... ...
if-nez v0, :cond_0 # v0 != 0 ... ...
if-ltz v0, :cond_0 # v0 < 0 ... ...
if-gez v0, :cond_0 # v0 >= 0 ... ...
if-gtz v0, :cond_0 # v0 > 0
if-lez v0, :cond_0 # v0 <= 0