android 反编译apk文件

一般的apk文件如果后缀改为rar并解压的话,可以得到一些图片资源,和一堆打开乱码的文件。但我们往往想要的是得到它的xml文件学习下怎么布局的,或者看看它的源码学习下优秀程序的思路。这时就要借助以下工具对apk进行反编译了。

一、工具准备:apktool , dex2jar  ,  jd-gui

         工具包也可以在这里下载。

1、dex2jar可以在这里下载,jd-gui可以在这里下载。

2、apktool,可以去Google的官方下载,apktool-1.0.0.tar.bz2(里面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip两个包都要下。解压apktool.jar到 C:\Windows,解压apktool-install-windows.zip到任意文件夹(例如E盘根目录)。

 

二、使用dex2jar + jd-gui 得到apk的java源码,步骤如下:

1、用.rar打开apk文档,将classes.dex文件解压出来,然后使用工具反编译成.jar文件。 

在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下,所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat D:\Android\classes.dex,这样会生成一个jar文件。 

2.用jd-gui反编译工具将得到.jar文件反编译成.java文件 


三、使用apktool得到apk的xml文件 

1、Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入命令:
                apktool d XXX.apk ABC    反编译XXX.apk到文件夹ABC 

2、 在解压后的文件夹中可以得到apk的xml配置文件 


四、第二步得到的程序源代码和第三步得到的xml文件组合下,就成一个android工程,即可得到完整的apk源码。

                 

五、本文主要参考该文章:http://seya.iteye.com/blog/867699

      如果想把以上工具组合起来可以参考:http://www.iteye.com/topic/1028928

posted @   瓦尔登湖  阅读(3963)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示