Working MuGuard Source

Re: [Release] Working MuGuard Source

help, i need to compile, but a have some errors..

this is de logs..

1>------ Operaci
 
Re: [Release] Working MuGuard Source

solved =) !!!!!

another question... when hook the dll, in getproc... is main? or another.. i dont understund how i realize....

please have any idea?

Solved hehe =)

now.. i dont understund how work the commandline of the launcher, what is the "Temp'' ?? and what is 0x63... thank!!!
 
Re: [Release] Working MuGuard Source

@zolamu

I wanna thank you for this release, its help to protect from the most hackers lammer :D
For my server i Encrypted main + dlls +checksum and it have worked greatly... (for now xD)
 
Last edited:
Re: [Release] Working MuGuard Source

@edry12

What you did to solve the problem fatal error C1083: No se puede abrir el archivo incluir: 'windows.h': No such file or directory ???

Thx

Bad English Google Translator
 
Re: [Release] Working MuGuard Source

what hacks this dll is programed to block?
someone have a new dll with hitcount block?
i paid for..
thx!
 
Re: [Release] Working MuGuard Source

which one is better: the gameguard from mu korea or this one?
I cracked the 1.05T main and left the gameguard activated... it works perfect... I was wondering which one would be better? :rolleyes:
 
Re: [Release] Working MuGuard Source

i understanded this char* Temp = GetCommandLine(); that if you try to use command line to launch main.exe it says that eh? correct me if im wrong

you can use another way

char * lpCommandLine = GetCommandLineA();

strstr(lpCommandLine,"Yourip");

then if it found server ip in link so they use lancher.

