HackShield for RAN Online

Web3 is the Future
Developer
Joined
Sep 16, 2007
Messages
1,204
Reaction score
551
Guide how to Integrate HackShield for your RAN Online Private Server

Prerequisites:

1. HackShield SDK 5.6.6.1 (v235) [ ]
2. RAN Online Source Code
3. Once your RanOnline.exe done compiling, rename it to MiniA.exe

Steps:

1. Put the HackShield SDK to your Source Code Folder, and name it HackShield SDK then put the Files inside HackShield_ToClient.rar to your RAN Server Folder.

On Solution Explorer, Right Click Basic ► Properties ► Linker ► Input
Paste this below the list
PHP:
"$(SolutionDir)/HackShield SDK/Lib/Win/x86/Single-Threaded/HShield/HShield.lib"
"$(SolutionDir)/HackShield SDK/Lib/Win/x86/Single-Threaded/Update/HSUpChk.lib"

Find UINT_QUEUE g_AuthMsgBuffer;
Paste this below the said line
PHP:
TCHAR    g_szHShieldPath[MAX_PATH] = {0,};
TCHAR    g_szIniPath[MAX_PATH] = {0,};

2. Go to your SourceBasic then Open BasicWndD3d.cpp
Paste this below #include ".basicwnd.h"
PHP:
#include "../HackShield SDK/Include/HShield.h"
#include "../HackShield SDK/Include/HSUpChk.h"
#pragma comment(lib,"../HackShield SDK/Lib/Win/x86/Single-Threaded/HShield/HShield.lib")
#pragma comment(lib,"../HackShield SDK/Lib/Win/x86/Single-Threaded/Update/HSUpChk.lib")

3. Find the function BOOL CALLBACK NPGameMonCallback(DWORD dwMsg, DWORD dwArg)
Paste this below the said function
PHP:
/** HackShield Start - Glory to God to the Highest! SeiferXIII **/
int __stdcall AhnHS_Callback(long lCode, long lParamSize, void* pParam)
{
    bool bAppExit( false );
    LPCTSTR lpszMsg( NULL );
    switch(lCode)
    {
        //Engine Callback
        case AHNHS_ENGINE_DETECT_GAME_HACK:
        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("Game Hack foundn%s"), (char*)pParam);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
        }
        case AHNHS_ENGINE_DETECT_WINDOWED_HACK:
        {
            //ShowMsgAndExitWithTimer(_T("Windowed Hack found."));
            break;
        }
        case AHNHS_ACTAPC_DETECT_SPEEDHACK:
        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("Speed Hack found."));
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
        }
        case AHNHS_ACTAPC_DETECT_KDTRACE:    
        case AHNHS_ACTAPC_DETECT_KDTRACE_CHANGED:
        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("AHNHS_ACTAPC_DETECT_KDTRACE_CHANGED"), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
        }
        
        case AHNHS_ACTAPC_DETECT_AUTOMACRO:
        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("AHNHS_ACTAPC_DETECT_AUTOMACRO"), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
        }
        case AHNHS_ACTAPC_DETECT_ABNORMAL_FUNCTION_CALL:
        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("Detect Abnormal Memory Accessn%s"), (char*)pParam);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
        }
        case AHNHS_ACTAPC_DETECT_ABNORMAL_MEMORY_ACCESS:
        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("Detect Memory Accessn%s"), (char*)pParam);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
        }        
        case AHNHS_ACTAPC_DETECT_AUTOMOUSE:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield DETECT_AUTOMOUSE."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
        case AHNHS_ACTAPC_DETECT_DRIVERFAILED:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield DETECT_DRIVERFAILED."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
        case AHNHS_ACTAPC_DETECT_HOOKFUNCTION:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield Detect D3D Hack. (%s)"), (char*)pParam);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
        case AHNHS_ACTAPC_DETECT_MESSAGEHOOK:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield DETECT_MESSAGEHOOK."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
        case AHNHS_ACTAPC_DETECT_MODULE_CHANGE:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield DETECT_MODULE_CHANGE."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
        case AHNHS_ACTAPC_DETECT_ENGINEFAILED:
                        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield DETECT_ENGINEFAILED."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
        case HS_ERR_ALREADY_GAME_STARTED:
            {
                
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield already started."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            }
            break;
        case AHNHS_ACTAPC_DETECT_CODEMISMATCH:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield CODEMISMATCH."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
                    case AHNHS_ACTAPC_DETECT_MEM_MODIFY_FROM_LMP:
                    case AHNHS_ACTAPC_DETECT_LMP_FAILED:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield Detect memory modify."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            }
            case AHNHS_ACTAPC_DETECT_ABNORMAL_HACKSHIELD_STATUS:
            {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield Service Error"), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
            //}
            }
        case AHNHS_ACTAPC_DETECT_PROTECTSCREENFAILED:
        {
            
            TCHAR msg[128]={0};
            _stprintf(msg, _T("HackShield PROTECTSCREENFAILED."), lCode);
            DxGlobalStage::GetInstance().CloseGame( msg );
            break;
        }
        return FALSE;
    }return TRUE;
}

