Gameguard error in Neuz source compilation

Joined
Jul 22, 2011
Messages
3
Reaction score
0
Help: When I followed this guide -

Remove Gameguard:

First open Neuz.cpp
search for:

Code:
[B]#include "NPGameLib4.h"[/B] comment then out or remove it like [B]//#include "NPGameLib4.h"[/B]

After this look for:

Code:
[B]extern void PreInitNProtect();[/B] and
[B]extern CNPGameLib* GetNProtect();[/B]

comment them out or remove them...

Then search for void CNeuzApp::InitNProtect()

Code:
void CNeuzApp::InitNProtect()
{
	CScript s1;
	if( s1.Load(MakePath( DIR_CLIENT, "GameGuard.txt.txt" ) ) )
		s1.LoadString();
	
	CScript s2;
	if( s2.Load(MakePath( DIR_CLIENT, "GameGuard.inc" ) ) )
	{
		s2.GetToken();
		while( s2.tok != FINISHED )
		{
			m_strArray.Add( s2.Token );
			s2.GetToken();
		}
	}

	PreInitNProtect();
	DWORD dwResult = GetNProtect()->Init();
	if( dwResult != NPGAMEMON_SUCCESS )
    {
		TCHAR msg[256];
		LPCSTR lpszMsg;
		
		switch (dwResult)
		{
		case NPGAMEMON_ERROR_EXIST:
			lpszMsg	= m_strArray.GetAt(0);//"°ÔÀÓ°¡µå°¡ ÀÌ¹Ì ½ÇÇà Áß ÀÔ´Ï´Ù. ÀçºÎÆÃ ÈÄ ´Ù½Ã ½ÇÇàÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGAMEMON_ERROR_GAME_EXIST:
			lpszMsg	= m_strArray.GetAt(1);//"°ÔÀÓÀÌ Áߺ¹ ½ÇÇàµÇ¾ú°Å³ª °ÔÀÓ°¡µå°¡ ÀÌ¹Ì ½ÇÇà Áß ÀÔ´Ï´Ù. °ÔÀÓ Á¾·á ÈÄ ´Ù½Ã ½ÇÇàÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGAMEMON_ERROR_INIT:
			lpszMsg	= m_strArray.GetAt(2);//"°ÔÀÓ°¡µå ÃʱâÈ­ ¿¡·¯ÀÔ´Ï´Ù. ÀçºÎÆÃ ÈÄ ´Ù½Ã ½ÇÇàÇØº¸°Å³ª Ãæµ¹ÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ÇÁ·Î±×·¥µéÀ» Á¾·áÇÑ ÈÄ ½ÇÇàÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGAMEMON_ERROR_AUTH_GAMEGUARD:
		case NPGAMEMON_ERROR_NFOUND_GG:
		case NPGAMEMON_ERROR_AUTH_INI:
		case NPGAMEMON_ERROR_NFOUND_INI:
			lpszMsg	= m_strArray.GetAt(3);//"°ÔÀÓ°¡µå ÆÄÀÏÀÌ ¾ø°Å³ª º¯Á¶µÇ¾ú½À´Ï´Ù. °ÔÀÓ°¡µå ¼Â¾÷ ÆÄÀÏÀ» ¼³Ä¡Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGAMEMON_ERROR_CRYPTOAPI:
			lpszMsg	= m_strArray.GetAt(4);//"À©µµ¿ìÀÇ ÀϺΠ½Ã½ºÅÛ ÆÄÀÏÀÌ ¼Õ»óµÇ¾ú½À´Ï´Ù. ÀÎÅÍ³Ý ÀͽºÇ÷η¯(IE)¸¦ ´Ù½Ã ¼³Ä¡Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGAMEMON_ERROR_EXECUTE:
			lpszMsg	= m_strArray.GetAt(5);//"°ÔÀÓ°¡µå ½ÇÇà¿¡ ½ÇÆÐÇß½À´Ï´Ù. °ÔÀÓ°¡µå ¼Â¾÷ ÆÄÀÏÀ» ´Ù½Ã ¼³Ä¡Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGAMEMON_ERROR_ILLEGAL_PRG:
			lpszMsg	= m_strArray.GetAt(6);//"ºÒ¹ý ÇÁ·Î±×·¥ÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù. ºÒÇÊ¿äÇÑ ÇÁ·Î±×·¥À» Á¾·áÇÑ ÈÄ ´Ù½Ã ½ÇÇàÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGMUP_ERROR_ABORT:
			lpszMsg	= m_strArray.GetAt(7);//"°ÔÀÓ°¡µå ¾÷µ¥ÀÌÆ®¸¦ Ãë¼ÒÇϼ̽À´Ï´Ù. Á¢¼ÓÀÌ °è¼Ó µÇÁö ¾ÊÀ» °æ¿ì ÀÎÅÍ³Ý ¹× ¹æÈ­º® »óŸ¦ Á¡°ËÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGMUP_ERROR_CONNECT:
		case NPGMUP_ERROR_DOWNCFG:
			lpszMsg	= m_strArray.GetAt(8);//"°ÔÀÓ°¡µå ¾÷µ¥ÀÌÆ® ¼­¹ö Á¢¼Ó¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù. Àá½Ã ÈÄ Àç½Ãµµ ÇØº¸°Å³ª, ÀÎÅÍ³Ý ¹× ¹æÈ­º® »óŸ¦ Á¡°ËÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGMUP_ERROR_AUTH:
			lpszMsg	= m_strArray.GetAt(9);//"°ÔÀÓ°¡µå ¾÷µ¥ÀÌÆ®¸¦ ¿Ï·áÇÏÁö ¸ø Çß½À´Ï´Ù. ¹ÙÀÌ·¯½º °Ë»ç¸¦ ÇØº¸½Ã°Å³ª, PC °ü¸® ÇÁ·Î±×·¥À» »ç¿ëÇÏ½Ã¸é ¼³Á¤À» Á¶Á¤ÇÑ ÈÄ °ÔÀÓÀ» ½ÇÇàÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.";
			break;
		case NPGAMEMON_ERROR_NPSCAN:
		default:
			// ÀûÀýÇÑ Á¾·á ¸Þ½ÃÁö Ãâ·Â, UI ÃʱâÈ­ ÈĶó¸é MessageBox ´ë½Å °ÔÀÓ UI¸¦ »ç¿ëÇØµµ µÊ
			//wsprintf( msg, "°ÔÀÓ°¡µå ½ÇÇà ¿¡·¯ : %lu", dwResult );
			wsprintf( msg, m_strArray.GetAt(10), dwResult );
			lpszMsg = msg;
			break;
		}
		if( lpszMsg )
			::Error( "nProtect GameGuard : %s", lpszMsg );
//			MessageBox( GetSafeHwnd(), lpszMsg, "nProtect GameGuard", MB_OK );

		ExitProcess( -1 );
	}

//	GetNProtect()->SetHwnd( GetSafeHwnd() );
}

