概述

本文主要介绍如何将Android apk反编译成源码,一般有两种方式:
(1)jadx;
(2)dex2jar结合JD-GUI使用;
对比二者,jadx使用起来更方便一点。

一、jadx

jadx(详见github)支持将dex文件或者apk文件反编译成java源码;提供了命令行和图形界面两种使用方式。

1.1 命令行

首先,安装jadx:

>brew install jadx

然后,就可以使用jadx工具了,使用方式如下:

>jadx[-gui] [options] <input files> (.apk, .dex, .jar, .class, .smali, .zip, .aar, .arsc, .aab)
# 例如:
> jadx -d out classes.dex

1.2 GUI(图形用户界面Graphical User Interface)

jadx提供了图形界面,首先下载jadx(https://github.com/skylot/jadx/releases/download/v1.2.0/jadx-1.2.0.zip )并解压,GUI程序位于/jadx-1.2.0/jadx-gui/build/install/jadx-gui/bin/jadx-gui。

打开JadxGUI后,选择apk后可直接打开,如下图所示:

二、dex2jar & JD-GUI

2.1 解压apk

apk是一种特殊格式的压缩文件,可将apk文件后缀名改为zip后,使用unzip命令行解压:

# -d 表示解压后的文件存储目录
>unzip -d /Users/bc/temp/out /Users/bc/temp/app-debug.zip

解压后,可以看到以dex格式保存的java代码。

2.2 dex2jar

dex2jar可以将dex转换为jar文件(详见github),从github上下载dex2jar命令到本地,使用方式如下:

>/Users/bc/dex2jar-2.0/d2j-dex2jar.sh /Users/bc/temp/out/classes.dex

2.3 JD-GUI

JD-GUI提供了将jar文件反编译为源码的能力,下载后打开JD-GUI,选择jar包后反编译结果如下:

The End

欢迎关注我,一起解锁更多技能:BC的掘金主页~

Android反编译工具相关推荐

  1. Android反编译工具与反编译步骤及常见问题

    Android代码混淆很大程度上就是为了别人反编译我们的代码,用反编译工具也可以测试我们的代码是否混淆成功. "工欲善其事,必先利其器",先介绍一下反编译的工具: apktool. ...

  2. Android反编译工具与实践

    版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl What is Android Android is a mobile operating s ...

  3. Android反编译工具使用方法

    Android反编译工具使用方法 前言 apktool使用方法 dex2jar使用方法 jd-gui使用方法 前言 Android的反编译主要分为两个部分,一个是对资源的反编译(使用apktool), ...

  4. Android反编译工具的使用(保姆级教程)

    Android反编译工具的使用(保姆级教程) 网上关于Android反编译的文章很多,但是好多都比较杂,就打算自己写一下,顺便也能加深一下印象. 一.常用反编译文件的介绍 apktool apktoo ...

  5. 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )

    文章目录 一.apktool 1.apktool 简介 2.直接解压 3.使用 apktool 反编译 4.使用 apktool 重新打包 二.dex2jar 1.dex2jar 简介 2.dex2j ...

  6. Android反编译工具的使用-Android Killer

    今天百度搜索"Android反编译"搜索出来的结果大多数都是比较传统的教程.刚接触反编译的时候,我也是从这些教程慢慢学起的.在后来的学习过程中,我接触到比较方便操作的Android ...

  7. 26款Android反编译工具

    译文: http://www.freebuf.com/sectool/111532.html 原文: https://hackerlists.com/android-reverse-engineeri ...

  8. Android反编译工具Android Killer

    转载于:http://www.cnblogs.com/common1140/p/5198460.html 今天百度搜索"Android反编译"搜索出来的结果大多数都是比较传统的教程 ...

  9. Android反编译工具简介

    Android反编译apk文件一般使用3种工具:apktool(获取资源文件).dex2jar(获取jar文件).jd-gui(查看源码). apktool 下载地址:https://ibotpeac ...

  10. MAC端Android反编译工具及使用

    [写在前面] 今天在做项目时遇到一个困难,需求是这样的: 模仿csdn客户端,实现app端查看博文内容,要求不使用H5混合开发实现文章在界面上的显示: 图1-1 简书博文界面 我想到了简书客户端有实现 ...

最新文章

  1. 湖大深大A级学科数超南开,华科文科胜过武大!泰晤士的首份高校评级结果,让人有点方...
  2. 主题:log4j详解与实战
  3. 重磅!中国网络空间安全协会发布《2020年中国网络安全产业统计报告》
  4. criteria函数_干货铺 | 二级MS office考试中一些常考函数(2)
  5. 路由器配置——广播多路访问链路上的OSPF
  6. php 魔术方法 多继承,PHP通过魔术方法实现多继承与重载
  7. JSP Servlet Mysql学生成绩管理系统
  8. 华为云发布国内首个 AI 模型市场,加速企业 AI 应用落地
  9. 凭什么说这门编程语言是下一代 Java?
  10. Linux 下的任务管理 —— ps、top
  11. Java TCP实现文件传输
  12. PHPstuday(集成环境)的下载与安装。
  13. CAB 写inf文件
  14. 计算机考研方向哪个好考,2022考研:计算机专业考研选择哪个方向比较好就业?...
  15. 教你来使用雪碧图(CSS sprite)
  16. unity3d 获取 Advertising ID
  17. 屏幕录制:4Easysoft Screen Recorder Mac中文版
  18. 手把手教你将矩阵画成张量网络图
  19. 前端 http request
  20. 锁定计算机忘记密码,笔记本防盗锁忘记密码_笔记本电脑锁忘记密码

热门文章

  1. django基于大数据的应届生求职系统--python-计算机毕业设计
  2. 使用delphi开发人工智能程序(环境搭建)
  3. linux低级格式化工具下载,Hard Disk Low Level Format Tool下载-硬盘低级格式化工具 v2.37 官方版 - 下载吧...
  4. Thinkphp双轨直销系统源码
  5. python写斗地主游戏_python编程斗地主 python编程入门
  6. 《Python算法教程简及PDF电子版下载
  7. 2020软考高级系统分析师,你想知道的全在这
  8. c语言贪吃蛇 纯c,纯C语言贪吃蛇游戏
  9. Word排版艺术 读后感
  10. VS2008 清理注册表