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.
2.
Aşağıdaki include satırlarını tek tek tüm projede arat ve kaldır.
Aşağıdaki dosyalarda bulman gerekmekte, başka dosyalarda da olabilir.
3.
char.cpp dosyasını aç ve aşağıdaki iki kod bloğundaki kodları sil.
4.
config.cpp dosyasını aç ve aşağıdaki kod bloklarını bul ve kaldır.
5.
input_db.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.
6.
input_login.cpp dosyasını aç ve aşağıdaki kod bloğunu kaldır.
7.
input_main.cpp dosyasını aç aşağıdaki kod bloğunu kaldır.
8.
main.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.
9.
Projeden sildiğimiz dosyaları derleyici hedeflerinden kaldır.
MakeFile'da CPPFILES kısmında.
10.
packet_info.cpp dosyasını aç aşağıdaki kod bloğunu kaldır.
Client kaynak dosyalarından HackShield nasıl kaldırılır ?
1.
Aşağıdaki dosyaları client projesinden kaldır.
2.
Include satırlarını tek tek tüm projede arat ve kaldır.
Aşağıdaki dosyalarda bulman gerekmekte, başka dosyalarda da olabilir.
3.
AccountConnector.cpp dosyasını aç aşağıdaki kod bloklarını kaldır.
4.
packet.h dosyasını aç aşağıdaki kod bloklarını kaldır.
5.
PythonApplication.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.
6.
PythonNetworkStreamPhaseHandShake.cpp dosyasını aç ve aşağıdaki kod bloklarını kaldır.
7.
UserInterface.cpp.cpp dosyasını aç ve aşağıdaki kodları kaldır.
8.
PythonNetworkStreamPhaseGame.cpp dosyasından kodları kaldır.
9.
PythonNetworkStream.cpp dosyasından kodları kaldır.
Eksik kısımlar:
config.cpp'den kaldır.
config.h'den kaldır.
char.cpp'den kaldır.
char.h'dan kaldır.
Eksik kalan kısımlar için @Larry Watterson 'a teşekkürler.
İ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));
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.
