Mac系统下对Android apk进行反编译
2015-11-05 00:06
344 查看
一 测试环境 Mac osx 10.8.3 macbook pro
二 所需软件
apktool ,主要将apk中的xml文件、图片、语言资源文件等反编译成原状态。
dex2jar,主要将apk反编译成jar包文件。
jdgui,把jar包文件转化成可读写的.java 源文件。
下载地址:http://download.csdn.net/detail/kaixing20/8244619
三 配置MAC下的环境变量
为了使软件能在终端命令行下面直接运行,就需要配置他们的环境变量,mac环境变量配置如下:
1.打开终端
2.输入 cd ~ 进入~文件夹
3.输入 touch .bash_profile 回车
4.输入open -e .bash_profile 在TextEdit中打开这个文件
5.设置环境变量语句:export PATH=${PATH}:/XXX/ ,XXX是你执行程序所在的路径(也就是apktool有路径)
6.假设我的apk文件位于/xiechengfa/test.apk下 ,输入以下命令:apktool d /xiechengfa/test.apk,解压后的文件放在usr的根目录
下。
如图:
7.面只是把xml源文件转换为可读,源代码文件位于smali文件夹下,所有原文件以smli文件后缀,还不是我们可读的文件。下面要用 dex2jar把apk文件反编译成jar文件(dex2jar也要重新设置下环境PATH),假设我的apk文件解压缩后的dex文件位于/xiechengfa/test1/classes.dex下 ,输入以下命令:d2j-dex2jar.sh
/xiechengfa/test1/classes.dex
这样就把dex文件解压成相应的jar文件,jar文件也默认生成用户目录下。
8.打开 jdgui程序,打开上面生成的jar包classes-dex2jar.jar,即可看到源代码了
二 所需软件
apktool ,主要将apk中的xml文件、图片、语言资源文件等反编译成原状态。
dex2jar,主要将apk反编译成jar包文件。
jdgui,把jar包文件转化成可读写的.java 源文件。
下载地址:http://download.csdn.net/detail/kaixing20/8244619
三 配置MAC下的环境变量
为了使软件能在终端命令行下面直接运行,就需要配置他们的环境变量,mac环境变量配置如下:
1.打开终端
2.输入 cd ~ 进入~文件夹
3.输入 touch .bash_profile 回车
4.输入open -e .bash_profile 在TextEdit中打开这个文件
5.设置环境变量语句:export PATH=${PATH}:/XXX/ ,XXX是你执行程序所在的路径(也就是apktool有路径)
6.假设我的apk文件位于/xiechengfa/test.apk下 ,输入以下命令:apktool d /xiechengfa/test.apk,解压后的文件放在usr的根目录
下。
如图:
7.面只是把xml源文件转换为可读,源代码文件位于smali文件夹下,所有原文件以smli文件后缀,还不是我们可读的文件。下面要用 dex2jar把apk文件反编译成jar文件(dex2jar也要重新设置下环境PATH),假设我的apk文件解压缩后的dex文件位于/xiechengfa/test1/classes.dex下 ,输入以下命令:d2j-dex2jar.sh
/xiechengfa/test1/classes.dex
这样就把dex文件解压成相应的jar文件,jar文件也默认生成用户目录下。
8.打开 jdgui程序,打开上面生成的jar包classes-dex2jar.jar,即可看到源代码了
相关文章推荐
- iOS 和 Android 哪个更利于赚钱呢?
- Toast提示框
- Dialog对话框
- 通知栏的提示(notification)
- Android菜单的几种方法
- Android内的动画两种
- Android 四大组件【持续更新中】
- Android 简单几步实现手机号码归属地查询,可监听文本框的变化自动查询
- Android的常用传感器开发教程案例
- MeiTuanRefreshListView高仿美团下拉刷新《IT蓝豹》
- Android之Bundle类(浅谈)
- Android(8)layout_weight
- 自定义ImageView系列 - 区域截图(上)
- Android:通过静态变量传递数据
- android----AndroidStudio错误:Failed to create the Java Virtual Machine
- Android Jsoup:实现HTML解析和Epub解析
- Android Studio: 引用jar及so文件
- android----关于使用Genymotion模拟器产生的错误Unable to establish a connection to adb
- mac android studio 配置 ndk
- [转]Android Message.obtain() 和Handler.obtainMessage()的区别