安卓-APK反编译

当你遇到一个apk,你有可能会被它的画面惊艳到,会迫不及待的想知道这些效果是怎样实现的,于是就想到了反编译。

通过反编译,你得到了这个项目的源代码,当然,如果这个apk经过了加密混淆处理,一些代码会用a,b,c命名,有的关键的东西会隐藏起来,你会很难看懂它的代码,不过也能从中获取一些蛛丝马迹,当然,一个安卓程序是别人辛勤劳动的成果,我们应该抱着学习借鉴的态度。

我这几天研究反编译是为了学习apk加密测试,下面是方法。


反编译工具:

apktool提取资源文件(图片文件和布局文件)

dex2jar将apk反编译成java源码(classes.dex转化成jar文件)

jd-gui:查看jar文件,也就是查看源码


这三个文件可以到这里下载,提取码是4yda:点击这里下载

反编译方法:

     将压缩包解压得到以上三个压缩文件

     

      全部解压

      安卓-APK反编译_第1张图片

    1.apk反编译得到资源文件(文件夹):

              将需要反编译的apk放在apktool文件夹中,打开运行界面,定位到apktool文件夹,输入命令:apktool.bat d -f test2.apk test2
           (注:test2.apk是需要反编译的apk的文件名,test2是反编译完成的存放资源文件的文件夹)
       安卓-APK反编译_第2张图片
         这时apktool文件夹中会多出一个test2文件夹,这就是存放资源文件的文件夹了,你可以去查看了
       安卓-APK反编译_第3张图片
         当然如果你想将你反编译过得文件夹重新打包成apk,你可以输入apktool.bat   b    test2,这里我就不多说了,需要的自行尝试即可。

   2.APK反编译得到源代码:

         将需要编译的的apk编程压缩包,即后缀名换成.rar或者.zip都可以,然后解压,会得到一个classes.dex文件(这个文件就是java文件编译打包而           成的),把这个classes.dex文件放到之前解压出来的dex2jar-0.0.9.15文件夹内,运行界面定位到这个文件夹,输入:   dex2jar.bat   classes.dex然后在这个目录下会生成一个classes_dex2jar.jar的文件       
          安卓-APK反编译_第4张图片
         
        用上面解压的jd-gui.exe打开工具打开生成的classes_dex2jar.jar文件,就可以看到源码了,效果如下:
        安卓-APK反编译_第5张图片

           

        

你可能感兴趣的:(Android)