师兄最近交给了我一任务,就是将Android的APK文件反编译成Java文件,并且还要用python命令给写出来。之前一直卡在了Python命令行这一步了,后来得到一高人指点才爬出了坑。为了整理知识点,故将这些步骤给分享出来,希望对大家也有所帮助!将APK文件反编译成Java文件
Android的APK文件其实就相当于是一个zip类型的压缩包,我们一般是先将它解压,然后只需提取出其中的classes.dex即可,其余的一大堆文件我们不管。对了,说到这儿有一点要着重吐槽:网上基本上没有现成的APK文件供你下载。我当时是在手机浏览器里才找到一些APK文件的,我把其中两个APK文件的百度云盘链接也贴出来,大家可以自取。
提取码:jv27
下图就是其中一个APK文件解压缩后的内部文件示意图:
按照步骤,我们要做的有两步。先将classes.dex文件编译成classes.jar文件,再将classes.jar文件反编译成classes.javasrc,zip文件,即相应java文件的压缩包。这两步手动编译均对应着两个工具包,第一步是需要dex2jar,第二步是需要jd-gui。这两个工具网上好像也挺难找到免费的,我当时也是花钱在CSDN上面下载的,谁让我这人老实心好呢,免费的送给大家。
提取码:ozjt
这儿还有一点需要提醒大家:就是我上传的是dex2jar-2.0.zip压缩包文件,大家下载之后记得将dex2jar-2.0.zip改成dex2jar.zip文件然后解压。请不要问:为什么我不直接上传dex2jar.zip文件?我记性这么好肯定是不会说我忘了改这种话的。