how to enable serial key for 1.5 source

Results 1 to 6 of 6
  1. #1
    Proficient Member Desperate is offline
    MemberRank
    Dec 2011 Join Date
    Kyōto, JapanLocation
    162Posts

    how to enable serial key for 1.5 source

    I've tried to do in his way but it doesn't work
    everyone can watch and help me if I am wrong
    What do I need for it to work properly?

    CGLEncription.h
    PHP Code:
    #ifndef _GLENCRIPTION_
    #define _GLENCRIPTION_


    #define MAX_BUF                        255
    #define CF_GUNZLAUNCHER                0x0562

    #define GLE_LAUNCH_INTERNATIONAL    0xFFFF
    #define GLE_LAUNCH_DEVELOP            0xFFFE
    #define GLE_LAUNCH_TEST                0xFFFD


    class CGLEncription
    {
    public:
        
    bool CreateSerialKey();

        
    int Decriptionvoid);
    };
    #endif 
    CGLEncription.cpp
    PHP Code:
    #include "stdafx.h"
    #include "CGLEncription.h"
    #include "MCrypt.h"
    #include <Mmsystem.h>
    #include <math.h>

    #define DATA_MSG_INTERNATIONAL        "a"
    #define DATA_MSG_LAUNCHDEV            "b"
    #define DATA_MSG_TEST                "c"


    // CreateSerialKey
    bool CGLEncription::CreateSerialKey()
    {
        
    // Create random seed
        
    unsigned char szSerialKeyMAX_BUF];
        
    srand( (unsigned)timeNULL));
        for ( 
    int i 0;  MAX_BUF;  i++)
            
    szSerialKeyi] = (unsigned char)( rand() % 256);
        

        
    // Get limited time
        
    DWORD dwLimitedTime timeGetTime() + 60000;
        
    char szTime20];
        
    memsetszTime0sizeof(szTime));
        
    sprintfszTime"%X"dwLimitedTime);


        
    // Get Disk serial number
        
    char szDiskLabel128];
        
    char szFileSysName128];
        
    DWORD dwDiskSerial;
        
    DWORD dwMaxNameLength 0
        
    DWORD dwFileSystemFlags 0;
        
    char szDirectory256];
        
    GetCurrentDirectorysizeofszDirectory), szDirectory);
        
    szDirectory3] = 0;
        
    GetVolumeInformationszDirectoryszDiskLabelsizeof(szDiskLabel)-1, &dwDiskSerial,
                                                            &
    dwMaxNameLength,
                                                            &
    dwFileSystemFlags,
                                                            
    szFileSysName,
                                                            
    sizeofszFileSysName) - 1);
        
    char szDiskSerial20];
        
    memsetszDiskSerial0sizeof(szDiskSerial));
        
    sprintfszDiskSerial"%X"dwDiskSerial);


        
    // Set Data
        
    char szData20];
        
    memsetszData0sizeof(szData));
        
    strcpyszDataDATA_MSG_LAUNCHDEV);


        
    // Mixing data
        
    int nPos szSerialKeyMAX_BUF 1] % 10;
        for ( 
    0;  20;  i++)
        {
            
    int nAbsPos = (int)((10) * 10) + nPos;

            
    szSerialKey[      nAbsPos] = (unsigned char)szTimenAbsPos];
            
    szSerialKey20 nAbsPos] = (unsigned char)szDiskSerialnAbsPos];
            
    szSerialKey40 nAbsPos] = (unsigned char)szDatanAbsPos];

            
    nPos = ( nPos 7) % 10;
        }


        
    // Get CRC
        
    szSerialKeyMAX_BUF 2] = 0;
        for ( 
    0;  60;  i++)
            
    szSerialKeyMAX_BUF 2] += szSerialKeyi];
        

        
    // Encrypt
        
    MSeed cSeed;
        
    unsigned char byKeySEED_USER_KEY_LEN];
        
    memsetbyKey0sizeofbyKey));
        
    unsigned char byIVSEED_BLOCK_LEN];
        
    memsetbyIV0sizeofbyIV));
        for ( 
    int i 0;  20;  i++)
        {
            if ( 
    SEED_USER_KEY_LEN)
                
    byKeyi] = szSerialKey200 i];
            if ( 
    SEED_BLOCK_LEN)
                
    byIVi]  = szSerialKey220 i];
        }
        if ( !
    cSeed.InitKeybyKeybyIV))
            return 
    false;

        
    DWORD dwLength;
        
    unsigned char szCriptSerialKeyMAX_BUF];
        if ( !
    cSeed.EncryptszSerialKey60szCriptSerialKey, &dwLength))
            return 
    false;

        
    memcpyszSerialKeyszCriptSerialKeydwLength);
        
    szSerialKeyMAX_BUF 3] = (unsigned char)dwLength;


        
    // Write to clip board
        
    bool bRetVal false;
        if ( ::
    OpenClipboardNULL))
        {
            
    HGLOBAL hMem;
            
    hMem GlobalAllocGMEM_DDESHAREMAX_BUF 1);
            
    charbuffer = (char*)GlobalLockhMem);
            
    memcpybufferszSerialKeyMAX_BUF);
            
    GlobalUnlockhMem);

            
    bRetVal = ( ::SetClipboardDataCF_GUNZLAUNCHERhMem) == NULL) ? false true;

            ::
    CloseClipboard();
        }


        return 
    bRetVal;
    }


    // atodw
    DWORD atodw( const charszValue)
    {
        
    int nCount 0;
        
    DWORD dwValue 0;

        while ( *(
    szValue nCount) != 0)
        {
            
    dwValue *= 16;

            if ( ( *(
    szValue nCount) >= '0') && ( *(szValue nCount) <= '9'))
                
    dwValue += *(szValue nCount) - '0';
            else
                
    dwValue += *(szValue nCount) - 'A' 10;

            
    nCount++;
        }

        return 
    dwValue;
    }


    // GetEncription
    int CGLEncription::Decriptionvoid)
    {
        
    unsigned char szSerialKeyMAX_BUF];
        
    memsetszSerialKey0MAX_BUF);


        
    // Read from clipboard
        
    if ( ! ::OpenClipboardNULL))
        {
            
    mlog"Serialkey error : 201\n");
            return 
    false;
        }

        if ( !
    IsClipboardFormatAvailableCF_GUNZLAUNCHER))
        {
            
    mlog"Serialkey error : 202\n");
            
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
            return 
    false;
        }

        
    memcpyszSerialKey, (unsigned char*)GetClipboardDataCF_GUNZLAUNCHER), MAX_BUF);

        ::
    CloseClipboard();


        
    // Variables;
        
    char szTime20];
        
    memsetszTime0sizeofszTime));

        
    char szDiskSerial20];
        
    memsetszDiskSerial0sizeofszDiskSerial));

        
    char szData20];
        
    memsetszData0sizeofszData));


        
    // Decrypt
        
    MSeed cSeed;
        
    unsigned char byKeySEED_USER_KEY_LEN];
        
    memsetbyKey0sizeofbyKey));
        
    unsigned char byIVSEED_BLOCK_LEN];
        
    memsetbyIV0sizeofbyIV));
        for ( 
    int i 0;  20;  i++)
        {
            if ( 
    SEED_USER_KEY_LEN)
                
    byKeyi] = szSerialKey200 i];
            if ( 
    SEED_BLOCK_LEN)
                
    byIVi]  = szSerialKey220 i];
        }
        if ( !
    cSeed.InitKeybyKeybyIV))
        {
            
    mlog"Serialkey error : 203\n");
            return 
    false;
        }

        
    DWORD dwLength;
        
    unsigned char szCryptSerialKeyMAX_BUF];
        if ( !
    cSeed.DecryptszSerialKeyszSerialKeyMAX_BUF 3], szCryptSerialKey, &dwLength))
        {
            
    mlog"Serialkey error : 204\n");
            return 
    false;
        }

        
    memcpyszSerialKeyszCryptSerialKeydwLength);



        
    // Check CRC
        
    unsigned char byCRC 0;
        for ( 
    int i 0;  60;  i++)
            
    byCRC += szSerialKeyi];

        if ( 
    byCRC != szSerialKeyMAX_BUF 2])
        {
            
    mlog"Serialkey error : 205\n");
            return 
    false;
        }


        
    // Decoding
        
    int nPos szSerialKey60] % 10;
        for ( 
    int i 0;  20;  i++)
        {
            
    int nAbsPos = (int)((10) * 10) + nPos;

            
    szTimenAbsPos]        = (char)szSerialKey[      nAbsPos];
            
    szDiskSerialnAbsPos]  = (char)szSerialKey20 nAbsPos];
            
    szDatanAbsPos]        = (char)szSerialKey40 nAbsPos];

            
    nPos = ( nPos 3) % 10;
        }


        
    // Check time
        
    DWORD dwTime atodwszTime);
        
    DWORD dwCurrTime timeGetTime();
        if ( (
    DWORD)atodwszTime) < timeGetTime())
        {
            
    mlog"Serialkey error : 206\n");
            return 
    false;
        }


        
    // Check serial number
        
    char szDiskLabel128];
        
    char szFileSysName128];
        
    DWORD dwDiskSerial;
        
    DWORD dwMaxNameLength 0
        
    DWORD dwFileSystemFlags 0;
        
    char szDirectory256];
        
    GetCurrentDirectorysizeofszDirectory), szDirectory);
        
    szDirectory3] = 0;
        
    GetVolumeInformationszDirectoryszDiskLabelsizeof(szDiskLabel)-1, &dwDiskSerial,
                                                            &
    dwMaxNameLength,
                                                            &
    dwFileSystemFlags,
                                                            
    szFileSysName,
                                                            
    sizeofszFileSysName) - 1);

        if ( (
    DWORD)atodwszDiskSerial) != dwDiskSerial)
        {
            
    mlog"Serialkey error : 207\n");
            return 
    false;
        }


        
    // Check Data
        
    if ( strcmpszDataDATA_MSG_INTERNATIONAL) == 0)
            return 
    GLE_LAUNCH_INTERNATIONAL;
        else if ( 
    strcmpszDataDATA_MSG_LAUNCHDEV) == 0)
            return 
    GLE_LAUNCH_DEVELOP;
        else if ( 
    strcmpszDataDATA_MSG_TEST) == 0)
            return 
    GLE_LAUNCH_TEST;


        
    mlog"Serialkey error : 208\n");
        return 
    false;



  2. #2
    Apprentice fertonani is offline
    MemberRank
    Sep 2010 Join Date
    21Posts

    Re: how to enable serial key for 1.5 source

    First, you need know if is KOREA or BRAZIL mode publish.
    Eg:
    ZApplication found case MC_KOREA:
    case MC_KOREA:
    {
    // ÀÎÁõ Á¤º¸ ¼¼ÆÃ
    if( !ZGetLocale()->ParseArguments(pszArgs) )
    return false;

    // ¼­ºñ½º Á¾·ù¸¦ ¼³Á¤(ÇöÀç Å×½ºÆ®, ¸®¾ó ¼­ºñ½º µÎÁ¾·ù)
    if( ((ZNetmarbleAuthInfo*)(ZGetLocale()->GetAuthInfo()))->GetIsAlpha() )
    m_bLaunchTest = true;
    return true;
    }
    break;
    change to:
    case MC_KOREA:
    {
    // ¾ÏÈ£ ÄÚµå ±¸Çϱâ
    CGLEncription cEncription;
    int nMode = cEncription.Decription();

    // launch ¸ðµå
    if ( nMode == GLE_LAUNCH_INTERNATIONAL)
    {
    SetLaunchMode( ZLAUNCH_MODE_STANDALONE);
    ZGetLocale()->SetTeenMode(false);
    return true;
    }
    // launchdevelop ¸ðµå
    else if ( nMode == GLE_LAUNCH_DEVELOP)
    {
    SetLaunchMode( ZLAUNCH_MODE_STANDALONE_DEVELOP);
    m_bLaunchDevelop = true;
    ZGetLocale()->SetTeenMode(false);
    return true;
    }
    // Test ¸ðµå
    else if ( nMode == GLE_LAUNCH_TEST)
    {
    SetLaunchMode( ZLAUNCH_MODE_STANDALONE_DEVELOP);
    m_bLaunchDevelop = true;
    ZGetLocale()->SetTeenMode(false);
    m_bLaunchTest = true;
    return true;
    }
    }
    break;

  3. #3
    Proficient Member Desperate is offline
    MemberRank
    Dec 2011 Join Date
    Kyōto, JapanLocation
    162Posts

    Re: how to enable serial key for 1.5 source

    Thank you for sharing, it works very well

  4. #4
    I am THE DON Joe9099 is offline
    MemberRank
    Jan 2007 Join Date
    England, UkLocation
    3,655Posts

    Re: how to enable serial key for 1.5 source

    Do u not even look in the tutorial section...

  5. #5
    Proficient Member Desperate is offline
    MemberRank
    Dec 2011 Join Date
    Kyōto, JapanLocation
    162Posts

    Re: how to enable serial key for 1.5 source

    Sorry for not paying attention, I just started stepping into the realm of gunz and I need to learn many things from you

  6. #6
    I am THE DON Joe9099 is offline
    MemberRank
    Jan 2007 Join Date
    England, UkLocation
    3,655Posts

    Re: how to enable serial key for 1.5 source

    No problem, but i did post about it, just letting you know



Advertisement