首页
社区
课程
招聘
[旧帖] 关于Oday中定位API的疑惑 0.00雪花
发表于: 2011-11-23 16:32 2270

[旧帖] 关于Oday中定位API的疑惑 0.00雪花

2011-11-23 16:32
2270
我在看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,故而有此疑惑,还望大家能解答!谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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