Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Delete Abby SRC Login MD5 Full (Español)

Experienced Elementalist
Joined
May 12, 2014
Messages
260
Reaction score
61
CSCOMMON ----> MMatchServer_Login.cpp
---->
void MMatchServer::OnMatchLogin(MUID CommUID, const char* szUserID, const char* szPassword, int nCommandVersion, unsigned long nChecksumPack, char *szEncryptMd5Value, char* szHwid)
FOR
void MMatchServer::OnMatchLogin(MUID CommUID, const char* szUserID, const char* szPassword, int nCommandVersion, unsigned long nChecksumPack, char *szEncryptMd5Value, char* szHwid){
//Wizkidz
if (strstr(szUserID, "'") || strstr(szPassword, "'")) {
return;
}




int nMapID = 0;
unsigned int Status = 0;
unsigned int nAID = 0;
char szDBPassword[32] = "";
string strCountryCode3;


bool bFreeLoginIP = false;


if (strstr(szHwid, "%") || strstr(szUserID, "%") || strstr(szPassword, "%"))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
Post(pCmd);
return;
}


if (!CheckOnLoginPre(CommUID, nCommandVersion, bFreeLoginIP, strCountryCode3)) return;





if (!m_MatchDBMgr.GetLoginInfo(szUserID, &nAID, szDBPassword))
{
#ifdef _DEBUG
m_MatchDBMgr.CreateAccount(szUserID, szPassword, 0, szUserID, 20, 1);
strcpy(szDBPassword, szPassword);


m_MatchDBMgr.GetLoginInfo(szUserID, &nAID, szDBPassword);
#endif


MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
Post(pCmd);


return;
}




MCommObject* pCommObj = (MCommObject*)m_CommRefCache.GetRef(CommUID);
if (pCommObj)
{

if (!m_MatchDBMgr.UpdateLastConnDate(szUserID, pCommObj->GetIPString()))
{
mlog("DB Query(OnMatchLogin > UpdateLastConnDate) Failed");
}


}






if (strcmp(szDBPassword, szPassword))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
Post(pCmd);


return;
}


MMatchAccountInfo accountInfo;
if (!m_MatchDBMgr.GetAccountInfo(nAID, &accountInfo, MGetServerConfig()->GetServerID()))
{

MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_FAILED_GETACCOUNTINFO);
Post(pCmd);
}


MMatchAccountPenaltyInfo accountpenaltyInfo;
if (!m_MatchDBMgr.GetAccountPenaltyInfo(nAID, &accountpenaltyInfo))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_FAILED_GETACCOUNTINFO);
Post(pCmd);
}


#ifndef _DEBUG

MMatchObject* pCopyObj = GetPlayerByAID(accountInfo.m_nAID);
if (pCopyObj != NULL)
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(pCopyObj->GetUID(), MERR_MULTIPLE_LOGIN);
Post(pCmd);
//Disconnect(pCopyObj->GetUID());
}
#endif


/*
* Steven: Hwid
*/


m_MatchDBMgr.GetHwidInfo(&Status, szHwid);


if (Status == 1) {
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_HWID_BANNED);
Post(pCmd);
return;
}
m_MatchDBMgr.CreateHwid(accountInfo.m_nAID, szHwid); //Actualiza el HWID de la Cuenta

if ((accountInfo.m_nUGrade == MMUG_BLOCKED) || (accountInfo.m_nUGrade == MMUG_PENALTY))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_MMUG_BLOCKED);
Post(pCmd);
return;
}


if ((accountInfo.m_nUGrade == MMUG_BLOCKED) || (accountInfo.m_nUGrade == MMUG_PENALTY))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_MMUG_BLOCKED);
Post(pCmd);
return;
}


#ifndef _DEBUG


if (MGetServerConfig()->IsUseMD5())
{
unsigned char szMD5Value[MAX_MD5LENGH] = { 0, };
pCommObj->GetCrypter()->Decrypt(szEncryptMd5Value, MAX_MD5LENGH, (MPacketCrypterKey*)pCommObj->GetCrypter()->GetKey());
memcpy(szMD5Value, szEncryptMd5Value, MAX_MD5LENGH);


if ((memcmp(m_szMD5Value, szMD5Value, MAX_MD5LENGH)) != 0)
{


LOG(LOG_PROG, "MD5 error : AID(%u).\n \n", accountInfo.m_nAID);


return;
}
}
#endif




