求教 怎么让程序使用socks5代理连接网络

2024-11-29 01:44:17
推荐回答(3个)
回答1:

这个要HOOK SPI函数
我上段代码吧

int WSPAPI WSPConnect(
SOCKET s,
const struct sockaddr *name,
int namelen,
LPWSABUF lpCallerData,
LPWSABUF lpCalleeData,
LPQOS lpSQOS,
LPQOS lpGQOS,
LPINT lpErrno)
{
if (_ProxySwitch == TRUE) //代理开关
{
struct sockaddr_in sin;
sin = *(const struct sockaddr_in *)name;
int Port = ntohs(sin.sin_port);
char *IP = inet_ntoa(sin.sin_addr);

if (strcmp(IP, "127.0.0.1") == 0 || strcmp(IP, "0.0.0.0") == 0)
{
return NextProcTable.lpWSPConnect(s, name, namelen, lpCallerData, lpCalleeData, lpSQOS, lpGQOS, lpErrno);
}
return Socks5Proxy...... //这里为连接代理服务器的代码。
}
else
{
return NextProcTable.lpWSPConnect(s, name, namelen, lpCallerData, lpCalleeData, lpSQOS, lpGQOS, lpErrno);
}
}
这个是LSP的HOOK。修改这个函数就行
细节上还要处理WSPSENDTO及WSPRECVFORM等API

回答2:

the port for the first time from the

回答3:

恩。现在需要转换IP来操作
去下个IP软件。。兔~子IP。。就可以了
直接在官网下的哟。