Android apk反编译和*.class反编译到*.java

本文介绍了如何对Android APK进行反编译,包括使用dex2jar和jd-gui将.dex文件转为.java源码,以及通过apktool获取XML资源和布局文件。讲解了反编译过程及所需工具,如apktool、dex2jar和jd-gui。
摘要由CSDN通过智能技术生成

先说一下,反编译并非完全编译,越复杂的越难反编译,只能保证将其反编译为机器语言(汇编语言)。但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。像*.exe之类的很难反编译,比如使用eXeScope,就算是最简单程序也只能反编译成机器码,一般人是看不懂的,也很难看懂的。而java则是使用的JVM,所以教容易反编译,能大概反编译成源代码。这里我说的是大概,差不多的意思。下面简单介绍一下反编译。

   高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。
  反编译: 机器码(汇编语言) → 高级编程语言
  
  计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。
  反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件:
  VB: VBExplorer 、VB反编译精灵和VBRezQ;只能反编译界面图像,好像代码不能完全反编译
  JAVA: JAD(Joint Application Development) ;java的反编译比较常见,所以反编译比较完全, 将class文件反编译成java文件也是有可能的
  C++: eXeScope
  Dephi: DEDE
  c#:Reflector
  易语言:E-Code E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值