【发布时间】:2011-06-17 21:13:20
【问题描述】:
我目前正在研究 Dalvik 字节码,但由于我缺乏编译器背景,我发现掌握设计有点困难。我很确定没有人写过一本关于 Dalvik 的书(或者我可能是错的)所以有人可以建议我参考 Java VM,其中包含一些动手示例吗?具体来说,我感兴趣的是:
- 了解如何解释生成的字节码
- 使用 VM 规范(Dalvik 或 Java)将字节码反编译为中间表示,然后将其编译回来
简而言之,可能我正在寻找的是学习逆向工程字节码,以便我可以分析它的漏洞。有什么建议吗?
【问题讨论】:
-
对于普通的 java
.class文件,有反编译器可以生成可读性很强的 java 源代码。 -
@CodeInChaos:是的。我可以找到几个反编译器,但我正在尝试学习如何编写一个简单的反编译器来了解它是如何工作的。
-
@CodeInChaos 普通 .class 文件的反编译器对 Android 的 Dalvik VM 没有多大帮助,因为它使用完全不同的虚拟机架构和完全不同的字节码。
标签: java android security reverse-engineering bytecode