apk反编译工具包for Mac OS的使用
在本文中我将介绍如何在Mac OS X上使用apktool.jar、dex2jar、jd-gui来进行apk的反编译和查看源码。下面会提供每个工具的下载地址。
测试环境:OS X EI Capitan 10.11.4
1.下载脚本
右键这里,把它存储命名为apktool,记得不要带后缀,要把后缀去除。
2.下载apktool.jar
点击下载apktool.jar,目前最新的版本为2.0.3。多说一句,尽量下载最新版本,因为它支持的Android版本越高。
下载完成后重命名为apktool.jar
3.创建文件夹
在桌面创建文件夹命名为apktool,把apktool.jar和apktool放进去。
4.配置apktool
(1)打开终端,输入:
cd /usr/local/bin
如果电脑不存在这个目录,那么创建一个:
sudo mkdir bin
创建完成后再使用cd命令看看。
(2)打开终端,使用cd命令定位到apktool文件夹:
cd Desktop/apktool/
使用cp命令把apktool.jar和apktool文件拷贝到/usr/local/bin
sudo cp apktool.jar apktool /usr/local/bin
(3).将两个文件的权限设为可执行
$ sudo chmod a+x file
之后,使用
sudo apktool
可以查看apktool的版本
(4)现在可以使用apktool相关命令了,和windows是一样的。
把apk文件放到apktool文件夹,然后回到apktool文件夹下:
cd /Desktop/apktool/
使用(xxx.apk是你的apk名字)
apktool d xxx.apk
就能进行反编译了。对于系统apk,需要额外导入框架才能反编译。更多apktool命令可以自行百度Google。
5.配置dex2jar
(1)下载dex2jar,解压
(2)将dex2jar文件夹放在apktool文件夹下
(3)把apk文件解压,可以直接解压或者修改后缀.zip再解压,找到classes.dex文件,把它放进dex2jar文件夹下
(4)定位到dex2jar文件夹(不同版本的dex2jar文件名不同,请作相应替换):
cd Desktop/apktool/dex2jar-0.0.9.15/
执行命令:
sh dex2jar.sh classes.dex
这时会在dex2jar文件夹下生成一个classes_dex2jar.jar文件。
6.查看java源码
下载jd-gui,将下载的jd-gui压缩包解压,然后右键上一步生成的classes_dex2jar.jar文件,选择打开方式->JD-GUI,就可以查看java源码了!
apk反编译工具包for Mac OS的使用的更多相关文章
- Mac下对Android apk反编译
在Mac上进行反编译apk,需要三个工具,分别为(附下载地址): apktool,下载Mac版 作用:资源文件获取,能够提取出图片文件和布局文件进行使用查看 dex2jar,下载最新的即可,目前是2. ...
- Android开发学习总结(六)—— APK反编译
学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或 ...
- Android开发学习总结(六)—— APK反编译(转)
学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或 ...
- 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译
反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...
- Android: apk反编译 及 AS代码混淆防反编译
一.工具下载: 1.apktool(资源文件获取,如提取出图片文件和布局文件) 反编译apk:apktool d file.apk –o path 回编译apk:apktool b path –o f ...
- Android反编译,apk反编译技术总结
1.谷歌提供的工具:android-classyshark 下载地址:https://github.com/google/android-classyshark/releases,下载下来之后是一个可 ...
- apk 反编译
http://blog.csdn.net/vipzjyno1/article/details/21039349/ [置顶] Android APK反编译就这么简单 详解(附图) 标签: android ...
- apk反编译
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- JAVA_Android APK反编译就这么简单 详解(附图)
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
随机推荐
- MQTT 与 RocketMQ 的应用场景对比
本文主要在什么是微消息队列 MQTT?的基础上介绍微消息队列 MQTT 和传统消息中间件的关联和区别,并针对实际应用场景下的产品选型给出建议. 背景信息 传统的消息中间件,例如消息队列 RocketM ...
- Python | Pipenv官方推荐的python包管理工具
原文地址:https://cloud.tencent.com/developer/article/1355672 Pipenv - 官方推荐的的python包管理工具. Pipenv是一款旨在将所有包 ...
- 算法名称 Alias Method
public class AliasMethod { /* The probability and alias tables. */ private int[] _alias; private dou ...
- vue---监听浏览器窗口的宽度
使用VUE开发后台项目,后台项目需要进行后台根据浏览器窗口进行变化,需要使用vue来监听浏览器的窗口变化. <template> <div class="conte ...
- windows系统下同时安装mysql5.5和8.0.11
前提:电脑已安装5.5,增安装8.0.11 zip版本 1.官网下载mysql10.8.0.11 —找到mysql community server 为下载页面URL:https://dev.mysq ...
- Node.js+Express框架+Mongo学习(一)第一个node.js实例
1.在桌面新建一个空的文件夹,比如叫node,当然也可以在其它地方新建. 2.命令行进入到所新建的文件夹的目录,下载Express框架,再在这个文件夹里新建一个叫final的项目 3.在项目(fina ...
- C#生成Guid的几种方式
1 var uuid = Guid.NewGuid().ToString(); // 9af7f46a-ea52-4aa3-b8c3-9fd484c2af12 2 var uuidN = Guid. ...
- [LeetCode] 206. Reverse Linked List 反向链表
Reverse a singly linked list. Hint: A linked list can be reversed either iteratively or recursively. ...
- pytest+allure测试框架搭建
https://blog.csdn.net/wust_lh/article/details/86685912 https://www.jianshu.com/p/9673b2aeb0d3 定制化展示数 ...
- 算法练习之二叉树的最大深度,二叉树的层次遍历 II
1.二叉树的最大深度 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例:给定二叉树 [3,9,20,null,n ...