• Android 反编译Apk (Mac)


    前言

      安全问题一直都是一个比较敏感的话题,伴随互联网的发展,网络安全成为一门必不可少的一个学科。

    一、Android反编译工具

    Mac反编译的工具如下:

    1. apktool: 用于将apk转为dex、提取项目的资源文件
    2. dex2jar:用于dex转化为.jar
    3. JD-GUI:用于查看jar源代码

    二、安装工具

    1. apktool 安装

      1)下载apktool脚本文件(sh)和apktool.jar
      2)将apktool脚本和apktool.jar 文件放在/usr/local/bin文件夹下
      3) 对这两个文件进行授权(chmod +x apktool)

      	cd /usr/local/bin
      	chmod +x   apktool
      	chmod +x   apktool.jar
      
      • 1
      • 2
      • 3

      4)测试apktool安装是否成功,在sh窗口执行apktool。
      apktool

    2. dex2jar安装
      可以参看作者的介绍安装

      1.In the root directory run: ./gradlew distZip
      2.cd dex-tools/build/distributions
      3.Unzip the file dex-tools-2.1-SNAPSHOT.zip (file size should be ~5 MB)
      4.Run d2j-dex2jar.sh from the unzipped directory
      
      • 1
      • 2
      • 3
      • 4
    3. JD-GUI 安装
      JD-GUI下载安装包直接安装就可以了

    三、反编译执行流程

    1.apktool:用于将apk内的资源文件、xml等正确编译出来;同时可以将apk反编译出dex文件

    将apk反编译的命令:

    	apktool d -s app.apk
    
    • 1

    备注:反编译apk文件 (apk其实是一个压缩文件,我们也可以通过其他解压文件,解压apk文件,但是解压出的很多都是乱码)
    请添加图片描述

    2.dex2jar:用于将.dex 转成 .jar

    将apktool反编译出来的classes.dex文件拷贝到dex-tools-2.1-SNAPSHOT的文件夹目录下,对文件夹授权。
    执行把.dex反编译出jar的命令:

    	sh d2j-dex2jar.sh classes.dex
    
    • 1
    3.JD-GUI:用于查看jar源代码

    把jar文件直接拷贝出来,放在JD-GUI软件内查看代码
    请添加图片描述
    Android的反编译的流程基本上就这些了。

    其他

    二次打包
    反编译的签名验证
    https的签名验证等

  • 相关阅读:
    json-server环境搭建
    Cartographer构建多分辨率栅格地图的原理
    Linux:无法接收组播数据
    如何使用JavaScript实现多语言处理
    JMeter压力测试 5分钟让你学会如何并发压测接口
    我的私人笔记(安装hbase)
    idea 插件开发记录
    k8s 多网卡方案multus
    骨架图算法
    c语言练习5
  • 原文地址:https://blog.csdn.net/Future_One/article/details/125989450