MAC上Apktool的安装

官网链接

 
image.png

使用步骤如图1-6

  • 第一:下载一个shell脚本,保存的名字就是”apktool”,不要带.sh后缀。可以复制到sublimetext,然后保存.记得删除后缀。

  • 第二:下载最新的apktool

 
image.png
  • 第三:将下载的apktool_2.3.0.jar文件改名为apktool.jar

然后可以把这两个文件放到一个文件夹下(方便管理)

 
image.png
  • 第四:将shell脚本”apktool”和”apktool.jar”放到 “/usr/local/bin”目录下

root 权限拷贝文件到usr/local/bin
$ cd /usr/local/bin
如果电脑不存在这个目录,那么创建一个:
$ sudo mkdir
打开终端,使用cd命令定位到apktool文件夹:我是放在 Documents文件下
$ cd Documents/apktool/
使用cp命令把apktool.jar和apktool文件拷贝到/usr/local/bin
$ sudo cp apktool.jar apktool /usr/local/binbin
  • 第五:给这两个文件添加权限

$ cd Documents/apktool/
$ chmod a+x apktool
$ chmod a+x apktool.jar
  • 第六:sudo apktool

  • 第七:现在就可以反编译相应的apk文件了

把apk文件放到apktool文件夹,然后回到apktool文件夹下:(需注意目录是否正确)我是把它们全都放在Documents/apktool/下
接下来执行命令
$ cd Documents/apktool/
$ apktool d xxx.apk
 
image.png
 
image.png

test下即为反编译生成的资源文件


dex2jar和JD-GUI的安装

第一:下载 dex2jar,并解压

第二:下载class反编译工具 jd-gui,并解压

第三:把这两个放到同一个文件夹下dex2jar

 
image.png

第四:为了检测下是否能破解,我们先用Apktool反编译,免得我们最后一场空。(只有Apktool能反编译/回编译,我们的破解才有意义)。

反编译见上边的命令:$ apktool d xxx.apk
回编译的命令:$ apktool b xxx
通常如果回编译失败,说明apk加固过,这时候的dex2jar生成的代码也是看不了的。如果两个命令都成功了,可以继续接下来的步骤

第五:将dex2jar-2.0里的d2j_invoke.sh和d2j-dex2jar.sh增加可执行权限

$ cd Documents/dex2jar/dex2jar-2.0
$ sudo chmod +x d2j_invoke.sh
$ sudo chmod +x d2j-jar2dex.sh

第六:现在就可以用dex2jar将apk转成jar文件,实质是将apk里的classes.dex转成jar。

$ sh d2j-dex2jar.sh /Users/xxx/Downloads/simple.apk

在simple.apk所在的目录,就会生成Simple-dex2jar.jar文件

第七:将Simple-dex2jar.jar该文件拖入jd-gui,就可以查看了

mac上Android反编译工具apktool、dex2jar入门的更多相关文章

  1. Android 反编译工具简介

    Android 反编译工具: 所需工具:1 apktool : 用于获取资源文件 2 dex2Jar : 用于将classes.dex转化成jar文件 2 jd-gui: 将jar文件转化成java文 ...

  2. Android反编译三件套 apktool 、dex2jar、jd-gui

    1.还是老话下载三件套(点击下载) 或者自己在百度搜索下载 2.使用apktool反编译apk cd到D:\TESTCODE\android\android反编译三件套目录下 输入java -jar ...

  3. 工欲善其事,必先利其器 软件工具开发关键词 protractor自动化测试工具 RegexBuddy正则 CodeSmith,LightSwitch:代码生成 CheatEngine:玩游戏修改内存值必备神器 ApkIDE:Android反编译工具 Reflector:反编译dll动态链接库

    工欲善其事,必先利其器 本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利. 原文地址:http ...

  4. Android反编译工具介绍与简单实用方法

    Android反编译的目的无非就是为了看到APK的xml.资源和代码: 得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar class ...

  5. Android反编译工具的使用-Android Killer

    今天百度搜索“Android反编译”搜索出来的结果大多数都是比较传统的教程.刚接触反编译的时候,我也是从这些教程慢慢学起的.在后来的学习过程中,我接触到比较方便操作的Android反编译.在这,我将使 ...

  6. ApkDec android反编译工具

    转自:http://www.newasp.net/soft/70498.html 下载 ApkDec是一款免费的绿色APK反编译工具 forandroid ,由android开发者社区开发. ApkD ...

  7. apk反编译工具-apktool

    apk很easy被反编译,关于这篇文章apktool反编译工具. (一)优势反编译 1.能学习别人优秀代码 看看优秀apk他们的string.color命名规则,看看布局排版等都能学习到东西. 2.进 ...

  8. android反编译工具总结

    序:总结反编译主要的目的在于学习.利用反编译进行相关的汉化或修改,都是不道德的! 大家都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.d ...

  9. Android反编译工具的用法

    Android的APK文件时可以反编译的,通过反编译我们就能查看到大体的代码,帮助学习.反编译仅仅提供的是学习的方式,禁止使用该技术进行非法活动. 其实就是两个命令: 1:运行(WIN+R)-> ...

随机推荐

  1. 通过mysql写入php一句话木马

    利用mysql写入一句话木马 前提: root权限,知道了服务器的web的绝对路径 select "<?php @eval($_POST['pass']);?>" IN ...

  2. post请求参数设置

    控制器参数有[FromBody]修饰参数这么传: 控制器没有[FromBody]修饰参数这么传:

  3. Shape使用

    <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> & ...

  4. Centos 安装 nload

    第一种方法: wget http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-r ...

  5. Redis 下载与安装(Windows版)

    下载 1.Github下载地址:https://github.com/MicrosoftArchive/redis/releases 2.百度网盘下载地址:Redis-x64-3.2.100.zip  ...

  6. php中memcached的使用

    文档所在:http://php.net/manual/zh/book.memcached.php 1.在php使用memcached操作之前要实例化memcached: [系统类]  2.添加服务器: ...

  7. Android开发-基本概念(申明:来源于网络)

    Android开发-基本概念(申明:来源于网络) 地址:http://blog.csdn.net/iwanghang/article/details/53505926

  8. ASP.NET与ASP.NET Core用户验证Cookie并存解决方案

    在你将现有的用户登录(Sign In)站点从ASP.NET迁移至ASP.NET Core时,你将面临这样一个问题——如何让ASP.NET与ASP.NET Core用户验证Cookie并存,让ASP.N ...

  9. ubuntu16.04下安装运行DSO

    1.下载源码 git clone https://github.com/JakobEngel/dso.git 2.安装依赖项 suitesparse and eigen3 (required). su ...

  10. tensorflow 的tf.where详解

    最近在用到数据筛选,观看代码中有tf.where()的用法,不是很常用,也不是很好理解.在这里记录一下 tf.where( condition, x=None, y=None, name=None ) ...