bikral 1
bikral
PrimeAC 1
PrimeAC
shrpnl 1
shrpnl
Agora Metin2 1
Agora Metin2
xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Karan2offical 1
Karan2offical
Fethi Polat 1
Fethi Polat
Hikaye Ekle

P2P Giriş Bağlantısını engelleme

  • Konuyu başlatan Konuyu başlatan l3erke
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 76
  • Görüntüleme Görüntüleme 19K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

desc_p2p.cpp aç ve arat

#include "p2p.h"

altına ekle

Kod:
#include "../../common/service.h"

Kod:
void DESC_P2P::Destroy()
{
    if (m_sock == INVALID_SOCKET) {
        return;
    }


    P2P_MANAGER::instance().UnregisterAcceptor(this);


    fdwatch_del_fd(m_lpFdw, m_sock);


    sys_log(0, "SYSTEM: closing p2p socket. DESC #%d", m_sock);


    socket_close(m_sock);
    m_sock = INVALID_SOCKET;


    // Chain up to base class Destroy()
    DESC::Destroy();
}

ve altına ekle
Kod:
#ifdef ENABLE_PORT_SECURITY
#include "config.h"
#endif
bool DESC_P2P::Setup(LPFDWATCH fdw, socket_t fd, const char * host, WORD wPort)
{
    m_lpFdw = fdw;
    m_stHost = host;
    m_wPort = wPort;
    m_sock = fd;


    if (!(m_lpOutputBuffer = buffer_new(1024 * 1024)))
        return false;


    if (!(m_lpInputBuffer = buffer_new(1024 * 1024)))
        return false;


    fdwatch_add_fd(m_lpFdw, m_sock, this, FDW_READ, false);


    m_iMinInputBufferLen = 1024 * 1024;
#ifdef ENABLE_PORT_SECURITY
    if (strcmp(host, g_szPublicIP)) 
    {
        sys_log(0, "SYSTEM: Yeni p2p girisi algılandı [%s] to [%s] fd: %d Engellendi", host, g_szPublicIP, m_sock);
        SetPhase(PHASE_CLOSE);
        return true;
    }
#endif

input.cpp aç arat

#include "HackShield_Impl.h"

altına ekle

Kod:
#include "../../common/service.h"

Kod:
int CInputHandshake::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
{
    if (bHeader == 10) // 엔터는 무시
        return 0;


    if (bHeader == HEADER_CG_TEXT)
    {
altına ekle
Kod:
#ifdef ENABLE_PORT_SECURITY
        if (IsEmptyAdminPage() || !IsAdminPage(inet_ntoa(d->GetAddr().sin_addr)))
        {
            sys_log(0, "SOCKET_CMD: BLOCK FROM(%s)", d->GetHostName());
            return -1;
        }
#endif

common/service.h aç

PET_SYSTEM in altına ekle
Kod:
#define ENABLE_PORT_SECURITY


Kanallardaki sys_log'dan kimin p2p ile giriş yapmaya çalıştığını öğrenebilirsiniz


bu fix i uygulayınca 1 ch açabiliyorum anca 2.ch start verdimmi 2.ch yi p2p algılayıp kapatıyo o ch core veriyo :D sorun bendemi yoksa
bi tek ben mi denedim bu nu
 
şuanda piyasada p2p açığı ile hacklemyeceğim server yok bu açığın biran önce kapatılması lazım




 
bu fix i uygulayınca 1 ch açabiliyorum anca 2.ch start verdimmi 2.ch yi p2p algılayıp kapatıyo o ch core veriyo :D sorun bendemi yoksa
bi tek ben mi denedim bu nu
Eve geçince aklıma gelirse atarım db eklentisi var.
 
bu fix i uygulayınca 1 ch açabiliyorum anca 2.ch start verdimmi 2.ch yi p2p algılayıp kapatıyo o ch core veriyo :D sorun bendemi yoksa
bi tek ben mi denedim bu nu
db/PeerBase.cpp aç

ARAT:

Kod:
bool CPeerBase::Accept(socket_t fd_accept)
{
    struct sockaddr_in peer;


    if ((m_fd = socket_accept(fd_accept, &peer)) == INVALID_SOCKET)
    {
        Destroy();
        return false;
    }

ALTINA EKLE:

Kod:
#ifdef ENABLE_PORT_SECURITY
    if (strcmp(inet_ntoa(peer.sin_addr), "127.0.0.1")) // refuse if remote host != localhost (only the same machine must be able to connect in here)
    {
        sys_log(0, "BLOCK CONNECTION FROM %s", inet_ntoa(peer.sin_addr));
        Destroy();
        return false;
    }
#endif

KAYDET BUİLD ET VESSELAM.
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst