商城首页欢迎来到中国正版软件门户

您的位置:首页 >1.11 反编译APK获取代码&资源

1.11 反编译APK获取代码&资源

  发布于2026-08-12 阅读(0)

扫一扫,手机访问

本节引言

“反编译 APK”这件事,乍一听似乎挺高深,甚至有点技术门槛很高的感觉,但实际上并没有那么神秘。说白了,它就是借助一些反编译工具,把 APK 拆开来分析,从中拿到程序源码、图片资源、XML 配置文件等内容。这样的操作,不少人多少都接触过:比如看到别人的 APP 界面做得很精致,或者正好看中了其中的图片素材,最简单的办法其实就是先把对方的 APK 下载下来,再把后缀名改成 xxx.zip,接着直接解压。下面就是随手解压的一个 APK:

我们可以打开res目录,获取里面的图片素材

不过,这种方式拿到的基本只是.png、.jpg这类位图资源。要是碰到xml这类资源,打开后往往就是一堆乱码;再比如,想直接查看APK里的Java代码,同样也走不通,因为这些内容早就被统一打包进classes.dex文件里了。也正因为如此,反编译才真正派得上用场。话说在前面,这项技术只能用于合法、合规的学习和分析场景,千万不要拿它做违法的事,比如把别人的APK重新打包、换上自己的签名,再发布到相关市场。还有一点也得记住:参考别人的代码可以,但绝不是原样照搬,这个边界一定不能踩。

1.要准备的三个工具

  1. apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
  2. dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)
  3. jd-gui:查看2中转换后的jar文件,即查看Java文件 为了方便各位读者,这里将三个打包到一起放到云盘中,又需要的可以进行下载: 反编译相关的三个工具.zip

2.使用apktool反编译APK获得图片与XML资源:

把下载好的apktool解压后,我们可以看到下述文件(忽略那两个csdn,一个是反编译的apk,一个是反编译后文件):

接下来,双击cmd.exe,来到命令行,键入: apktool.bat d csdn.apk 即可,Enter回车:

然后就可以看到生成的csdn文件夹,里面就有我们想要资源 好的,就是XML资源到手了是吧!图片素材也到手了!

3.使用dex2jar将classes.dex转换成jar文件:

把下载好的dex2jar文件夹解压,apk解压后中的classes.dex复制到dex2jar.bat所在的目录下:

打开cmd,来到这个目录下:键入:d2j-dex2jar.bat classes.dex

接着我们可以看到,生成了一个jar包:

好的,转换完成!

4.使用jd-gui查看jar包中的Java代码:

好的,打开jd-gui的文件夹

打开后,打开我们3中转换后的jar包,我们可以看见里面的代码:

csdn的客户端竟然不混淆代码...可能是本着开源的精神吧,给我们学习代码吧!一般的话,apk发布都会 进行混淆,然后进行一些加密,或者使用第三方的加密平台,用的比较多的"爱加密",有兴趣的也自行百度查看更加详细的介绍!

本节小结

好的,关于APK的反编译就介绍到这里,相信你已经摩拳擦掌想要试试了,那就试试吧,最后提醒一句,别做坏事!尊重别人的劳动成果!另外,关于第一大章环境搭建相关以及一些常用开发技巧就到这里,下一节开始我们就来进行本系列教程的第二章——Android中的常用UI控件的学习了!因相关的基本控件较多,估计有几十个,如果一直学控件可能没什么意思,可能并行写教程,每天学一个控件 + 一点其他的知识点这样,笔者要构思构思,敬请期待~谢谢~

本文转载于:https://www.runoob.com/w3cnote/android-tutorial-decompile-apk-get-code-resources.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注