1.使用winhex打开从NTLDR中提取出的oslader.exe
2.查找e_lfanew
3.查找IMAGE_EXPORT_DIRECTORY->AddressOfFunctions
通过上图我们可以得出,导出表的RVA是 000357B0h ,Size是 000006AFh。
我们借助LordPE可以确定在哪个区段表中, 因为导出表的RVA是000357B0h 是大于00031000h 但是小于00036000h,所以可以得到在.rdata区段表中。
文件偏移 = RVA - VOffset + ROffset
= 000357B0 - 00031000 + 0002F000
= 000337B0
在Winhex中使用alt+G ->输入文件偏移地址 000337B0 —-取40个字节
000337C0这一行 第1个2F000000是函数数量,第2个2F000000是函数名称数量
计算偏移
AddressOfFunctions: 0x000357D8
000357D8 -00031000 + 0002F000=337D8
alt+G 输入下面的在5中的偏移(AddressOfFunctions 的值)
跳转到337D8这一行,从FC150000开始圈2F组数据,便得到了2F个函数地址
得到的是函数的地址的RVA,再进行转换后,获取到函数的内容
4.Osloader.exe是否有导入表?
用LordPE和PETool 两个工具都查看一下,发现的确没有导入表。
分析:在OsLoader的初始化文件中,可以看到并没有导入表,只有导出表的初始化。
参考了这个博客:http://blog.csdn.net/oBuYiSeng/article/details/50231677