APKtool

用途:获取mainifest.xml res等资源文件

下载:http://ibotpeaches.github.io/Apktool/install/

使用:apktool d test.apk

dex2jar

用途:获取项目源码的jar包

下载:https://github.com/pxb1988/dex2jar

用法:

1、解压apk获取classes.dex文件

2、通过命令 ./dex2jar-2.0/d2j-dex2jar.sh classes.dex来生成可以用JD-GUI工具查看的class.jar包

注:解压后dex2jar.zip文件后需修改可执行文件属性

chmod +x d2j-dex2jar.sh d2j_invoke.sh

JD-GUI

用途:查看.jar包源码工具

下载:http://jd.benow.ca/

附:反编译apk 批处理文件

目录结构:

[objc] view plain copy

  1. apktool             src_dex2jar-2.0.zip
  2. apktool.jar         test
  3. decode-apk.sh           test-dex2jar.jar
  4. dex2jar             test.apk
  5. jd-gui-0.3.5.osx.i686.dmg

decode-apk.sh文件,使用./decode-apk.sh test.apk

[javascript] view plain copy

  1. echo 开始反编译$@
  2. fullPath=$@
  3. filePath=${fullPath%'.apk'}
  4. echo 开始提取资源文件...
  5. apktool d $@
  6. #java -Xmx512M -Djava.awt.headless=true -jar apktools/apktool.jar -f d -o "${filePath}" $@
  7. echo 开始解压classes.dex...
  8. unzip -od "${filePath}" $@ classes.dex
  9. echo 开始反编译classes.dex为classes_dex2jar.jar...
  10. dex2jar/d2j-dex2jar.sh "${filePath}/classes.dex" -f -o "${filePath}/classes.jar"
  11. echo 恭喜,反编译完成,请到${filePath}目录下查看

参考:

http://www.bkjia.com/Androidjc/938414.html

http://blog.csdn.net/ttdevs/article/details/42297905

mac 搭建APK反编译环境[转]的更多相关文章

  1. mac android apk反编译

    在mac os系统上反编译android apk,首先需要准备好以下3个文件: 1.apktool:https://ibotpeaches.github.io/Apktool/install/ 2.d ...

  2. Mac下对Android apk反编译

    在Mac上进行反编译apk,需要三个工具,分别为(附下载地址): apktool,下载Mac版 作用:资源文件获取,能够提取出图片文件和布局文件进行使用查看 dex2jar,下载最新的即可,目前是2. ...

  3. (转)Android-Mac电脑如何进行APK反编译-使用apktool、jd-gui

    最近群里有人问如何在mac下进行apk反编译,我也没试过,以前都是在windows下进行反编译的,windows下很简单,有许多比较好的集成工具,如apkide(改之理),不过我猜mac下应该和win ...

  4. APK反编译之一

    初步接触APK反编译.刚刚使用android-apktool软件反编译了一下QQ.apk,目的只是想看看QQ这个应用软件是内部是如何设计的,希望可以在某些方面借鉴一下.下面就如何反编译做一个简单的记录 ...

  5. Android反编译,apk反编译技术总结

    1.谷歌提供的工具:android-classyshark 下载地址:https://github.com/google/android-classyshark/releases,下载下来之后是一个可 ...

  6. apk 反编译

    http://blog.csdn.net/vipzjyno1/article/details/21039349/ [置顶] Android APK反编译就这么简单 详解(附图) 标签: android ...

  7. apk反编译

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  8. JAVA_Android APK反编译就这么简单 详解(附图)

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  9. 【转】Android APK反编译就这么简单 详解(附图)

    转载地址:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂 ...

随机推荐

  1. MYSQL版本问题:解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future.

  2. python操作数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  3. java 类的静态变量

    主要是记录一个奇葩的现象,java类中的静态变量,不仅可以通过类名称直接调用,而且还可以通过类的实力对象调用,java是不存在静态类的,如果非要用静态的类那就是内部类. 类中的静态变量是存储在JVM方 ...

  4. document.body.scrollTop用法

    网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offset ...

  5. Python Web Crawler

    Python版本:3.5.2 pycharm URL Parsing¶ https://docs.python.org/3.5/library/urllib.parse.html?highlight= ...

  6. HBase命令(一) -- 库操作

    打开数据库 bin/start-hbase.sh //打开HBase bin/hbase shell //以命令行的方式打开Hbase控制台 Rest接口开启 bin/hbase rest //普通的 ...

  7. 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定

    首先从标题说起,为啥说抓取网站数据不再难(其实抓取网站数据有一定难度),SO EASY!!!使用Fizzler全搞定,我相信大多数人或公司应该都有抓取别人网站数据的经历,比如说我们博客园每次发表完文章 ...

  8. 关于hibernate纯sql查询返回结果集的问题(hbm.xml中不写多表关联)

    相信用过hibernate的兄弟们都会因为多表复杂查询后,为返回的结果如何组装到一个VO中而烦恼不已.我也不停的为此而烦恼,但是在看了hibernate的transform后,感觉这个方法还挺管用的. ...

  9. javascript函数命名的三种方式及区别

    1, function fn(val1,val2) { alert(val1+val2); } fn(1,2); 2, var fn=function() { alert(val1+val2); } ...

  10. 移动WebApp利用Chrome浏览器进行调试

    详细的请看这个(HBuilder是我长期使用,而且值得支持的国内前端开发编辑器) http://ask.dcloud.net.cn/article/151 http://ask.dcloud.net. ...