Files
Leviathan/Library/External/build/xtrap_client/XTrap.cpp
T
2026-06-01 12:46:52 +02:00

158 lines
4.6 KiB
C++

/******************************************************************************
// XTrap.cpp Version 1005
// By WiseLogic
//****************************************************************************/
#ifdef __XTRAPMODULE_H
#include "stdafx.h"
#include "stdio.h"
#include "XTrap.h"
///////////////////////////////////////////////////////////////////////////
// XTrap Start
///////////////////////////////////////////////////////////////////////////
void SetSocketHandle(HANDLE SockHandle, DWORD Port);
void XTrapStartFunc()
{
char sGameName[MAX_PATH];
DWORD ApiVersion = 0xA5001128;
DWORD VendorCode = 0x00000005;
DWORD KeyboardType = 0x00000000;
DWORD PatchType = 0x00000010; // Patch Enable : 0x00000010
DWORD ModuleType = 0x0FFFFFFF;
sprintf(sGameName, "%s", "Rappelz"); /* Game Name */
/*Option SetXTrapMgrInfo(char *pMgrIp) */
SetXTrapPatchHttpUrl("http://securitypatch.rappelz.com");
SetXTrapStartInfo (sGameName, ApiVersion, VendorCode, KeyboardType, PatchType, ModuleType);
XTrapStart ();
XTrapKeepAlive ();
}
///////////////////////////////////////////////////////////////////////////
// XTrap Stop
///////////////////////////////////////////////////////////////////////////
void XTrapStopFunc()
{
XTrapStop();
}
///////////////////////////////////////////////////////////////////////////
// Example XTrapMessageThreadProc
///////////////////////////////////////////////////////////////////////////
void XTrapMessageFunc()
{
return;
if (g_bApiMal == TRUE ||
g_bMemoryMdl == TRUE ||
g_bAutoMousMdl == TRUE ||
g_bAutoKeybMdl == TRUE ||
g_bMalMdl == TRUE ||
g_bSpeedMdl == TRUE ||
g_bFileMdl == TRUE ||
g_bApiHookMdl == TRUE ||
g_bDebugModMdl == TRUE ||
g_bMemoryCrack == TRUE ||
g_bFileCrack == TRUE ||
g_bApiHookCrack == TRUE ||
g_bOsMdl == TRUE ||
g_bPatchMdl == TRUE ||
g_bApiCrack == TRUE ||
g_bStartXTrap == FALSE)
{
// 통신 채널 정리
// WinsockEnd();
}
else
return;
if(g_bApiMal)
{ MessageBox(NULL,"프로그램이 정상작동하지 않습니다","보안경고",NULL); ExitProcess(0); }
if(g_bMemoryMdl)
{ MessageBox(NULL,"메모리 상태이상입니다","보안경고",NULL); ExitProcess(0); }
if(g_bAutoMousMdl)
{ MessageBox(NULL,"오토마우스가 검출되었습니다","보안경고",NULL); ExitProcess(0); }
if(g_bAutoKeybMdl)
{ MessageBox(NULL,"오토키보드가 검출되었습니다","보안경고",NULL); ExitProcess(0); }
if(g_bMalMdl)
{ MessageBox(NULL,"게임에 영향을주는 프로그램이 실행중입니다","보안경고",NULL); ExitProcess(0); }
if(g_bSpeedMdl)
{ MessageBox(NULL,"게임속도가 비정상적입니다","보안경고",NULL); ExitProcess(0); }
if(g_bFileMdl)
{ MessageBox(NULL,"비정상적인 파일입니다","보안경고",NULL); ExitProcess(0); }
if(g_bApiHookMdl)
{ MessageBox(NULL,"윈도우 상태이상입니다","보안경고",NULL); ExitProcess(0); }
if(g_bDebugModMdl)
{ MessageBox(NULL,"디버그 모드로 실행되었습니다","보안경고",NULL); ExitProcess(0); }
if(g_bMemoryCrack)
{ MessageBox(NULL,"비정상적인 접근이 탐지되었습니다 [MC]","보안경고",NULL); ExitProcess(0); }
if(g_bFileCrack)
{ MessageBox(NULL,"비정상적인 접근이 탐지되었습니다 [FC]","보안경고",NULL); ExitProcess(0); }
if(g_bApiHookCrack)
{ MessageBox(NULL,"비정상적인 접근이 탐지되었습니다 [HC]","보안경고",NULL); ExitProcess(0); }
if (g_bOsMdl)
{ MessageBox(NULL,"파일 속성에서 호환성 모드가 설정되었습니다. 설정을 해제하십시오.","보안경고",NULL); ExitProcess(0); }
if (g_bPatchMdl)
{ MessageBox(NULL,"패치 서버 접속에 문제가 있습니다. 네트워크 상황을 확인하십시오.","보안경고",NULL); ExitProcess(0); }
if (g_bApiCrack)
{ MessageBox(NULL,"비 정상적인 접근 시도가 감지 되었습니다.","보안경고",NULL); ExitProcess(0); }
if (g_bStartXTrap == FALSE)
{ MessageBox(NULL,"게임 보안모듈을 실행할수 없습니다.","보안경고",NULL); ExitProcess(0); }
TerminateProcess(GetCurrentProcess(),0);
}
DWORD WINAPI XTrapMessageThreadProc(LPVOID lpParameter)
{
DWORD dwReturn;
do
{
dwReturn = WaitForSingleObject(g_XTrapMsgEvent, 5000);
if (dwReturn == WAIT_FAILED) break;
else if (dwReturn == WAIT_ABANDONED) break;
else if (dwReturn == WAIT_OBJECT_0) break;
else if (dwReturn == WAIT_TIMEOUT)
{
XTrapMessageFunc();
continue;
}
}while(TRUE);
CloseHandle(g_XTrapMsgEvent);
g_XTrapMsgEvent = NULL;
return TRUE;
}
#endif