Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

HackShield Kaldırma... HackShield SDK 1

indirmek için izniniz yok
Bu konuda sizlere kaynak tarafından hackshield nasıl kaldırılır onu göstereceğim. Lütfen eksik kısım varsa ve ya burayı kaldırmamalısın dediğiniz yerleri yorum olarak yazınız yanlış bilgilendirme yapmayayım...

İlk olarak YGK linkini vereyim, belki birinin işine yarar.

İndirme Bağlantısı: DosyaUpload
VirusTotal Bağlantısı: 7dfa5498a1b155cbf0ec07f0db269cda4839452d2062f282cacae38118a456fd


Server kaynak dosyalarından HackShield nasıl kaldırılır ?


1.

game kaynak dosyalarından aşağıdaki dosyaları sil.
  • HackShield.cpp
  • HackShield.h
  • HackShield_Impl.cpp
  • HackShield_Impl.h
  • char_hackshield.cpp


2.

Aşağıdaki include satırlarını tek tek tüm projede arat ve kaldır.

C++:
#include "HackShield.h"

C++:
#include "HackShield_Impl.h"

Aşağıdaki dosyalarda bulman gerekmekte, başka dosyalarda da olabilir.
  • char.cpp
  • desc.cpp
  • input_db.cpp
  • input_login.cpp
  • input_main.cpp
  • main.cpp
  • packet_info.cpp


3.

char.cpp dosyasını aç ve aşağıdaki iki kod bloğundaki kodları sil.



C++:
if( IsPC() )
{
    if (isHackShieldEnable)
    {
        CHackShieldManager::instance().DeleteClientHandle(GetPlayerID());
    }
}



C++:
    StopHackShieldCheckCycle();


4.

config.cpp dosyasını aç ve aşağıdaki kod bloklarını bul ve kaldır.


C++:
TOKEN("hackshield_enable")
{
    int flag = 0;

    str_to_number(flag, value_string);

    //if (1 == flag && LC_IsEurope() )
    if (1 == flag)
    {
        isHackShieldEnable = true;
    }
}

C++:
TOKEN("hackshield_first_check_time")
{
    int secs = 30;
    str_to_number(secs, value_string);

    HackShield_FirstCheckWaitTime = passes_per_sec * secs;
}

C++:
TOKEN("hackshield_check_cycle_time")
{
    int secs = 180;
    str_to_number(secs, value_string);

    HackShield_CheckCycleTime = passes_per_sec * secs;
}


5.

input_db.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.

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

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


6.
input_login.cpp dosyasını aç ve aşağıdaki kod bloğunu kaldır.

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


7.

input_main.cpp dosyasını aç aşağıdaki kod bloğunu kaldır.

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


8.

main.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.

C++:
    CHackShieldManager    HSManager;

C++:
if (isHackShieldEnable)
{
    if (!HSManager.Initialize())
    {
        fprintf(stderr, "Failed To Initialize HS");
        CleanUpForEarlyExit();
        return 0;
    }
}

C++:
if (!g_bAuthServer)
{
    if (isHackShieldEnable)
    {
        sys_log(0, "<shutdown> Releasing HackShield manager...");
        HSManager.Release();
    }
}


9.
Projeden sildiğimiz dosyaları derleyici hedeflerinden kaldır.

MakeFile'da CPPFILES kısmında.

Makefile:
HackShield.cpp
HackShield_Impl.cpp
char_hackshield.cpp


10.

packet_info.cpp dosyasını aç aşağıdaki kod bloğunu kaldır.

C++:
    Set(HEADER_CG_HS_ACK, sizeof(TPacketGCHSCheck), "HackShieldResponse", false);


Client kaynak dosyalarından HackShield nasıl kaldırılır ?


1.

Aşağıdaki dosyaları client projesinden kaldır.

  • HackShield.h
  • HackShield.cpp
  • HackshieldLicense.h
  • HackshieldLicense_metin2.h
  • HackshieldLicense_metin2client.h


2.

Include satırlarını tek tek tüm projede arat ve kaldır.

C++:
#include "Hackshield.h"

Aşağıdaki dosyalarda bulman gerekmekte, başka dosyalarda da olabilir.

  • AccountConnector.cpp
  • Packet.h
  • PythonApplication.cpp
  • PythonNetworkStreamPhaseHandShake.cpp
  • PythonNetworkStreamPhaseLogin.cpp
  • UserInterface.cpp


3.

AccountConnector.cpp dosyasını aç aşağıdaki kod bloklarını kaldır.

C++:
#ifdef USE_AHNLAB_HACKSHIELD
        HackShield_SetUserInfo(m_strID.c_str());
#endif


4.

packet.h dosyasını aç aşağıdaki kod bloklarını kaldır.

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++:
typedef struct packet_hs_check_req
{
    BYTE    bHeader;
    AHNHS_TRANS_BUFFER    Req;
} TPacketHSCheck;


5.

PythonApplication.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.

C++:
#ifdef USE_AHNLAB_HACKSHIELD
    if (HackShield_PollEvent())
        return false;
#endif


6.

PythonNetworkStreamPhaseHandShake.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.

C++:
#ifdef USE_AHNLAB_HACKSHIELD
#include METIN2HS_INCLUDE_HSHIELD
#endif

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
}



7.

UserInterface.cpp.cpp dosyasını aç ve aşağıdaki kodları kaldır.

C++:
if (strstr(lpCmdLine, "--hackshield") != 0)
    return 0;

C++:
#ifdef USE_AHNLAB_HACKSHIELD
    if (!HackShield_Init())
        return 0;
#endif

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


8.
PythonNetworkStreamPhaseGame.cpp dosyasından kodları kaldır.

C++:
            case HEADER_GC_HS_REQUEST:
                ret = RecvHSCheckRequest();
                break;


9.
PythonNetworkStream.cpp dosyasından kodları kaldır.
C++:
            Set(HEADER_GC_HS_REQUEST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketHSCheck), STATIC_SIZE_PACKET));
Eksik kısımlar:

config.cpp'den kaldır.

C++:
bool        isHackShieldEnable = false;
int            HackShield_FirstCheckWaitTime = passes_per_sec * 30;
int            HackShield_CheckCycleTime = passes_per_sec * 180;

config.h'den kaldır.

C++:
extern bool isHackShieldEnable;
extern int  HackShield_FirstCheckWaitTime;
extern int  HackShield_CheckCycleTime;

char.cpp'den kaldır.
C++:
m_HackShieldCheckEvent = NULL;
m_HackShieldCheckMode = false;

char.h'dan kaldır.

C++:
void StartHackShieldCheckCycle(int seconds);
void StopHackShieldCheckCycle();
bool GetHackShieldCheckMode() const { return m_HackShieldCheckMode; }
bool GetHackShieldCheckMode() const { return m_HackShieldCheckMode; }
void SetHackShieldCheckMode(bool m) { m_HackShieldCheckMode = m; }
void SetHackShieldCheckMode(bool m) { m_HackShieldCheckMode = m; }
LPEVENT m_HackShieldCheckEvent;
bool    m_HackShieldCheckMode;

Eksik kalan kısımlar için @Larry Watterson 'a teşekkürler.
Yazar
cegk
Kaynak İndirilme
9
Görüntüleme
466
İlk yayınlama
Son Güncelleme
Değerlendirme
0.00 yıldız(lar) 0 rating

cegk - Kaynakları

Geri
Üst