Android APK反编译之工具篇

本文介绍了Android APK反编译常用的工具,包括ApkTool、Jadx、dex2jar、jd-gui和ClassyShark,详细阐述了它们的功能和适用场景。对于加壳应用,推荐使用drizzleDumper和android-unpacker进行反编译。此外,提到了Andbug用于动态apk注入,但其使用体验有待提升。
摘要由CSDN通过智能技术生成

APK反编译之工具篇


  • 反编译工具

    介绍几个比较常用的反编译工具

    1. ApkTool 工具 主要是对apk进行压缩和解压缩,可以提取出apk文件的dex文件或者反编译成smali格式文件。
      源码及下载地址!APKTool

    2. Jadx 工具对于一些未加壳的APP可以直接使用 Jadx 工具打开APK查看里面的源码,相比ApkTool反编译出来的smali,它直接出来的是java语言形式的,可读性更高,但是很多apk都混淆了,它的搜索功能比较弱。支持apk和jar压缩格式.源码及下载地址!Jadx

    3. dex2jar 将 apk或者dex Android格式转换成jar文件,这样可以使用jd-gui工具查看(jd-gui只支持jar压缩或者class以及zip文件的查看).源码及下载地址!dex2jar

    4. jd-gui 应该叫java Decompiler 工具。目前只支持 jar,class,zip等文件的查看,不支持dex文件查看。可能定位就是Java的吧。!jd-gui

    5. classyshark 谷歌大发好啊,这个是谷歌开发的反编译工具,最大的优点就是它能支持查看libs so库的函数链接及相关内容。主要是对apk的方法数,类总数做统计的。但是问题在于,只显示了方法,无法查看方法内的逻辑。源码及下载地址!ClassyShark

  • 平时使用问题

    以上的工具,不一定说只选择一种工具。在拿的一个apk的时候,优先可以使用 Jadx 工具,因为它可以直接打开apk,并且发编译出来的代码可读性更高。如果这个工具反编译出来的内容有问题,或者apk本身做了针对它的处理,再选择ApkTool工具进行解压缩,然后分析smali代码,这个就需要你对smali有一定了解。或者你可以提取dex文件通过dex2jar工具转换成jar,再用jd-gui查看也是可以的。我个人比较喜欢直接看smali,同时加上全局搜索等分析,一般情况下是能够达到目的的!

  • 关于加壳应用反编译问题

    对于加壳应用,上面的提到的工具都是无法反编译的。目前针对加壳应用,采用dump内存dex方式。使用的是基于内存搜索的Android脱壳工具drizzleDumper.以及 strazzere 大牛的android-unpacker.这些都可以将大体的的apk反编译出来。

  • 动态apk注入方式

    说到动态apk注入这个,在apk运行获取运行的类信息,这个就需要提到Andbug,这个看起来很牛逼的感觉,但使用起来还是不太顺手,经常我的真机跑不起来,有待进一步研究。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值