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了一下,确实很简单,以下是我的实践过程. 在此郑重声明,贴出来的目的不是为了去破解人家的软件, ...
随机推荐
- 第一次安装jshint,jshint新手使用记录
刚刚出来工作的渣渣,第一次进入这样比较正规的公司,各个开发流程都比较严格,代码也是要经过jshint的检测才能上传到svn才能成功打包项目.所以我这种技术都半桶水的职场开发小白,也是第一次用jshin ...
- Quartz源码——scheduler.start()启动源码分析(二)
scheduler.start()是Quartz的启动方式!下面进行分析,方便自己查看! 我都是分析的jobStore 方式为jdbc的SimpleTrigger!RAM的方式类似分析方式! Quar ...
- uva12519
The Farnsworth Parabox Professor Farnsworth, a renowned scientist that lives in year 3000 working at ...
- tcpip第三章
1,ip协议不可靠.无连接特性介绍 不可靠:计算机A往计算机B发送数据报1,若途径的路由器缓存已满,或者ttl(time to live 生存周期)到了,则路由器直接丢弃数据包1,并产生icmp数据包 ...
- RuntimeError: Python is not installed as a framework 错误解决办法
因为我是macbook,mac是自带的python 2.7,但是我开发需要使用到的是python3,所以先使用pip3 install matplotlib 然后在交互页面键入import matpl ...
- vuejs2-生命周期
https://segmentfault.com/a/1190000008879966 1 声明周期图示 2 过渡
- c# Socket通讯中关于粘包,半包的处理,加分割符
using System; using System.Collections.Generic; using System.Text; using System.Net.Sockets; using S ...
- C语言 流缓冲
**From : https://www.gnu.org/software/libc/manual/html_node/Stream-Buffering.html** 12.20 流缓冲 通常情况下, ...
- openvswitch 2.7 安装过程记录 总结
envswitch 2.7 安装过程记录 总结 安装思路是参考文档: http://docs.openvswitch.org/en/latest/intro/install/general/#obta ...
- spring mvc 多线程并发
ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序. http://www.xuebuyuan.com/1628190.html 我们 ...