我一直在努力理解'挂钩'API的概念,目前我正面临一个问题。我希望这里的专家可以清除它:
通过浏览头文件,我注意到LoadLibrary函数实际上映射到以下两个之一:LoadLibraryW或LoadLibraryA基于编译期间使用的标志(分别是UNICODE或ASCII)。现在,如果我已经明确地将API“LoadLibraryA”挂钩,那么如果使用UNICODE标志编译它,我的钩子函数会得到控件吗?
如果有人可以向我解释或指向一个详细解释在这种情况下挂钩如何工作的链接会很棒吗?编译标志,字符集,语言环境,国际化如何影响到LoadLibrary或CreateFile等API的挂钩?
我目前在韩国(原籍英国),由于某些原因,我的部分应用程序无效,我明天会有一个演示。我认为上面提到的疑问是我面临的问题的原因。
答案 0 :(得分:0)
我认为你需要仔细阅读这篇关于api挂钩的圣经Hooking in theory,它解释了关于挂钩的所有方法,例如不同的挂钩方法,很多图表......以及这一个example。我的建议是使用LoadLibraryW,因为它是Acsii的超集。 再见