They probably made Old/New servers different for a reason, make it harder, So new/old both need its own proxy type codes, making more work for Coders, i dunno, Just a guess... :confused:
0x041F*Quote:
patch 4356 uses 41B.
case 0x041C:
{
char oldip[16];
memset(oldip, 0, 16);
memcpy(oldip, pData+12, 16);
memset(pData+12, 0, 16);
memcpy(pData+12, G_cLocalBindIP, strlen(G_cLocalBindIP));
wp = (WORD *)(pData+12+16);
G_iRemoteGamePort = 5816;
memcpy(G_cGameServerAddr, oldip, 16);
wsprintf(G_cTxt, "Login type 2: Remote game ip <%s> port <%d>", G_cGameServerAddr, G_iRemoteGamePort);
conadd(G_cTxt, DEF_VERBOSE_CRITICAL);
break;
}
case 0x041F:
{
char oldip[16];
memset(oldip, 0, 16);
memcpy(oldip, pData+12, 16);
memset(pData+12, 0, 16);
memcpy(pData+12, G_cLocalBindIP, strlen(G_cLocalBindIP));
wp = (WORD *)(pData+12+16);
G_iRemoteGamePort = *wp;
*wp = G_iLocalGamePort;
memcpy(G_cGameServerAddr, oldip, 16);
wsprintf(G_cTxt, "Login type 1: Remote game ip <%s> port <%d>", G_cGameServerAddr, G_iRemoteGamePort);
conadd(G_cTxt, DEF_VERBOSE_CRITICAL);
break;
}
Good idea...Quote:
0x041F*
Every login attempt works for me if both are included.Code:case 0x041C: { char oldip[16]; memset(oldip, 0, 16); memcpy(oldip, pData+12, 16); memset(pData+12, 0, 16); memcpy(pData+12, G_cLocalBindIP, strlen(G_cLocalBindIP)); wp = (WORD *)(pData+12+16); G_iRemoteGamePort = 5816; memcpy(G_cGameServerAddr, oldip, 16); wsprintf(G_cTxt, "Login type 2: Remote game ip <%s> port <%d>", G_cGameServerAddr, G_iRemoteGamePort); conadd(G_cTxt, DEF_VERBOSE_CRITICAL); break; } case 0x041F: { char oldip[16]; memset(oldip, 0, 16); memcpy(oldip, pData+12, 16); memset(pData+12, 0, 16); memcpy(pData+12, G_cLocalBindIP, strlen(G_cLocalBindIP)); wp = (WORD *)(pData+12+16); G_iRemoteGamePort = *wp; *wp = G_iLocalGamePort; memcpy(G_cGameServerAddr, oldip, 16); wsprintf(G_cTxt, "Login type 1: Remote game ip <%s> port <%d>", G_cGameServerAddr, G_iRemoteGamePort); conadd(G_cTxt, DEF_VERBOSE_CRITICAL); break; }
try
{
if ((b[2] == 0x1c || b[2] == 0x1f) && b[3] == 0x04)
{
for(int i=12; i<28; i++)
{
if(b[i]>0)
ip+=(char)b[i];
b[i]=proxip.getBytes()[i-12];
}
}
}
O.o you always impress me, But errr, what source code version are you using... cause thats defiently not how our nasty ASM file looks like :D :rolleyes: If you managed to make a better source code to use rather than the ASM itd be most appreciated if you could provide me with it :)Quote:
Good idea...
changed orginal code:
Code:try { if ((b[2] == 0x1c || b[2] == 0x1f) && b[3] == 0x04) { for(int i=12; i<28; i++) { if(b[i]>0) ip+=(char)b[i]; b[i]=proxip.getBytes()[i-12]; } } }
Granted, I know little coding language, but can't you just replace the line that has "0x1c" with "0x1f"?Quote:
O.o you always impress me, But errr, what source code version are you using... cause thats defiently not how our nasty ASM file looks like :D :rolleyes: If you managed to make a better source code to use rather than the ASM itd be most appreciated if you could provide me with it :)
Yeh its just gay so im not even trying to use msn again, i got it working for a few minutes, sent like 3 messages, got 1 back and the **ckin thing just freezes the computer up. I resolved the other "Issue" Though ;)Quote:
Ah Queen~of~Evil its been a while I see u can still post here having trouble with msn still?