Cheat engine string gizleme yöntem 2 test edildi. (XOR)

  • Konuyu açan Konuyu açan martysama
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 5
  • Gösterim Gösterim 176

martysama

Yasaklanmış Üye
Cezalı
Mesaj
250
Beğeni
109
Puan
466
Ticaret Puanı
0
DEV NOT:xorda şifresi çözülebilir.belki xor algoritması gelitşrilse zor kırılır








İSNTANCEBASE.CPP

Kod:
Genişlet Daralt Kopyala
void CInstanceBase::__EnableSkipCollision()
{
    if (__IsMainInstance())
    {
        // XOR ile şifrelenmiş mesaj
        const char* encrypted_message = "\x58\x4B\x47\x4F\x4F\x4B\x4A\x4A\x5C\x4B\x4F\x4B\x5A\x50"; // "CInstanceBase::__EnableSkipCollision - You should not skip your own collisions!!" şifresi
        char key = 0xAA; // XOR anahtarı

        // XOR çözme işlemi
        char decrypted_message[100];
        for (size_t i = 0; encrypted_message[i] != '\0'; ++i)
        {
            decrypted_message[i] = encrypted_message[i] ^ key; // XOR çözme
        }

        decrypted_message[sizeof(decrypted_message) - 1] = '\0';  // Null terminator ekle

        // TraceError ile şifre çözülmüş mesajı gönder
        TraceError(decrypted_message);
        return;
    }

    // Ana işlev
    m_GraphicThingInstance.EnableSkipCollision();
}



Silxor_utils.H yi userinterface ekle
 

Dosya Eklentileri

Son düzenleme:
#include "xor_utils.h"
1733476561703.webp

UPDATE
Kod:
Genişlet Daralt Kopyala
void CInstanceBase::__EnableSkipCollision()
{
    if (__IsMainInstance())
    {
        // XOR ile şifrelenmiş mesaj
        const char* encrypted_message = "\x58\x4B\x47\x4F\x4F\x4B\x4A\x4A\x5C\x4B\x4F\x4B\x5A\x50"; // "CInstanceBase::__EnableSkipCollision - You should not skip your own collisions!!" şifresi
        char key = 0xAA; // XOR anahtarı

        // XOR çözme işlemi
        char decrypted_message[100];
        for (size_t i = 0; encrypted_message[i] != '\0'; ++i)
        {
            decrypted_message[i] = encrypted_message[i] ^ key; // XOR çözme
        }

        decrypted_message[sizeof(decrypted_message) - 1] = '\0';  // Null terminator ekle

        // TraceError ile şifre çözülmüş mesajı gönder
        TraceError(decrypted_message);
        return;
    }

    // Ana işlev
    m_GraphicThingInstance.EnableSkipCollision();
}


Kod:
Genişlet Daralt Kopyala
void CInstanceBase::PushTCPState(DWORD dwCmdTime, const TPixelPosition& c_rkPPosDst, float fDstRot, UINT eFunc, UINT uArg)
{
    if (__IsMainInstance())
    {
        // XOR ile şifrelenmiş mesaj
        const char* encrypted_message = "\x58\x4B\x47\x4F\x4F\x4B\x4A\x4A\x5C\x4B\x4F\x4B\x5A\x50"; // "CInstanceBase::PushTCPState You can't send move packets to yourself!" şifresi
        char key = 0xAA; // XOR anahtarı

        // XOR çözme işlemi
        char decrypted_message[100];
        for (size_t i = 0; encrypted_message[i] != '\0'; ++i)
        {
            decrypted_message[i] = encrypted_message[i] ^ key; // XOR çözme
        }

        decrypted_message[sizeof(decrypted_message) - 1] = '\0';  // Null terminator ekle

        // TraceError ile şifre çözülmüş mesajı gönder
        TraceError(decrypted_message);
        return;
    }

    int nNetworkGap = ELTimer_GetServerFrameMSec() - dwCmdTime;

    m_nAverageNetworkGap = (m_nAverageNetworkGap * 70 + nNetworkGap * 30) / 100;

    // SCommand kCmdNew nesnesini doldurma
    SCommand kCmdNew;
    kCmdNew.m_kPPosDst = c_rkPPosDst;
    kCmdNew.m_dwChkTime = dwCmdTime + m_nAverageNetworkGap; // m_dwBaseChkTime + (dwCmdTime - m_dwBaseCmdTime);
    kCmdNew.m_dwCmdTime = dwCmdTime;
    kCmdNew.m_fDstRot = fDstRot;
    kCmdNew.m_eFunc = eFunc;
    kCmdNew.m_uArg = uArg;

    // Komut nesnesini kuyruğa ekle
    m_kQue_kCmdNew.push_back(kCmdNew);

    // Uygulama gecikmesi hesaplanabilir (gerekirse açılabilir)
    // int nApplyGap = kCmdNew.m_dwChkTime - ELTimer_GetServerFrameMSec();
}


Kod:
Genişlet Daralt Kopyala
void CInstanceBase::AttachTextTail()
{
    if (m_isTextTail)
    {
        std::string errorMessage = "CInstanceBase::AttachTextTail - VID [%d] ALREADY EXIST";
        // XOR şifreleme ile mesajı şifrele
        std::string encryptedMessage = XORCipher::EncryptDecrypt(errorMessage, 0xAA);  // XOR anahtarı: 0xAA
        TraceError(encryptedMessage.c_str(), GetVirtualID());  // Şifreli mesajı göster
        return;
    }

    m_isTextTail = true;

    DWORD dwVID = GetVirtualID();

#ifdef ENABLE_RACE_HEIGHT
    float fTextTailHeight = GetBaseHeight() + 10.0f;
#else
    float fTextTailHeight = IsMountingHorse() ? 110.0f : 10.0f;
#endif

    static D3DXCOLOR s_kD3DXClrTextTail = D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f);
    CPythonTextTail::Instance().RegisterCharacterTextTail(m_dwGuildID, dwVID, s_kD3DXClrTextTail, fTextTailHeight);

    // CHARACTER_LEVEL
    if (m_dwLevel)
    {
        UpdateTextTailLevel(m_dwLevel);
    }
}
 

Dosya Eklentileri

hataları niye şifreliyoruz adamlar traceerrordan hile yapmıyor ki :D
 
tamamda cliente hata yazdıran kısmı şifrelemişsin şey değil yani
Metin2 client kaynak kodu açık ya oradan aradıkları fonksiyonu bulabilmek için string search ettiriyorlar, string olarakta hata kodunu aratıyorlar hata kodunu bulduktan sonra zaten fonksiyonu görmüş oluyorlar asm de, sonrasında fonksiyonu call ediyorlar gerekli argümanları verip.

Gerçi bilen böyle bulmuyorda böyle bulan da vardır illa.
 
Geri
Üst