如何反编译apk文件并解析.class文件查看Java源代码

前期工作:先准备好反编译需要用到的工具:下载链接.
1.把下载好的工具解压,得到下面这三个文件

2.配置环境变量到path(apktool 和 dex2jar-2.0 配置两个即可)

3.准备好需要反编译的apk文件,并拖入到apktool文件夹下

4.在此文件目录下输入cmd命令打开控制台

5.在命令窗口输入:apktool d [-s] -d test.apk -o app对xml进行反编译,然后回车(test.apk改成你要反编译的apk的名字)


6.将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的)

这时打开test文件夹时,AndroidManifest.xml文件就已经可以用你的IDE工具打开并正确显示了
7.将获取到的classes.dex放到之前解压出来的工具dex2jar-2.0 文件夹内

8.在此目录下输入cmd打开命令窗口

9.输入命令:d2j-dex2jar.bat classes.dex,在该目录下会生成一个classes_dex2jar.jar的文件

10.打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了

至此apk文件全部反编译完成,如果想查看.class文件,可以直接用jd-gui.exe工具打开查看

如何反编译apk文件并解析.class文件查看Java源代码相关推荐

  1. android反编译APK后,是smali文件,能反编译成dex文件

    我也面临相同的问题,但目前还没找到类似反编译smali文件的方法,一般得到dex文件只需要用WinRAR或其他压缩软件打开apk文件就能得到.但也有例外好像,技术先进了,今天遇到个apk用WinRAR ...

  2. 反编译APK文件的三种方法

    因为学习Android编程的需要,有时我们需要对网络上发布的应用项目进行学习,可是Android项目一般是通过APK文件进行发布的,我们看不到源代码,嘿嘿,办法总会有的,而且不止一个... ps:对于 ...

  3. app加固apk文件防止反编译apk打包流程

    文章目录 [1]加固 一.为什么要加固 二.加固方案 ①免费的第三方加固方案 ②付费的第三方加固方案SDK ③Java IO 流实现AES加密dex [2]加固方案的实现方式 [3]apk文件构造 [ ...

  4. 用apktool批量反编译apk文件

    写在前面的话 这个是一个十分简单的脚本,非常简单.为什么要写,因为我是来骗分数的. 应用场景 主机上有一堆APK文件,是按照类别分好的,现在用apktool 反编译它们,然后在按照类别和apk的名字来 ...

  5. mac平台反编译apk,获取源码,androidmanifest和资源文件

    "提供一个反编译apk的工具" 在window上反编译apk是比较容易的事情,但是在mac上就需要稍微费力一些,这里为了方便大家,特意提供了一个python脚本,实现快速反编译ap ...

  6. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK

    文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...

  7. android反编译apk文件

    android反编译apk文件 android运行的是.dex文件的二进制码,java运行的是.class文件的码,那么android是怎么将.java格式的文件转换为.dex的文件?------&g ...

  8. 反编译apk文件查看源码,反编译apk获取资源

    之前做过反编译apk文件的,原本想的就是应该做下总结的,后来...不知道后来发生了什么,一定不是因为我懒了.总之,今天领导让我研究下一个口碑比较好的app,看下它某个功能怎么实现的,用的什么技术,又扒 ...

  9. 如何反编译apk文件得到源码和XML文件

    相信很多开发者都知道反编译APK,正常情况下,如果我们想要看看xml,看看java源代码,是看不了的.用压缩工具解压apk得到的文件也都是二进制文件,打开后全是乱码. 开发者能够用的也仅仅是图片资源, ...

最新文章

  1. 百度地图经常崩溃的问题
  2. mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?
  3. LeetCode 1768. 交替合并字符串
  4. 数据结构C语言数组字符数组
  5. directX9SDK中提取的9个DLL文件
  6. 标准库:urllib/urllib2
  7. java高级工程师简历模板,MySQL+Tomcat+JVM,看完还怕面试官
  8. ADODB.Stream
  9. php主页备案号底部中间,如何获取公安备案号?如何将公安备案号放到网站底部?...
  10. 按键精灵设置脚本过期日期
  11. 如何在网页上下载视频
  12. 李一男旗下自游家汽车无法交付车辆 旅程还没开始就将结束
  13. 科普:Flutter应用打包、修改图标、修改启动页和app名字、加固后重新V1V2签名
  14. 世界上以一台计算机体积多大,世界上体积最大的计算机器有多大
  15. imx6 Android gpu 内存,IMX8M / IMX8M NANO /IMX6D 等GPU的简单对比
  16. 3600万中国人在抖音“上清华”。
  17. Kindle的使用体验
  18. 老船履带工具使用方法_上蔡县履带自动行走洛阳铲安全好操作
  19. 持续交付:价值主张​
  20. 大数据案例--网站流量项目(上)

热门文章

  1. 数学建模——排队论笔记
  2. deepin wine 卸载软件
  3. 人类对人工智能的看法有哪些
  4. shoprxr收银系统开源版
  5. 前后端分离的Java微信小程序B2C商城 H5+APP源码
  6. 莫烦强化学习笔记整理(九)DDPG
  7. 支付、清算和结算含义
  8. MIKE21 教程 3.2 随空间变化的网格文件制作(.dfsu文件制作) 曼宁值网格文件制作
  9. php跨域解决办法,PHP跨域问题解决方案
  10. 概率机器人课后习题答案