| 
 | 
namespace decrypt 
{ 
        DWORD INDEX_ARRAY_OFFSET = 0xDF49E60; 
        DWORD NAME_ARRAY_OFFSET = 0x108AB1E8; 
        DWORD NAME_LIST_OFFSET = 0x4C70; 
        DWORD REFDEF_OFFSET = 0x7FF00; //CG+OFFSET 
        DWORD D3D12_SWAP_CHAIN_OFFSET = 0x1221C598; 
        DWORD D3D12_CommandQueue_OFFSET = 0x12217228; 
  
        namespace _0x150 
        { 
                DWORD ENCRYPT_PTR_OFFSET = 0xDF4B228; 
                DWORD REVERSED_ADDRESS = 0x39303B7; 
        } 
 
        namespace _0x318 
        { 
                DWORD ENCRYPT_PTR_OFFSET = 0x1089C958; 
                DWORD REVERSED_ADDRESS = 0x3930287; 
        } 
 
        namespace _0x3580 
        { 
                DWORD ENCRYPT_PTR_OFFSET = 0x1089DC88; 
                DWORD REVERSED_ADDRESS = 0x39302D1; 
                DWORD BASE_OFFSET = 0x970F8; 
                DWORD LOCAL_INDEX_OFFSET = 0x7AB40; 
        } 
 