here is list of main use api
Code:
	//  OPENGL functions
	/*711FE0*/  YourFunction("OPENGL32","glColor4f");
	/*711FE6*/  YourFunction("OPENGL32","glEnable");
	/*711FEC*/  YourFunction("OPENGL32","glDisable");
	/*711FF2*/  YourFunction("OPENGL32","glEnd");
	/*711FF8*/  YourFunction("OPENGL32","glVertex2f");
	/*711FFE*/  YourFunction("OPENGL32","glTexCoord2f");
	/*712004*/  YourFunction("OPENGL32","glColor4ub");
	/*71200A*/  YourFunction("OPENGL32","glBegin");
	/*712010*/  YourFunction("OPENGL32","glColor3f");
	/*712016*/  YourFunction("OPENGL32","glTexImage2D");
	/*71201C*/  YourFunction("OPENGL32","glBindTexture");
	/*712022*/  YourFunction("OPENGL32","glFlush");
	/*712028*/  YourFunction("OPENGL32","glClear");
	/*71202E*/  YourFunction("OPENGL32","glPopMatrix");
	/*712034*/  YourFunction("OPENGL32","glAlphaFunc");
	/*71203A*/  YourFunction("OPENGL32","glDepthFunc");
	/*712040*/  YourFunction("OPENGL32","glTranslatef");
	/*712046*/  YourFunction("OPENGL32","glRotatef");
	/*71204C*/  YourFunction("OPENGL32","glLoadIdentity");
	/*712052*/  YourFunction("OPENGL32","glPushMatrix");
	/*712058*/  YourFunction("OPENGL32","glMatrixMode");
	/*71205E*/  YourFunction("OPENGL32","glVertex3fv");
	/*712064*/  YourFunction("OPENGL32","glColor3fv");
	/*71206A*/  YourFunction("OPENGL32","glFogf");
	/*712070*/  YourFunction("OPENGL32","glFogfv");
	/*712076*/  YourFunction("OPENGL32","glClearColor");
	/*71207C*/  YourFunction("OPENGL32","glVertex3f");
	/*712082*/  YourFunction("OPENGL32","glDepthMask");
	/*712088*/  YourFunction("OPENGL32","glPolygonMode");
	/*71208E*/  YourFunction("OPENGL32","glFrontFace");
	/*712094*/  YourFunction("OPENGL32","glStencilFunc");
	/*71209A*/  YourFunction("OPENGL32","glColorMask");
	/*7120A0*/  YourFunction("OPENGL32","glStencilOp");
	/*7120A6*/  YourFunction("OPENGL32","glTexParameteri");
	/*7120AC*/  YourFunction("OPENGL32","glTexEnvf");
	/*7120B2*/  YourFunction("OPENGL32","glScalef");
	/*7120B8*/  YourFunction("OPENGL32","glGetFloatv");
	/*7120BE*/  YourFunction("OPENGL32","glReadPixels");
	/*7120C4*/  YourFunction("OPENGL32","glBlendFunc");
	/*7120CA*/  YourFunction("OPENGL32","glViewport");
	/*7120D0*/  YourFunction("OPENGL32","glFogi");
	/*7120D6*/  YourFunction("OPENGL32","wglDeleteContext");
	/*7120DC*/  YourFunction("OPENGL32","wglMakeCurrent");
	/*7120E2*/  YourFunction("OPENGL32","glGetString");
	/*7120E8*/  YourFunction("OPENGL32","wglCreateContext");
	/*7120EE*/  YourFunction("OPENGL32","glTexEnvi");
	/*7120F4*/  YourFunction("OPENGL32","glGenTextures");
	/*7120FA*/  YourFunction("OPENGL32","glGetIntegerv");
	/*712100*/  YourFunction("OPENGL32","glDeleteTextures");
	

	// Other (i Lazy)
	/*712106*/  YourFunction("GLU32","gluPerspective");
	/*71210C*/  YourFunction("GLU32","gluOrtho2D");
	/*712112*/  YourFunction("WINMM","timeGetTime");
	/*712118*/  YourFunction("WINMM","mmioClose");
	/*71211E*/  YourFunction("WINMM","mmioAscend");
	/*712124*/  YourFunction("WINMM","mmioRead");
	/*71212A*/  YourFunction("WINMM","mmioDescend");
	/*712130*/  YourFunction("WINMM","mmioOpenA");
	/*712136*/  YourFunction("WINMM","mmioWrite");
	/*71213C*/  YourFunction("WINMM","timeBeginPeriod");
	/*712142*/  YourFunction("WINMM","timeGetDevCaps");
	/*712148*/  YourFunction("WINMM","timeEndPeriod");
	/*71214E*/  //YourFunction("KERNEL32","GetTickCount"); // Using JMP NEED OTHER WAY
	/*712154*/  YourFunction("KERNEL32","IsBadReadPtr");
	/*71215A*/  YourFunction("KERNEL32","lstrlenA");
	/*712160*/  YourFunction("KERNEL32","GlobalUnlock");
	/*712166*/  YourFunction("KERNEL32","GlobalLock");
	/*71216C*/  YourFunction("KERNEL32","OutputDebugStringA");
	/*712172*/  YourFunction("KERNEL32","GetCurrentThreadId");
	/*712178*/  YourFunction("KERNEL32","Sleep");
	/*71217E*/  YourFunction("KERNEL32","MoveFileA");
	/*712184*/  YourFunction("KERNEL32","GetFileAttributesA");
	/*71218A*/  YourFunction("KERNEL32","CreateFileA");
	/*712190*/  YourFunction("KERNEL32","GetCommandLineA");
	/*712196*/  YourFunction("KERNEL32","CloseHandle");
	/*71219C*/  YourFunction("KERNEL32","ReadFile");
	/*7121A2*/  YourFunction("KERNEL32","GetFileSize");
	/*7121A8*/  YourFunction("KERNEL32","GetLastError");
	/*7121AE*/  YourFunction("KERNEL32","GetPrivateProfileStringA");
	/*7121B4*/  YourFunction("KERNEL32","GetCurrentDirectoryA");
	/*7121BA*/  YourFunction("KERNEL32","DeleteFileA");
	/*7121C0*/  YourFunction("KERNEL32","CopyFileA");
	/*7121C6*/  YourFunction("KERNEL32","SetFileAttributesA");
	/*7121CC*/  YourFunction("KERNEL32","Process32Next");
	/*7121D2*/  YourFunction("KERNEL32","TerminateProcess");
	/*7121D8*/  YourFunction("KERNEL32","OpenProcess");
	/*7121DE*/  YourFunction("KERNEL32","Process32First");
	/*7121E4*/  YourFunction("KERNEL32","CreateToolhelp32Snapshot");
	/*7121EA*/  YourFunction("KERNEL32","WinExec");
	/*7121F0*/  YourFunction("KERNEL32","FindClose");
	/*7121F6*/  YourFunction("KERNEL32","FindFirstFileA");
	/*7121FC*/  YourFunction("KERNEL32","CreateMutexA");
	/*712202*/  YourFunction("KERNEL32","GetLocalTime");
	/*712208*/  YourFunction("KERNEL32","GetModuleFileNameA");
	/*71220E*/  YourFunction("KERNEL32","SetFilePointer");
	/*712214*/  YourFunction("KERNEL32","WriteFile");
	/*71221A*/  YourFunction("KERNEL32","GetSystemDirectoryA");
	/*712220*/  YourFunction("KERNEL32","lstrcmpiA");
	/*712226*/  YourFunction("KERNEL32","GetVersionExA");
	/*71222C*/  YourFunction("KERNEL32","QueryPerformanceCounter");
	/*712232*/  YourFunction("KERNEL32","SetProcessAffinityMask");
	/*712238*/  YourFunction("KERNEL32","SetThreadPriority");
	/*71223E*/  YourFunction("KERNEL32","SetPriorityClass");
	/*712244*/  YourFunction("KERNEL32","GetProcessAffinityMask");
	/*71224A*/  YourFunction("KERNEL32","GetThreadPriority");
	/*712250*/  YourFunction("KERNEL32","GetPriorityClass");
	/*712256*/  YourFunction("KERNEL32","GetCurrentThread");
	/*71225C*/  YourFunction("KERNEL32","GetCurrentProcess");
	/*712262*/  YourFunction("KERNEL32","QueryPerformanceFrequency");
	/*712268*/  YourFunction("KERNEL32","FreeLibrary");
	/*71226E*/  YourFunction("KERNEL32","GetProcAddress");
	/*712274*/  YourFunction("KERNEL32","LoadLibraryA");
	/*71227A*/  YourFunction("KERNEL32","GlobalMemoryStatus");
	/*712280*/  YourFunction("KERNEL32","SetConsoleMode");
	/*712286*/  YourFunction("KERNEL32","GetStdHandle");
	/*71228C*/  YourFunction("KERNEL32","AllocConsole");
	/*712292*/  YourFunction("KERNEL32","FreeConsole");
	/*712298*/  YourFunction("KERNEL32","SetConsoleTitleA");
	/*71229E*/  YourFunction("KERNEL32","GetConsoleTitleA");
	/*7122A4*/  YourFunction("KERNEL32","SetConsoleCursorPosition");
	/*7122AA*/  YourFunction("KERNEL32","FillConsoleOutputAttribute");
	/*7122B0*/  YourFunction("KERNEL32","FillConsoleOutputCharacterA");
	/*7122B6*/  YourFunction("KERNEL32","GetConsoleScreenBufferInfo");
	/*7122BC*/  YourFunction("KERNEL32","SetConsoleTextAttribute");
	/*7122C2*/  YourFunction("KERNEL32","ReadConsoleOutputA");
	/*7122C8*/  YourFunction("KERNEL32","GetCurrentProcessId");
	/*7122CE*/  YourFunction("USER32","GetAsyncKeyState");
	/*7122D4*/  YourFunction("USER32","PostMessageA");
	/*7122DA*/  YourFunction("USER32","MessageBoxA");
	/*7122E0*/  YourFunction("USER32","OffsetRect");
	/*7122E6*/  YourFunction("USER32","PtInRect");
	/*7122EC*/  YourFunction("USER32","GetDoubleClickTime");
	/*7122F2*/  YourFunction("USER32","ScreenToClient");
	/*7122F8*/  YourFunction("USER32","GetCursorPos");
	/*7122FE*/  YourFunction("USER32","GetActiveWindow");
	/*712304*/  YourFunction("USER32","SetRect");
	/*71230A*/  YourFunction("USER32","GetFocus");
	/*712310*/  YourFunction("USER32","DestroyWindow");
	/*712316*/  YourFunction("USER32","SetWindowLongA");
	/*71231C*/  YourFunction("USER32","CloseClipboard");
	/*712322*/  YourFunction("USER32","GetClipboardData");
	/*712328*/  YourFunction("USER32","OpenClipboard");
	/*71232E*/  YourFunction("USER32","CallWindowProcA");
	/*712334*/  YourFunction("USER32","SendMessageA");
	/*71233A*/  YourFunction("USER32","GetWindowLongA");
	/*712340*/  YourFunction("USER32","GetCaretPos");
	/*712346*/  YourFunction("USER32","GetWindowTextA");
	/*71234C*/  YourFunction("USER32","SetWindowTextA");
	/*712352*/  YourFunction("USER32","SetWindowPos");
	/*712358*/  YourFunction("USER32","GetDC");
	/*71235E*/  YourFunction("USER32","ShowWindow");
	/*712364*/  YourFunction("USER32","CreateWindowExA");
	/*71236A*/  YourFunction("USER32","SetFocus");
	/*712370*/  YourFunction("USER32","IsWindowVisible");
	/*712376*/  YourFunction("USER32","GetScrollPos");
	/*71237C*/  YourFunction("USER32","SetScrollPos");
	/*712382*/  YourFunction("USER32","SetTimer");
	/*712388*/  YourFunction("USER32","wsprintfA");
	/*71238E*/  YourFunction("USER32","IntersectRect");
	/*712394*/  YourFunction("USER32","GetDesktopWindow");
	/*71239A*/  YourFunction("USER32","SetWindowsHookExA");
	/*7123A0*/  YourFunction("USER32","UnhookWindowsHookEx");
	/*7123A6*/  YourFunction("USER32","CallNextHookEx");
	/*7123AC*/  YourFunction("USER32","GetWindowRect");
	/*7123B2*/  YourFunction("USER32","RegisterHotKey");
	/*7123B8*/  YourFunction("USER32","UnregisterHotKey");
	/*7123BE*/  YourFunction("USER32","SetCursorPos");
	/*7123C4*/  YourFunction("USER32","FindWindowA");
	/*7123CA*/  YourFunction("USER32","ShowCursor");
	/*7123D0*/  YourFunction("USER32","ChangeDisplaySettingsA");
	/*7123D6*/  YourFunction("USER32","ReleaseDC");
	/*7123DC*/  YourFunction("USER32","SystemParametersInfoA");
	/*7123E2*/  YourFunction("USER32","ReleaseCapture");
	/*7123E8*/  YourFunction("USER32","SetCapture");
	/*7123EE*/  YourFunction("USER32","DefWindowProcA");
	/*7123F4*/  YourFunction("USER32","PostQuitMessage");
	/*7123FA*/  YourFunction("USER32","EndPaint");
	/*712400*/  YourFunction("USER32","BeginPaint");
	/*712406*/  YourFunction("USER32","KillTimer");
	/*71240C*/  YourFunction("USER32","RegisterClassA");
	/*712412*/  YourFunction("USER32","LoadCursorA");
	/*712418*/  YourFunction("USER32","LoadIconA");
	/*71241E*/  YourFunction("USER32","SetForegroundWindow");
	/*712424*/  YourFunction("USER32","GetSystemMetrics");
	/*71242A*/  YourFunction("USER32","AdjustWindowRect");
	/*712430*/  YourFunction("USER32","IsIconic");
	/*712436*/  YourFunction("USER32","DispatchMessageA");
	/*71243C*/  YourFunction("USER32","TranslateMessage");
	/*712442*/  YourFunction("USER32","GetMessageA");
	/*712448*/  YourFunction("USER32","PeekMessageA");
	/*71244E*/  YourFunction("USER32","UpdateWindow");
	/*712454*/  YourFunction("USER32","EnumDisplaySettingsA");
	/*71245A*/  YourFunction("USER32","GetKeyboardLayoutNameA");
	/*712460*/  YourFunction("USER32","GetKeyboardLayout");
	/*712466*/  YourFunction("USER32","wvsprintfA");
	/*71246C*/  YourFunction("USER32","EnumChildWindows");
	/*712472*/  YourFunction("USER32","RemoveMenu");
	/*712478*/  YourFunction("USER32","DrawMenuBar");
	/*71247E*/  YourFunction("USER32","GetSystemMenu");
	/*712484*/  YourFunction("USER32","GetClassNameA");
	/*71248A*/  YourFunction("USER32","GetWindowThreadProcessId");
	/*712490*/  YourFunction("GDI32","GetTextExtentPoint32A");
	/*712496*/  YourFunction("GDI32","CreateFontA");
	/*71249C*/  YourFunction("GDI32","DeleteObject");
	/*7124A2*/  YourFunction("GDI32","GetTextExtentPointA");
	/*7124A8*/  YourFunction("GDI32","SelectObject");
	/*7124AE*/  YourFunction("GDI32","CreateCompatibleDC");
	/*7124B4*/  YourFunction("GDI32","CreateDIBSection");
	/*7124BA*/  YourFunction("GDI32","DeleteDC");
	/*7124C0*/  YourFunction("GDI32","TextOutA");
	/*7124C6*/  YourFunction("GDI32","SetTextColor");
	/*7124CC*/  YourFunction("GDI32","SetBkColor");
	/*7124D2*/  YourFunction("GDI32","SwapBuffers");
	/*7124D8*/  YourFunction("GDI32","GetStockObject");
	/*7124DE*/  YourFunction("GDI32","SetPixelFormat");
	/*7124E4*/  YourFunction("GDI32","ChoosePixelFormat");
	/*7124EA*/  YourFunction("ADVAPI32","RegCloseKey");
	/*7124F0*/  YourFunction("ADVAPI32","RegQueryValueExA");
	/*7124F6*/  YourFunction("ADVAPI32","RegCreateKeyExA");
	/*7124FC*/  YourFunction("ADVAPI32","RegSetValueExA");
	/*712502*/  YourFunction("ADVAPI32","RegOpenKeyExA");
	/*712508*/  YourFunction("SHELL32","ShellExecuteA");
	/*71250E*/  YourFunction("ole32","CoInitialize");
	/*712514*/  YourFunction("ole32","CoUninitialize");
	/*71251A*/  YourFunction("ole32","CoCreateInstance");
	
	/*712520 YourFunction("WS2_32","#111");
	/*712526*  YourFunction("WS2_32","#19");
	/*71252C*  YourFunction("WS2_32","#116");
	/*712532*  YourFunction("WS2_32","#115");
	/*712538*  YourFunction("WS2_32","#3");
	/*71253E*  YourFunction("WS2_32","#16");
	/*712544*  YourFunction("WS2_32","#22");
	/*71254A*  YourFunction("WS2_32","#23");
	/*712550*  YourFunction("WS2_32","#21");
	/*712556*  YourFunction("WS2_32","#101");
	/*71255C*  YourFunction("WS2_32","#4");
	/*712562*  YourFunction("WS2_32","#52");
	/*712568*  YourFunction("WS2_32","#11");
	/*71256E*  YourFunction("WS2_32","#9");*/
	  YourFunction("WS2_32","send");
	  YourFunction("WS2_32","recv");

	/*712574*/  YourFunction("VERSION","VerQueryValueA");
	/*71257A*/  YourFunction("VERSION","GetFileVersionInfoA");
	/*712580*/  YourFunction("VERSION","GetFileVersionInfoSizeA");
 
