Hooking InternetOpenUrl
Hooking InternetOpenUrl
本文关键字:InternetOpenUrl Hooking 更新时间:2023-10-16
我正在编写一个应用程序,它应该将InternetOpenUrl
和InternetReadFile
挂接到另一个进程中。
在InternetOpenUrl
的挂钩版本中,它将检查传递给它的lpszUrl
是否与正则表达式匹配。如果匹配,则记录实际InternetOpenUrl
返回的句柄。
然后,在InternetReadFile
的挂钩版本中,如果hFile
参数等于记录的句柄,它将从文件中读取,而不是调用实际的InternetReadFile
。
我发现Windows在调用InternetOpenUrl
时会立即尝试连接到提供的服务器,如果无法建立连接,函数将返回NULL
。
但我希望这种机制即使没有互联网连接也能工作,所以当正则表达式匹配时,我似乎无法通过调用挂钩机制中的实际InternetOpenUrl
来获得句柄。
那么我该如何让它发挥作用呢?
更新:
现在我调用InternetOpen
来获取一个伪句柄。InternetOpen
和InternetOpenUrl
返回的句柄似乎不相等。
但我不确定它是否有保障,寻找更好的选择。
所以您正试图将URL查询重定向到一个文件。。。您可以始终托管该文件,然后保证在任何一种情况下都有一个有效的句柄。然而,假设是本地文件,我认为如果您在URL中指定"file://">协议,它可能会以您想要的方式工作。