最近在学习Android 移动安全逆向方面,逆向首先要看懂代码,Android4.4之前一直使用的是 Dalivk虚拟机,而Smali是用于Dalivk的反汇编程序的实现. Smali 支持注解,调试信息,行数信息等基本Java的基本特性,可以说是很接近Java编译再JVM上的中间语言,一般用来做Android程序的逆向工程. 1.Smali文件结构 一个Smali文件对应的是一个Java的类,更准确的说是一个.class文件,如果有内部类,需要写成ClassName$InnerClassA,C