Android APK反编译

Android apk反编译

使用工具:JD-GUI、dex2jar、apktool

JD-GUI:
http://jd.benow.ca/ JD即JavaDecompiler的缩写
http://java.decompiler.free.fr(这是官网, 但是目前貌似已经不提供了)

  • 独立的图形工具,用于显示.class文件的java源代码,可以把.class和.jar文件保存成.java文件
    这里写图片描述

    1. 解压,得到一个jd-gui.exe文件
      这里写图片描述
    2. 双击运行jd-gui.exe文件就行,然后可以把.class文件和.jar文件直接拖进去就可以查看源码了
      这里写图片描述
    3. 文件可以保存,file – sava /sava all sources 保存到你想要的目录就可以了。 保存之后就是你想要的.java文件了
      这里写图片描述

dex2jar:
http://sourceforge.net/projects/dex2jar/files/

可以把Android APK中的classes.dex解码为jar文件, 可以直接将apk文件解压为jar文件
这里写图片描述
1. 解压下载下来的文件到某一目录下,
如“C:…\Desktop\Decompilation\dex2jar-2.0”
2. 将要反编译的apk放入到该解压的目录中:
3. 使用cmd命令,跳到该目录下:
这里写图片描述
4. 使用命令:d2j-dex2jar (“apk的名字”).apk
a) (我的版本是“dex2jar-2.0”, 我记得0.0.9系列的版本是使用dex2jar app_name.apk,但这次我也试了,不行,你看解压的文件中的bat文件的名字是什么,那就用什么运行就可以)
b) 命令运行之后,会多出来一个appName-dex2jar.jar文件,你用JD-GUI打开就行
这里写图片描述

apktool:
http://ibotpeaches.github.io/Apktool/

  1. android-apktool可以把AndroidManifest.xml文件和res目录下的xml文件和NinePatch图片反编译到接近原始状态,反编译后还可以重新编译回去
    这里写图片描述

    1. Apktool 2.x (1.5.2以后的版本) 要安装Java 1.7 或以上的版本
      Apktool 1.x (1.5.2之前的版本) 要安装Java 1.6或以上的版本
  2. 写一个windows包装器脚本,保存为apktool.bat(将下面代码保存成apktool.bat文件就行了)
    @echo off
    if “%PATH_BASE%” == “” set PATH_BASE=%PATH%
    set PATH=%CD%;%PATH_BASE%;
    java -jar -Duser.language=en “%~dp0\apktool.jar” %1 %2 %3 %4 %5 %6 %7 %8 %9

  3. 将下载下来的apktool_***.jar文件名称改为成为apktool.jar

  4. apktool.jar和apktool.bat文件要放在同一目录下,用cmd命令在该目录下运行 “apktool d -f -m -s apk_name.apk”就在该目录下产生一个和该apk文件同名的文件夹,现在我们就可以去查看AndroidManifest.xml、布局文件和.9图片等资源文件了。当然了,并不是所有的应用都可以这样查看,有的公司在Android系统中添加了自己的框架文件和应用就这样解析不出来。

工具地址:http://download.csdn.net/detail/u010287009/9191417

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android APK编译教程是一个关于如何将已编译Android应用程序(APK)还原为原始的Java源代码和资源文件的指南。编译APK可以帮助开发人员了解其他应用程序的实现细节,学习和借鉴他们的设计思路和技术方法。 以下是一个基本的Android APK编译教程的步骤: 1. 下载编译工具:首先,你需要下载一个编译工具,例如dex2jar、apktool或Jadx等。这些工具可以从互联网上免费获取。 2. 安装和配置工具:解压缩下载的工具,并按照其文档中的说明进行安装和配置。确保将工具所在的目录添加到系统的环境变量中,以便可以在命令行中调用它们。 3. 编译APK文件:在命令行中使用编译工具将APK文件转换为可读的源代码。例如,使用dex2jar工具可以运行`d2j-dex2jar.bat yourapkfile.apk`命令将APK文件转换为JAR文件。 4. 编译资源文件:使用apktool工具编译APK文件的资源文件,以便可以查看和编辑应用程序的布局、图片和其他资源。例如,运行`apktool d yourapkfile.apk`命令将APK文件编译到当前目录中的一个文件夹中。 5. 分析源代码和资源:通过查看编译得到的Java源代码和资源文件,你可以深入研究和理解应用程序的实现细节。这些文件将在编译的目录中找到,并使用文本编辑器或开发工具打开。 需要注意的是,编译APK文件是为了学习和研究目的,以及对自己开发的应用程序进行检查和测试。在商业和法律层面上,我们不鼓励使用这些技术来获取未授权的应用程序源代码和资源。 总之,Android APK编译教程可以帮助开发人员深入了解其他应用程序的实现细节,学习和借鉴他们的设计思路和技术方法。通过编译APK文件,我们可以将已编译的二进制应用程序还原为可读的源代码和资源文件,以便进行更多的探索和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值