1
我无法完全理解地址跳转表的工作原理。地址跳转表
基本上,编译文件时,编译器知道在内存中设置dll函数的位置,但是一旦执行应用程序,由于地址之间的冲突,某些函数地址可能会改变它们在内存中的位置。
例如:编译器在地址40000中加载函数GetModuleHandle
,并以某种方式在另一个函数GetModuleFileName
中加载相同的地址。
根据函数在应用程序中的访问方式,windows加载程序将在地址跳转表中添加第二个函数,并且在调用第一个函数时,加载程序将循环访问地址跳转表并更改函数的地址到主地址调用和第一功能将在地址跳转表
这是地址跳转表是如何工作的方式去?
很难使你的榜样的意义,但一切你想知道的结合是在[这本杂志的文章(http://msdn.microsoft.com /en-us/magazine/cc301808.aspx)。 –