Last edited:
Re: [Release] Working MuGuard Source

Leo123...

Got a prob:

Put the main.exe in compatibility mode (run as win98/me) and the system wont close main or hack.

Any fix?

I ve tryed to implement a compatibility system detector :

MuGuard.cpp

Code:
#include "stdafx.h"
#include "define.h"
#include "cFile.h"
#include "AntiHack.h"
#include <windows.h>
#include <string.h>

cFile MyFile;

void ChangeSerial()
{

	memset(&Main_Serial[0],0x00,16);                                // the max is 16 i think =/
    memcpy(&Main_Serial[0],MySerial,strlen(MySerial));
}
void FindHacks()
{
	ChangeSerial(); // Rum time changeing of serial
	bool State = MyFile.iCheckFileSize("Data\\Player\\Player.bmd",sizePlayerBMD);
	if(State == false)
	{
		MessageBoxA(FindWindowA(0,"MU"),"Desculpe, Um programa hack ou arquivo modificado foi detectado em seu computador","Sistema Anticheat MuTitan",0);
		ExitProcess(1);
	}
	SystemProcessesScan();
	Sleep(3000);
	FindHacks();
}

bool ModoCompatibilidade()
{
	char localMain[200];
    char barra[5] = "\\";
    int mainModoCompatibilidade = 0;
    TCHAR szDirAtual[MAX_PATH];
    GetCurrentDirectory(MAX_PATH, localMain);
    HKEY chave;
    char nome_chave[256], nomeChaveCerta[256];
    int f = 0;
	if(RegOpenKey(HKEY_USERS,"",&chave) != 0)
    {
            //erro ao brir a chave
    }
    int v = 0;
    char nomeC1[20];
    strcpy(nomeC1,"S-1-5-21-");
    while(RegEnumKey(chave,f,nome_chave,256) == 0)
    {   
        int l = 0;
        char nomeC[20];
		char p[2] = "a";
        while (l < 9)
		{
            nomeC[l] = nome_chave[l];
			l++;
        }
		nomeC[l]=p[1];
        if((v != 1)&&(strcmpi(nomeC,nomeC1)==0))
        {
            strcpy(nomeChaveCerta,nome_chave);
            v = 1;
        }
		f++;
    }
    char nomeChaveCompleto[500];
    strcpy(nomeChaveCompleto,nomeChaveCerta);
    strcat(nomeChaveCompleto,"\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers");
    HKEY chave1;
	char nome_valor1[256] = {0};
	char dados_valor1[256] = {0};
	DWORD nome_tam1 = 256;
	DWORD dados_tam1 = 256;
	DWORD tipo1;
	int i1 = 0;
	if(RegOpenKey(HKEY_USERS,nomeChaveCompleto,&chave1) != 0)
	{
	    //erro
	}
	while(RegEnumValue(chave1,i1,nome_valor1,&nome_tam1,0,&tipo1,(LPBYTE)dados_valor1,&dados_tam1) == 0)
	{
		if(tipo1 == REG_SZ)
		{
			if (strstr(nome_valor1,localMain)!= 0)
			{
				mainModoCompatibilidade = 1;                                  
			}
		}
		nome_tam1 = 256;
		dados_tam1 = 256;
		i1++;
	}
	if (mainModoCompatibilidade == 1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
void Setup()
{
	ChangeSerial();
	if(FindWindow(0,"MU") > 0)
	{
		WinExec("taskkill /IM main.exe",5);
		Sleep(200);
		ExitProcess(0);
	}
	SystemProcessesScan();
	bool State = MyFile.iCheckFileSize("Data\\Player\\Player.bmd",sizePlayerBMD);
	if(State == false)
	{
		MessageBoxA(0,"Desculpe, Um programa hack ou arquivo modificado foi detectado em seu computador","Sistema Anticheat MuTitan",0);
		ExitProcess(0);
	}
	char* Temp = GetCommandLine();
	if(Temp[9] != 0x63)
	{
		
	}
	
	#ifdef premu
	__asm
	{
		Mov Edi,0x0073BD18
		Jmp Edi
	}
	#endif

	SystemProcessesScan();
	DWORD MyId;
	CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)FindHacks,NULL,0,&MyId);
}

extern "C" __declspec (dllexport) void __cdecl muguard()
{
	if(ModoCompatibilidade())
	{
		MessageBoxA(0,"Desculpe, Erro de compatibilidade","Sistema Anticheat MuTitan",0);
		ExitProcess(0);
	}
	DWORD OldProtect;
	if(VirtualProtect(LPVOID(0x401000),0x7C2FFF,PAGE_EXECUTE_READWRITE,&OldProtect))
	{
		Setup();
	}
	else
	{
		MessageBoxA(NULL,"Encontramos um erro!Por favor reinstale seu cliente MuTitan","PRE DLL",MB_OK);
		ExitProcess(0);
	}

}

BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
    return TRUE;
}


compiled it in Vs studio c++ 6.0 but no success :(::(:
 
Re: [Release] Working MuGuard Source

Could u help me out via teamviewer?i have no idea lolz:S i need ur help do u have got msn \?
 
Grx Leo nice Src

Sry my bad eng!

How can hook this dll?

PUSH lalalala.dll
CALL DWORD PTR DS:[XXXXXX] (LoadLibraryA)
JMP Entry Point

is good?
 
Founded one bug...When you kill any mob/player > Client crashes...Does any know any solutions about it? Tested ot 1.07H Main.
 
Back