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!

HackShield for RAN Online

Joined
Sep 16, 2007
Messages
1,206
Reaction score
541
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:
Skilled Illusionist
Joined
May 25, 2014
Messages
354
Reaction score
29
as informative as always
thsnks for these ill try this
 
Newbie Spellweaver
Joined
May 8, 2014
Messages
63
Reaction score
2
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
 
Newbie Spellweaver
Joined
Jan 29, 2014
Messages
39
Reaction score
0
SeiferXIII - HackShield for RAN Online - RaGEZONE Forums
error
 
Newbie Spellweaver
Joined
Mar 15, 2007
Messages
84
Reaction score
41
I Rename your Game.exe to MiniA.exe off Error


SeiferXIII - HackShield for RAN Online - RaGEZONE Forums


SeiferXIII - HackShield for RAN Online - RaGEZONE Forums



[ 2015/ 7/23 - 7:21:26:826] [C69D9681_94DF_4299_B7ED_B08753407860] 0xe2011002 : 0x126
 
Newbie Spellweaver
Joined
Mar 15, 2007
Messages
84
Reaction score
41
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"));
 
Joined
Sep 16, 2007
Messages
1,206
Reaction score
541
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.
 
Junior Spellweaver
Joined
Oct 26, 2011
Messages
111
Reaction score
0
can you list the illegal tool list that can be blocked using this? Thanks in advance
 
Back
Top