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!

[Help] Disable Admin Tool in the Preserver

Newbie Spellweaver
Joined
Jul 23, 2015
Messages
8
Reaction score
0
Hi
how to disable admintool on preserver , imserver ?
:eek:tt1:sorry my english:w00t:
 
Last edited by a moderator:
[emoji848]
Legend
Joined
Dec 3, 2011
Messages
2,232
Reaction score
1,518
Editing the allowed tool ips by removing all entries would only prevent you completely from using it the proper way. Even without any allowed tool user IPs the tools will still work due to several exploits in the binaries.

Aesir perfectly explained first countermeasures here:

In GlobalGameServer.cpp check the final return in the CheckAllowedToolIP method:
Code:
BOOL CGlobalGameServer::CheckAllowedToolIP(char *i_szToolIP)
{
//    if(IS_SCADMINTOOL_CONNECTABLE_IP(i_szToolIP))
//    {
//        g_pGlobalGameServer->WriteSystemLogEX(TRUE, "  [Notify] CheckAllowedToolIP ==> Allowed (%s)\r\n", i_szToolIP);
//        return TRUE;
//    }

    // Aesir - 15/12/2015 - GR ServerAdmin Custom Access start
    if (IS_GR_SERVER_ADMIN(i_szToolIP))
    {
        g_pGlobalGameServer->WriteGRSystemLogEX(TRUE, "  [Notify] CheckAllowedToolIP ==> GenoRivals ServerAdmin Connected! (%s)\r\n", i_szToolIP);
        return TRUE;
    }
    // Aesir - 15/12/2015 - GR ServerAdmin Custom Access end

    for (int i = 0; i < m_AllowedToolIPList.size(); i++)
    {
        if (0 == strncmp(m_AllowedToolIPList[i].c_str(), i_szToolIP, strlen(m_AllowedToolIPList[i].c_str())))
        {        
            g_pGlobalGameServer->WriteSystemLogEX(TRUE, "  [Notify] CheckAllowedToolIP ==> Allowed (%s)\r\n", i_szToolIP);
            return TRUE;
        }
    }

    g_pGlobalGameServer->WriteSystemLogEX(TRUE, "  [WARNING] [HACKREPORT] CheckAllowedToolIP ==> Not Allowed (%s) !!\r\n", i_szToolIP);
    [B]return FALSE;[/B]
}

and in PreIOCPSocket.cpp, under the OnRecvdPacketPreServer method, inside the T_PA_ADMIN_CONNECT case write after the
Code:
if(g_pPreGlobal->CheckAllowedToolIP(this->GetPeerIP()))
                {
                    STRNCPY_MEMSET(m_szAdminAccountName, msgAdminConnect->UID, SIZE_MAX_ACCOUNT_NAME);        // 2007-06-20 by cmkwon, °èÁ¤ ºí·°Á¤º¸ ½Ã½ºÅÛ ·Î±×¿¡ Ãß°¡
                    msgAdminConnectOK->AccountType0 = g_pGlobalGameServer->AuthAdminToolUser(msgAdminConnect->UID, msgAdminConnect->PWD);
                }
                else
                    Close();

This is not an advanced solution but it work as it :)
 
Upvote 0
Newbie Spellweaver
Joined
Jul 23, 2015
Messages
8
Reaction score
0
3252 - [Help] Disable Admin Tool in the Preserver - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Upvote 0
Back
Top