Delphi下如何使用 Winsock SPI 函数拦截网络数据?(300分)

  • 主题发起人 主题发起人 x.45
  • 开始时间 开始时间
X

x.45

Unregistered / Unconfirmed
GUEST, unregistred user!
我这里有个网络程序的服务端,随着时间推移,出现了几个漏洞,我们没有源代码,原作者也走了......
重写服务端显然并不现实,我试图使用API Hook,但原程序是动态加载WS_32.dll,根本就 Hook 不了 :(
现在看来只好使用 SPI 了,查了半天只有C语言的例程,对于我们这些 Delphi 狂来说真是太不公平啦!

请问各位有这方面的 Delphi 例程吗?
或者那位富翁也在研究 SPI,大家共同切磋切磋!
 
把C的贴出来
 
我找到的那个是费尔防火墙的源代码,收费的:http://www.xfilt.com/ 我就没考虑要买了
MSDN上也有,看得我一头雾水.....水平太差,不好意思~~~~~~书到用时方恨少~~~~~~~
 
SPI不麻烦,你先把哪个winsockspi的PAS文件下下来,在照的哪本书写就行了,
 
无忌大哥,终于看到您了!我知道你在这方面有研究,请你指点指点我吧!
winsockspi的PAS文件在哪里下载?
我查到一本叫《Delphi 5 SPI 函数开发实例100例》的书是不是你说的那本?现在哪里有卖?
 
DELPHI方面没有这本书把,那本《Delphi 5 SPI 函数开发实例100例》SPI应该是API才对
 
哦,差点上当 :)

不过还是请无忌大哥详细告诉我winsockspi.pas在哪里下载?
您说的书是什么书?
 
我找找看,一会告诉你
 
找到了给俺一份!!
 
+-------------------------------------------------------+ <-- WinSock
| WS2-32.DLL (32-bit) | 2.0 API
+-------------------------------------------------------+
|
+-------------------------------------------------------+ <--- WinSock
|+-----------++--------------++------------++----------+| 2.0 SPI
|| TCP/IP || TCP/IP-based || additional ||Layered SP|| /
|| transport || namespace || service |+----------+| /
|| service || service pro- || providers |+----------+| <--
|| provider || vider (DNS) || (SPX, etc.)|| Any TSP ||
|+-----------++--------------++------------++----------+|
+-------------------------------------------------------+
 
winsock32.pas 好东东. 找到了麻烦楼主给俺一份, 先谢了
 
详细讲一下,好不好?学习呀
 
我这儿有一个例子代码,是用ws2-32.dll的,不知道对你有没有帮助!
ftp://sundownload:sunday@istudio.vicp.net里边有个code/Sniffer-no vxd/Sniffer你看看吧,我的机器就开到今天晚上10点左右,如果错过的话,以后每天晚上7:30到11;30应该都可以登录的
 
to sundayboys
你那个只是嗅探器,而且应该只能在 win2k 下使用(没有仔细看),我要能修改收、发
数据的方法。你有更好的方法吗?我对 SPI 只是稍微有些概念,但深入的就......
 
学习,有点难度
 
费尔防火墙的代码里面主要就是SPI
 
楼上的很富裕……
 
Delphi 5 SPI 函数开发实例100例
出版社 : 邮电
出版日期 : 2001-1-1
ISBN : 7115069085
开本 : 16
原价 : 29元
现价 : 25.5元
Winsock 2 SPI 的技术特点:

Winsock 2 SPI 工作在 API 之下 Driver 之上,属于应用层的范畴。利用这项技术可以截获所有的基于 Socket 的网络通信。比如:IE、OUTLOOK 等常见的应用程序都是使用 Socket 进行通信。它的技术特点主要有:

优点:

1. 工作在应用层,以 DLL 的形式存在,编程、调试方便。
2. 跨 Windows 平台,可以直接在 Windows 98/ME/NT/2000/XP上通用,Windows 95 只需安装上 Winsock 2 for 95,也可以正常运行。
3. 效率高,由于工作在应用层,CPU 占用率低。
4. 封包还没有按照低层协议进行切片,所以比较完整,很容易做内容过滤。
5. 做防色情之类的软件,不用根据具体的浏览器进行分别编程,既简单又安全。

缺点:

1. 不用 Socket 的网络通信无法拦截,比如:使用NetBios的网上邻居,和使用ICMP协议的Ping。
2. 微软对SPI设计的问题,导致如果安装顺序出错很容易造成网络瘫痪。这意味着如果同时安装几个使用SPI技术的软件,而且有使用非标准安装方式的软件,很容易有的被绕过或者不能正常网络通信。所以建议编写SPI程序一定要用标准的安装方式

个人认为是垃圾……



 
后退
顶部