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

Вопрос Как сделать носмоук без бана \ how to create legit nosmoke

nosmoke.cpp:
Expand Collapse Copy
void Run() {
    if (!Hooks::g_bNoSmokeEnabled.load()) return;

    __try {
        uintptr_t clientBase = Memory::GetModuleBase("client.dll");
        if (!clientBase) return;

        uintptr_t entityList = 0;
        if (!Memory::SafeRead(clientBase + cs2_dumper::offsets::client_dll::dwEntityList, entityList) ||
            !Memory::IsValidPtr(entityList)) return;

        for (int i = Constants::EntityList::MAX_PLAYERS + 1; i < Constants::EntityList::MAX_ENTITIES; i++) {
            uintptr_t listEntry = 0;
            if (!Memory::SafeRead(entityList + Constants::EntityList::OFFSET_BASE +
                                  sizeof(uintptr_t) * (i >> Constants::EntityList::ENTRY_SHIFT), listEntry) ||
                !Memory::IsValidPtr(listEntry)) continue;

            uintptr_t entity = 0;
            if (!Memory::SafeRead(listEntry + Constants::EntityList::ENTRY_SIZE * (i & Constants::EntityList::INDEX_MASK),
                                  entity) || !Memory::IsValidPtr(entity)) continue;

            uintptr_t entityIdentity = 0;
            if (!Memory::SafeRead(entity + Constants::Offsets::ENTITY_IDENTITY, entityIdentity) ||
                !Memory::IsValidPtr(entityIdentity)) continue;

            uintptr_t pDesignerName = 0;
            if (!Memory::SafeRead(entityIdentity + Constants::Offsets::DESIGNER_NAME_PTR, pDesignerName) ||
                !Memory::IsValidPtr(pDesignerName)) continue;

            char name[64] = { 0 };
            if (SafeReadString(pDesignerName, name, sizeof(name))) {
                if (strstr(name, "smokegrenade") || strstr(name, "Smoke")) {
                    Memory::SafeWrite<float>(
                        entity + cs2_dumper::schemas::client_dll::C_SmokeGrenadeProjectile::m_nSmokeEffectTickBegin,
                        0.0f
                    );
                }
            }
        }
    } __except (EXCEPTION_EXECUTE_HANDLER) {
    }
}
 
nosmoke.cpp:
Expand Collapse Copy
void Run() {
    if (!Hooks::g_bNoSmokeEnabled.load()) return;

    __try {
        uintptr_t clientBase = Memory::GetModuleBase("client.dll");
        if (!clientBase) return;

        uintptr_t entityList = 0;
        if (!Memory::SafeRead(clientBase + cs2_dumper::offsets::client_dll::dwEntityList, entityList) ||
            !Memory::IsValidPtr(entityList)) return;

        for (int i = Constants::EntityList::MAX_PLAYERS + 1; i < Constants::EntityList::MAX_ENTITIES; i++) {
            uintptr_t listEntry = 0;
            if (!Memory::SafeRead(entityList + Constants::EntityList::OFFSET_BASE +
                                  sizeof(uintptr_t) * (i >> Constants::EntityList::ENTRY_SHIFT), listEntry) ||
                !Memory::IsValidPtr(listEntry)) continue;

            uintptr_t entity = 0;
            if (!Memory::SafeRead(listEntry + Constants::EntityList::ENTRY_SIZE * (i & Constants::EntityList::INDEX_MASK),
                                  entity) || !Memory::IsValidPtr(entity)) continue;

            uintptr_t entityIdentity = 0;
            if (!Memory::SafeRead(entity + Constants::Offsets::ENTITY_IDENTITY, entityIdentity) ||
                !Memory::IsValidPtr(entityIdentity)) continue;

            uintptr_t pDesignerName = 0;
            if (!Memory::SafeRead(entityIdentity + Constants::Offsets::DESIGNER_NAME_PTR, pDesignerName) ||
                !Memory::IsValidPtr(pDesignerName)) continue;

            char name[64] = { 0 };
            if (SafeReadString(pDesignerName, name, sizeof(name))) {
                if (strstr(name, "smokegrenade") || strstr(name, "Smoke")) {
                    Memory::SafeWrite<float>(
                        entity + cs2_dumper::schemas::client_dll::C_SmokeGrenadeProjectile::m_nSmokeEffectTickBegin,
                        0.0f
                    );
                }
            }
        }
    } __except (EXCEPTION_EXECUTE_HANDLER) {
    }
}
а, т.е тут можно было сделать почти также как и с флешкой? нихуя
 
Назад
Сверху Снизу