Mac 下反编译Android APK
准备工作:安装ApkTool、dex2jar、JD-GUI
安装ApkTool
1、下载ApkTool。大家可以从 https://ibotpeaches.github.io/Apktool/install/ 上下载ApkTool
2、安装ApkTool
(1)将下载好的apktool文件与apktool_2.4.0.jar文件准备好,并将apktool_2.4.0.jar更名为apktool.jar;
(2)将apktool.jar与apktool移动到/usr/local/bin目录下(可以通过在终端中输出命令open /usr/local/bin来打开这个目录);
(3)为上述两个文件增加可执行权限,即在终端中输入并执行:
chmod +x apktool.jar
chmod +x apktool
(4)在终端输入apktool看是否可以运行,如果不可以需要在系统偏好设置中打开安全与隐私中点击仍要运行apktool.jar;
安装dex2jar
大家可以从https://sourceforge.net/projects/dex2jar/files/ 上下载dex2jar
安装JD-GUI
大家可以从 http://jd.benow.ca/ 上下载JD-GUI
1、使用ApkTool反编译APK得到xml文件、AndroidManifest.xml和图片
cd [apkdir]
apktool d xxx.apk //该命令执行后会在同级目录下生成一个与你编译的apk同名的目录
通过上述命令就可以反编译apk了。
2、dex2jar将dex反编译成jar
第一步,解压apk获得dex文件
使用解压软件将apk进行解压(直接把后缀名改为.zip),得到classes.dex文件。有时有多个classes.dex文件(这是因为应用了MultiDex所致)。将classes.dex文件拷贝到下载解压的dex2jar目录下。然后执行如下代码进行反编译:
cd [你的dex2jar解压目录]
sh d2j-dex2jar.sh classes.dex
sh d2j-dex2jar.sh classes2.dex
通过上述命令会得到一个或多个.jar文件(一个classes.dex产生一个jar文件)
3、使用JD-GUI查看反编译后的程序源码
将dex转换成jar之后接下来我们就可以使用JD-GUI来查看反编译后的程序源码了
操作步骤很简单,只需双击运行jd-gui-1.4.0.jar,然后将classes-dex2jar.jar拖拽到JD-GUI界面上即可
Mac 下反编译Android APK的更多相关文章
- mac下反编译android apk
所需要的工具 http://pan.baidu.com/disk/home#path=%252Fandroid%252Fdecompile%252Fapktool-all apktool用于将资源文件 ...
- 『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse
一.使用apktool 将 apk反编译生成程序的源代码和图片.XML配置.语言资源等文件 具体步骤: (1)下载反编译工具包:apktool 官方的打不开 http://apktool.shouji ...
- linux下反编译android apk
1.所需要的工具 1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等, 下载地址:https://code.google.com/p/android-apktool/downlo ...
- Mac上反编译Android apk安装包
什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...
- 反编译Android APK及防止APK程序被反编译
怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式 ...
- 实例具体解释:反编译Android APK,改动字节码后再回编译成APK
本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...
- 反编译android APK
我们经常会在如下的情况使用反编译 1.看到别人应用中的酷炫功能,想知道是如何实现的 2.别人应用的素材排版好漂亮,想套用模仿 百度一下就已经有一大堆反编译的教程了,我还是坚持学习记录一下. A ...
- MAC上反编译android apk---apktool, dex2jar, jd-jui安装使用(含手动签名)
前文 介绍了在Windows平台利用强大的APK-Multi-Tool进行反编译apk,修改smali源码后再回编译成apk的流程,最近受人之托,破解个apk,所幸的是所用到的这三个软件都是跨平台的, ...
- FFmpeg: mac下手动编译android上使用的FFmpeg(支持x86、armeabi-v7a、arm64-v8a)
之前一直在linux下编译FFmpeg,最近换电脑了,尝试了下在mac下编译ffmpeg,特记录之. 一. 准备工作 1. 下载FFmpeg.(http://ffmpeg.org/download.h ...
随机推荐
- 【转载】网站配置Https证书系列(三):IIS网站设置Http链接直接跳转Https安全连接
Http链接请求是以明文的方式传输,在传输的过程中很容易被篡改数据,一个典型的例子就是运营商的网络劫持注入广告信息等,而Https请求则是安全加密的请求,报文数据以密文的形式进行传输.当IIS网站配置 ...
- js中0.1+0.2 与0.3的对比
Math.abs(0.1+0.2-0.3)<=Number.EPSILON
- window.postMessage()实现(iframe嵌套页面)跨域消息传递
window.postMessage()方法可以安全地实现Window对象之间的跨域通信.例如,在页面和嵌入其中的iframe之间. 不同页面上的脚本允许彼此访问,当且仅当它们源自的页面共享相同的协议 ...
- [转]大牛们是怎么阅读 Android 系统源码的
转自:http://www.zhihu.com/question/19759722 由于工作需要大量修改framework代码, 在AOSP(Android Open Source Project)源 ...
- Android NDK 学习之接受Java传入Object数组
本博客主要是在Ubuntu 下开发,且默认你已经安装了Eclipse,Android SDK, Android NDK, CDT插件. 在Eclipse中添加配置NDK,路径如下Eclipse-> ...
- java web 监控cpu、内存等。hyperic-sigar
用到一个插件hyperic-sigar 1:下载hyperic-sigar后解压,把sigar-amd64-winnt.dll(64位机器,32位用sigar-x86-winnt.dll)放到你本机的 ...
- [476] Database Mail is not enabled for agent notifications. Cannot send e-mail to
配置完DB Mail后JOB的的通知邮件不能发送,日志报错476] Database Mail is not enabled for agent notifications. Cannot send ...
- java--动态代理设计模式,CGLIB实现的动态代理设计模式
代理设计模式 代理设计模式的基本形式 代理设计模式的核心思路,一个接口两个子类,一个子类完成核心业务操作,另一个完成与核心业务有关的辅助性操作.例如,编写一个简单的设计模式. package com. ...
- 用js刷剑指offer(连续子数组的最大和)
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- c++第五次博客作业
C++虚函数,纯虚函数,抽象类以及虚基类的区别 Part1.C++中的虚函数 什么是虚函数: 直观表达就是,如果一个函数的声明中有 virtual 关键字,那么这个函数就是虚函数. ...