前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

Mac环境下Android APK包反编译详解_Android教程_西安云间科技 Java培训 java视频教程 学员作品 网站首页 学员就业 联系我们 首页 新闻公告 技术专栏 课程介绍 师资团队 报名流程 学员专栏 教程下载 联系我们 当前位置: 首页 > 技术专栏 > Android教程 > Mac环境下Android APK包反编译详解 时间:2013-12-07 10:31来源:云间科技 作者:swz 点击: 次 一、为什么需要对APK包进行反编译 公司原有的一个产品包括Android以及iOS两个版本,Android的源码不小心遗失了。但是当前这个产品又需要针对某个潜在客户做一些定制化,重建Android项目看来是必由之路了--总不能再开发一遍吧 :)。还好当时发布APK包的时候没有对代码做混淆,有救了! 二、开发环境 以下是我当前使用的开发环境: 操作系统:Mac OS 10.8.4 Android开发环境:ADT 由于我使用的是Mac系统,接下来介绍的步骤部分都是Mac系统相关的。对于Windows或者Linux的反编译步骤,大家可以参照以下。(从我的观点看,步骤还是基本相同的) 三、反编译步骤 下面就直接列举以下反编译APK文件的详细步骤及方法: 第一步: 在电脑中创建一个新的目录并将待反编译的APK文件放到该目录中。 将APK文件把文件后缀从.apk改成.zip,接下来将.zip文件解压。在解压出来的目录中你可以得到classes.dex这个文件。到此为止,你已经可以看到一些图形资源,但是xml文件以及java源代码文件还没有。 所以,得继续加油! 第二步: 从以下链接下载dex2jar,并把下载下来执行文件拷贝到.zip文件的解压目录。 打开Terminal并切换到.zip的解压目录,在Terminal中输入 ./d2j-dex2jar.sh classes.dex,按回车键后,在.zip解压目录会生成一个classes.dex.dex2jar文件。 接着通过以下链接下载Mac版的jdgui工具。下载完工具后双击改工具,运行工具后选择打开文件以打开我们刚生成的classes.dex.dex2jar.jar文件。通过在jd-gui中选中File->Save All Sources即可以将所有的class保存成java源代码文件。 到此我们已经得到想要的Java源代码了,但是解出来的XML文件还是不可读,还得继续努力! 第三步: 再创建一个新的目录,并在该目录中执行以下操作: 1、将需要反编译的.apk文件放到该目录 2、下载apktool v1.x以及Mac版的apktool install mac到该目录 3、下载framework-res.apk文件到该问路(并不是所有的待反编译的APK文件都需要framework-res.apk文件) 4、打开Terminal窗口 5、在Terminal中定位到该目录并运行以下命令:./apktool if framework-res.apk 6、在Terminal中再输入如下命令:./apktool d "myapkname".apk。 注:myapkname为你需要转换的apk包名称 执行完命令后,在新目录中找到新创建的 "myapkname" 目录,在该目录中你将得到可读的AndroidManifest.xml以及各种drawable资源。 第四步: 接下来就是将第二步以及第三步得到的Java原文件、资源文件放到同一目录,配置项目依赖jar包。。。 四、引用地址: 五、其他参考文章: Windows环境下Android反编译详解 六、参考资源下载连接: dex2jar: jdgui: ?q=jdgui android-apktool: (责任编辑:shwezh) 更多 顶一下 (0) 0% 踩一下 (0) 0% ------分隔线---------------------------- 上一篇:android中sqlite数据库升级方案 下一篇:Android刮奖控件,需要的直接拿去用 收藏 挑错 推荐 打印 相关文章 关键词: ·Android刮奖控件,需要的直接拿去用 ·android中sqlite数据库升级方案 ·Android中判断矩形和圆的碰撞 ·Android五种数据存储方式 ·3种方法可以让android手机通过电脑上网 ·Android硬件加速框架流程 ·【Android】使用Wifi连接ADB调试App ·Android 在xml中配置 float 和 integer 值 ·android 线程池 详解 ·Android Fragment使用和学习 ·Android实现秒表计时器的程序设计 ·android培训教程:读写文件的几种方式 推荐内容 安卓系统手机常见问题解答集 手机设置篇: Q. 如果我忘了解锁图形,该怎么办? 若您未能在... 安卓开发:安卓环境安装 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我... 安卓桌面操作系统是微软的噩 21世纪初期时的情况是这样的:消费者购买电脑,而电脑预装有... 互联网手机已死?盘点互联网 这恐怕是最为短命的互联网模式了,一年时间即被证明是完全行... 3种解决安卓手机锁屏密码忘 方法一:ADB解锁 点击下载ADB解锁工具 必要条件:USB调试模式为... Android系统名词解释汇总 1、固件、刷固件 固件是指固化的软件,英文为firmware,它是把某... 热点内容 安卓之service简单介绍 3月20日java行业新闻汇总: Mac环境下Android APK包反编译 Android获取设备ID、型号及 Android 字体加粗的两种方法 Android现在出现了什么症状 在NetBeans上搭建Android SDK环 android面试题(2) Android 在xml中配置 float 和 大学生就业培训:西安大学 最近更新 Android刮奖控件,需要的直接 Mac环境下Android APK包反编译 android中sqlite数据库升级方案 Android中判断矩形和圆的碰撞 Android五种数据存储方式 3种方法可以让android手机通 Android硬件加速框架流程 【Android】使用Wifi连接ADB调 Android 在xml中配置 float 和 android 线程池 详解 关于我们 java培训 java视频 招贤纳士 联系我们 技术论坛 Copyright © 云间科技 2010 - 2017 Edu Inc. 陕ICP备13003843号-1