Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Гайд Rust Decrypt v2621 (21958632)

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Апр 2025
Сообщения
59
Реакции
1
Мои декрипты на v2621 (21958632)
Оффсеты можете не просить, любой даун их найдет.

C++:
Expand Collapse Copy
namespace decryptions {
    inline uint64_t Il2cppGetHandle(int32_t ObjectHandleID) {
        uint64_t index = ObjectHandleID >> 3;
        uint64_t offset = (ObjectHandleID & 7) - 1;
        uint64_t baseAddr = globals::game_assembly + offsets::Il2cppHandle + offset * 0x28;
        uint32_t limit = m.read<uint32_t>(baseAddr + 0x10);

        if (index >= limit) return 0;

        uintptr_t objAddr = m.read<uintptr_t>(baseAddr);
        if (!objAddr) return 0;

        uint32_t bitMask = m.read<uint32_t>(objAddr + ((index >> 5) << 2));
        if (!(bitMask & (1 << (index & 0x1f)))) return 0;

        uintptr_t ObjectArray = m.read<uintptr_t>(baseAddr + 0x8) + (index << 3);
        return m.read<uint8_t>(baseAddr + 0x14) > 1 ? m.read<uintptr_t>(ObjectArray) : static_cast<uint64_t>(static_cast<uint32_t>(~m.read<uint32_t>(ObjectArray)));
    }

    // Decrypt client entities (first key)
    inline uint64_t decrypt_client_entities(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint32_t r8d = 0, eax = 0, ecx = 0;
        uintptr_t rax = m.read<uintptr_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uintptr_t* rdx = &rax;
        r8d = 0x02;
        do {
            ecx = *(uint32_t*)(rdx);
            rdx = (uintptr_t*)((char*)rdx + 0x04);
            ecx += 0x2B1979B2;
            ecx ^= 0xDB4EE95A;
            eax = ecx;
            ecx <<= 0x14;
            eax >>= 0x0C;
            eax |= ecx;
            *((uint32_t*)rdx - 1) = eax;
            r8d -= 0x01;
        } while (r8d);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }

    // Decrypt entity list (second key)
    inline uint64_t decrypt_entity_list(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint32_t r8d = 0, eax = 0, ecx = 0;
        uintptr_t rax = m.read<uintptr_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uintptr_t* rdx = &rax;
        r8d = 0x02;
        do {
            ecx = *(uint32_t*)(rdx);
            eax = *(uint32_t*)(rdx);
            rdx = (uintptr_t*)((char*)rdx + 0x04);
            eax <<= 0x05;
            ecx >>= 0x1B;
            ecx |= eax;
            ecx += 0x98CEA3D;
            eax = ecx;
            ecx <<= 0x0E;
            eax >>= 0x12;
            eax |= ecx;
            eax += 0x2F0E9DEE;
            *((uint32_t*)rdx - 1) = eax;
            r8d -= 0x01;
        } while (r8d);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }

    // Decrypt player inventory (working version)
    inline uint64_t decrypt_player_inventory(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint64_t rax = m.read<uint64_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uint32_t* ptr = (uint32_t*)&rax;
        int counter = 2;
        do {
            uint32_t val = *ptr;
            val = ((val ^ 0x2712E737) - 0x7173C5AC) ^ 0x5EC0AE19;
            val -= 0x1916B3A4;
            *ptr = val;
            ++ptr;
            --counter;
        } while (counter);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }

    // Decrypt clActiveItem (ulong key)
    inline uint64_t decrypt_cl_active_item(uint64_t a1) {
        if (!a1 || a1 < 0x1000) return 0;

        uint64_t result = a1;
        uint32_t* ptr = (uint32_t*)&result;
        int counter = 2;
        do {
            uint32_t val = *ptr;
            val += 0xC5BDE933;
            val = (val >> 0x08) | (val << 0x18);
            val += 0x05959A37;
            *ptr = val;
            ++ptr;
            --counter;
        } while (counter);

        return result;
    }