AddObjectOnMatchLogin(CommUID, &accountInfo, &accountpenaltyInfo, bFreeLoginIP, strCountryCode3, nChecksumPack);




}

NotE: Server Zombie DELETE.

DB > Programmability > spGetLoginInfo > EDIT

USE [GunZDB]
GO
/****** Object: StoredProcedure [dbo].[spGetLoginInfo] Script Date: 03/23/2016 13:36:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/* LoginInfo ¾ò¾î¿È */
ALTER PROC [dbo].[spGetLoginInfo]
@userID varchar(20)
AS
SET NOCOUNT ON
SELECT AID, UserID, Password FROM Login(nolock) WHERE UserID = @userID

ATT: NeXus Destroyer:junglejane:
 
Last edited:
I'm retired, I'm already
Banned
Joined
Oct 3, 2011
Messages
832
Reaction score
155
If you say you already repairing the errors from this source, I guess you already removed the system encrypted that source so you can read the ".mrs".

If so it would be nice to release that, not for me ... for others because my not interest me.
Good job.
 
Experienced Elementalist
Joined
May 12, 2014
Messages
260
Reaction score
61
If a friend can now delete abby system and put the original ... but it is a very long there is a guide for how to compile in vs 2013 ... I spent around 3 days to accommodate the CML and Errors inortras parts systema as bug etc ..
If I had time isiera that guai but long I have classes Monday gunzfull prior to ...





ESP:
Si amigo ya puede Eliminar el sistema de abby y poner el original ... pero es una guia muy larga por hay una de como compilar en vs 2013 ... yo pase al rededor de 3 dias en acomodar el CML y Errores en ortras partes como bug systema etc..
Si tuviera tiempo isiera esa guai pero es larga tengo clases el lunes tengo completa el gunz antes de la fecha...
 
Newbie Spellweaver
Joined
Oct 22, 2013
Messages
63
Reaction score
2
Did You get in the game and play without any problems ?


 
Junior Spellweaver
Joined
Oct 9, 2010
Messages
159
Reaction score
8
If you can remove the system encrypted . pls release for every one...or just release your source :v
 
Newbie Spellweaver
Joined
Jul 6, 2006
Messages
42
Reaction score
0
Hola NesuxGxx, a que te refieres con jugadores bloqueados? a los jugadores baneados? es por eso q no puedo seleccionar infectado en la sala, todos los demas modos si, menos el infectado. Me puedes dar una mano soy algo novato en esto.
Saludos!
PD: a que te refieres con sacar codigo de la src?

Hi NesuxGxx, what do you mean blocked players? To banned players? That is why I can not select infected in the room, all other modes if less infected. You can give me a hand I'm a newbie to this.
Regards!
PS: What do you mean by removing code from the src?
 
Newbie Spellweaver
Joined
Jul 6, 2006
Messages
42
Reaction score
0
Hola NesuxGxx , podrias compartir el MatchServer.exe sin MD5, uso vs2013 y cuento sustituyo el codigo que dejaste me sale 50 errores, es normal? ,ahi te dejo una foto.
Saludos!

Hello NesuxGxx, you could share the MatchServer.exe without MD5, I use vs2013 and I replaced the code that you left with 50 errors, is it normal? There, I leave you a photo.
Regards!
NesuxGxx - Delete Abby SRC Login MD5 Full (Español) - RaGEZONE Forums
 
