反编译APK,学习别人的源代码是一种提高的方法,不能窃取别人的成果进行商业行为。反编译APK,分为两部分,分别是反编译资源文件和源代码(.class)。下面实验的系统环境是win10。
一.反编译资源文件
用到的工具是apktool,可以去官网上下载最新版本的apktool,解压后,把apk文件移到同一目录下,然后在dos下运行: apktool d -f XXX. apk [解压存放目录]
下面是反编译ActivityTest.apk资源文件的截图:
已经生成了目录ActivityTest,当然上面你可以自定义反编译后文件存放的目录,默认的目录名称是当前apk名称,下面打开目录:
已经得到了资源文件。
二 .反编译源代 码
需要用到的工具是dex2jar和JD-GUI,可以到官网上下载后,分别解压。下面我用的是dex2jar-2.0,jd-gui-0.3.5.windows 把XXX.apk文件,修改后缀apk为rar或者zip,然后解压后,得到classes.dex文件,把该文件移动到与dex2jar解压后的同一目录下,运行行:dex2jar.bat classes.dex
已经生成了classes-dex2jar.jar文件,但是生成的是字节码,我们不能直接查看,需要用jd-gui工具查看:
源码看的一清二楚。
上面只是简单的介绍了如何反编译apk文件,所用到的工具分享在网盘中。地址: http://yunpan.cn/cLpuVhmZvAaki 提取码 d70a
有朋友可能会问,如何防止反编译呢,Anroid提供了混淆文件proguard,而且可以通过gui界面来操作,感兴趣的朋友可以尝试。
一.反编译资源文件
用到的工具是apktool,可以去官网上下载最新版本的apktool,解压后,把apk文件移到同一目录下,然后在dos下运行: apktool d -f XXX. apk [解压存放目录]
下面是反编译ActivityTest.apk资源文件的截图:
已经生成了目录ActivityTest,当然上面你可以自定义反编译后文件存放的目录,默认的目录名称是当前apk名称,下面打开目录:
已经得到了资源文件。
二 .反编译源代 码
需要用到的工具是dex2jar和JD-GUI,可以到官网上下载后,分别解压。下面我用的是dex2jar-2.0,jd-gui-0.3.5.windows 把XXX.apk文件,修改后缀apk为rar或者zip,然后解压后,得到classes.dex文件,把该文件移动到与dex2jar解压后的同一目录下,运行行:dex2jar.bat classes.dex
已经生成了classes-dex2jar.jar文件,但是生成的是字节码,我们不能直接查看,需要用jd-gui工具查看:
源码看的一清二楚。
上面只是简单的介绍了如何反编译apk文件,所用到的工具分享在网盘中。地址: http://yunpan.cn/cLpuVhmZvAaki 提取码 d70a
有朋友可能会问,如何防止反编译呢,Anroid提供了混淆文件proguard,而且可以通过gui界面来操作,感兴趣的朋友可以尝试。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29876893/viewspace-1844900/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29876893/viewspace-1844900/