Android APK反编译教程

2023-11-19

一、反编译工具

1、apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件。

2、dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)。

3、jd-gui:查看dex2jar中转换后的jar文件。

二、注意事项

1、在反编译的代码看到a、b、c等等,这些是apk发布时进行混淆了,然后进行一些加密,或者使用第三方的加密平台,用的比较多的“爱加密”,有兴趣的也自行百度查看更加详细的介绍!apk进行混淆后里面的代码就没有必要再看了!

2、切勿拿反编译来做违法的事,比如把人家的APK重新打包后使用自己的签名然后发布到相关市场。

3、我们是参考别人的代码,而不是完全拷贝!!!切记!!

三、apktool

1.1 官方链接

链接:https://bitbucket.org/iBotPeaches/apktool/downloads/

1.2 下载安装

三种不同系统的安装教程:https://ibotpeaches.github.io/Apktool/install/
请添加图片描述

我使用的是Windows系统,这里我以Windows为例子来进行讲解如何安装。

1、先创建一个名为apktool的文件夹,用来存放apktool的文件,再根据官方链接下载最新的jar(apktool_2.6.0.jar),再将jar 重命名为 apktool.jar
请添加图片描述
2、在apktool的文件夹里创建apktool.txt文件,再点击wrapper script链接,进入脚本复制内容到apktool.txt文件里,完成后将apktool.txt更改为apktool.bat即可。请添加图片描述
请添加图片描述
3、将两个文件 apktool.jarapktool.bat 移动到你的 Windows 目录(通常是C://Windows)。如果你无权访问C://Windows,你可以将这两个文件放在apktool.txt文件,然后将该目录添加到你的环境变量系统 PATH 变量中。

4、win + r 再输入cmd 打开命令提示符,直接输入apktool 回车即可。

1.3 使用

在命令提示符里找到apk存放的目录,然后输入apktool.bat d Wi-Fi.apk(Wi-Fi指的是apk名) ,Enter回车即可。然后目录下就会出现同apk名的文件夹,里面就是我们所需的资源文件。
请添加图片描述

四、dex2jar

1.1 官方链接

链接:https://sourceforge.net/projects/dex2jar/files/

1.2 下载安装

1、下载最新dex2jar(dex2jar-2.0.zip)保存到文件夹里,并解压即可。
请添加图片描述

1.3 使用

1、将Wi-Fi.apk的后缀名改为Wi-Fi.zip并解压得到Wi-Fi文件夹。
请添加图片描述
2、在Wi-Fi文件夹里有一个classes.dex文件,将classes.dex文件复制到dex2jar-2.0文件夹里。
请添加图片描述
请添加图片描述
3、打开命令提示符,找到dex2jar-2.0目录,输入d2j-dex2jar.bat classes.dex 回车,这样我们就会得到一个classes-dex2jar.jar包,里面就是我们所需的java代码,但需要 jd-gui 打开来看。
请添加图片描述
请添加图片描述

五、jd-gui

1.1 官方链接

链接:http://java-decompiler.github.io/

1.2 下载安装

1、打开官方链接,找到 JD-GUI —> 点击Download —> 点击jd-gui-1.6.6.jar下载,保存到文件夹里,并解压即可。
请添加图片描述

1.3 使用

1、在jd-gui-windows-1.6.6文件夹里打开 jd-gui.exe ,再找到 classes-dex2jar.jar 打开就可以看到代码了。
请添加图片描述
请添加图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android APK反编译教程 的相关文章

随机推荐

  • AttGAN从paper到code理解

    AttGAN Facial Attribute Editing by Only Changing What You Want 2017 CVPR 文章简介 本文研究面部属性编辑任务 其目的是通过操作单个或多个感兴趣的属性 如头发颜色 表情
  • RabbitMQ的安装和启动——windows版

    本章介绍如何在win10下安装 RabbitMQ 并启动 安装 Erlang 安装 RabbitMQ 启动 RabbitMQ 百度网盘下载 Erlang 和 RabbitMQ Erlang 网盘链接 RabbitMQ 网盘链接 结语 下载R
  • 搜索研发工程师需要掌握的一些技能

    文章目录 基础 语言 数据结构与算法 工程方面 搜索相关 搜索主要模块 电商搜索流程 分词相关 搜索召回 相似度算法 相关词推荐 排序相关 国美搜索 搜索算法工程师需要掌握的技能 基础 语言 大部分公司用的是Solr ElasticSear
  • 算法相关-经典排序算法(python实现)

    概述 插入排序 将未排序的元素同已排序的元素从后往前比较 带排序元素 a 被比较元素 b 如果a
  • 在Linux是使用libxml2---从安装到使用

    一 下载和安装LIBXML2 方法一 Libxml2是个C语言的XML程式库 能简单方便的提供对XML文件的各种操作 并且支持XPATH查询 及部分的支持XSLT转换等功能 Libxml2的下载地址是 http xmlsoft org 完全
  • 支撑区块链大规模商用,FISCO BCOS v3.0的那些“黑科技”

    注 文章转载自CSDN公众号 在2021年度金链盟生态大会上 全新的FISCO BCOS v3 0正式发布 该版本从架构 算法以及安全可控和隐私计算协同等方向进行了全面升级 满足数字经济时代对区块链系统可承载更大规模 更多场景 更广泛参与的
  • spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性完美解决

    这种情况就是因为没有在SpringBoot中pom文件安装maven plugin 导致出现没有主清单属性问题 1 引入插件
  • JPush极光推送Unity插件iOS设备无法获取DeviceToken

    前言 最近在使用JPush进行极光推送 Unity插件GitHub地址https github com jpush jpush unity3d plugin 问题描述 但是发现了一个问题 按照官方文档操作 最终仍然无法获取DeviceTok
  • Error: unable to connect to node rabbit@localhost: nodedown

    刚安装上rabbimq 当我使用rabbitmqctl start app 启动rabbitmq的时候 出现了如下问题Error unable to connect to node rabbit localhost nodedown 然后我
  • vue-quill-editor复制粘贴问题

    需求是这样的 富文本可以具备粘贴文本的功能 但是不能粘贴图片到编辑框中 于是百度一下很快就有了解决方案 在data的文本编辑框配置中添加一个clipboard粘贴板 对其进行配置 方法中可以自觉将粘贴的图片转换为空的字符串 所以巧妙实现了此
  • 解决ubuntu打不开软件更新器和软件中心的问题

    打不开可能是软件源的问题 试试 sudo gedit etc apt sources list 然后把第三方软件源全部删除掉 重启软件更新器 如果能够启动 但有提示请检查网络连接的信息 那么点设置 在其它软件选项卡看情况取消勾选一些软件源
  • 解决报错:无法使用 JSX,除非提供了 “--jsx“ 标志。ts(17004)

    在 vue cli 5 0 6下创建项目 打开代码突然出现 无法使用 JSX 除非提供了 jsx 标志 之前都没问题 今天打开一看就报错了 网上说是 typescript的本地版本和你当前项目的版本不一致 请将本地的ts版本更新至项目需要的
  • 【BrokenPipeError: [Errno 32] Broken pipe】的解决方案

    BrokenPipeError Errno 32 Broken pipe 的解决方案 项目场景 问题描述 原因分析 解决方案 End 项目场景 调试 GitHub项目bddoia project Explainable Object ind
  • Docker一运行容器就退出:已解决

    Docker一运行容器就退出 已解决 文章目录 Docker一运行容器就退出 已解决 问题引入 解决方法 问题引入 想着挂载一个数据卷人挪活设置个端口号在外部访问一下 结果刚刚运行就停止了 如下图所示 就算是给它加上做一个死循环 持续输出
  • 函数防抖知识要点

    函数防抖 debounce JavaScript 中的函数大多数情况下都是由用户主动调用触发的 比如说点击 拖拽 改变浏览器尺寸 提交表单等 除非是函数本身的实现不合理 否则一般不会遇到跟性能相关的问题 但是在一些少数情况下 函数的触发不是
  • Ubuntu14.04终端配置:颜色、大小写不敏感、上键搜索字符串开头的历史命令、右键显示打开终端_ubuntu一站式配置教程(三)

    Ubuntu14 04终端配置 颜色 大小写不敏感 上键搜索字符串开头的历史命令 右键显示打开终端 ubuntu一站式配置教程 三 16单独列出来 文章目录 Ubuntu14 04终端配置 颜色 大小写不敏感 上键搜索字符串开头的历史命令
  • 判断是否是视频还是图片

    当发请求后拿到数据需要对数据进行处理 判断是视频就显示视频 图片显示图片
  • 3D游戏编程与设计作业4——使用skybox构建游戏场景

    步骤1 首先下载支持使用Fantacy Skybox FREE 的Unity版本 2021 3 步骤2 打开unity store 搜索Fantacy Skybox FREE 并进行下载 步骤3 下载成功后import对应的包到项目中 步骤
  • 多进程中fork

    linux下多进程 fork 这里只是简单实用fork 大家想了解具体 欢迎到我的gitee 给个star include
  • Android APK反编译教程

    目录 一 反编译工具 二 注意事项 三 apktool 1 1 官方链接 1 2 下载安装 1 3 使用 四 dex2jar 1 1 官方链接 1 2 下载安装 1 3 使用 五 jd gui 1 1 官方链接 1 2 下载安装 1 3 使