在一个DLL,如何在功能表结构? [英] Within a DLL, how is the function table structured?

查看:201
本文介绍了在一个DLL,如何在功能表结构?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找到一个不明确支持我的操作系统的设备库的实现。特别是,我有一个DLL拆卸,并且支持源$ C ​​$ C相当数量。现在,如何在功能表/导出表结构?

I've been looking into the implementation of a device library that doesn't explicitly support my operating system. In particular, I have a disassembled DLL, and a fair amount of supporting source code. Now, how is the function table/export table structured?

我的理解是,。数据部分的第一个结构的RVAs表。接下来是由索引链接到该第一地址表串的表。这对我来说很有意义,作为接头可符号和地址之间的转换。

My understanding is that the first structure of the .data section is a table of RVAs. Next is a table of strings linked by index to that first address table. This makes sense to me, as a linker could translate between symbols and addresses.

如何通过序号引用功能融入这幅画?一个人怎么不知道哪些功能都有这样那样的序数,以及如何做链接器解决呢?换句话说,考虑到一些其他的DLL进口 SOME_LIBRARY_ordinal_7 ,如何链接器知道哪些功能一起工作呢?

How do functions referenced by ordinals fit into this picture? How does one know which function has such and such ordinal number, and how does the linker resolve this? In other words, given that some other DLL imports SOME_LIBRARY_ordinal_7, how does the linker know which function to work with?

谢谢大家!

修改
更多信息...

edit More information...

林与FTDI库工作,并想解决调用哪个函数。特别是,我看到的是这样的:

Im working with the FTDI libraries, and would like to resolve which function is being invoked. In particular, I see something like:

的extern FTD2XX_Ordinal_28:近

我怎么可能去决定哪些功能是被引用,以及如何连接器做到这一点?

how might I go about determining which function is being referenced, and how does the linker do this?

推荐答案

要了解链接器和加载器是如何工作的在Windows上,这可能是最方便的信息来自一组列的马特Pietrek在做比十年前更多:

To learn how the linkers and the loader works on Windows, probably the most accessible information comes from a set of columns Matt Pietrek did more than a decade ago:

  • July 1997: http://www.microsoft.com/msj/0797/hood0797.aspx
  • April 1998: http://www.microsoft.com/msj/0498/hood0498.aspx
  • September 1999: http://www.microsoft.com/msj/0999/hood/hood0999.aspx

和最大和最好的之一:

这篇关于在一个DLL,如何在功能表结构?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