apktool,dex2jar,jd-gui简单使用与实战

本文介绍了如何使用apktool,dex2jar和jd-gui对Android APK进行反编译,以获取资源文件、jar包并查看反编译后的代码。通过此过程,开发者可以研究其他应用的实现细节,例如文中提到的TimePicker控件。
摘要由CSDN通过智能技术生成

前言

最近项目里要实现一个TimePicker,类似于这样的

我一看,瞬间想起了手机上的某APP,他上面就刚好有类似的效果

本来项目时间就有点赶,自己慢慢写这个控件时间上也有点来不及了,而且他又那么的像,于是,嘿嘿嘿…

正文

下载安装apktool,dex2jar以及jd-gui

这三个软件都是免费的,下载地址Google一下也能轻易的搜到,这里还是简单都是汇一下总。

apktool下载地址
dex2jar下载地址
jd-gui下载地址

dex2jar在sourceforge上面,建议代理开全局访问。

OK,下载好了之后就开始安装。
首先是apktool。运行apktool是需要Java环境的,不过我相信需要用到这个软件的人电脑里肯定是有JDK的,这个就不赘叙了。

  1. 在下载apktool压缩包的同一个文件夹里新建一个文本文件,写入
@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

并将这个文件命名为apktool.bat。
2. 将刚刚下载的apktool的压缩包更名为apktool.jar(刚下载的时候名字里应该有版本号,干掉他)。
3. 成功。

dex2jar和jd-gui都是绿色版的,不需要安装,下载之后直接解压就好了。

使用apktool得到Android apk的资源文件

一般来说拿到一个apk文件之后想要得到自己想要的部分的代码一个很重要的突破口就是图片和xml文件,尤其是在你想要得到的部分是一个自定义控件的时候。因为图片和xml文件的名字是不会被混淆的,如果编写这个程序的人秉承了良好的代码规范的话,你就可以很容易的猜出你想要的界面使用的那些图片的名字,甚至猜出那个界面或者控件的xml文件的名字,继而找到控件的包名——幸运的是,包名也是不会被混淆的。继而就可以找到相应的Java文件——这是像我这样的小偷的幸运也是像我这样的开发者的悲哀。

ok,接下来该怎么用apktool得到apk的资源

### 回答1: Mac系统无法直接运行APK文件,因此需要使用一些工具来进行解压和反编译apktooldex2jar是两个非常常用的工具,可以用来解压和反编译APK文件。jd-gui则是一款反编译工具,可以用来查看和编辑反编译后的代码。 首先,我们需要安装Java开发工具包(JDK)。可以在Oracle官网下载JDK,选择与自己的系统版本对应的安装包进行安装。 安装完JDK后,我们可以使用Homebrew来安装apktooldex2jar。Homebrew是一款Mac系统下的包管理器,可以方便地安装和管理各种软件。 在终端中输入以下命令: ``` brew install apktool brew install dex2jar ``` 这样就可以成功安装apktooldex2jar了。 接下来,我们需要下载并安装jd-gui。可以在jd-gui官网上下载适用于Mac系统的安装包。下载完成后,我们将其解压,并将解压得到的jd-gui.app文件移动到/Applications目录下即可。 现在,我们就可以使用这些工具来对APK文件进行解压和反编译了。具体操作方法可以参考相关教程和文档。总之,使用这些工具需要一定的技术和经验,初学者需要多加学习和实践。 ### 回答2: 首先,需要说明一下,macOS 平台是不能直接安装 apktooldex2jar 等工具的,在 macOS 上只能通过命令行安装 Homebrew 作为包管理器,然后使用 Homebrew 安装 apktooldex2jar。 步骤如下: 1. 安装 Homebrew:在 Terminal 终端输入以下命令(无需 sudo): ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" ``` 2. 安装 apktool:在 Terminal 终端输入以下命令: ``` brew install apktool ``` 3. 安装 dex2jar:在 Terminal 终端输入以下命令: ``` brew install dex2jar ``` 至于 jd-gui,它是一个 Java 应用程序,需要从官网下载 .dmg 安装包,然后在 Finder 中打开安装包,将 jd-gui 应用程序拖动到 Applications 应用程序文件夹中即可。 安装完成后,可以通过以下命令来测试 apktooldex2jar 是否安装成功: ``` apktool --version d2j-version ``` 如果命令行能够输出版本号信息,则说明安装成功。 使用这些工具时,需要注意以下几点: - 在使用 apktool 时,需要先使用 apktool d 命令将 APK 文件反编译成 smali 代码; - 在使用 dex2jarjd-gui 时,需要先使用 d2j-dex2jar 命令将 APK 文件转换成 jar 文件,然后使用 jd-gui 打开对应的 jar 文件进行反编译。 - 在使用这些工具时,需要先了解相关的基础知识,熟悉 smali 语言和 Java 字节码知识,否则可能会无从下手。 ### 回答3: 您好,mac 安装 apktooldex2jar, jd-gui 的步骤如下: 一、安装 apktool: 1. 首先,确保您已经安装了 Homebrew 包管理器,如果没有,请在终端输入以下命令进行安装: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. 安装 apktool,打开终端并输入以下命令: brew install apktool 3. 然后,可以输入以下命令检查 apktool 是否成功安装: apktool --version 二、安装 dex2jarjd-gui: 1. 首先,需要下载 dex2jar 工具和 jd-gui 工具,可以在官方网站中下载: dex2jar:https://github.com/pxb1988/dex2jar/releases jd-gui:http://jd.benow.ca/ 2. 下载完成之后,将 dex2jarjd-gui 的压缩包解压到任意目录下(例如:/Users/xxx/tools)。 3. 接着需要在终端中输入以下命令赋予 dex2jarjd-gui 的执行权限: chmod +x /Users/xxx/tools/dex2jar-2.0/d2j-dex2jar.sh chmod +x /Users/xxx/tools/jd-gui-1.6.6/jd-gui.app/Contents/MacOS/jd-gui 4. 现在,dex2jarjd-gui 就已经安装完成了,现在可以使用以下命令将 APK 文件转成 JAR 文件: /Users/xxx/tools/dex2jar-2.0/d2j-dex2jar.sh /path/to/apk/file.apk 然后,就可以使用 jd-gui 打开生成的 JAR 文件了。 希望对您有所帮助!
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值