摘要: 导入表 动态链接库需要导入表 结构 OriginalFirstThunk:指向导入名称表 FirstThunk:指向导入地址表 Name:指向导入的dll名称 IMAGE_THUNK_DATA最高位为1剩下的表示序号,最高位0剩下的表示RVA指向IMAGE_import_BY_NAME,里面存着名字 阅读全文
posted @ 2019-11-25 09:55 干掉那个寂寞 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 重定位表 ​ 当链接器生成一个PE文件时,会假设这个文件在执行时被装载到默认的基地址处(基地址+RVA就是VA)。并把code和data的相关地址写入PE文件。如果像EXE一样首先加载就是它imageBase没问题能算出真正的VA,但是要有多个DLL文件,就会出现基址不对的问题,通过基址+RVA算出 阅读全文
posted @ 2019-11-25 09:51 干掉那个寂寞 阅读(280) 评论(0) 推荐(0) 编辑
摘要: PE 导出表 ​ 动态链接库要想给别人用实现加载时或运行时链接就必须提供函数和数据的地址。exe一般不会有这个,大部分是DLL文件的。导出分为名字导出和序号导出。 1. 名字导出先找名字,再通过名字表的索引找到AddressOfNameOrdinals里面的值,此值即为name和函数地址关联处,是A 阅读全文
posted @ 2019-11-25 09:49 干掉那个寂寞 阅读(249) 评论(0) 推荐(0) 编辑