| | Hey can someone help me change some codes in C++ If anyone is good enough for the job i will reward them and plus my email is lightningxb@hotmail.com or bryanly@gmail.com |
|
|
QUOTEint nHandshakeVer = (int)g_pLTServer->ReadFromMessageWord(hMessage);if (nHandshakeVer != GAME_HANDSHAKE_VER){g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName());g_pLTServer->CPrint(" '%s' was booted due to an invalid version number (%d not %d)", pPlayer->GetNetName(), nHandshakeVer, GAME_HANDSHAKE_VER);// If they ... read more.
QUOTE(Thunder @ Sep 11 2004, 02:40 AM) Hey can someone help me change some codes in C++ If anyone is good enough for the job i will reward them and plus my email is lightningxb@hotmail.com or bryanly@gmail.com change what to C++ OR change C++ to what?
See its for a game I got the code which the version built in it is 1.003 all I need you to do is change it to 1.004 and your done. Change the coding inside to 1.004 thats all.
What thunder is tring to say is... that he has a copy of the source code for 1.003 and he wants to remove certain things (CRCs) to make certain things happen in the game. Sorry I can't provide more information here but feel free to contact thunder or me (we are the best of buds) so if you want the code you can ask and about the 1.003 to 1.004 well talk to us (he rewards greatly).
Also instead of changeing the version to 1.004 you can try to edit the string so it equals whatever version the server is running.
-------------------------------------------------------------------------------- void CGameServerShell::ProcessHandshake(HCLIENT hClient, HMESSAGEREAD hMessage) { // Get the player CPlayerObj *pPlayer = GetPlayerFromClientList(hClient); if (!pPlayer) { g_pLTServer->CPrint("Handshake failed for an unknown client!"); // Uh... Who are you again? g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); return; } int nHandshakeSub = (int)g_pLTServer->ReadFromMessageByte(hMessage); switch (nHandshakeSub) { case MID_HANDSHAKE_HELLO : { // Check the client's version int nHandshakeVer = (int)g_pLTServer->ReadFromMessageWord(hMessage); if (nHandshakeVer != GAME_HANDSHAKE_VER) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid version number (%d not %d)", pPlayer->GetNetName(), nHandshakeVer, GAME_HANDSHAKE_VER); // If they got here, they ignored our different version number. Boot 'em! g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); // Jump out of the handshake return; } // Read in the client's sooper-secret key uint32 nClientKey = (uint32)g_pLTServer->ReadFromMessageDWord(hMessage); // Write out a password message, encrypted with their key // Note : A key from them that null encrypts our key doesn't really effect // anything.. I mean, they DID send the key, and they're the ones that need // to use our key anyway.. HMESSAGEWRITE hResponse = g_pLTServer->StartMessage(hClient, MID_HANDSHAKE); g_pLTServer->WriteToMessageByte(hResponse, MID_HANDSHAKE_PASSWORD); g_pLTServer->WriteToMessageDWord(hResponse, GAME_HANDSHAKE_PASSWORD); g_pLTServer->EndMessage(hResponse); } break; case MID_HANDSHAKE_LETMEIN : { // Get the client's password uint32 nClientPassword = g_pLTServer->ReadFromMessageDWord(hMessage); uint32 nXORMask = GAME_HANDSHAKE_MASK; nClientPassword ^= nXORMask; if (nClientPassword != GAME_HANDSHAKE_PASSWORD) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid password", pPlayer->GetNetName()); // They're a fake!! g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); return; } // Read in their weapons file CRC uint32 nWeaponCRC = g_pWeaponMgr->GetFileCRC(); nWeaponCRC ^= nXORMask; uint32 nClientCRC = g_pLTServer->ReadFromMessageDWord(hMessage); if (nWeaponCRC != nClientCRC) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid weapon file", pPlayer->GetNetName()); // They're cheating!! g_pLTServer->KickClient(hClient, GAME_DISCON_BADWEAPONS); return; } // Read in their client file CRC uint32 nCShellCRC = CRC32::CalcRezFileCRC("cshell.dll"); nCShellCRC ^= nXORMask; nClientCRC = g_pLTServer->ReadFromMessageDWord(hMessage); if (nCShellCRC != nClientCRC) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid client shell", pPlayer->GetNetName()); // They're cheating!! g_pLTServer->KickClient(hClient, GAME_DISCON_BADCSHELL); return; } // Tell the client they passed the test... HMESSAGEWRITE hResponse = g_pLTServer->StartMessage(hClient, MID_HANDSHAKE); g_pLTServer->WriteToMessageByte(hResponse, MID_HANDSHAKE_DONE); g_pLTServer->EndMessage(hResponse); // Unlock the player pPlayer->FinishHandshake(); // Spawn them in.. RespawnPlayer(pPlayer, hClient); } break; default : { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid handshake message (%d)", pPlayer->GetNetName(), nHandshakeSub); // Hmm.. They sent over an invalid handshake message. They're naughty. g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); return; } } }
If the client version is 1.003,not 1.004,the sever will kick you out.
is that? Well,I think you may search where the version information is stored,and modify it. But 1.004 may have more new functions not existed in 1.003. Maybe You should rewrite 1.003 ,or find 1.004.
Well hehe the problem is there is no version 1.004 its never been relesed and the reason is... because its almost the exact samething all they did was change version numbers and thats what we need to do and hopefully some extra things like being able to "demask" passwords and allow you to go in with your own modification etc etc...
yea thats it the only added new maps and basically it they were lazy and only changed the numbers of 1.003 - 1.004 and done but the prob is its hard if u dont know C++. So if you would talk to me on lightningxb@hotmail.com and i will explain more and maybe u can help
I mailed you.
Latest EntriesQUOTE int nHandshakeVer = (int)g_pLTServer->ReadFromMessageWord(hMessage); if (nHandshakeVer != GAME_HANDSHAKE_VER) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid version number (%d not %d)", pPlayer->GetNetName(), nHandshakeVer, GAME_HANDSHAKE_VER); // If they got here, they ignored our different version number. Boot 'em! g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); // Jump out of the handshake these codes come from the server application what you need is just the client application source code. you need to modify hMessage sent by client application.
Hey fallmoon where have our found these sources codes:
See if you can make anything out of this code -------------------------------------------------------------------------------- //--begin void CGameServerShell::ProcessHandshake(HCLIENT hClient, HMESSAGEREAD hMessage) { // Get the player CPlayerObj *pPlayer = GetPlayerFromClientList(hClient); if (!pPlayer) { g_pLTServer->CPrint("Handshake failed for an unknown client!"); // Uh... Who are you again? g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); return; } int nHandshakeSub = (int)g_pLTServer->ReadFromMessageByte(hMessage); switch (nHandshakeSub) { case MID_HANDSHAKE_HELLO : { // Check the client's version int nHandshakeVer = (int)g_pLTServer->ReadFromMessageWord(hMessage); if (nHandshakeVer != GAME_HANDSHAKE_VER) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid version number (%d not %d)", pPlayer->GetNetName(), nHandshakeVer, GAME_HANDSHAKE_VER); // If they got here, they ignored our different version number. Boot 'em! g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); // Jump out of the handshake return; } // Read in the client's sooper-secret key uint32 nClientKey = (uint32)g_pLTServer->ReadFromMessageDWord(hMessage); // Write out a password message, encrypted with their key // Note : A key from them that null encrypts our key doesn't really effect // anything.. I mean, they DID send the key, and they're the ones that need // to use our key anyway.. HMESSAGEWRITE hResponse = g_pLTServer->StartMessage(hClient, MID_HANDSHAKE); g_pLTServer->WriteToMessageByte(hResponse, MID_HANDSHAKE_PASSWORD); g_pLTServer->WriteToMessageDWord(hResponse, GAME_HANDSHAKE_PASSWORD); g_pLTServer->EndMessage(hResponse); } break; case MID_HANDSHAKE_LETMEIN : { // Get the client's password uint32 nClientPassword = g_pLTServer->ReadFromMessageDWord(hMessage); uint32 nXORMask = GAME_HANDSHAKE_MASK; nClientPassword ^= nXORMask; if (nClientPassword != GAME_HANDSHAKE_PASSWORD) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid password", pPlayer->GetNetName()); // They're a fake!! g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); return; } // Read in their weapons file CRC uint32 nWeaponCRC = g_pWeaponMgr->GetFileCRC(); nWeaponCRC ^= nXORMask; uint32 nClientCRC = g_pLTServer->ReadFromMessageDWord(hMessage); if (nWeaponCRC != nClientCRC) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid weapon file", pPlayer->GetNetName()); // They're cheating!! g_pLTServer->KickClient(hClient, GAME_DISCON_BADWEAPONS); return; } // Read in their client file CRC uint32 nCShellCRC = CRC32::CalcRezFileCRC("cshell.dll"); nCShellCRC ^= nXORMask; nClientCRC = g_pLTServer->ReadFromMessageDWord(hMessage); if (nCShellCRC != nClientCRC) { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid client shell", pPlayer->GetNetName()); // They're cheating!! g_pLTServer->KickClient(hClient, GAME_DISCON_BADCSHELL); return; } // Tell the client they passed the test... HMESSAGEWRITE hResponse = g_pLTServer->StartMessage(hClient, MID_HANDSHAKE); g_pLTServer->WriteToMessageByte(hResponse, MID_HANDSHAKE_DONE); g_pLTServer->EndMessage(hResponse); // Unlock the player pPlayer->FinishHandshake(); // Spawn them in.. RespawnPlayer(pPlayer, hClient); } break; default : { g_pLTServer->CPrint("Handshake failed for '%s'!", pPlayer->GetNetName()); g_pLTServer->CPrint(" '%s' was booted due to an invalid handshake message (%d)", pPlayer->GetNetName(), nHandshakeSub); // Hmm.. They sent over an invalid handshake message. They're naughty. g_pLTServer->KickClient(hClient, GAME_DISCON_BADHANDSHAKE); return; } } } //--end
Recent Queries:-
Keywords : programer
|
|
![]() Need Very Good C++ Programer! |
| ADD REPLY / Got an Opinion! | a humble request :-) | RAPID SEARCH! | Free Hosting | [X] |
|
Express your Opinions, Thoughts or Contribute more info. to help others. Ask your Doubts & Queries to get answers, So that "Together We can help others!" |
Register FREE for AD-FREE forum, Create your own topics, Ask Questions, track topics, setup subscriptions & notifications and Get a Free Website w/ Email and FTP. | 500MB Space *No Ads*, CPanel, FTP, PHP, MySQL, EMails - 100% FREE |
|