我是靠谱客的博主 花痴小蝴蝶,最近开发中收集的这篇文章主要介绍易语言lsp劫持_易语言如何制作LSP修复工具,用来解决网截模块问题.,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

LSP在注册表中的位置HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2Parameters下的Current_NameSpace_Catalog描述了当先使用的协议目录,一般为Protocol_Catalog9。

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2ParametersProtocol_Catalog9下的Num_Catalog_Entries记录了该结构链的节点的总数。

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2ParametersProtocol_Catalog9Catalog_Entries下面的以序号为键名的内容依次对应了一个服务程序.

程序首先读取Current_Protocol_Catalog协议目录存放的子键名称,接着读取存放目录子键下的Num_Catalog_Entries目录总数,接着遍历Catalog_Entries下的所有存放协议目录的子键,他们的存放结构如下:

typedef struct tagPACKED_CATALOG_ITEM

{

char spi_path[MAX_PATH];    // dll的路径名称

WSAPROTOCOL_INFO protocol_info;    // 协议的结构体

} PACKED_CATALOG_ITEM, *PPACKED_CATALOG_ITEM;

将注册表存放目录的数据填充到这个结构体里面即可.

如何判断是否有效的LSP呢。

1、对协议结构体中的CLSID进行匹配,与以下的CLSID:

{E70F1AA0-AB8B-11CF-8CA3-00805F48A192}

{9D60A9E0-337A-11D0-BD88-0000C082E69A}

{8D5F1830-C273-11CF-95C8-00805F48A192}

{3972523D-2AF1-11D1-B655-00805F3642CC}

2、根据DLL存放的路径进行匹配,与以下的文件名进行匹配(必须是WindowsSystem32目录下)

mswsock.dll

rsvpsp.dll

msafd.dll

ws2_64.dll

以上操作就完成了LSP的辨别操作。

接下来是修复的工作:

1、保存原先的注册表信息,路径:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2Parameters 保存为WinSockLSP.reg。

2、保存 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWS2IFSL 到当前路径下的 WinSockLSPIFSL.reg。

3、将在第一步确定为未知的LSP的DLL保存到当前路径下的LSP中,并写入相关的信息到LSP.ini中,以便后续的恢复操作可执行。

4、对检测为未知的DLL再次进行检测,是否与以下的DLL名称相符合。

shdocvw.dll

Shell32.dll

Oleaut32.dll

Actxprxy.dll

Mshtml.dll

Urlmon.dll

Msjava.dll

Browseui.dll

5、如果不符合已知的DLL,那么将这个未知的LSP的DLL进行删除处理,并删除这个相关的LSP协议。

最后是还原操作:

1、导入保存的WinSockLSP.reg和WinSockLSPIFSL.reg

2、读取保存的LSP文件夹下的LSP.ini,得到DLL删除前存放的路径。

3、将所有的DLL拷贝到原先存放的路径中。

最后

以上就是花痴小蝴蝶为你收集整理的易语言lsp劫持_易语言如何制作LSP修复工具,用来解决网截模块问题.的全部内容,希望文章能够帮你解决易语言lsp劫持_易语言如何制作LSP修复工具,用来解决网截模块问题.所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部