linux下反编译android apk

本人的系统为ubuntu12.04

1、所需要的工具

1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等,

下载地址:https://code.google.com/p/android-apktool/downloads/list

需要下载apktool1.5.2.tar.bz2 和apktool-install-linux-r05-ibot.tar.bz2 这两个文件,并把解压后的文件放在同一个文件夹中。

2)dex2jar,功能:反编译出jar文件,即apk的源程序文件的字节码,

下载地址:http://code.google.com/p/dex2jar/downloads/list

3)jdgui,功能:查看dex2jar反编译出的jar文件,使用该工具可以看到字节码对应的java源代码,这个我在官网上没有找到,然后自己在网上下载的,但试验过能用。点击打开后,如下图所示:

2、反编译过程
1)反编译出资源文件
使用apktool工具,进入apktool所在的目录下,使用如下的命令:
    ./apktool d ./xxx.apk(apk所在的路径)

d表示decode,在当前目录下就会生成一个名为xxx的目录,里面就是反编译出来的各种资源文件,其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。

以本人的实验为例子,如下图所示:


P { margin-bottom: 0.08in; }A:link { }

此时会在当前目录下生成一个目录app-debug。

2)源代码的反编译
a)因为apk文件其实是使用zip进行打包压缩生成的文件,所以先把xxx.apk文件改名为xxx.zip文件,并对其进行解压。
b)进入解压后的目录,其中有一个classes.dex文件,这个文件就是java文件编译再通过dx工具打包而成的,源代码就包含在这个文件中。
c)把前一步生成的文件classes.dex复制到dex2jar工具的根目录中,并使用如下命令对其进行反编译:
    ./dex2jar.sh d classes.dex
就会在当前目录下生成一个classes_dex2jar.jar文件

d)点击打开jdgui工具,这是一个图形化的工具,然后打开上上述的classes_dex2jar.jar文件就可以看到apk对应的源代码。

对于本人的实验如下:

源代码与反编译出来的代码比较如下(白色为反编译内容,黑色为原内容):

P { margin-bottom: 0.08in; }A:link { }

时间: 2024-08-07 17:02:27

linux下反编译android apk的相关文章

『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse

一.使用apktool 将 apk反编译生成程序的源代码和图片.XML配置.语言资源等文件 具体步骤: (1)下载反编译工具包:apktool 官方的打不开 http://apktool.shoujifans.com/2014/12/21.html 里有网盘下载 需要下载下边两个文件 apktool1.5.2.tar.bz2 apktool-install-linux-r05-ibot.tar.bz2 (2)将下载好的两个包解压到“同一个”文件夹apktool里面. 注意是同一个 (3)在命令行

mac下反编译android apk

所需要的工具 http://pan.baidu.com/disk/home#path=%252Fandroid%252Fdecompile%252Fapktool-all apktool用于将资源文件或者原始资源文件反编译  -->res   assets 文件夹 apktool d XXX       XXX表示apk文件   在当前目录下生产对应的目录 d2j-dex2jar.sh XXX     XXX表示apk文件解压然后 classes.dex 则会生成classes.jar   然后

反编译Android APK及防止APK程序被反编译

原文出处 反编译Android APK及防止APK程序被反编译 怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它 的做法,同时啊,还可以借鉴别人的软件结构,资源文件:作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看.此方式主要目的是为了促进开发者学习,借鉴好的代

实例详解:反编译Android APK,修改字节码后再回编译成APK

本文详细介绍了如何反编译一个未被混淆过的Android APK,修改smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk无论输入什么样的用户名和密码都可以成功进入到第二个Activity. 有时难免要反编译一个APK,修改其中的若干关键判断点,然后再回编译成一个全新的可用的apk,这完全是可实现的.若要完成上述工作,需要以下工具,杂家后面会把下载链接也附上.这些软件截止本文发布时,经过杂家确认都是最新的版本. 1.APK-Multi-Toolv1.0.11.zip 用它

实例具体解释:反编译Android APK,改动字节码后再回编译成APK

本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能够成功进入到第二个Activity. 有时难免要反编译一个APK.改动当中的若干关键推断点,然后再回编译成一个全新的可用的apk,这全然是可实现的. 若要完毕上述工作,须要以下工具,杂家后面会把下载链接也附上.这些软件截止本文公布时,经过杂家确认都是最新的版本号. 1.APK-Multi-Toolv

浅析,反编译 Android APK流程分享!

作为公司的技术兼产品人员,看到别人开发的优秀Android APK实在羡慕,在Android开发的过程,也很想去学习别人那些漂亮的动画和布局,或是产品逻辑等是怎么做的,所以最近学习了对APK的反编译,只做学习借鉴,提升产品竞争力,不为任何不法企图之用.        首先下载反编译软件apktool .dex2jar. jd-gui对APK进行反编译 工具介绍: apktool :资源文件获取,可以提取出图片文件和布局文件进行使用查看,其原理详情:(http://my.oschina.net/1

使用apktool反编译Android APK

工具介绍:apktool: :把APK反编译,生成程序的源代码和图片.XML配置.语言资源等文件.  官方地址:https://ibotpeaches.github.io/Apktool/ dex2jar:将apk反编译成java源码(classes.dex转化成jar文件)  官方地址:https://github.com/pxb1988/dex2jar jd-gui:查看APK中classes.dex转化成出的jar文件,即源码文件  官方地址:http://jd.benow.ca/   

Mac OS X 10.10.3反编译Android apk

1.下载开源工具apktool 下载地址 解压然后使用命令行: ./apktool d ~/testdeJava/Contacts.apk ~/testdeJava/Contacts  //这一步主要反编译资源文件,反编译结果指定为目录:~/testdeJava/Contacts [python] view plaincopy I: Baksmaling... I: Loading resource table... I: Loaded. I: Loading resource table fr

反编译Android应用

转载请注明出处:http://blog.csdn.net/allen315410/article/details/44018747 Android反编译介绍 我们在开发Android应用的时候,常常会"参考""借鉴"一下别人"想法",你们懂的!然而,很多时候我们是看不见别人的源码的,这时候唯一解决的方法就是反编译apk,我们知道,当一个Android应用开发好了以后,会打包生成apk文件,然而Android打包工具会将java源码编译成.clas