dll总是以相同的方式加载到进程中吗?

时间:2015-10-08 15:59:51

标签: windows dll pdb portable-executable ntdll

我正在尝试建立一个迷你探测器。 它记录了一组给定测试的函数调用,并且应该稍后告诉它运行给定模块中的哪些函数。

我记录了一堆虚拟地址,我可以便宜地转换成[模块名称,地址偏移]对。

在每个进程中加载​​PDB并查询它的符号名称是一项非常昂贵的操作。

我正在考虑保存[模块名称,地址偏移]列表,然后在后处理程序中加载PDB并将它们映射到符号一次。

现在我不确定模块/ dll是否总是以相同的方式加载,即符号与模块库的虚拟地址偏移量总是相同?

如果在不同的Windows版本(例如Win7 vs WinServer2008)上加载模块(相同的二进制dll),它也是一样的吗?

0 个答案:

没有答案