4. Find the function HRESULT CBasicWnd::InitDeviceObjects()
Paste this inside the said function after HRESULT hr = S_OK;
PHP:
/** HackShield Start - Glory to God to the Highest! SeiferXIII **/
    {
            
    int antihackNotFound = 0;
    TCHAR    *pEnd = NULL;
    TCHAR    szFullFileName[MAX_PATH] = { 0, };
    TCHAR    szMsg[255];
    int        nRet;
    GetModuleFileName(NULL, szFullFileName, MAX_PATH);
    pEnd = _tcsrchr( szFullFileName, _T('\')) + 1;
    if (!pEnd)
    {
        return FALSE;    
    }
    *pEnd = _T('\0');
    _stprintf(g_szIniPath, _T("%s"), szFullFileName);                
    _stprintf(g_szHShieldPath, _T("%s\HackShield"), szFullFileName);
    _tcscat(szFullFileName, _T("HackShield\EhSvc.dll"));            
    _tcscat(g_szIniPath, _T("MiniAEnv.INI"));        
    nRet = _AhnHS_Initialize(szFullFileName, AhnHS_Callback, 
        1000, "B228F2916A48AC24", AHNHS_CHKOPT_ALL|AHNHS_SELFDESTRUCTION_RATIO_FAST|
AHNHS_DISPLAY_HACKSHIELD_TRAYICON|AHNHS_CHKOPT_STANDALONE|
AHNHS_CHKOPT_LOADLIBRARY|AHNHS_CHKOPT_LOCAL_MEMORY_PROTECTION,
        AHNHS_SPEEDHACK_SENSING_RATIO_GAME);
        if (nRet != HS_ERR_OK)
    {
        _stprintf(szMsg, _T("HackShield Initialize Error. (Error Code = %x)."), nRet);
        MessageBox(szMsg, "GameSama.com", MB_OK);
        return FALSE;
    }
        nRet = _AhnHS_StartService();
    assert(nRet != HS_ERR_NOT_INITIALIZED);
    assert(nRet != HS_ERR_ALREADY_SERVICE_RUNNING);
    if (nRet != HS_ERR_OK)
    {
            _stprintf(szMsg, _T("HackShield Start Error. (Error Code = %x)."), nRet);
        MessageBox(szMsg, "GameSama.com", MB_OK);
        return FALSE;
    }}  /** HackShield End - To God be the Glory!**/

5. Now you're done!
 
Last edited:
Deleting intermediate files and output files for project 'Basic', configuration 'Release|Win32'.
Compiling...
StdAfx.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
Compiling...
Protection.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
ExceptionAttacher.cpp
BasicWndD3d.cpp
BasicWndD3d.cpp(466) : error C2001: newline in constant
BasicWndD3d.cpp(466) : fatal error C1057: unexpected end of file in macro expansion
BasicWnd.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
Basic.cpp

Build log was saved at "file://D:\Khalel\EP8 TALAGA\EP8x9\newsourcecode\\_RBuildData\Basic\Release\BuildLog.htm"
Basic - 2 error(s), 0 warning(s)


---------------------- Done ----------------------

Build: 0 succeeded, 1 failed, 0 skipped

Hmmph. T.T
 
SeiferXIII - HackShield for RAN Online - RaGEZONE Forums
error
 
OK hot fix
for

PHP:
 pEnd = _tcsrchr( szFullFileName, _T('\')) + 1;
    if (!pEnd)
    {
        return FALSE;    
    }
    *pEnd = _T('\0');
    _stprintf(g_szIniPath, _T("%s"), szFullFileName);                
    _stprintf(g_szHShieldPath, _T("%s\HackShield"), szFullFileName);
    _tcscat(szFullFileName, _T("HackShield\EhSvc.dll"));

to

PHP:
 pEnd = _tcsrchr( szFullFileName, _T('\\')) + 1;
    if (!pEnd)
    {
        return FALSE;    
    }
    *pEnd = _T('\0');
    _stprintf(g_szIniPath, _T("%s"), szFullFileName);                
    _stprintf(g_szHShieldPath, _T("%s\\HackShield"), szFullFileName);
    _tcscat(szFullFileName, _T("HackShield\\EhSvc.dll"));
 
how about this ?
(518): error C2065: 'AhnHS_Callback' : undeclared identifier
 
OK hot fix
for

PHP:
 pEnd = _tcsrchr( szFullFileName, _T('\')) + 1;
    if (!pEnd)
    {
        return FALSE;    
    }
    *pEnd = _T('\0');
    _stprintf(g_szIniPath, _T("%s"), szFullFileName);                
    _stprintf(g_szHShieldPath, _T("%s\HackShield"), szFullFileName);
    _tcscat(szFullFileName, _T("HackShield\EhSvc.dll"));

to

PHP:
 pEnd = _tcsrchr( szFullFileName, _T('\\')) + 1;
    if (!pEnd)
    {
        return FALSE;    
    }
    *pEnd = _T('\0');
    _stprintf(g_szIniPath, _T("%s"), szFullFileName);                
    _stprintf(g_szHShieldPath, _T("%s\\HackShield"), szFullFileName);
    _tcscat(szFullFileName, _T("HackShield\\EhSvc.dll"));
Yup that's right :D

how about this ?
(518): error C2065: 'AhnHS_Callback' : undeclared identifier
same problem with you. any solution for this ?
That means you never fully followed the steps that i posted.

can you re-upload in other site.. plseeee
It's not that the mirror's dead tho. I see no reason to do so.
 
Back