怎么逆向工程对Android Apk 进行反编译
google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它 的做法,同时啊,还可以借鉴别人的软件结构,资源文件;作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。
此方式主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。请勿去破解人家的软件或其他操作
反编译工具包
- apktools-目前最强大的反编译工具
轻松反编译apk,解析出资源文件,xml文件,生成smali文件,还可以把修改后的文件你想生成apk。
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
- dex2jar
将apk中的dex文件转换成为jar文件,很多人不会看smali文件,还是看java类文件比较舒服,这个时候可以借助这个工具来转成java,也是支持windows,linux,mac。
作用:将apk反编译成java源码(classes.dex转化成jar文件)
- jd-gui
查看jar文件,基本可以看到java class文件了,也是支持mac,windows,linux。
作用:查看APK中classes.dex转化成出的jar文件,即源码文件
反编译流程
一、准备好要反编译的软件
二、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
使用apktools进行apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
将需要反编译的APK文件放到该目录下,打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:
apktool.bat d -f emanager.apk emanager