Mac环境下反编译apk

0,工具汇总

我们反编译apk主要使用以下三个工具

  • apktool:用于获取资源文件
  • dex2jar:获取源文件jar包
  • JD-GUI:反编译源文件jar包查看源代码

找这些工具时折腾了我点时间,现在把我找到的最终可用的版本都放百度云了。到下面链接下载:

http://pan.baidu.com/s/1qWDmf2O

1,apktool获取资源文件

apktool其实不止一个文件,其中包含aapt,apktool,apktool.jar三个文件,

最终我们调用的命令行都是apktool的,另外两个文件时其依赖的工具。将这三个文件拷贝到目录/usr/local/bin下,接下来就可以直接用命令行使用了apktool了,你可以这样检测检测效果

接下来就可以开始反编译你的apk获取资源文件了,先使用命令行切换到你的apk的目录下,然后执行命令

apktool d xxxx.apk

最开始执行上面的命令,我遇到如下图的一个问题,网上也有人遇到过

最终发现问题在于,apktool中三个文件的apktool.jar版本太低,最后我下载了最新版替换过来,于是问题迎刃而解,最终运行效果如下

上面命令正常执行之后,你会发现在当前目录会生成一个喝apk同名的文件夹,其中就包含了反编译产生的资源文件。apktool使用到此为止。

2,dex2jar获取源文件jar包

首先将你的apk文件改为zip文件格式,然后解压出来,其中会有一个classes.dex文件,接下来我们就是从这个文件中获取源文件。将classes.dex文件拷贝到你的dex2jar文件夹下,调用d2j-dex2jar.sh进行反编译,你可以能会遇到以下的问题

在mac下遇到这个问题很常见,用下面这个指令可以解决

sudo chmod 777 d2j-jar2dex.sh

d2j-jar2dex.sh可能还依赖于同目录中其他.sh文件,你可能需要为其他.sh文件执行上面的命令(我遇到其中的d2j_ivoke.sh也需要执行以下命令)。

搞定上面的问题之后,就能真正开始反编译获取原文件了,使用以下命令

./d2j-dex2jar.sh classes.dex

如下

执行完命令后,当前目录会生成一个classes-dex2jar.jar文件,该jar包就是最终获得的源文件的jar包,我们就差最后一步,将jar包反编译获取java文件

3,JD-GUI获取java源文件

很容易,你只需要将上一步中生成的classes-dex2jar.jar在JD-GUI中打开即可。一般我们能获取全部资源文件,如图片,布局文件,但是源文件时被混淆过的。

以上!

时间: 2024-10-23 20:11:52

Mac环境下反编译apk的相关文章

Android Mac下反编译apk

1. 下载apktool http://code.google.com/p/android-apktool/ java -jar apktool_2.0.0rc3.jar d aaaaaaaaaaaaa.apk 2. 下载dex2jar http://code.google.com/p/dex2jar/ chmod +x d2j-dex2jar.sh ./d2j-dex2jar.sh ../aaaaaaaaaaaaa.apk 3. jar已经出来了,扔到带jadclipse的eclipse中或者

教你如何正确反编译apk

本篇博文简单得以图文形式,描述下反编译apk. 一听反编译,有木有高大上的赶脚,哈哈,其实真的不是很难嘻嘻 简单的说下反编译apk的流程: 我们一般想要反编译一个apk,无非就是想获得三样东西 图片资源 ,XML资源,和代码资源 一.图片资源获取. 这个最简单啦, 首先准备一个apk,嘿嘿就是你啦 这里是一个.apk后缀的文件,我们先把后缀改成,zip, 然后就成了这样 化身压缩文件啦撒,然后打开后你就能看到如下图 从压缩文件里解析出来的有很多目录撒,有大家熟悉的res目录,还有一个待会着重介绍

MAC笔记本下Android 反编译apk文件最新版本

这篇文字主要是针对MAC笔记本反编译APK的教程,都是最新的,首先需要的工具罗列出来: apktool dex2jar JD-JUI 主要就是这3个工具了. apktool作用:主要是用来反编译res下面的xml文件. dex2jar作用:主要是用来反编译APK查看源代码的. JD-JUI作用: 查看dex2jar反编译出来的jar文件. 如果APK混淆后,一般只能清除的查看出xml文件的内容也就是res下的所有文件,代码基本看不懂,也就是一些a b c 这样的名字,不可大致可以看看基本的,看看

cocos2dx 3.1.1移植安卓apk (lua项目交叉编译 mac环境下)

cocos2dx 3.1.1   lua项目安卓交叉编译 mac环境下 本文基于ant,sdk,ndk,adt等软件和环境已经事前设置好 1\新建项目 在mac的终端下输入命令: cocos new tegame -p com.test.app  -l lua (后面可以加自定义的路径) 环境搭建好后可以直接输入以上语句新建项目. 这个新建的lua项目,就是我们用于编译到安卓的cocos项目. 新建的文档,引擎本身已经写好mk文件,不需要修改和编辑,相对来说比较简单.适用于新手学习. 先用xco

Android基础新手教程——1.10 反编译APK获代替码&资源

Android基础新手教程--1.10 反编译APK获代替码&资源 标签(空格分隔): Android基础新手教程 本节引言: "反编译Apk".看上去好像好像非常高端的样子,事实上不然,就是通过某些反编译软件.对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件.不知道你有没有这样做过,看到一个别人的一个APP界面做得非常精美,或者你看上别人的图片素材,简单点的,我们能够下载别人的APK.然后改下后缀名,改成xxx.zip.然后解压: 笔者随便解压了一个AP

Android基础入门教程——1.10 反编译APK获取代码&资源

Android基础入门教程--1.10 反编译APK获取代码&资源 标签(空格分隔): Android基础入门教程 本节引言: "反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件:不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上别人的图片素材,简单点的,我们可以下载别人的APK,然后改下后缀名,改成xxx.zip,然后解压: 笔者随便解压了一个APK:

反编译apk 修改 合成

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 反编译apk帮助文档 准备工具 dex2jar(dex转换jar工具),下载地址: http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip apktool.jar(获取apk资源文件.注册文件.so库等),下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2

centos反编译APK包

centos反编译APK包 实验目的 线上linux上传游戏包,PHP调用反编译命令解包 实验环境 centos6.4 Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 2212:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux nginix1.8.0 php5.4 mysql5.5 操作步骤 1.rqm -ql | grep java 2.yum -y install ja

反编译APK的方法;

一.反编译工具: 百度云分享资料:http://pan.baidu.com/s/1pLqw6dd: 一共有三个工具分别为: 1,apktool: 用来获取apk中的布局资料图片文字等资料: 2.dex2jar: 将apk的二进制文件转化为jar文件: 3.jd-gui: 查看jar文件: 二.反编译过程: 1.将下载的压缩包分别解压: 分别将各个文件夹命名为apktool.dex2jar.jd-gui;<纯粹为了方便,也可以不改名> 2.将要编译的apk文件放到apktool文件夹下:同时打开