【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

  我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个部分,一个是对代码的反编译,一个是对资源的反编译,我们马上来逐个学习一下。 在开始学习之前,首先我们需要准备一个APK文件,为了尊重所有开发者,我就不拿任何一个市面上的软件来演示了,而是自己写一个Demo用来测试。

--摘自《Android安全攻防战,反编译与混淆技术完全解析(上)》

  在参考郭神的文章以及后续的使用过程中,由于使用的工具版本不同,所以命令有所差别。

  本系列中使用的Demo项目是HelloWorld,源代码截图和运行效果如下:

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

效果图:

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)

--摘自《Android APK反编译就这么简单 详解(附图)》

反编译代码 下载软件

dex2jar:将apk反编译成Java源码(将apk里面的classes.dex转化成jar文件)

下载地址:见文章末尾。

jd-gui:查看jar文件(将jar文件转换成java代码)

下载地址:

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

安装软件

直接解压即可,然后将上面的两个软件放到同一个目录下。

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

解压缩apk文件,获取dex文件

通过好压软件打开apk文件,将class.dex拖拽出来【或者先将apk文件重命名成zip文件,然后用解压软件打开。】

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

注意:可能会有多个dex文件,那么就需要将所有的dex文件转换成jar文件。

将dex文件转换成jar文件

将classes.dex复制到dex2jar-2.0目录中

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

下面就是通过命令行的方式将dex文件转换成jar文件。对于这个版本(dex2jar-2.0)来讲,我们要用到的是d2j-dex2jar.bat这个批处理文件,当然如果你是linux或mac系统的话就要用d2j-dex2jar.sh这个文件。对于旧版本(dex2jar-0.0.9.15),要用到的是dex2jar.bat这个批处理文件。

打开命令行提示符,并定位到dex2jar-2.0安装目录下

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

   

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

根据实际情况,定位到dex2jar-2.0的安装目录(比如我的是E:\反编译\dex2jar-2.0

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

输入命令d2j-dex2jar.bat classes.dex

【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool) 【反编译系列】二、反编译代码(jeb)【反编译系列】三、反编译神器(jadx)【反编译系列】四、反编译so文件(IDA_Pro)

没有报任何错误,这就说明我们已经转换成功了(其实即使报错了,也可以暂时不用管)。现在观察dex2jar-2.0目录,你会发现多了一个文件,如下图所示:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyssjp.html