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开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
随机推荐
- 微信小程序的跳转navigateTo()和redirectTo()用法和区别
原文链接:https://blog.csdn.net/u013128651/article/details/79736410 wx.navigateTo({}) ,保留当前页面,跳转到应用内的某个页 ...
- C# Newtonsoft.Json解析json字符串处理 - JToken 用法
//*调用服务器API(获取可以处理的文件) //1.使用JSON通信协议(调用[待化验任务API]) String retData = null; { JToken json = JToken.Pa ...
- Python3 queue队列类
class queue.PriorityQueue(maxsize=0) 优先级队列构造函数. maxsize 是个整数,用于设置可以放入队列中的项目数的上限.当达到这个大小的时候,插入操作将阻塞至队 ...
- LINUX企业应用案例精解 第2版 李晨光
LINUX企业应用案例精解 第2版 李晨光 下载地址:https://pan.baidu.com/s/1AAKpc-l-qGTSX5h03M01XA 关注微信公众号获取提取码: 输入:lin7 获取提 ...
- LeetCode_414. Third Maximum Number
414. Third Maximum Number Easy Given a non-empty array of integers, return the third maximum number ...
- Linux中添加新硬盘后对硬盘的分区以及挂载
转自:https://www.linuxidc.com/Linux/2018-06/152958.htm 我将使用VM来进行模拟 先使用df看下我的电脑硬盘信息: df -h 可以看到只有一个sda1 ...
- [LeetCode] 853. Car Fleet 车队
N cars are going to the same destination along a one lane road. The destination is target miles awa ...
- 【ARM-Linux开发】ubuntu查看文件大小
使用Linux命令df 和du,df 但是df只能查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力.du可以查看文件及文件夹的大小.所以基本上是两者配合使用. 一 df h参数, ...
- 六、spring之通过FactoryBean为ioc容器中添加组件
前面我们已经介绍了几种为容器中添加组件的方法,今天一起学习通过FactoryBean添加组件的方法. 首先我们准备一个类,也就是我们需要注册进spring的ioc容器中的类 类Color: // 不必 ...
- TCP/IP学习笔记4--网络地址
"他强由他强,清风拂山岗.他横由他横,明月照大江.世间诸事,敞开心扉,顺其自然." -- 张大千 地址具有两个特性: 1:唯一性 同一个通信网络中的任意两个通信主体不能具有相同的地 ...