Experienced Elementalist
Joined
May 12, 2014
Messages
260
Reaction score
61
Code:
void MMatchServer::OnMatchLogin(MUID CommUID, const char* szUserID, const char* szPassword, int nCommandVersion, unsigned long nChecksumPack, char *szEncryptMd5Value, char* szHwid){
	if (strstr(szHwid, "%") || strstr(szUserID, "%") || strstr(szPassword, "%"))
	{
		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
		Post(pCmd);
		return;
	}


	int nMapID = 0;
	unsigned int Status = 0;
	unsigned int nAID = 0;
	char szDBPassword[32] = "";
	string strCountryCode3;


	bool bFreeLoginIP = false;


	if (!CheckOnLoginPre(CommUID, nCommandVersion, bFreeLoginIP, strCountryCode3)) return;


	if (!m_MatchDBMgr.GetLoginInfo(szUserID, &nAID, szDBPassword))
	{
#ifdef _DEBUG
		m_MatchDBMgr.CreateAccount(szUserID, szPassword, 0, szUserID, 20, 1);
		strcpy(szDBPassword, szPassword);


		m_MatchDBMgr.GetLoginInfo(szUserID, &nAID, szDBPassword);
#endif


		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
		Post(pCmd);


		return;
	}




	MCommObject* pCommObj = (MCommObject*)m_CommRefCache.GetRef(CommUID);
	if (pCommObj)
	{
		if (!m_MatchDBMgr.UpdateLastConnDate(szUserID, pCommObj->GetIPString()))
		{
			mlog("DB Query(OnMatchLogin > UpdateLastConnDate) Failed");
		}


	}


	if (strcmp(szDBPassword, szPassword))
	{
		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
		Post(pCmd);


		return;
	}


	MMatchAccountInfo accountInfo;
	if (!m_MatchDBMgr.GetAccountInfo(nAID, &accountInfo, MGetServerConfig()->GetServerID()))
	{
		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_FAILED_GETACCOUNTINFO);
		Post(pCmd);
	}


	MMatchAccountPenaltyInfo accountpenaltyInfo;
	if (!m_MatchDBMgr.GetAccountPenaltyInfo(nAID, &accountpenaltyInfo))
	{
		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_FAILED_GETACCOUNTINFO);
		Post(pCmd);
	}


	/*
	* Steven: Hwid
	*/


	m_MatchDBMgr.GetHwidInfo(&Status, szHwid);


	if (Status == 1) {
		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_HWID_BANNED);
		Post(pCmd);
		return;
	}
	m_MatchDBMgr.CreateHwid(accountInfo.m_nAID, szHwid); //Actualiza el HWID de la Cuenta








#ifndef _DEBUG
	MMatchObject* pCopyObj = GetPlayerByAID(accountInfo.m_nAID);
	if (pCopyObj != NULL)
	{
		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(pCopyObj->GetUID(), MERR_MULTIPLE_LOGIN);
		Post(pCmd);


	}
#endif


	if ((accountInfo.m_nUGrade == MMUG_BLOCKED) || (accountInfo.m_nUGrade == MMUG_PENALTY))
	{
		MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_MMUG_BLOCKED);
		Post(pCmd);
		return;
	}


#ifndef _DEBUG 
	if (MGetServerConfig()->IsUseMD5())
	{
		unsigned char szMD5Value[MAX_MD5LENGH] = { 0, };
		pCommObj->GetCrypter()->Decrypt(szEncryptMd5Value, MAX_MD5LENGH, (MPacketCrypterKey*)pCommObj->GetCrypter()->GetKey());
		memcpy(szMD5Value, szEncryptMd5Value, MAX_MD5LENGH);


		if ((memcmp(m_szMD5Value, szMD5Value, MAX_MD5LENGH)) != 0)
		{
			LOG(LOG_PROG, "MD5 error : AID(%u).\n \n", accountInfo.m_nAID);
			return;
		}
	}
#endif


	AddObjectOnMatchLogin(CommUID, &accountInfo, &accountpenaltyInfo, bFreeLoginIP, strCountryCode3, nChecksumPack);




}
[CENTER]
[/CENTER]
 
Newbie Spellweaver
Joined
Jul 6, 2006
Messages
42
Reaction score
0
Hello NesuxGxx,
Entiendo que tengo que buscar esta secuencia:
I understand that I have to look for this sequence:

void MMatchServer::OnMatchLogin(MUID CommUID, const char* szUserID, const char* szPassword, int nCommandVersion, unsigned long nChecksumPack, char *szEncryptMd5Value, char* szHwid)

