Windows API dll中的函数的序数索引是否发生了变化?

时间:2010-12-26 08:19:14

标签: windows api dll

您知道dll中的函数可以通过名称或序数索引导入。

  

来自wikipedia:对于大多数Windows API函数,只有名称在不同的Windows版本中保留;这些序数可能会有所变化。因此,无法通过其序列可靠地导入Windows API函数。

我的问题:我知道这些序数可能会改变,但我想知道它们是否实际上已经改变了。 (特别是关于kernel32& user32 dlls)

为什么我要问这个?我听说有些病毒会按顺序导入win32函数。我想抓住他们,我想知道我是否可以测试一个序数号。

感谢。

2 个答案:

答案 0 :(得分:3)

这个问题很容易回答,答案是。只需使用两个版本的kernel32.dll,然后使用PE查看器查看它们。

例如,左边是Windows 7的kernel32.dll,右边是Windows Vista的kernel32.dll。您可以看到,添加AddIntegrityLabelToBoundaryDescriptor导致其下方的功能与Vista相比,其序数增加了1。

我不明白你为什么要使用这些信息来捕获病毒。病毒可以使用许多其他方法来获取函数的地址。

alt text

答案 1 :(得分:2)

这是无关紧要的。使用错误序数的病毒无法复制。你无法捕获无法复制的病毒,你永远也看不到它们。你做的也不重要,它不起作用。