L1E6N0A2

监督自己不断学习

0%

安卓逆向学习(四)apk反编译流程

安卓反编译流程

反编译 高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。
但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。
计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。

获得dex文件

将apk后缀修改为zip,解压得到下面的文件:

1

反编译dex

打开cmd至dex2jar目录,执行命令 d2j-dex2jar.bat 目录\classes.dex

2

可以看到在dex2jar的目录下生了一个文件classes-dex2jar.jar

3

反编译jar文件

使用JD-GUI查看源代码,将上一步生成的classes-dex2jar.jar文件拖动至JD-GUI窗口,可以看到如下图,代码已经可以查看

4

参考资料

https://blog.csdn.net/qq_33721320/article/details/83413283