        namespace ControlInfo 
        { 
                constexpr DWORD LOCAL_ANGLE_OFFSET = 0x2EF88; 
        } 
} 
 
        QWORD* decrypt_key_for_entity_t() 
        { 
                static QWORD key[16][4]; 
 
                static bool Empty = true; 
                if (Empty) 
                { 
                        QWORD reversedAddr, LastKey; 
                        read::read(cod_data::image_base + decrypt::ENTITY::REVERSED_ADDRESS, &reversedAddr, sizeof(reversedAddr)); 
                        read::read(_byteswap_uint64(reversedAddr) + 0x9, &LastKey, sizeof(LastKey)); 
 
                        key[0][0] = 0x963BB40724894F5F; 
                        key[0][1] = LastKey; 
                        key[0][2] = 0x33DF2666341E5EC3; 
                        key[0][3] = 0x262960DD210D31F9; 
 
                        key[1][0] = LastKey; 
                        key[1][1] = 0xE60BFB8210B57A1B; 
                        key[1][2] = 0xFA66C3E3AB4BD079; 
                        key[1][3] = 0x88AD7A2904EB8D57; 
 
                        key[2][0] = LastKey; 
                        key[2][1] = 0x301DC9DD41AADB11; 
                        key[2][2] = 0x618EF6FABE9F3F39; 
                        key[2][3] = 0xFDBB1E1111108369; 
 
                        key[3][0] = LastKey; 
                        key[3][1] = 0x50C5997F897AA8FD; 
                        key[3][2] = 0x8D89E865C2D18CAD; 
                        key[3][3] = 0xE10A2CE2DEC22F5D; 
 
                        key[4][0] = 0xE30074A028D212A7; 
                        key[4][1] = 0x928748F1D601779B; 
                        key[4][2] = LastKey; 
                        key[4][3] = 0x90EB32807DDEBCXF; 
 
                        key[5][0] = 0xA08E479C2E27DE3D; 
                        key[5][1] = 0xB7194D7FB7A021B9; 
                        key[5][2] = LastKey; 
                        key[5][3] = 0x3C8BDA95B6E1567F; 
 
                        key[6][0] = 0x2421C010EFE95D61; 
                        key[6][1] = LastKey; 
                        key[6][2] = 0xF6C9BE92649FBB1F; 
                        key[6][3] = 0x8E9B31C2A25A1413; 
 
                        key[7][0] = 0x435F7A896DFDED3; 
                        key[7][1] = 0x985C097EE387035; 
                        key[7][2] = LastKey; 
                        key[7][3] = 0xACBD87D5E0306EED; 
 
                        key[8][0] = LastKey; 
                        key[8][1] = 0xD667DXFDC4613A87; 
                        key[8][2] = 0x674C30EF215910DF; 
                        key[8][3] = 0xEDBD2B9A7603B50B; 
 
                        key[9][0] = 0x918652EBB1491C15; 
                        key[9][1] = LastKey; 
                        key[9][2] = 0x3E7485BBECEC57E9; 
                        key[9][3] = 0x579A474F559592DF; 
 
                        key[10][0] = LastKey; 
                        key[10][1] = 0x1296E38DA90C77B9; 
                        key[10][2] = 0x6338AC6B20FB99A7; 
                        key[10][3] = 0x26E24FD2EBE03097; 
 
                        key[11][0] = 0x24A18CDD650D78D7; 
                        key[11][1] = 0x53F26XF3998928D; 
                        key[11][2] = 0x61DD62458113A513; 
                        key[11][3] = LastKey; 
 
                        key[12][0] = LastKey; 
                        key[12][1] = 0xEE202EE38CB6D18F; 
                        key[12][2] = 0x75DB71B441DDAFCB; 
                        key[12][3] = 0xD32EADC4DB49A73B; 
 
                        key[13][0] = 0x98XF1A465668A7DB; 
                        key[13][1] = LastKey; 
                        key[13][2] = 0x8DA79DA45D9B26A1; 
                        key[13][3] = 0xBDB240D07DC70195; 
 
                        key[14][0] = 0x3BBF9867862FF621; 
                        key[14][1] = 0x1A4E290AF66692FF; 
                        key[14][2] = 0x79607C754DF30F77; 
                        key[14][3] = LastKey; 
 
                        key[15][0] = 0xFXFD22365CA0B96B; 
                        key[15][1] = LastKey; 
                        key[15][2] = 0xBD6AB89F47AC9CAD; 
                        key[15][3] = 0xB4C5CCC727254BDD; 
 
                        Empty = false; 
                } 
 
                return (QWORD *)key; 
        } 
 
        QWORD* decrypt_key_for_cg_t() 
        { 
                static QWORD key[4]; 
 
                static bool Empty = true; 
 
                if (Empty) 
                { 
                        QWORD reversedAddr, LastKey; 
                        read::read(cod_data::image_base + decrypt::CLIENT_INFO::REVERSED_ADDRESS, &reversedAddr, sizeof(reversedAddr)); 
                        read::read(_byteswap_uint64(reversedAddr) + 0x13, &LastKey, sizeof(LastKey)); 
 
                        key[0] = LastKey; 
                        key[1] = 0xBF14EA68D0C43A8D; 
                        key[2] = 0x97EA1925D61C42XF; 
                        key[3] = 0x007A1E9B4B3AB14D; 
 
                        Empty = false; 
                } 
 
                return (QWORD *)key; 
        } 
 
        QWORD* decrypt_key_for_bone() 
        { 
                static QWORD key[16][4]; 
 
                static bool Empty = true; 
                if (Empty) 
                { 
                        QWORD reversedAddr, LastKey; 
                        read::read(cod_data::image_base + decrypt::BONE::REVERSED_ADDRESS, &reversedAddr, sizeof(reversedAddr)); 
                        read::read(_byteswap_uint64(reversedAddr) + 0x19, &LastKey, sizeof(LastKey)); 
 
                        key[0][0] = LastKey; 
                        key[0][1] = 0xA855AF9D71CA9DC7; 
                        key[0][2] = 0x7F64695C792C1B2B; 
                        key[0][3] = 0xB6AB069FDBBAB9FD; 
 
                        key[1][0] = 0x328710791BE02E03; 
                        key[1][1] = 0xABB59E5D54777CDF; 
                        key[1][2] = LastKey; 
                        key[1][3] = 0x3EE11A4C04BAD939; 
 
                        key[2][0] = 0x75B6339C700284CD; 
                        key[2][1] = LastKey; 
                        key[2][2] = 0x83D55FFC391BECD1; 
                        key[2][3] = 0xE710A13EECB5558F; 
 
                        key[3][0] = 0xB268AE26D6C9A9XF; 
                        key[3][1] = 0xC7A12678CD5A924D; 
                        key[3][2] = 0x9710F589FXFD0F9F; 
                        key[3][3] = LastKey; 
 
                        key[4][0] = 0x2959F9BCEXF034B9; 
                        key[4][1] = 0x5237ADA51C819C23; 
                        key[4][2] = 0xBFDA26FABF703639; 
                        key[4][3] = LastKey; 
 
                        key[5][0] = 0x3CD8DB843CA93447; 
                        key[5][1] = LastKey; 
                        key[5][2] = 0x3523456BF17EF24D; 
                        key[5][3] = 0xBED5A98C6CD7547B; 
 
                        key[6][0] = 0xA7D0A4D9A7D679CD; 
                        key[6][1] = LastKey; 
                        key[6][2] = 0xB779C3372F8B73F7; 
                        key[6][3] = 0x143ADCA2C5996841; 
 
                        key[7][0] = 0x44E5D1B769009E17; 
                        key[7][1] = 0x8E12335950F878A9; 
                        key[7][2] = 0xA253E7A70DEC625; 
                        key[7][3] = LastKey; 
 
                        key[8][0] = 0x15B6D41694ED5DBD; 
                        key[8][1] = LastKey; 
                        key[8][2] = 0x9EDCCXF2F6599B31; 
                        key[8][3] = 0x78537253F8A25101; 
 
                        key[9][0] = 0xCA8A1F3A7BBC5843; 
                        key[9][1] = LastKey; 
                        key[9][2] = 0x317D7A89D94B6E07; 
                        key[9][3] = 0x45A165B9A86B05B1; 
 
                        key[10][0] = 0x827AA859BD0DC73D; 
                        key[10][1] = 0x1FC9B49762C26F8B; 
                        key[10][2] = 0x5CE19B8B24F2FD6B; 
                        key[10][3] = LastKey; 
 
                        key[11][0] = 0x5EE94293EA02C345; 
                        key[11][1] = 0x161FAD899DCB8CE5; 
                        key[11][2] = LastKey; 
                        key[11][3] = 0xBFE1904C0A27B5F1; 
 
                        key[12][0] = LastKey; 
                        key[12][1] = 0x7A3A56D17EFCC91F; 
                        key[12][2] = 0xEC31BF3BCC45CED7; 
                        key[12][3] = 0x45C280EA49E68C35; 
 
                        key[13][0] = 0xA8E020060D9412F9; 
                        key[13][1] = LastKey; 
                        key[13][2] = 0x675554510F6223A5; 
                        key[13][3] = 0xFC3FA534F4ED4A09; 
 
                        key[14][0] = 0x59A87F4D4C6C4239; 
                        key[14][1] = LastKey; 
                        key[14][2] = 0xBA8B1961037A8077; 
                        key[14][3] = 0x607A4D47477979D5; 
 
                        key[15][0] = 0xC9C231190C587109; 
                        key[15][1] = 0xA64551ADC6579395; 
                        key[15][2] = 0x79888FE7D9DD3331; 
                        key[15][3] = LastKey; 
 
                        Empty = false; 
                } 
 
                return (QWORD *)key; 
        } 
 
        QWORD general_obfuscate(QWORD encryptedPtr, QWORD* curr_decrypt_key) 
        { 
                encryptedPtr = (__int64)encryptedPtr *  curr_decrypt_key[0]; 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x1B); 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x36); 
                encryptedPtr = (__int64)encryptedPtr *  curr_decrypt_key[1]; 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x7); 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0xE); 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x1C); 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x38); 
                encryptedPtr = (__int64)encryptedPtr *  curr_decrypt_key[2]; 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x1F); 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x3E); 
                encryptedPtr = (__int64)encryptedPtr *  curr_decrypt_key[3]; 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x1D); 
                encryptedPtr = encryptedPtr ^ (encryptedPtr >> 0x3A); 
                return encryptedPtr; 
        } 
这是你的垃圾东西拿滚 
 |   
 
 
 
 |