前言
迟早会有不少人开始思考如何不使用 LoadLibrary() 来加载动态链接库。好吧,也许不是那么多人。。。与使用常规的 LoadLibrary() 调用来加载动态链接库的场景相比,它有几个优点,但在编写动态链接库(取决于它实现了什么)时会引入一些不便。尽管如此,如果你想了解幕后发生了什么,这个技巧能够作为指南为你提供很好的建议。我自己就用它来写 C/C++ 的动态链接库,而不是偏移量无关的汇编(一个游戏外挂中所用),那是后话了。
实现
加载动态链接库最重要的步骤是:
映射或者加载动态链接库到内存中。
通过动态链接库中的重定位表(如果存在的话)在动