LSP是Layered Service Provider的缩写,是介于winsock和应用程序之间的一层。可以让我们实现数据的侦听、拦截和修改。
LSP入门的最简单方式是自己编译一个例子运行一下:
首先,安装一下windows sdk,win7版的下载页面:http://www.microsoft.com/en-us/download/details.aspx?id=18950 带X的是64位版。
然后,找到sdk里面的lsp sample,一般位于:C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\netds\winsock\lsp
然后,喜欢用nmake的同学可以直接编译sample了。喜欢用vs的同学可以新建vs的项目,记得要参照Makefile加上各种项目参数,不使用MFC,不使用预编译头,预处理器宏定义_PSDK_BLD,链接的地方要增加三个库ws2_32.lib ole32.lib rpcrt4.lib
这样就编译好了。
执行的话用instlsp.exe可以注册和卸载lsp。注意lsp的dll需要写全路径。常用参数有-a, -r, -f,都很有用。