花名:白杨 | 职业:android app 加固 | qq:2597294287

ELF Format 笔记(十五)—— 符号哈希表

ilocker:关注 Android 安全(新手) QQ: 2597294287

符号哈希表用于支援符号表的访问,能够提高符号搜索速度。

下表用于解释该哈希表的组织,但该格式并不属于 ELF 规范。

 

bucket 和 chain 数组中都保存有符号表的索引,数组大小分别为 nbucket 和 nchain。

先来看 android linker 中的 hash 函数:

 

给定一个符号名字,返回一个哈希值 x,然后由 bucket[x%nbucket] 得到一个符号表索引 y,如果索引 y 对应的符号表项不是想要的符号,则由 chain[y] 得到下一个符号表索引 z,如果仍不是想要的符号,继续 chain[z]…。

 

之所以这样使用符号哈希表,应该是因为它是采用链地址法来解决哈希冲突。

posted on 2015-11-26 12:50  ilocker  阅读(2045)  评论(0编辑  收藏  举报

导航