• Android APK反编译具体解释(附图)


    这段时间在学Android应用开发,在想既然是用Java开发的应该非常好反编译从而得到源码吧,google了一下,确实非常easy,下面是我的实践过程。

    在此郑重声明,贴出来的目的不是为了去破解人家的软件,全然是一种学习的态度,只是好像通过这样的方式也能够去汉化一些外国软件。


    本文Android反编译教程,測试环境:

    Win7 Ultimate x64

    Ubuntu 12.04 x86_x64

    反编译工具包 下载 (2012-10-10更新)


    一、Apk反编译得到Java源码

    下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9目录,内含apk反编译成java源码工具,以及源码查看工具。

    apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件

    源码查看工具jdgui,是一个反编译工具,能够直接查看反编译后的jar包源码


    dex2jar 和 jdgui 最新版本号下载,分别见google code:

    dex2jar(google code)

    jdgui(google code),最新版本号请见 官方


    详细步骤:

    首先将apk文件后缀改为zip并解压,得到当中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex拷贝到dex2jar.bat所在目录dex2jar-0.0.9.9目录。

    在命令行下定位到dex2jar.bat所在目录,执行

    dex2jar.bat    classes.dex

    生成

    classes_dex2jar.jar


    然后,进入jdgui目录双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,就可以看到源码了,例如以下图:



    HelloAndroid源码在反编译前后的对比例如以下:

     



    二、apk反编译生成程序的源码和图片、XML配置、语言资源等文件

    假设是汉化软件,这将特别实用

    首先还是要下载上述反编译工具包,当中最新的apktool,请到google code下载

    apktool(google code)


    详细步骤:

    下载上述反编译工具包,打开apk2java目录下的apktool1.4.1目录,内含三个文件:aapt.exeapktool.batapktool.jar 

    注:里面的apktool_bk.jar是备份的老版本号,最好用最新的apktool.jar


    在命令行下定位到apktool.bat目录,输入下面命令:apktool.bat  d  -f   abc123.apk   abc123,例如以下图:

     

    上图中,apktool.bat 命令行解释:apktool.bat   d  -f    [apk文件 ]   [输出目录]


    反编译的文件例如以下(AndroidManifest.xml为例):



    将反编译完的文件又一次打包成apk,非常easy,输入apktool.bat   b    abc123(你编译出来目录)就可以,命令例如以下:

     

    打包apk后的文件在目录C:HelloAndroid下,生成了两个目录:

    build

    dist

    当中,打包生成的HelloAndroid.apk,在上面的dist目录下,Ok



    三、 图形化反编译apk

    上述步骤一、二讲述了命令行反编译apk,如今提供一种图形化反编译工具:Androidfby

    首先,下载上述反编译工具包,打开Androidfby目录,双击Android反编译工具.exe,就能够浏览打开要反编译的apk





    本文反编译工具包整理历史版本号:

    Android反编译工具包(升级)  (2012-10-10)

    Android反编译工具 (2012-08-21)

    android反编译工具 (2011-08-28)



    本博客反编译方法,仅供參考学习使用,禁止用于非法和商业等用途,谢谢!


  • 相关阅读:
    hdu 2647 Reward
    hdu 2094 产生冠军
    hdu 3342 Legal or Not
    hdu 1285 确定比赛名次
    hdu 3006 The Number of set
    hdu 1429 胜利大逃亡(续)
    UVA 146 ID Codes
    UVA 131 The Psychic Poker Player
    洛谷 P2491消防 解题报告
    洛谷 P2587 [ZJOI2008]泡泡堂 解题报告
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3819081.html
Copyright © 2020-2023  润新知