Ich weiß nichts ob es etwas damit zu tun hat, jedoch wird bei mir - Win7 - immer die ws2_32.dll geladen. Wahrscheinlich regelt das System das so, dass wenn auf wsock32 zugegriffen wird (LoadLibrary()), es intern das ganze umbridged zu ws2_32.dll
Deshalb kann ich dir da leider nicht weiterhelfen, hab hier kein XP zum Testen..
Mit diesem Code habe ich festgestellt, dass die Adressen identisch sind und somit es sich um dieselbe
Dll (ws2_32.dll) handelt!
Delphi-Quellcode:
hWinSock := LoadLibrary('wsock32.dll');
writeln(integer(getprocaddress(hWinSock, 'connect')));
hWinSock := LoadLibrary('ws2_32.dll');
writeln(integer(getprocaddress(hWinSock, 'connect')));
Testen wollte ich eig. ob beide
API Funktionen in Assembler von der Signatur her ähnlich sind und weiters darauf schließen, dass es evt. Probleme bei deinem Hooken gibt (soferns Code-hooking ist).
Code:
mov edi, edi
push ebp
mov ebp, esp
ws2_32.connect() hält sich an den Standard mit Strackframe Generierung - dh hier sollte es zu keinen Problemen beim Hooken kommen..
Edit: Das ist nämlich nicht immer der Fall ^^ Bei
OpenGL sieht das ganze nämlich ganz anders aus xD Hat mich echt Zeit gekostet, bis ich auf die Idee kam, das zu überprüfen.
Vlt. könntest du ja genauer beschreiben, was nicht klappt.. Durch Raten alleine kann ich keine Probleme lösen.