AndroidLinker与SO加壳技术之下篇 点此查看上篇《AndroidLinker与SO加壳技术之上篇》2.4 链接链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤:1. 定位 dynamic section,由函数 phdr_table_get_dynamic_section 完成,该函数会遍历 program header,找到为类型为 PT_DYNAMIC 的 header, 从中获取的是 dynamic section 的信息,主要就是虚拟地址和项数。2. 解析 dynamic sectiondynamic section本质上是类型为Elf32_Dyn的数组,Elf32_Dyn 结构如下typedef struct { Elf32_Sword d_tag; /* 类型(e.g. DT_SYMTAB),决定 d_un 表示的意义*/ union { Elf32_Word d_val; /* 根据 d_tag的不同,有不同的意义*/ El
...
继续阅读
(15)