zoukankan      html  css  js  c++  java
  • Android APK反编译得到Java源代码和资源文件

    发现很多人都在关心apk的反编译,上传一个可视化的工具吧,原理和下面说的差不多,就是封装了一下。点我下载Android反编译工具

    另外,作为应用开发者,肯定不希望自己的代码被反编译的,另外一篇文章,讲述如何通过混淆代码放在反编译:《如何防止Android应用被反编译》

    这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。

    一.反编译Apk得到Java源代码

    首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip JD-GUI:http://laichao.googlecode.com/files/jdgui.zip

    具体步骤:

    首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的; 解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录,运行

    dex2jar.bat classes.dex

    生成classes.dex.dex2jar.jar

    运行JD-GUI,打开上面生成的jar包,即可看到源代码了。

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

    如果是只是汉化软件,这将特别有用。首先还是下载工具,这次用到的是apktool,下载地址:

    http://code.google.com/p/android-apktool/,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。

    具体步骤:

    将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar; 在命令行下定位到apktool.bat文件夹,输入以下命令:

    apktool d C:\***.apk C:\***文件夹

    命令行解释:apktool d [要反编译的apk文件 ] [输出文件夹],特别注意:你要反编译的文件一定要放在C盘的根目录里;

    将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可。

  • 相关阅读:
    第36课 经典问题解析三
    第35课 函数对象分析
    67. Add Binary
    66. Plus One
    58. Length of Last Word
    53. Maximum Subarray
    38. Count and Say
    35. Search Insert Position
    28. Implement strStr()
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/ituff/p/2858523.html
Copyright © 2011-2022 走看看