how to enable serial key for NationalGunz 1.5

Results 1 to 2 of 2
  1. #1
    Enthusiast parkchanmin1 is offline
    MemberRank
    Nov 2012 Join Date
    25Posts

    how to enable serial key for NationalGunz 1.5

    Hi I am Korean.
    how to enable serial key for NationalGunz 1.5 help me!

    build : brz_release_publish

    CGLEncription.cpp
    PHP Code:
    /**********************************************************************
      GunZ Launcher Enctiption

       file : CGLEncription.cpp
       desc : 건즈 실행에 필요한 시리얼 키를 암호화 한다.
    ***********************************************************************/



    #include "stdafx.h"
    #include "CGLEncription.h"
    #include "MCrypt.h"
    #include <Mmsystem.h>
    #include <math.h>

    #define DATA_MSG_INTERNATIONAL        "123"
    #define DATA_MSG_LAUNCHDEV            "123"
    #define DATA_MSG_TEST                "123"



    // 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)
    {
        
    //Disable serial key
        
    return GLE_LAUNCH_INTERNATIONAL;

        
    unsigned char szSerialKeyMAX_BUF];
        
    memsetszSerialKey0MAX_BUF);


        
    // Read from clipboard
        
    if ( ! ::OpenClipboardNULL))
        {
            
    mlog"Serialkey error : 201\n");
            
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
            return 
    false;
        }

        if ( !
    IsClipboardFormatAvailableCF_GUNZLAUNCHER))
        {
            
    mlog"Serialkey error : 202\n");
            
    ShellExecute(NULL"Open""GunzLauncher.exe"NULLNULLSW_SHOWNORMAL);
            
    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");
            
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
            return 
    false;
        }

        
    DWORD dwLength;
        
    unsigned char szCryptSerialKeyMAX_BUF];
        if ( !
    cSeed.DecryptszSerialKeyszSerialKeyMAX_BUF 3], szCryptSerialKey, &dwLength))
        {
            
    mlog"Serialkey error : 204\n");
            
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
            return 
    false;
        }

        
    memcpyszSerialKeyszCryptSerialKeydwLength);



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

        if ( 
    byCRC != szSerialKeyMAX_BUF 2])
        {
            
    mlog"Serialkey error : 205\n");
            
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
            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");
            
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
            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");
            
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
            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");
        
    MessageBox(NULL"Please start from Launcher."NULLMB_OK MB_ICONERROR);
        return 
    false;

    CGLEncription.h
    PHP Code:
    /**********************************************************************
      GunZ Launcher Enctiption

       file : CGLEncription.h
       desc : 건즈 실행에 필요한 시리얼 키를 암호화 한다.
    ***********************************************************************/


    #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 


  2. #2
    Enthusiast nitroekb is offline
    MemberRank
    Jan 2012 Join Date
    34Posts

    Re: how to enable serial key for NationalGunz 1.5

    Change it
    Code:
         //Disable serial key 
        return GLE_LAUNCH_INTERNATIONAL;
    to this
    Code:
         //Disable serial key 
         //return GLE_LAUNCH_INTERNATIONAL;



Advertisement