assets:对应android工程中的assets文件夹下的资源文件,通过AssetsManager进行管理
classe.dex: classes.dex文件是java编译生成的二进制资源文件,是直接给dalvik虚拟机识别的,不同于java虚拟机识别class文件,目前常见的java反编译工具也不能处理dex文件,需要专门的dex2 jar工具反编译dex文件为jar文件,然后在用JD-GUI工具将jar反编译成java文件;
res:res文件用来存放所有项目涉及到的图片,xml等资源文件,反编译后可以直接看到这些资源内容,有些公司为了提高apk 的安全性,甚至对资源文件也进行了混淆,比如美团,传送门:美团Android资源混淆保护实践(http://tech.meituan.com/mt-android-resource-obfuscation.html)
resources.arsc: resources.arsc文件中保存的是二进制的资源文件,汉化软件的人都是修改这个文件
AndroidManifest.xml: 该文件中放的是混淆后的android的清单文件,我们可以使用AXMLPrinter2工具反编译得到具体的内容;
META-INF: 该文件夹目录下存放的是软件的签名信息,用来保证apk包的完整性和安全性。在软件安装的过程中会对包里的文件进行校验;如果校验信息与META-INF中的信息不一致,系统会拒绝软件的安装。一般情况,android开发人员会将重要信息封装到.so的库文件中,这些信息是无法反编译的。
反编译:可以参考Android 反编译工具的使用_菜鸟xiaowang的博客-CSDN博客_android 反编译工具
apk签名可以参考: