Android反翻译详解

这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。

在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。


本文Android反编译教程,测试环境:

Win7 Ultimate x64

Ubuntu 12.04 x86_x64

反编译工具包  下载(2016-12-10更新)


一、Apk反编译得到Java源代码

下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。

apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件

源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码


dex2jar 和 jdgui 最新版本下载,分别见google code:

dex2jar(google code)

jdgui(google code),最新版本请见 官方


具体步骤:

首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。

在命令行下定位到dex2jar.bat所在目录,运行

dex2jar.bat    classes.dex

生成

classes_dex2jar.jar


然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了,如下图:



HelloAndroid源码在反编译前后的对照如下:

 



二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件

如果是汉化软件,这将特别有用

首先还是要下载上述反编译工具包,其中最新的apktool,请到google code下载

apktool(google code)


具体步骤:

下载上述反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exeapktool.batapktool.jar 

注:里面的apktool_bk.jar是备份的老版本,最好用最新的apktool.jar


在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat  d  -f   abc123.apk   abc123,如下图:

 

上图中,apktool.bat 命令行解释:apktool.bat   d  -f    [apk文件 ]   [输出文件夹]


反编译的文件如下(AndroidManifest.xml为例):



将反编译完的文件重新打包成apk,很简单,输入apktool.bat   b    abc123(你编译出来文件夹)即可,命令如下:

 

打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹:

build

dist

其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下,Ok



三、 图形化反编译apk

上述步骤一、二讲述了命令行反编译apk,现在提供一种图形化反编译工具:Androidfby

首先,下载上述反编译工具包,打开Androidfby目录,双击Android反编译工具.exe,就可以浏览打开要反编译的apk





本文反编译工具包整理历史版本:

Android反编译工具包(升级)  (2012-10-10)

Android反编译工具 (2012-08-21)

android反编译工具 (2011-08-28)




出处:http://blog.csdn.net/ithomer/article/details/6727581

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机——UART

单片机——UART串口通信 宗旨:技术的学习是有限的,分享的精神是无限的。 对于单片机来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个单片机系统的“神经中枢”。 1、初步认识 一位一位的发送出去的&#xf…

day 34 守护线程守护进程 互斥锁线程 信号量 生产者消费者

今日内容 1、守护进程vs 守护线程(*) 2、互斥锁(**) 3、信号量(**) 4、生产者消费者模型(*****) 5、GIL(什么时候用进程,什么时候用线程)&#xf…

20000W的电灯泡,真的是叼炸天

编排 | strongerHuang素材来源 | 电工电气学习1000W的灯泡有多亮? 20000W的灯泡呢?嵌入式专栏11000W灯泡一位手工帝名叫rctestflight,他认为普通白炽灯泡的能耗是LED灯8倍,他自己要做一盏最亮最亮的灯,就选择了LED灯泡…

以色列:新发明大幅提高太阳能发电效率

央视国际 [url]www.cctv.com[/url]  2007年08月22日太阳能发电是个老话题了,同时也有一个老问题,就是发电效率很低。最近,以色列科学家宣布,他们发明了一种新型的、高效太阳能发电系统,将促进太阳能在工业领域的广泛…

51单片机——I2C总线

单片机——I2C 宗旨:技术的学习是有限的,分享的精神是无限的。 UART 属于异步通信,比如电脑发送给单片机,电脑只负责把数据通过TXD 发送出来即可,接收数据是单片机自己的事情。而 I2C 属于同步通信, SCL 时…

物联网开发者被疯抢,华为做了什么?

5G时代到来,物联网技术的应用也离我们越来越近。智慧交通、智能家庭、智慧园区,越来越多的融入到我们的生活当中。所以,对于开发者而言,物联网将是未来发展的一大蓝海领域。但国内物联网人才短缺,每年人才缺口达百万之…

VMware 安装kali——linux

学习信息安全需要安装kali-linux,会遇到许多问题,如下: 1、版本问题 需要注意自己多用软件和电脑操作系统是否是一致版本,有些是可以安装但是不能运行。 2、安装过程选择错误的选项 我们创建新的虚拟机,这时,选择自定…

FreeRTOS及其应用,万字长文,基础入门

嵌入式系统不只是ARMLinux,不是只有安卓,凡是电子产品都可称为嵌入式系统。物联网行业的兴起,也提升了FreeRTOS市场占有率。本文就是介绍FreeRTOS基础及其应用,只是个人整理,可能存在问题,其目的只是简要介…

从中工毕业到年薪30万,我用了2年9个月

1夜色如潮水一般淹没了这座城市。我蹲在阳台,问我的死党,你说我的第一篇文章,起个什么样的标题才足够吸引人,让人想点开看看呢?死党从床上的帘子里探出头来说,UC震惊部啊,屡试不爽,况…

51单片机——LCD1602

单片机——1602液晶 宗旨:技术的学习是有限的,分享的精神是无限的。 1、1602液晶读写时序 (1)、读状态 RSL,R/WH,EH。(判断忙完毕后释放总线) (2)、读数据 RSH,R/WH&a…

recovery模式下支持ADB连接和串口操作

前言Android平台下我们有时候会进入recovery下做一些操作,不管是通过ADB连接还是通过串口操作,都需要你的平台支持,不支持的话可以按照我们这篇文章进行修改。正文ADB连接进入recovery后,我通过ADB连接会有如下报错exec "/sy…

Get busy living or get busy dying

好久不看大片了,今天花了一些时间仔细看了一遍《肖申克的救赎》,应该是很仔细的看了一遍,这个影片真的震撼心灵,“Get busy living or get busy dying.”(忙着活,还是忙着死)是安迪最重要的一句…

买房这件小事

终于有时间再来讨论这个问题,可能因为在深圳,每次说这个问题时都挺热闹的。— — 为什么想买房?人很奇怪,也很自知,我在上学的时候从来没有过这样大胆的想法。后来突然想买房,一个原因是自己有钱了&#xf…

51单片机——DS18B20

单片机——DS18B20 宗旨:技术的学习是有限的,分享的精神是无限的。 DS18B20——温度传感器,单片机可以通过 1-Wire 和 DS18B20 进行通 信,最终将温度读出。1-Wire 总线的硬件接口很简单,只需要把 18B20 的数据引脚和单…

房价是不是泡沫?

日本买房这件小事记,我在深圳买房继上一篇文章之后,有人说我没有了解中国房地产的历史,就公然写房产的文章。确实,我没有去搜刮很多历史的数据和文章来佐证,也没有引用什么大家之谈,很多都是自己经历的一些…

用Metasploit破解ftp用户名和密码

Metasploit是渗透测试人员在世界各地的资源和工具,比较常用的命令: msfconsole——直接进入 show options——查看 set RHOSTS ip地址/段 use 路径 需要在虚拟机的2003版本下创建FTP服务 将字典密码文件加入到虚拟机的系统里边 命令 ——rz 查看ftp是…

PWM实现语音播放原理

采用PWM进行播放语音原理1.概述2.声音原理3.DAC产生声音的原理是什么4.PWM又是如何实现的DAC的5.PWM的频率与底噪的关系6.PWM音乐曲目解析7.后续1.概述大多数微控制器上播放音频都是采用DAC进行输出,因为微控制器上都不会去带CODEC编解码芯片,但是DAC不是…

CTF 这个看起来有点简单

这个看起来有点简单分值:10 来源: 西普学院难度:易 很明显。过年过节不送礼,送礼就送这个 格式: 解题链接: http://ctf5.shiyanbar.com/8/index.php?id1 解法: 1.手工注入 id1 id1 and 11 id…

操作系统,你搞定了没?

#书籍赠送操作系统一直是比较难学的知识,要学好操作系统的相关内容,需要对硬件、软件、宏观、微观、有非常深刻的理解,而能找到一本讲解比较好的书籍也是非常难得的,恰好,最近有出版社的朋友推荐了这样的一本书籍&…

webcast(利用sharepoint Designer 定制 Office SharePoint Server 2007)学习笔记

讲 师:侯钟雷 微软特约讲师 北京易学育通科技发展有限公司时 间:90 分钟 下载地址:下载地址(需先注册,不过很快)讲座内容:SharePoint Designer是原Frontpage网页工具的演进版本,除了保持了原有强大的功能外,更增加了对SharePoint技术的…