y reemplezar por esta otra?
And replace with this one?

========================================================
void MMatchServer::OnMatchLogin(MUID CommUID, const char* szUserID, const char* szPassword, int nCommandVersion, unsigned long nChecksumPack, char *szEncryptMd5Value, char* szHwid){
if (strstr(szHwid, "%") || strstr(szUserID, "%") || strstr(szPassword, "%"))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
Post(pCmd);
return;
}


int nMapID = 0;
unsigned int Status = 0;
unsigned int nAID = 0;
char szDBPassword[32] = "";
string strCountryCode3;


bool bFreeLoginIP = false;


if (!CheckOnLoginPre(CommUID, nCommandVersion, bFreeLoginIP, strCountryCode3)) return;


if (!m_MatchDBMgr.GetLoginInfo(szUserID, &nAID, szDBPassword))
{
#ifdef _DEBUG
m_MatchDBMgr.CreateAccount(szUserID, szPassword, 0, szUserID, 20, 1);
strcpy(szDBPassword, szPassword);


m_MatchDBMgr.GetLoginInfo(szUserID, &nAID, szDBPassword);
#endif


MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
Post(pCmd);


return;
}




MCommObject* pCommObj = (MCommObject*)m_CommRefCache.GetRef(CommUID);
if (pCommObj)
{
if (!m_MatchDBMgr.UpdateLastConnDate(szUserID, pCommObj->GetIPString()))
{
mlog("DB Query(OnMatchLogin > UpdateLastConnDate) Failed");
}


}


if (strcmp(szDBPassword, szPassword))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_WRONG_PASSWORD);
Post(pCmd);


return;
}


MMatchAccountInfo accountInfo;
if (!m_MatchDBMgr.GetAccountInfo(nAID, &accountInfo, MGetServerConfig()->GetServerID()))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_FAILED_GETACCOUNTINFO);
Post(pCmd);
}


MMatchAccountPenaltyInfo accountpenaltyInfo;
if (!m_MatchDBMgr.GetAccountPenaltyInfo(nAID, &accountpenaltyInfo))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_FAILED_GETACCOUNTINFO);
Post(pCmd);
}


/*
* Steven: Hwid
*/


m_MatchDBMgr.GetHwidInfo(&Status, szHwid);


if (Status == 1) {
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_HWID_BANNED);
Post(pCmd);
return;
}
m_MatchDBMgr.CreateHwid(accountInfo.m_nAID, szHwid); //Actualiza el HWID de la Cuenta








#ifndef _DEBUG
MMatchObject* pCopyObj = GetPlayerByAID(accountInfo.m_nAID);
if (pCopyObj != NULL)
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(pCopyObj->GetUID(), MERR_MULTIPLE_LOGIN);
Post(pCmd);


}
#endif


if ((accountInfo.m_nUGrade == MMUG_BLOCKED) || (accountInfo.m_nUGrade == MMUG_PENALTY))
{
MCommand* pCmd = CreateCmdMatchResponseLoginFailed(CommUID, MERR_CLIENT_MMUG_BLOCKED);
Post(pCmd);
return;
}


#ifndef _DEBUG
if (MGetServerConfig()->IsUseMD5())
{
unsigned char szMD5Value[MAX_MD5LENGH] = { 0, };
pCommObj->GetCrypter()->Decrypt(szEncryptMd5Value, MAX_MD5LENGH, (MPacketCrypterKey*)pCommObj->GetCrypter()->GetKey());
memcpy(szMD5Value, szEncryptMd5Value, MAX_MD5LENGH);


if ((memcmp(m_szMD5Value, szMD5Value, MAX_MD5LENGH)) != 0)
{
LOG(LOG_PROG, "MD5 error : AID(%u).\n \n", accountInfo.m_nAID);
return;
}
}
#endif


AddObjectOnMatchLogin(CommUID, &accountInfo, &accountpenaltyInfo, bFreeLoginIP, strCountryCode3, nChecksumPack);




}

========================================================================
PD: You would be so kind to share the Matcherver without MD5 to be able to log me in the normal way.
Regards!
 
Back
Top