mac android apk反编译
在mac os系统上反编译android apk,首先需要准备好以下3个文件:
1、apktool:https://ibotpeaches.github.io/Apktool/install/
2、dex2jar:https://github.com/pxb1988/dex2jar
3、jd-gui:http://jd.benow.ca
下载好后,就可以开始我们的反编译之路了:
1、安装apktool:将下载的apktool.jar和apktool.txt(可能下载的不是这个名称可以修改一下),apktool.txt需要另保存名称为apktool(不需要sh和txt后缀)可以执行以下命令:
touch apktool
cat apktool.txt >> apktool就行
然后将shell脚本apktool和apktool.jar移到/usr/local/bin文件夹下
sudo -s
mv 源文件 /usr/local/bin
然后执行apktool -v命令:如出现以下提示就说明成功了

2、dex2jar和jd-gui解压即可;
3、执行命令apktool d apk文件:如

以下是生成的文件夹:

这个文件夹下可以看到apk中的资源文件,如图片,xml文件等等,如果你只需要获取图片等资源文件那么到这里就可以了,若要进一步获取java代码的话就需要用到dex2jar和jd-gui工具了
1、要获取java代码的话就要进行回编译(apktoo可以进行反编译和回编译),主要就是获取classex.dex文件。
运行命令:apktool b 反编译生成的文件夹
如:

会生成build文件夹:如

其中classes.dex文件就是我们所需要的了,不同的apk会生成不同数量的classes.dex文件,看大小和拆分了。
2、现在要用到我们的dex2jar这个工具了
d2j-dex2jar.sh和d2j_invoke.sh添加运行权限:
chmod +x d2j-dex2jar.sh
chmod +x d2j_invoke.sh
然后运行命令./d2j-dex2jar.sh apk,如

之后可以在dex2jar文件夹中看到classes-dex2jar.jar文件,这个就是最终的java文件,那么我们怎么看呢,这就要用到我们下载的jd-gui了
3、打开jd-gui工具,将classes-dex2jar.jar拖入即可,如下所示显示:

终于完成了!!
mac android apk反编译的更多相关文章
- Android apk反编译基础(apktoos)图文教程
本文主要介绍了Android apk反编译基础,使用的工具是apktoos,我们将用图文的方式说明apktoos工具的使用方式,你可以参考这个方法反编译其它APK试试看了 很久有写过一个广工图书馆主页 ...
- Mac下对Android apk反编译
在Mac上进行反编译apk,需要三个工具,分别为(附下载地址): apktool,下载Mac版 作用:资源文件获取,能够提取出图片文件和布局文件进行使用查看 dex2jar,下载最新的即可,目前是2. ...
- 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译
反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...
- Android APK反编译(一)
apk是安卓工程打包的最终形式,将apk安装到手机或者模拟器上就可以使用APP.反编译apk则是将该安卓工程的源码.资源文件等内容破解出来进行分析. 一.APK反编译基本原理 1.APK分析 apk文 ...
- 【转】Android APK反编译就这么简单 详解(附图)
转载地址:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂 ...
- Android APK反编译详解(附图)
转载自http://blog.csdn.net/sunboy_2050/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而 ...
- Android APK反编译easy 详解
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- Android APK反编译就这么简单 详解(附图)
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- Android APK反编译详解(附图)(转)
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程. 在此郑重声明,贴出来的目的不是为了去破解人家的软件, ...
随机推荐
- 【转】Keberos认证原理
前几天在给人解释Windows是如何通过Kerberos进行Authentication的时候,讲了半天也别把那位老兄讲明白,还差点把自己给绕进去.后来想想原因有以下两点:对于一个没有完全不了解Ker ...
- 【前端】深入浅出Javascript中的数值转换
由于Javascript是一门弱类型的语言,在我们的代码中无时无刻不在发生着类型转换,所以了解Javascript中的类型转换对于了解我们认识Javascript的运行原理至关重要. 本文主要从数值转 ...
- C-图文上边对齐
1.效果 1.1 样式设置 2 效果 2.1 样式
- python中html解析-Beautiful Soup
1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyt ...
- WPF---Effect效果
在 WPF 中,可以使用 BitmapEffect 对象为每一个 Visual 对象生成各种各样的效果,一个 Visual 对象可以设置一种或多种 BitmapEffect 效果,WPF 内置了几种效 ...
- AmCharts 对数据排序后展示
在官网看到的例子 给chart添加一个排序功能的handler AmCharts.addInitHandler( function(chart){ if (chart.orderByField === ...
- ios自定义数字键盘
因为项目又一个提现的功能,textfiled文本框输入需要弹出数字键盘,首先想到的就是设置textfiled的keyboardType为numberPad,此时你会看到如下的效果: 但是很遗憾这样 ...
- 简说chart2.4的应用,以及Uncaught ReferenceError : require is not defined的解决
51呢最近在学习chart.js,然后呢就照着中文的帮助文档来然后就一直出Uncaught ReferenceError : require is not defined的问题查了挺多才知道是帮助文档 ...
- gcd,最大公约数,lcm,最小公倍数
int gcd(int a,int b){ ?a:gcd(b,a%b); } 关于lcm,若写成a*b/gcd(a,b) ,a*b可能会溢出! int lcm(int a,int b){ return ...
- LeetCode 259. 3Sum Smaller (三数之和较小值) $
Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 < ...