我正在尝试了解 Dalvik 可执行文件 (dex) 的文件布局,如 here 所述。 。但是,我无法找到布局中描述的 call_site_ids
和 method_handles
部分的偏移量和长度。
大多数其他部分(string_ids
、type_ids
)在 header 中都有偏移量和长度字段,或者被引用为距文件开头的偏移量。 call_site_item
和 method_handle_item
似乎都被称为其他地方各自部分的索引(例如,请参阅 VALUE_METHOD_HANDLE
here)。
我查看了smali project的源代码作者:@JesusFreke,但它似乎无法处理这些部分。
我错过了什么吗?感谢您的帮助!
最佳答案
call_sites_ids 和 method_handles 部分仅在 dex 版本 38 中添加。该版本被编码为 dex magic 的一部分.
要查找 call_site_ids 和 method_handles 部分的偏移量和长度,您必须查看 map_list通常位于文件末尾的部分(请参阅: header_item 中的 map_off )。
call_site_items 放置在现有的 encoded_array 中数据部分。
关于android - Dex 文件布局 - method_handles 和 call_site_ids 部分的偏移量和大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49781351/