反编译apk

关于反编译apk步骤的详细分析网上已经有了,我就不赘述了,你可以查看下面链接中的内容

https://blog.csdn.net/s13383754499/article/details/78914592#commentBox

本文主要做一下反编译apk大致总结和补充,外加分享一个直接读取apk源码的软件jadx

我的反编译apk工具

链接:https://pan.baidu.com/s/1wJ4ajhsLu5riVCqhmXyD1Q 密码:rwpc

反编译apk

关于反编译apk我主要说三点:

一、通过apktool反编译apk

下载apktoo.jar ,命令行进入该jar存放的文件路径

输入:java  -jar  apktool_2.3.3.jar  d   +(拖入你的.apk) 

反编译apk

我这边就反编译出一个对应的douying文件夹。

反编译apk

其中,res文件夹中存放着该app所有的资源(xml,布局文件和图片);smali文件中存放的是app的所有代码,但代码是smali语言格式,smali语言是Android虚拟机所使用的寄存器语言。还有就是 Androidmanifest.xml功能清单文件一目了然,可以直接查看。

如果你能看懂smali语言,可以修改smail中的一些静态成员变量,然后重新打包(apktool.bat b douying),重新签名apk,就可以重新发布该apk了,这也是所谓的有源动态调试,修改apk。

二、通过dex2jar与jd-gui反编译apk,看apk大体源码。

大致步骤是:1.将apk文件重命名为.zip格式并解压,其中classes.dex文件中存放着所有代码

反编译apk

2.下载dex2jar工具,命令行进入dex2jar-2.0目录,输入:d2j-dex2jar +(拖入classer.dex文件) ,如下图(当然尽量避免有中文/笑)

反编译apk

3.打开jd-gui.exe,在应用中打开刚刚生成的class-dex2jar文件,就可以看到大体代码了。

反编译apk

三、软件jadx,直接打开apk文件读取源码。

打开jadx-gui.bat,在应用中打开你想查看的apk,一键完成,非常方便。

反编译apk

注:本文的目的只有一个就是为了促进开发者学习,借鉴好的代码,提升自我开发水平。

还有什么问题不明白

欢迎加入我的Java与Android逆向开发交流QQ群,一起交流学习。

反编译apk