码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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的签名验证等

  • 相关阅读:
    ref、reactive、toRef、toRefs
    kafka 生产者 API 实践总结
    Go内置函数make和new的区别?
    400电话呼叫中心-佳音通讯400电话
    QT+OSG/osgEarth编译之四十一:osgUtil+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5工具库osgUtil)
    javascript变量的数据类型 typeof运算符
    GitHub构建Maven依赖仓库
    【无标题】
    重学Java的第一章
    Go-Excelize API源码阅读(十六)——GetPageLayout、SetPageMargins
  • 原文地址:https://blog.csdn.net/Future_One/article/details/125989450
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号