Mac环境下反编译apk
2017-05-05 19:56
281 查看
0,工具汇总
我们反编译apk主要使用下面三个工具apktool:用于获取资源文件
dex2jar:获取源文件jar包
JD-GUI:反编译源文件jar包查看源码
找这些工具时折腾了我点时间。如今把我找到的终于可用的版本号都放百度云了。到以下链接下载:
http://pan.baidu.com/s/1qWDmf2O
1,apktool获取资源文件
apktool事实上不止一个文件,当中包括aapt,apktool。apktool.jar三个文件,终于我们调用的命令行都是apktool的,另外两个文件时其依赖的工具。将这三个文件复制到文件夹/usr/local/bin下,接下来就能够直接用命令行使用了apktool了。你能够这样检測检測效果
接下来就能够開始反编译你的apk获取资源文件了,先使用命令行切换到你的apk的文件夹下,然后运行命令
apktool d xxxx.apk
最開始运行上面的命令,我遇到例如以下图的一个问题,网上也有人遇到过
终于发现问题在于,apktool中三个文件的apktool.jar版本号太低,最后我下载了最新版替换过来。于是问题迎刃而解,终于执行效果例如以下
上面命令正常运行之后。你会发如今当前文件夹会生成一个喝apk同名的文件夹,当中就包括了反编译产生的资源文件。apktool使用到此为止。
2,dex2jar获取源文件jar包
首先将你的apk文件改为zip文件格式。然后解压出来,当中会有一个classes.dex文件。接下来我们就是从这个文件里获取源文件。将classes.dex文件复制到你的dex2jar目录下,调用d2j-dex2jar.sh进行反编译,你能够能会遇到下面的问题
在mac下遇到这个问题非经常见,用以下这个指令能够解决
sudo chmod 777 d2j-jar2dex.shd2j-jar2dex.sh可能还依赖于同文件夹中其它.sh文件,你可能须要为其它.sh文件运行上面的命令(我遇到当中的d2j_ivoke.sh也须要运行下面命令)。
搞定上面的问题之后,就能真正開始反编译获取原文件了。使用下面命令
./d2j-dex2jar.sh classes.dex
例如以下
运行完命令后,当前文件夹会生成一个classes-dex2jar.jar文件,该jar包就是终于获得的源文件的jar包,我们就差最后一步。将jar包反编译获取java文件
3,JD-GUI获取java源文件
非常easy。你仅仅须要将上一步中生成的classes-dex2jar.jar在JD-GUI中打开就可以。一般我们能获取所有资源文件。如图片,布局文件。可是源文件时被混淆过的。以上。
相关文章推荐
- cocos2dx 3.1.1移植安卓apk (lua项目交叉编译 mac环境下)
- Mac环境下反编译apk
- cocos2dx 3.1.1移植安卓apk (lua项目交叉编译 mac环境下)
- mac 环境反编译android apk
- MAC环境下反编译apk
- Mac下搭建android编译环境,编译cocos2d-x
- [Android] mac上申请签名及使用ant自动编译打包签名APK
- mac环境下cmake命令行编译总结
- Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行
- ubuntu环境下反编译android apk
- mac下反编译Android的apk步骤
- Mac OS X下搭建Android Source编译环境的问题及解决方法
- Mac OS X 10.8.3搭建Android工程源码的编译环境(解决找不到GCC、GIT、PYTHON的问题)
- Mac下利用Apktool反编译apk
- Mac环境下Android APK包反编译详解
- Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行Cocos2dX自带TestsDemo项目
- Mac OS X 10.8.3反编译Android apk
- MAC下的android环境编译coco2d-x,运行成功!
- android 源码环境下,编译apk时,导入第三方的jar包
- 和我一起写lua - Mac OS X环境编译C模块