首页
社区
课程
招聘
[求助]0day中关于API定位的问题
发表于: 2011-11-23 17:46 3230

[求助]0day中关于API定位的问题

2011-11-23 17:46
3230
我在看0day的第二版的第三章中,关于定位API地址的时候,有些疑惑。问题如下:
    在定位到DLL的导出表之后,导出表地址 + 0x20是ENT的RVA,导出表地址 + 0x1C是EAT的RVA,根据书中3.4.1中的图介绍以及后面shellcode的汇编代码来看,这儿寻找API的地址都是在ENT与EAT中的数组元素一一对应的前提下,才能满足的,也就是说,如果ENT中的第578个数组元素是“loadlibraryA”的话,那么在EAT中的第578个数组元素就应该存着“loadlibraryA”的RVA!
  但是我在《加密与解密》第三版这本书中的第10.7中关于输出表的介绍中,了解到输出表的结构,输出表主要是包含函数名称表(ENT)、函数地址表(EAT)以及输出序数表,而ENT并不是与EAT一一对应的,而是与输出序数表中的数组元素对应的,也就是说,要获得一个API的地址,那么是先在ENT中找到它的名称,根据它在ENT中是第N个数组元素,那么再到输出序号表中,找到其第N个数组元素,这个元素就是这个API的输出序号,最后在用这个输出序号作为EAT的索引,从而在EAT中得到API的RVA。
    不知道是自己理解有误还是Oday中的一个bug,故而有此疑惑,还望大家能解答!谢谢

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回