线上一张图,然后再说明:
我们的目的是找到库里的函数,所以首先应该了解基本的流程:
先是Address of Names,找到数组,再从数组中用公式(书中有)找到目标函数————》Address of NameOrdinals中找到Ordinal(序号,顺序的意思)————》再比较Ordinal和Address of Functons中函数的顺序(有时候会不一样),找到目标函数————》最后用Ordinal作为数组的索引找到函数在库中的起始位置,如下图(来自课本中):
最后根据ImageBase没有找到函数的起始位置,课后的解答给出了相关解释:ASLR技术也叫 地址空间布局随机化,是为了针对缓冲区溢出的保护技术。所以内存的起始位置会发生变化。(详细可以看课本的41章)