int __stdcall Hconnect(SOCKET s,SOCKADDR_IN* name,int namelen)
{
SOCKADDR_IN myaddrTCP;
myaddrTCP.sin_family = AF_INET;
myaddrTCP.sin_addr.s_addr = inet_addr("127.0.0.1");
myaddrTCP.sin_port = htons(1080);
int ret = TrueConnect(s,(sockaddr*)(&myaddrTCP),sizeof(myaddrTCP));
........
};
API Hook connect в IE
TrueConnect - трамплин. для нормальног вызова connect.
Hconnect - обработчик API хука
перехват происходит нормально. а вот в проуесе обработки.
Код:
в резальтате ret ==SOCKET_ERROR.
причем варианты
Код:
int __stdcall Hconnect(SOCKET s,SOCKADDR_IN* name,int namelen)
{
return TrueConnect(s,(sockaddr*)(name),namelen);
};
{
return TrueConnect(s,(sockaddr*)(name),namelen);
};
все прекрасно работает( как ничего и не делали:) )
Код:
int __stdcall Hconnect(SOCKET s,SOCKADDR_IN* name,int namelen)
{
SOCKET s1 = socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN
SOCKADDR_IN myaddrTCP;
myaddrTCP.sin_family = AF_INET;
myaddrTCP.sin_addr.s_addr = inet_addr("127.0.0.1");
myaddrTCP.sin_port = htons(1080);
int ret = TrueConnect(s1,(sockaddr*)(&myaddrTCP),sizeof(myaddrTCP));
........
};
{
SOCKET s1 = socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN
SOCKADDR_IN myaddrTCP;
myaddrTCP.sin_family = AF_INET;
myaddrTCP.sin_addr.s_addr = inet_addr("127.0.0.1");
myaddrTCP.sin_port = htons(1080);
int ret = TrueConnect(s1,(sockaddr*)(&myaddrTCP),sizeof(myaddrTCP));
........
};
в результате ret ==0 - все отлично конект произошол.
никак не пойму, почему не соеденяеться ???