    // Decrypt player eyes (if needed)
    inline uint64_t decrypt_player_eyes(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint32_t r8d = 0, eax = 0, ecx = 0;
        uintptr_t rax = m.read<uintptr_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uintptr_t* rdx = &rax;
        r8d = 0x02;
        do {
            ecx = *(uint32_t*)(rdx);
            eax = *(uint32_t*)(rdx);
            rdx = (uintptr_t*)((char*)rdx + 0x04);
            ecx >>= 0x04;
            eax <<= 0x1C;
            ecx |= eax;
            ecx -= 0x2ADDD303;
            ecx ^= 0x749ED3AD;
            eax = ecx;
            ecx <<= 0x10;
            eax >>= 0x10;
            eax |= ecx;
            *((uint32_t*)rdx - 1) = eax;
            r8d -= 0x01;
        } while (r8d);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }
}

#endif
 
Мои декрипты на v2621 (21958632)
Оффсеты можете не просить, любой даун их найдет.

C++:
Expand Collapse Copy
namespace decryptions {
    inline uint64_t Il2cppGetHandle(int32_t ObjectHandleID) {
        uint64_t index = ObjectHandleID >> 3;
        uint64_t offset = (ObjectHandleID & 7) - 1;
        uint64_t baseAddr = globals::game_assembly + offsets::Il2cppHandle + offset * 0x28;
        uint32_t limit = m.read<uint32_t>(baseAddr + 0x10);

        if (index >= limit) return 0;

        uintptr_t objAddr = m.read<uintptr_t>(baseAddr);
        if (!objAddr) return 0;

        uint32_t bitMask = m.read<uint32_t>(objAddr + ((index >> 5) << 2));
        if (!(bitMask & (1 << (index & 0x1f)))) return 0;

        uintptr_t ObjectArray = m.read<uintptr_t>(baseAddr + 0x8) + (index << 3);
        return m.read<uint8_t>(baseAddr + 0x14) > 1 ? m.read<uintptr_t>(ObjectArray) : static_cast<uint64_t>(static_cast<uint32_t>(~m.read<uint32_t>(ObjectArray)));
    }

    // Decrypt client entities (first key)
    inline uint64_t decrypt_client_entities(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint32_t r8d = 0, eax = 0, ecx = 0;
        uintptr_t rax = m.read<uintptr_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uintptr_t* rdx = &rax;
        r8d = 0x02;
        do {
            ecx = *(uint32_t*)(rdx);
            rdx = (uintptr_t*)((char*)rdx + 0x04);
            ecx += 0x2B1979B2;
            ecx ^= 0xDB4EE95A;
            eax = ecx;
            ecx <<= 0x14;
            eax >>= 0x0C;
            eax |= ecx;
            *((uint32_t*)rdx - 1) = eax;
            r8d -= 0x01;
        } while (r8d);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }

    // Decrypt entity list (second key)
    inline uint64_t decrypt_entity_list(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint32_t r8d = 0, eax = 0, ecx = 0;
        uintptr_t rax = m.read<uintptr_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uintptr_t* rdx = &rax;
        r8d = 0x02;
        do {
            ecx = *(uint32_t*)(rdx);
            eax = *(uint32_t*)(rdx);
            rdx = (uintptr_t*)((char*)rdx + 0x04);
            eax <<= 0x05;
            ecx >>= 0x1B;
            ecx |= eax;
            ecx += 0x98CEA3D;
            eax = ecx;
            ecx <<= 0x0E;
            eax >>= 0x12;
            eax |= ecx;
            eax += 0x2F0E9DEE;
            *((uint32_t*)rdx - 1) = eax;
            r8d -= 0x01;
        } while (r8d);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }

    // Decrypt player inventory (working version)
    inline uint64_t decrypt_player_inventory(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint64_t rax = m.read<uint64_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uint32_t* ptr = (uint32_t*)&rax;
        int counter = 2;
        do {
            uint32_t val = *ptr;
            val = ((val ^ 0x2712E737) - 0x7173C5AC) ^ 0x5EC0AE19;
            val -= 0x1916B3A4;
            *ptr = val;
            ++ptr;
            --counter;
        } while (counter);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }

    // Decrypt clActiveItem (ulong key)
    inline uint64_t decrypt_cl_active_item(uint64_t a1) {
        if (!a1 || a1 < 0x1000) return 0;

        uint64_t result = a1;
        uint32_t* ptr = (uint32_t*)&result;
        int counter = 2;
        do {
            uint32_t val = *ptr;
            val += 0xC5BDE933;
            val = (val >> 0x08) | (val << 0x18);
            val += 0x05959A37;
            *ptr = val;
            ++ptr;
            --counter;
        } while (counter);

        return result;
    }

