Android APK反编译详解(附图)

一、反编译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

生成jar文件的截图如下:

运行JD-GUI(jd-gui.exe),打开上面生成的jar包,即可看到源代码了


HelloAndroid源码(编译前的apk源码对照)如下:

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

如果是只是汉化软件,这将特别有用。

首先还是下载工具,这次用到的是apktool

下载地址:http://code.google.com/p/android-apktool/downloads/list

下载:apktool1.4.1.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2(两个包都下载)

具体步骤:

将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar

在命令行下定位到apktool.bat文件夹,输入以下命令:apktool d C:*.apk C:*文件夹,如下图:

命令行解释:apktool d [apk文件 ] [输出文件夹]

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

特别注意:你要反编译的文件一定要放在C盘的根目录里

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

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

build

dist

其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下,Ok

注:本android反编译教程,是在Windows 7 Ultimate 64bit ,测试通过

(0)

相关推荐

  • Android APK 反编译方法

    介绍Android APK 反编译方法,需要的工具的具体用法 操作方法 01 首先下载这三个软件,网上有很多资源,这里就不附加下载链接了 然后解压(注意apktool的两个文件解压到一个文件夹). 0 ...

  • Android apk反编译基础(apktoos)图文教程

    很久有写过一个广工图书馆主页一个类爬虫的demo(因为没接口,只能扒取静态网页),实现一些图书馆系统的一些功能。但最近发现图书馆系统在html页面上做了手脚,一页html页面中嵌入了几千行的注释,并有 ...

  • apk反编译之有效防止破解和反编译加密方法

    对于Android开发者来说,自己开发的Android APP被破解是个让人头疼的事.那有什么办法能防止Android apk反编译和破解呢?一般的混淆代码和防二次打包还有效么?我们通过下面的内容来验 ...

  • apk反编译工具(android逆向助手) 的用处

    android逆向助手是针对安卓apk文件而开发的一款apk反编译工具,软件不光可以反编译apk文件,还支持重新打包apk.签名apk.反编译dex.重新打包dex.反汇编elf.反编译so.dex转 ...

  • apk反编译工具使用方法 快速反编译安卓apk软件

    学习安卓开发经常需要分析别人的apk,通过了解别人怎么编写的代码从而快速提高自己的编程水平,所以就需要用到apk反编译软件将别人的apk文件反编译出来,这样就可以查看其代码了.反编译是一种程序逆向编译 ...

  • APK包的一些修改心得apk反编译

    最近一直在弄apk,还买了一本书,感觉学习起来很吃力,还是想通过修改反编译一些apk来的快,来的省事.希望本文能对各位美化新手有所帮助. 一.单纯修改apk中未加密资源 01 什么资源没有加密?非re ...

  • Android手机系统目录文件详解,别乱删东西

    Android手机装得东西多了,就让人眼花,不删吧难看而且卡得不行,删吧又有些东西不知道什么该删呢,什么不要删呢,今天我们就来分享一下让你认识手机根目录文件的详细使用情况.让你知道有些东西是不可以乱删 ...

  • iphone/ipad丢了怎么办?iphone丢了怎么找回来?套路教程详解附图

    最近发现网上出现很多朋友提问说iPhone、ipad丢了怎么办?有没有什么办法可以把丢失爱疯、爱派找回来?脚本之家告诉大家详细的套路,往下仔细看好??!!?/p> 必须要做的事: 1.丢失后必须 ...

  • Android系统手机内存卡分区详解

    操作方法 01 这两天刷了2.2版本之后换了个内存卡,问题来了,需要把内存卡分区,下面就让把这两天分区的经验分享一下.不对的地方希望各位能指正,感谢.这里以我的国行G2作为说明,刷的是啊兴的2.2版本 ...