Remove it or comment them out with /* and */

After this search for: HRESULT CNeuzApp::InitDeviceObjects()

Inside you see InitNProtect();
Remove it or comment it out...

Search now for: BOOL CALLBACK NPGameMonCallback( DWORD dwMsg, DWORD dwArg )

Code:
BOOL CALLBACK NPGameMonCallback( DWORD dwMsg, DWORD dwArg )
{
	if( g_Neuz.m_strArray.GetSize() == 0 )
		return false;

	bool bAppExit	= false;

	TCHAR msg[128];
	LPCTSTR lpszMsg	= NULL;

	switch (dwMsg) 
	{
		case NPGAMEMON_CHECK_CSAUTH2:	// ¼­¹ö·Î ÀÎÁõ ÆÐŶÀ» Àü¼Û
			{
				GG_AUTH_DATA AuthData;
				memcpy( &AuthData, (PVOID)dwArg, sizeof(GG_AUTH_DATA) );
				
				BEFORESENDSOLE( ar, PACKETTYPE_AUTHQUERY, DPID_UNKNOWN );
				ar.Write( (void*)&AuthData, sizeof(GG_AUTH_DATA) );
				SEND( ar, &g_dpLoginClient, DPID_SERVERPLAYER );

				if( g_Neuz.m_loginSI.nCount == 1 )
				{
					++g_Neuz.m_loginSI.nCount;
					g_dpLoginClient.SendGetPlayerList( g_Neuz.m_loginSI.dwID, g_Neuz.m_loginSI.pszAccount, g_Neuz.m_loginSI.pszPassword );
				}
				return true;
			}
		case NPGAMEMON_COMM_ERROR:
		case NPGAMEMON_COMM_CLOSE:
			bAppExit = true;
			return false;
		case NPGAMEMON_INIT_ERROR:		// "°ÔÀÓ°¡µå ÃʱâÈ­ ¿¡·¯
			bAppExit = true;
			wsprintf( msg, g_Neuz.m_strArray.GetAt(17), dwArg );
			lpszMsg	= msg;
			break;
		case NPGAMEMON_SPEEDHACK:		// "½ºÇǵåÇÙÀÌ °¨ÁöµÇ¾ú½À´Ï´Ù."
			bAppExit = true;
			lpszMsg	= g_Neuz.m_strArray.GetAt(18);
			break;
		case NPGAMEMON_GAMEHACK_KILLED:	// "°ÔÀÓÇÙÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù."
		case NPGAMEMON_GAMEHACK_DETECT:	// "°ÔÀÓÇÙÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù."
			bAppExit = true;
			lpszMsg	= g_Neuz.m_strArray.GetAt(19);
			break;
		case NPGAMEMON_GAMEHACK_DOUBT:	//"°ÔÀÓÀ̳ª °ÔÀÓ°¡µå°¡ º¯Á¶µÇ¾ú½À´Ï´Ù.";	
			bAppExit = true;
			lpszMsg = g_Neuz.m_strArray.GetAt(20);
			break;
	}

	if( lpszMsg )
		MessageBox( g_Neuz.GetSafeHwnd(), lpszMsg, "nProtect GameGuard", MB_OK );

	if( bAppExit )
	{
		ExitProcess( -1 );
		return false;
	}

    return true;
}

Remove this function or comment it out with /* */ now you have removed the ggless neuz.exe...



I encountered this error

------------------------------------------------------------------------


Neuz error LNK2019: unresolved external symbol "int __stdcall NPGameMonCallback(unsigned long,unsigned long)" (?NPGameMonCallback@@YGHKK@Z) referenced in function "public: void __thiscall CGameGuard::SetHwndToGameMonI(struct HWND__ *)" (?SetHwndToGameMonI@CGameGuard@@QAEXPAUHWND__@@@Z)


Neuz fatal error LNK1120: 1 unresolved externals
 
Back