其实反编译apk的问题并不复杂,但是又很多的朋友都不太了解apk逆向步骤,因此呢,今天小编就来为大家分享反编译apk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

如何反编译apk文件

工具/原料

反编译apk(apk逆向步骤)

1、apktool它可以拿到apk里面的资源文件,我们要下载两个文件,分别是apktool1.5.2.tar还有apktool-install-windows-r05-ibot.tar,

2、dex2jar它可以把apk里面的dex文件转换成jar文件

3、jd-gui它可以把jar文件或class文件反编译成java文件

方法/步骤

首先下载这三个软件,然后解压(注意apktool的两个文件解压到一个文件夹)。

反编译apk(apk逆向步骤)

把需要反编译的APK放到apktool文件夹下,然后打开Cmd(运行),进入apktool文件夹下

输入apktool d apk名字,注意apk名字需要带有后缀,这个获取的是apk的资源文件,可以看到资源文件全都在这里了

这一步获取apk代码文件,将需要反编译的APK用压缩软件打开,提取里面的classes.dex,然后把classes.dex放到dex2jar文件夹下(就是第二个软件的解压文件夹),cmd进入dex2jar下面输入dex2jar classes.dex

就看到jar文件了

打开jd-gui文件夹,打开jd-gui.exe,然后打开jar文件,就可以看到源码文件了

安卓apk文件如何反编译

安卓apk文件反编译:

一、反编译xml文件

1>

首先下载我给你们提供的文件夹apk_fanbianyi,把它放到某个盘的根目录下(为了方便输入dos命令),然后打开apktool文件夹,安装win+r键,然后输入cmd,进入dos命令行,大家别怕,不用晕,很简单的。

2>

然后在dos命令中首先输入文件夹所在盘符+“:”回车,接着再输入cd+apktool所在目录,切换dos工作空间到apktool文件夹下。

3>

接着输入

apktool.bat

d

【需反编译apk文件路径】

{【反编译文件反编译后的路径】},其中最后一部分可以省去,系统会默认把apk文件反编译到apktool目录下,例如输入

apktool.bat

d

d:/apk_fanbianyi/ttkp.apk,在apktool文件夹下就会生成一个ttpk的文件夹,所有的xml文件全部反编译成功。

二、反编译java文件

1>

首先解压需要反编译的apk文件,拷贝出里面的classes.dex文件到dex2jar文件夹(为了方便操作,省去dos命令输入路径的麻烦)

2>

把工作空间切换到dex2jar文件夹下,输入命令cd

d:/apk_fanbianyi/dex2jar回车

3>

输入命令dex2jar.bat

classes.dex回车,发现dex2jar文件夹下多了一个classes_dex2jar.jar文件,这是反编译成功的java文件

三、xml文件的打开

1>

打开apktool文件夹下的ttkp文件夹,任意找到一个xml文件,选中单击右键,选择notepad++打开(需下载),如果没有此软件,可以选择打开方式,选择记事本打开

四、java文件的打开

1>

dex2jar文件夹下的classes_dex2jar.jar拷贝到apktool文件夹的ttkp文件夹中,不能用notepad++打开,不然会乱码的

2>

启动apk_fanbianyi文件夹下的jd-gui.exe,然后点左上角file,选择open

file,找到classes_dex2jar.jar文件,可以发现有很多包,选择包下的任意一个java文件,打开不乱码了,是不是很神奇,哈哈,你学会了安卓apk文件反编译

如何利用apktool反编译apk

首先的知道一下几条指令的意思

1,apktool d SysteUI.apk 12意思是将SystemUI.apk解包到12文件下,12文件夹不用创建,会自动生成

2,apktool b 12打包12文件夹(将会自动把12文件夹里的修改过得APK解包后修改完后自动打包,生成resources.arsc,文件,这就是我们反编译的主要目的,当然还有其他目的,后面将会说明怎么apktool需要反编译的目的,生成的文件。

3,apktool if framework-res.apk这条语句很重要很多时候我们容易忽略这条语句导致打包不成功,这句语句的意思是,有些时候我们解包apk文件需要用framework-res.apk(framework是指系统框架。有时也会用到apktool if twframework-res.apk,同样我们只需在前面输入就行。当然得把framework-res.apk这个文件目录下。

4,apktool if twframework-res.apk,当然 twframework-res.apk也应该放在文件目录下,不如反编译Mms.apk.....会用到

知道这四条语句我们就可以进行反编译了。

已反编译SystemUI.apk为例,,下面开始讲解

现在cmd下输入apktool if framework-res.apk(并把framework-res.apk放在文件目录下)apktool if twframework-res.apk( twframework-res.apk也应该放在文件目录下)其实这两部就是搭建安卓系统环境,输入完后在解包,apktool d SystemUI.apk 12就行了

apk反编译怎么搞

1.下载反编译工具

需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot

dex2jar:将apk中的classes.dex转化成Jar文件。

JD-GUI:反编译工具,可以直接查看Jar包的源代码。

apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。

apktool-install-windows-r05-ibot:辅助windows批处理工具。

2.解压缩APK包

apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。

3.反编译dex文件

解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。

解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。

DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路径)。

将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件

4.反编译jar包

得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。

打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了

5.反编译xml文件

打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。

具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:

在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。

这样就得到了可以得到编译的源码和XML资源。