Android APK反编译全方位解析

2019年7月1日12:56:31Android APK反编译全方位解析已关闭评论 213
  • 导言:在我们安卓开辟傍边,我们不只须要控制基本的开辟妙技,也须要控制软件的平安妙技,如许才可以或许让我们的软件可以或许成为一款可以或许真正可以或许举行宣布的软件,同时也可以或许让本身的中心技术不会被他人所偷取。

  • 起首我们应该相识的是,关于反编译我们一共须要三个东西,它们分别是:APKTool,dex2jar,和jd-gui。

  • APKTool:用于剖析apk的res文件以及AndroidManifest.xml文件

  • dex2jar:用于把apk解压后天生的classes.dex文件剖析为后缀为jar的文件,与下面的jd-gui东西团结运用则可以或许获得我们的中心Java代码

  • jd-gui:将上一步所获得的jar文件剖析为Java文件,从而获得软件的中心代码

这就是反编译的中心流程,通常没有被MD5算法加密,或许未被加固过的APK都可以或许应用这个方法来举行反编译破解。

 

第一步.来到官网下载APKtool

  • 网址:https://ibotpeaches.github.io/Apktool/install/

界面以下:

Android APK反编译全方位解析

 

 我们须要把下载的两个文件都放在同一个文件夹下,这个文件夹可以或许本身举行挑选或许新建,自己这里在E盘下建立了一个androidsafe的文件夹用于生存这个东西,点击第二个链接以后会涌现以下界面:

 

Android APK反编译全方位解析

 

第二步.将须要举行反编译的文件放到方才我们建立好的谁人文件夹下

Android APK反编译全方位解析

 

此时我们的E:/androidsafe文件夹下只要这三个文件,同时我们也须要把下载的第二个文件apktool-2.4.0.jar变动成apktool.jar,否则是没法运转这个东西的。同时把须要反编译的apk文件移动到这个文件夹下。

 

第三步.最先反编译

键盘输入win+r,进入cmd的windows敕令行形式。

应用cd敕令将敕令行形式进入方才建立的这个文件夹下,

再输入:

apktool d 您拿到这个文件夹下的须要反编译的apk文件名.apk

 以下图所示:

Android APK反编译全方位解析

如许我们的反编译历程就完成了。

我们再来看看方才我们所建立的文件夹就会多出一个名为appdebug的文件了

Android APK反编译全方位解析

文件目次以下:

Android APK反编译全方位解析

可以或许说是非常胜利了。个中的res文件夹是顺序傍边的一切资本文件,smali文件夹下存放了顺序一切的反汇编代码。apktool这个东西主若是用来剖析资本res和资本AndroidManifest.xml的,除此之外的,我们还须要别的的东西来剖析Java源码,应用下以下两个东西则可以或许用于剖析Java源代码,它们分别是:dex2jar和jd-gui.

第四步.将apk文件剖析为后缀为dex的文件

1.起首我们把方才用于剖析的apk文件的后缀改成zip,然后随意用一个你已装置过的压缩包软件把它解压就可以或许了

2.解压以后你会在解压以后的文件傍边发明一个名为:classes.dex的文件,如许就把apk的dex文件获得啦!以下图所示:
Android APK反编译全方位解析

第五步.应用dex2jar东西把dex文件剖析成后缀为jar的文件

dex2jar的下载网址是:https://bitbucket.org/pxb1988/dex2jar/downloads/

1.下载到我们方才装置apktool的文件夹下,然后解压,变动解压后的文件名为dex2jar
2.将方才所获得的classes.dex文件剪切到dex2jar文件夹下,以下图所示:
Android APK反编译全方位解析

3.翻开敕令行cmd形式,应用cd敕令将目次切换到dex2jar的文件夹下,同时键入以下代码:

d2j-dex2jar.bat classes.dex

这个时刻返回文件夹,马上就可以或许看到在classes.dex文件夹下就多了个jar文件了。

第六步.将jar文件剖析为Java文件

下面就来到最激动人心的一步,获得我们的Java文件啦!

起首下载jd-gui,网址以下:

https://github.com/java-decompiler/jd-gui/releases/

这里windows版本的就直接下载后解压,解压后点击后缀为exe的可执行文件翻开就是了,再将jar文件拖进去就好啦!:
以下图所示:

Android APK反编译全方位解析

反编译的步调照样挺简朴的,然则若是被加密后再举行反编译难度就大了。

 

 

avatar