Metin2 Client Source HackShield Kaldırma

Whistle

Ruhsuz Filozof
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.495
Çözümler
546
Beğeni
12.048
Puan
5.864
Merhaba arkadaşlar,
Bilmeyenler varsa Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi hazırlıyorum. Bu rehberin bir parçası olan bu konumuzda HackShield'i kaldırmayı anlatacağım.

hackshield nedir?​

Oyuncuların şüpheli aktivitelerini inceleyip bunu rapora döken bir eklentidir. Hileleri tespit etmek amacı ile kullanılıyor.

Neden kaldırıyoruz?​

Çünkü bu eklentiyi kullanamıyoruz. Bu yüzden durmasının bir amacı yok...

Client Source Kaldırılacaklar​

UserInterface içerisinde yer alan şu dosyaları kaldırın;
  • Hackshield.h
  • Hackshield.cpp
  • HackshieldLicense.h
  • HackshieldLicense_metin2.h
  • HackshieldLicense_metin2client.h

UserInterface/Packet.h aratın ve kaldırın;
C++:
#ifdef USE_AHNLAB_HACKSHIELD
#include "Hackshield.h"
#include METIN2HS_INCLUDE_ANTICPXSVR
#else
#pragma pack(push) //기존 alignment 저장
#pragma pack(8)

#define ANTICPX_TRANS_BUFFER_MAX            400

typedef struct _AHNHS_TRANS_BUFFER
{
    unsigned char byBuffer[ANTICPX_TRANS_BUFFER_MAX/* 송수신 패킷의 최대 크기 */];
    unsigned short nLength;
} AHNHS_TRANS_BUFFER, *PAHNHS_TRANS_BUFFER;

#pragma pack(pop) // 기존 alignment 복구.
#endif /* !USE_AHNLAB_HACKSHIELD */

C++:
    HEADER_CG_HS_ACK                            = 203,

C++:
    HEADER_GC_HS_REQUEST                        = 207,

C++:
    HEADER_GC_HS_REQUEST                        = 204,

C++:
typedef struct packet_hs_check_req
{
    BYTE    bHeader;
    AHNHS_TRANS_BUFFER    Req;
} TPacketHSCheck;


UserInterface/AccountConnector.cpp dosyasında şu kodları kaldırın;
C++:
#ifdef USE_AHNLAB_HACKSHIELD
        HackShield_SetUserInfo(m_strID.c_str());
#endif

Daha sonra şu satır bulunup kaldırılır:
C++:
#include "Hackshield.h"


UserInterface/PythonApplication.cpp dosyasında şu kodları kaldırın;
C++:
#ifdef USE_AHNLAB_HACKSHIELD
    if (HackShield_PollEvent())
        return false;
#endif

Daha sonra şunu kaldırın:
C++:
#include "HackShield.h"

UserInterface/PythonNetworkStream.h dosyasında şu kodları kaldırın;
C++:
        bool RecvHSCheckRequest();

UserInterface/PythonNetworkStream.cpp dosyasında şu satırı kaldırın;

C++:
Set(HEADER_GC_HS_REQUEST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketHSCheck), STATIC_SIZE_PACKET));

UserInterface/PythonNetworkPhaseGame.cpp dosyasında şu kodları kaldırın;
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.



UserInterface/PythonNetworkStreamPhaseHandShake.cpp dosyasında şu kodları kaldırın;
C++:
#ifdef USE_AHNLAB_HACKSHIELD
#include METIN2HS_INCLUDE_HSHIELD
#endif

C++:
#include "Hackshield.h"

C++:
bool CPythonNetworkStream::RecvHSCheckRequest()
{
    TPacketHSCheck packet;

    if (!Recv(sizeof(packet), &packet))
    {
        TraceError("HShield: Recv failed");

        return false;
    }

#if defined(USE_AHNLAB_HACKSHIELD) || defined(LOCALE_SERVICE_GLOBAL)
    TPacketHSCheck pack_ret;
    memset(&pack_ret, 0, sizeof(pack_ret));
    pack_ret.bHeader = HEADER_CG_HS_ACK;

#if defined(USE_AHNLAB_HACKSHIELD)
    unsigned long ret = _AhnHS_MakeResponse( packet.Req.byBuffer, packet.Req.nLength, &pack_ret.Req );

    if (ERROR_SUCCESS != ret)
    {
        TraceError("HShield: _AhnHS_MakeResponse return error(%u)", ret);

        return false;
    }
#endif

    if (!Send(sizeof(pack_ret), &pack_ret))
    {
        TraceError("HShield: Send failed");

        return false;
    }

    return true;
#else
    return false;
#endif
}

UserInterface/UserInterface.cpp dosyasından şu kodları kaldırın;
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


C++:
#ifdef USE_AHNLAB_HACKSHIELD
    HackShield_Shutdown();
#endif

C++:
#include "Hackshield.h"


PythonNetworkStreamPhaseLogin.cpp içinden şunu kaldırın:

C++:
#include "Hackshield.h"



Server source kaldırılacaklar var. Şu konuya bakabilirsiniz: Metin2 Server Source HackShield Kaldırma
 
Bunlar basit şeyler :D
Uykusuzluk başa bela....
 
UserInterface/PythonNetworkPhaseGame.cpp dosyasında şu kodları kaldırın;

UserInterface/PythonNetworkStreamPhaseGame.cpp dosyasında şu kodları kaldırın;

Kod:
imput_login.cpp
        case HEADER_CG_HACK:
            break;


        case HEADER_CG_HS_ACK:
            if (isHackShieldEnable)
            {
                CHackShieldManager::instance().VerifyAck(d->GetCharacter(), c_pData);
            }
            break;



input_main.cpp

    if (isHackShieldEnable)
    {
        if (! CHackShieldManager::instance().CreateClientHandle(ch->GetPlayerID()))
        {
            d->SetPhase(PHASE_CLOSE);
        }
        else
        {
            ch->StartHackShieldCheckCycle( HackShield_CheckCycleTime );
        }
    }


        if (isHackShieldEnable)
        {
            pChar->StartHackShieldCheckCycle( HackShield_FirstCheckWaitTime );
        }

imput_main.cpp
        case HEADER_CG_HACK:
            break;


        case HEADER_CG_HS_ACK:
            if (isHackShieldEnable)
            {
                CHackShieldManager::instance().VerifyAck(d->GetCharacter(), c_pData);
            }
            break;

kanıt
kanit.JPG
 

Dosya Eklentileri

  • test.PNG
    test.PNG
    189,5 KB · Gösterim: 99
Geri
Üst