    // Decrypt player eyes (if needed)
    inline uint64_t decrypt_player_eyes(uint64_t a1) {
        if (!a1 || a1 < 0x10000) return 0;

        uint32_t r8d = 0, eax = 0, ecx = 0;
        uintptr_t rax = m.read<uintptr_t>(a1 + 0x18);
        if (!rax || rax < 0x10000) return 0;

        uintptr_t* rdx = &rax;
        r8d = 0x02;
        do {
            ecx = *(uint32_t*)(rdx);
            eax = *(uint32_t*)(rdx);
            rdx = (uintptr_t*)((char*)rdx + 0x04);
            ecx >>= 0x04;
            eax <<= 0x1C;
            ecx |= eax;
            ecx -= 0x2ADDD303;
            ecx ^= 0x749ED3AD;
            eax = ecx;
            ecx <<= 0x10;
            eax >>= 0x10;
            eax |= ecx;
            *((uint32_t*)rdx - 1) = eax;
            r8d -= 0x01;
        } while (r8d);

        return Il2cppGetHandle(static_cast<int32_t>(rax));
    }
}

#endif
так это не твои декрипты лол
 
так это не твои декрипты лол
дай любые пруфы, на юс аккаунт мой. На в нулл синтаксе тоже я тему создал. И я решил еще на юг залить.
Додик
напиши мне в дс, я тебе рек покажу как я именно эти декприпты и искал
 
дай любые пруфы, на юс аккаунт мой. На в нулл синтаксе тоже я тему создал. И я решил еще на юг залить.
Додик
напиши мне в дс, я тебе рек покажу как я именно эти декприпты и искал
по твоему ты это еушник из лондона?
 
дай любые пруфы, на юс аккаунт мой. На в нулл синтаксе тоже я тему создал. И я решил еще на юг залить.
Додик
напиши мне в дс, я тебе рек покажу как я именно эти декприпты и искал
эт дампером делалось, что ты там искал
 
по твоему ты это еушник из лондона?
так ты мне в дс напишешь ? тип из лондона возможно мое сообщения и перезалил ты этого не упускай, но на юц в главной теме эти декрипты и я выкладывал
 
так ты мне в дс напишешь ? тип из лондона возможно мое сообщения и перезалил ты этого не упускай, но на юц в главной теме эти декрипты и я выкладывал
зачем мне тебе в дс писать?
 
ну тогда и рот закрой, сказал что я сам их нашел, значит так. нужны пруфы пиши мне в дс и не пизди хуйни на форум
ты че додик? Зачем мне с тобой в дискорд идти, ты только в дискорде можешь пруфы показать или что?
 
ты че додик? Зачем мне с тобой в дискорд идти, ты только в дискорде можешь пруфы показать или что?
Ты видимо вообще не в тухаешь что я тебе хочу демку врубить, показать проекты, и мои сообщения
У тебя процентов 80% сообщений это сообщения в разделе Майнкрафта. Ди нахуй
так ты темы посмотри, у меня нету говно сурсов )
 
я тебя понял, ну если чето нужно будет пиши в дискорд,
Дурочка :summyrose:
даже в ебаном юц такие как ты не сидят, хотя уже понятно что этому форуму пизда, и тут типы сидят которые будут доебывать любой вещью либо ошибкой которую ты совершил.

Декрипты мои, если что.
нет это мои декрипты
Дурочка
 
я тебя понял, ну если чето нужно будет пиши в дискорд,
Дурочка :summyrose:
даже в ебаном юц такие как ты не сидят, хотя уже понятно что этому форуму пизда, и тут типы сидят которые будут доебывать любой вещью либо ошибкой которую ты совершил.

Декрипты мои, если что.
красаучик, зачем ты пишешь, что ты сам сидел искал эти декрипты, если они дампером сгенерированы
красаучик, зачем ты пишешь, что ты сам сидел искал эти декрипты, если они дампером сгенерированы
лучше бы тогда уж дампер работягам залил
 
Последнее редактирование:
Назад
Сверху Снизу