Android 反编译

干嘛要反编译,呵呵!目的就不说了… 先说些预备知识:classes.dex是java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样。目前常见的java反编译工具都不能处理dex文件。 一般使用dexdump和Dedexer可以反dex,但是用过的人都知道这样反出来的结果可读性极差。在这个时候大家一定要相信互联网的力量,所谓只要你能想到的或许就已经有人已经做到了。瞧瞧吧,我下面要介绍的就是别人已经给我们做好的几个工具。 dex2jar,这个别人写的一个把.dex files转换成Java .class的小工具,很不错。基本使用方法如下:在apk中提取classes.dex文件 -> 利用dex2jar把dex转换成java jar(classes.dex2jar.jar)。 到这里了,我们用普通的java反编译工具就可以看到代码了。我使用的是JD-GUI,这是一个有界面的java(.class) 代码浏览器,简单实用!另外还提供了一个Eclipse plugin(JD-Eclipse),可以吧JD-GUI的功能集成到Eclipse里面。 最后,在提供一个与Layout相关的工具,AXMLPrinter2.jar,该工具能吧apk中的xml文件转换成文本格式,这样就就可以直接欣赏别人程序中界面布局的实现方式啦。当然Android SDK也提供了一个类似的工具(hierarchyviewer.bat),个人感觉还不入AXMLPrinter2.jar转成xml后直接看来得痛快。 文中提到的所有工具都是开源或免费的,感谢这些无私奉献的人们,附工具的链接: dex2jar JD-GUI AXMLPrinter2 Dedexer

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值