目录

准备工具

Apktool

安装 Apktool

反编译 Apk

dex2jar-2.0使用

jd-gui使用:


准备工具

  • Apktool
    反编译 xml 文件和 dex 文件,并可以将编译后的项目重新打包成 apk。
    官方下载地址: Apktool
  • dex2jar
    将 classes.dex 转换为「.jar」文件)
    官方下载地址: dex2jar
  • jd-gui
    查看「.jar」文件
    官方下载地址: jd-gui

Apktool

我们可以通过 Apktool 可以将 apk 文件进行反编译,但是直接把 apk 的扩展名改成「.zip」也可以对其进行解压并得到一些资源文件。

  • META-INF 里保存 App 的签名信息
  • classes.dex  
    .dex 是 Dalvik 虚拟机上的可执行文件,需要使用 dex2jar 将其转换为 jar 文件
  • AndroidManifest.xml
    Android 清单文件,向 Android 系统提供应用的必要信息。
  • assets
    存放一些资源文件字体,声音等。
  • lib
    存放第三方库
  • original
    存放未经过反编译的等 AndroidManifest.xml 文件
  • res 
    存放资源文件,例如图片,颜色,字符等。
  • smali
    smali 里存放的是 java 编译成的 smali 代码,smali 相当于 Android 虚拟机上运行的语言。

直接解压可以得到一些资源文件,但是 AndroidManifest.xml 和其他的 xml 文件都是乱码,通过 Apktool 进行反编译,可以最大限度的还原这些文件的内容。

安装 Apktool

Windows :

  • 「apktool.jar」「apktool.bat」移动到 windows 目录(一般在 C://windwos 下)
  • 在命令行中输入
$ apktool

如果出现

则说明安装成功,若没有出现,则需要把「apktool.jar」、「apktool.bat」的路径添加到系统的环境变量中。

Mac OS:

  • 「apktool」「apktool.jar」移动到 /usr/local/bin目录下
  • 在命令行中 cd 到 /usr/local/bin中然后分别输入下面两条命令
$ chmod a+x d2j_invoke.sh
$ chmod a+x d2j-dex2jar.sh
  • 在命令行中输入
$ apktool

出现

则安装成功

反编译 Apk

  • cd 到 apk 的目录下
  • 输入
$ apktool d test.apk

运行完成后,得到一个包含资源文件和代码的文件:

注意:
此时 dex 文件直接反编译成了 smali 文件,而我们需要的是 .dex 文件。

此时再运行:

$ apktool d -s -f test.apk

-d 反编译 apk 文件
-s 不反编译 dex 文件,而是将其保留
-f 如果目标文件夹存在,则删除后重新反编译

此时得到这样的文件夹:

dex2jar-2.0使用

解压后的图片,将反编译后的classes.dex放进去,假如有多个就放多个

执行命令

d2j-dex2jar.bat classes.dex

最后会生成:

jd-gui使用:

史上最全破解安卓APK和反编译相关推荐

  1. NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具

    NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具 NP管理器 NPManager 安卓反编译工具,NP管理器是一款强大的安卓反编译或反汇编工具,虽然这个NPManager反编译 ...

  2. Android APK包反编译详细步骤教程

    下载安卓apk包反编译软件: https://download.csdn.net/download/LordForce/87485642 1. 解压 dex2jar-2.0.rar 文件. 2. 将 ...

  3. 转: android apk 防止反编译技术(1~5连载)

    转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习. ...

  4. android apk 防止反编译技术第三篇-加密apk

    经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法.前两篇我们讲了加壳技术和运行时修改字节码,如果有不明白的可以查看我的博客的前两篇中关于这两种技 ...

  5. android apk 防止反编译技术第三篇-加密

    经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法.前两篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blo ...

  6. 自己写的android apk反编译,获取Android自己写好了的apk以及反编译

    今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子 你可能有疑问,为什么要那么麻烦,从系 ...

  7. 康佳android 9tv,康佳易TV史上最大规模系统升级 安卓4.4体验

    康佳作为家电领域的领跑企业,不仅注重硬件上的研发,以核芯驱动技术发展,不断提高电视的性能:更以软件方面的研发见长,创新的研发出了YIUI易柚系统,致力于打造最专业的电视操控系统.YIUI易柚一经推出, ...

  8. android版本的微信更新,史上最大升级 安卓微信7.0新版对比旧版详细体验

    近几天,坊间一直传闻微信将有大动作,结果--iOS版微信7.0.0上线了.就在安卓版童鞋集体仰慕苹果版的"待遇"时,安卓版微信7.0.0也开启内测了. 简单看了下,新版的变化还是蛮 ...

  9. android技巧:apk文件反编译以及签名打包,APKTool 反编译,打包,签名

    apktool 主要用于逆向apk文件.它可以将资源解码,并在修改后可以重新构建它们.它还可以执行一些自动化任务,例如构建 apk 下载地址 反编译APK 命令格式:apktool d [ apk文件 ...

  10. android+包+反编译,简单的Android之apk包反编译方法

    网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具 工具下载地址: 下载上面的三个工具的压缩包 Apktool_v1.5.1_CHS_By_b-sf.rar dex2jar.zip jd-gu ...

最新文章

  1. 小 Q 与树(dsu on tree + segment tree)牛客练习赛 81 D
  2. Android Support Library更新到v22.1之AppCompat新特性
  3. solr之服务器搭建步骤
  4. 计算机程序员目标分析,计算机程序员实习目的
  5. 开源)嗨,Java,你可以生成金山词霸的二维码分享海报吗?
  6. 弱水三千,只取一瓢饮
  7. java中intern,在Java中什么时候使用String.intern()方法?
  8. 基于Helm和Operator的K8S应用管理
  9. C语言(11),用程序写简单图形。
  10. uniapp封装方法
  11. 软件“生命”系统进化论——软件以负熵为生
  12. Css3动画 Qian锋逆战班
  13. face_recognition.face_encodings() 错误提示:IndexError: list index out of range
  14. MATLAB的图像显示方法
  15. (python)BMI计算
  16. 图片转JPG格式怎么转换
  17. 2022年新年焰火代码
  18. 荣耀智慧屏评测 鸿蒙OS加持,荣耀智慧屏评测:鸿蒙OS加持 面向未来的超智能电视...
  19. python在日常工作中的具体应用_python在实际工作中的应用有哪些
  20. 《百钱买百鸡》c语言(循环结构)

热门文章

  1. 海康威视 私有网盘 windows 客户端下载地址
  2. 微信加人限制2017版
  3. codeblock快捷键大全
  4. 兄弟打印机内存已满清零方法_兄弟打印机打印时显示内存已满怎么办
  5. cheerio 获取 outerHtml
  6. cheerio获取outerHTML
  7. 永洪BI-相关小知识点
  8. 在页面上动态显示实时时间
  9. Linux下载工具photon,不限速、免配置的 Aria2 免费开源下载软件 Photon,替代迅雷的...
  10. CactiEZ V10.1 中文版 Cacti中文 安装教程cactiezv10.iso