【问题标题】:smali structure of methods and classes方法和类的小结构
【发布时间】:2013-09-03 04:52:43
【问题描述】:

我最近研究了一些 smali 代码,很想学习它。我检查了 dalvik 字节码参考,但我找不到关于何时/如何使用这些的结构参考

.locals
.local
.registers
.prologue
.line
.annotation
.parameter

你知道其他资源来解释更多的 smali 结构吗?

【问题讨论】:

    标签: java android dalvik dex smali


    【解决方案1】:

    除了 .locals、.registers 和 .annotation 之外,大多数这些都是作为方法的一部分存储的调试信息的一部分。您可以在dex-format 文档的 debug_info_item 部分找到有关这些的更多信息。

    对于 .locals 和 .registers 指令,您可以通过两种不同的方式指定方法中可用的寄存器数量(即 code_item 的 registers_size 字段,根据 dex-format 文档)。您可以在 smali googlecode 网站上的Registers wiki page 上找到有关两者之间差异的更多信息。

    最后,.annotation 指令定义了一个注解。您可以在dex-format 文档中找到更多信息。具体来说,您需要查看以下项目:

    • annotations_directory_item:包含对类的所有类、方法、字段和参数注释的引用
    • annotation_set_ref_list:包含对与方法参数关联的注释的引用
    • annotation_set_item:包含可以与方法、字段或类关联的注释列表
    • encoded_annotation:存储单个注释

    【讨论】:

    • 嗨,本,谢谢!我知道你会是第一个回答这些问题的人。我希望你能回答我一直在这里发布的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    相关资源
    最近更新 更多