Android反编译之一--反编译的工具和方法

http://yeungeek.com/2015/08/22/Android反编译之一-反编译的工具和方法/

如果看到一个好的应用,作为一个开发者,是不是很有兴趣去分析它是怎么实现的。尤其是Android应用,通常都是通过反编译来分析其中的结构。

分析一个Android应用,一是Android的资源,另一个就是源码。

资源工具

Apktool

Apktool是目前强大的反编译工具,可以反编译出apk,解析出resources.arsc, classes.dex, 9.png. and XMLs资源,Smali文件,并且可以重新进行打包

工具地址:http://ibotpeaches.github.io/Apktool/

使用方式:

1
apktool d test.apk

反编译出apk

1
apktool b test

对反编译出的进行逆向apk

源码工具

dex2jar

从Apk中解压出class.dex,使用dex2jar进行源码解析。

1
dex2jar class.dex

在当前目录生成classes.dex.dex2jar.jar,可以在jd-gui中查看源码。 

dex2jar:https://github.com/pxb1988/dex2jar
jd-gui下载:http://jd.benow.ca/http://jd.benow.ca/
jd-gui源码:https://github.com/java-decompiler/jd-gui

enjarify

这是是谷歌出品的一款反编译工具,它可以将dalvik字节码转化成 java 字节码。
使用方式:

1
2
3
enjarify yourapp.apk
enjarify classes2.dex
enjarify yourapp.apk -o yourapp.jar

跟dex2jar相比,成功率更高,具体的查看:why-not-dex2jar

整合工具

onekey-decompile-apk

一步到位反编译apk工具

参考


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值