чем они отличаются от фэйклагиов с индиго 17 года ?произошла групповая реверсация
не пишите что это говно и оно слито в паблик (да да оно там есть,но не фулл) ибо
во первых, мне делать было нечего, поэтому и сливаю их
во вторых, вроде полного реверса не было (если я не ошибаюсь) поэтому да
в третьих, реверсил чисто для получения опыта в ida
gl
Код:void __thiscall Fakelag(C_AimwareGlobals *this) { C_AimwareGlobals *Globals; // esi bool v2; // bl int v3; // ecx char ducked; // dl int v5; // edi float duck_amount; // xmm0_4 int v7; // ebp int v8; // eax int v9; // eax int v10; // ebx int fakelag_factor; // ecx int fakelag_type; // edi bool ChokeTicks; // sf unsigned __int8 ShouldChoke; // of signed int WishTicks; // edx signed int AdaptiveTicks; // ecx float UnitsPerTick; // xmm1_4 int v18; // edx int v19; // edx int v20; // edx Globals = this; v2 = this->unknown; if ( v2 ) *&this->m_bIsPeeking = 256; v3 = m_fFlags; ducked = 0; if ( msc_fakelag_unducking ) { v5 = Globals->m_pLocalPlayer; duck_amount = *((m_flDuckAmount ^ *(m_flDuckAmountHash ^ 0x54F12F43)) + v5); if ( duck_amount != 0.0 ) { if ( *(v5 + m_fFlags) & 1 ) { ducked = 1; if ( duck_amount == 1.0 ) return; } } } v7 = msc_fakelag_mode; if ( msc_fakelag_mode != 4 ) { if ( !msc_fakelag_standing ) { v8 = Globals->m_pLocalPlayer; if ( v8 ) { if ( *(v8 + m_fFlags) & 1 && (((Globals->PreviousVelocity.x * Globals->PreviousVelocity.x) + (Globals->PreviousVelocity.y * Globals->PreviousVelocity.y)) + (Globals->PreviousVelocity.z * Globals->PreviousVelocity.z)) < 1.0 && !ducked ) { return; } } } if ( v2 && rbot_active && rbot_silentaim == 3 && !msc_fakelag_attack && !ducked || Globals->end_pad[4] && Globals->gap_end[8] && !(*(m_fFlags + Globals->m_pLocalPlayer) & 1) ) { goto LABEL_81; } if ( rbot_active && rbot_antiaim_enable && rbot_antiaim_fakeland && Globals->gap_end[8] && !(*(m_fFlags + Globals->m_pLocalPlayer) & 1) )// FL_ONGROUND { Globals->ShouldChoked = 1; v7 = msc_fakelag_mode; } if ( msc_fakelag_style == 1 ) { v9 = Globals->m_pLocalPlayer; if ( v9 && *(v9 + v3) & 1 ) return; goto LABEL_34; } if ( msc_fakelag_style == 2 && Globals->gap_end[8] && !(*(v3 + Globals->m_pLocalPlayer) & 1) )// hit ground { LABEL_81: Globals->ShouldChoked = 0; return; } } LABEL_34: if ( msc_fakelag_enable ) { if ( msc_active ) { v10 = Globals->m_pLocalPlayer; if ( v10 ) { if ( Globals->WeaponType != WEAPONTYPE_MACHINEGUN && (!msc_fakelag_key[0] || KeyArray[msc_fakelag_key[0]] & 2) ) { fakelag_factor = (msc_fakelag_value + 0.5) - 1; if ( ducked ) fakelag_factor = 14; fakelag_type = 0; if ( !ducked ) fakelag_type = v7; if ( fakelag_type == 5 || *Globals[1].gap0 <= 0 ) { switch ( fakelag_type ) { case 0: goto StaticFakelag; case 1: if ( Globals->m_nCommandNumber % 30 >= 15 ) goto LABEL_79; StaticFakelag: ShouldChoke = __OFSUB__(Globals->ChokedCommands, fakelag_factor); ChokeTicks = Globals->ChokedCommands - fakelag_factor < 0; goto LABEL_48; case 2: WishTicks = 0; AdaptiveTicks = 2; UnitsPerTick = fsqrt( (*(v10 + m_vecVelocity_Offset) * *(v10 + m_vecVelocity_Offset)) + (*(v10 + m_vecVelocity_Offset + 4) * *(v10 + m_vecVelocity_Offset + 4))) * gpGlobals->interval_per_tick; while ( 2 ) { if ( (WishTicks * UnitsPerTick) > 68.0 ) goto LABEL_64; if ( ((AdaptiveTicks - 1) * UnitsPerTick) > 68.0 ) { ++WishTicks; LABEL_64: ShouldChoke = __OFSUB__(Globals->ChokedCommands, WishTicks); ChokeTicks = Globals->ChokedCommands - WishTicks < 0; } else if ( (AdaptiveTicks * UnitsPerTick) > 68.0 ) { v20 = WishTicks + 2; ShouldChoke = __OFSUB__(Globals->ChokedCommands, v20); ChokeTicks = Globals->ChokedCommands - v20 < 0; } else if ( ((AdaptiveTicks + 1) * UnitsPerTick) > 68.0 ) { v19 = WishTicks + 3; ShouldChoke = __OFSUB__(Globals->ChokedCommands, v19); ChokeTicks = Globals->ChokedCommands - v19 < 0; } else { if ( ((AdaptiveTicks + 2) * UnitsPerTick) <= 68.0 ) { AdaptiveTicks += 5; WishTicks += 5; if ( AdaptiveTicks > 16 ) { ShouldChoke = __OFSUB__(Globals->ChokedCommands, WishTicks); ChokeTicks = Globals->ChokedCommands - WishTicks < 0; break; } continue; } v18 = WishTicks + 4; ShouldChoke = __OFSUB__(Globals->ChokedCommands, v18); ChokeTicks = Globals->ChokedCommands - v18 < 0; } break; } LABEL_48: if ( ChokeTicks ^ ShouldChoke ) LABEL_49: Globals->ShouldChoked = 1; goto LABEL_79; case 3: if ( Globals->ChokedCommands < Globals->m_nLastRandomChokeTicks ) goto LABEL_49; g_pRandomNumber = 0x41C64E6D * g_pRandomNumber + 0x3039; Globals->m_nLastRandomChokeTicks = (g_pRandomNumber / 0x10000 & 0x7FFFui64) % 0xF; goto LABEL_79; case 4: case 5: if ( Globals->m_bIsPeeking ) { if ( Globals->ChokedCommands >= 14 ) { *&Globals->m_bIsPeeking = 256;// null all peek variables goto LABEL_79; } goto LABEL_74; } if ( !Autowall_Peek(Globals) ) { Globals->m_bLocalPenetratable = 0; goto LABEL_79; } if ( !Globals->m_bLocalPenetratable && (((Globals->m_vecVelocity.x * Globals->m_vecVelocity.x) + (Globals->m_vecVelocity.y * Globals->m_vecVelocity.y)) + (Globals->m_vecVelocity.z * Globals->m_vecVelocity.z)) > 100.0 ) { Globals->m_bIsPeeking = 1; LABEL_74: Globals->ShouldChoked = 1; if ( fakelag_type == 5 ) { if ( *Globals[1].gap0 >= 16 ) LOBYTE(Globals[1].m_PredictionVars) = 1; else Globals->m_RapidPeek = 1; } } LABEL_79: if ( !msc_fakelag_attack && Globals->Shooting ) goto LABEL_81; break; default: goto LABEL_79; } } } } } } } }
Код:void FakeLag::fakelag_recode(c_cs_player * local, c_user_cmd* cmd) { bool v2; // bl int v3; // ecx char ducked; // dl int v5; // edi float duck_amount; // xmm0_4 int v7; // ebp int v8; // eax int v9; // eax int v10; // ebx static int fakelag_factor; // ecx int fakelag_type; // edi bool ChokeTicks; // sf unsigned __int8 ShouldChoke; // of signed int WishTicks; // edx signed int AdaptiveTicks; // ecx float UnitsPerTick; // xmm1_4 int random; int v18; // edx int v19; // edx int v20; // edx int choke_amount; ducked = 0; if (&g_Options.fakelag.flagunducking) { duck_amount = pTarget->m_flDuckAmount(); if (duck_amount != 0.0) { if (local->GetFlags() & ON_GROUND) { ducked = 1; if ( duck_amount == 1.0 ) //отрыжка поляка return; } } } if (GetAsyncKeyState(&g_Options.misc.fakeduck)) { n_Globals->is_fakeducking = true; n_Globals->send_packet = g_pClientState->choked_commands >= 14; } else n_Globals->is_fakeducking = false; if (&g_Options.fakelag.enabled && !n_Globals->is_fakeducking) { if (local) { if (cmd->buttons & c_user_cmd::attack) n_Globals->send_packet = g_pClientState->choked_commands >= 1; fakelag_factor = (&g_Options.fakelag.factor + 0.5) - 1; if (ducked) fakelag_factor = 14; switch (&g_Options.fakelag.variation) { case 0: //factor choke_amount = &g_Options.fakelag.factor; break; case 1: // Switch if (cmd->command_number % 30 >= &g_Options.fakelag.factor ) choke_amount = (g_pClientState->choked_commands >= &g_Options.fakelag.factor ); break; case 2: // pAdaptive WishTicks = 0; AdaptiveTicks = 2; UnitsPerTick = local->GetVel().length2d() * g_pGlobalVars->interval_per_tick; if (((AdaptiveTicks - 1) * UnitsPerTick) > 68.0) { ++WishTicks; if ((WishTicks * UnitsPerTick) > 68.0) choke_amount = WishTicks; } else if ((AdaptiveTicks * UnitsPerTick) > 68.0) { v20 = WishTicks + 2; choke_amount = v20; choke_amount = g_pClientState->choked_commands >= v20; } else if (((AdaptiveTicks + 1) * UnitsPerTick) > 68.0) { v19 = WishTicks + 3; choke_amount = v19; choke_amount = g_pClientState->choked_commands >= v19; } else { if (((AdaptiveTicks + 2) * UnitsPerTick) <= 68.0) { AdaptiveTicks += 5; WishTicks += 5; if (AdaptiveTicks > 16) { choke_amount = WishTicks; break; } } v18 = WishTicks + 4; choke_amount = g_pClientState->choked_commands >= v18; } break; case 3: // Random choke_amount = g_pClientState->choked_commands >= math::random_float(1,14); break; } } const auto shot_last_tick = n_Globals->shot_cmd <= cmd->command_number && n_Globals->shot_cmd > cmd->command_number - g_pClientState>choked_commands; n_Globals->send_packet = g_pClientState->choked_commands >= choke_amount || (!n_Globals->is_fakeducking && shot_last_tick); } }
credits: rijndael (reverse), therich (help)
бывшим юзерам в4 ку, остальным соболезную, фейклаги хуй знает какого года, прост дамп нашёл и заревёрсил с другом
пастерам думаю пойдёт
вообще я считаю они не совсем плохие, но я хзчем они отличаются от фэйклагиов с индиго 17 года ?
вроде бы с фейклагами в4 есть только две эти темы на югеОни в паблике уже очень давно
И кстати сами адаптивы не сильно так и поменялись...
p.s new aimware dump Посмотреть вложение 85468
Посмотреть вложение 85467
А слил ты то что уже было в паблике и во всяких пастах
Ну я тебе и про них( там еще дохуя тем )вроде бы с фейклагами в4 есть только две эти темы на юге
ни в одной из них нет фулл реверс кода и всех видов фейклагов
ты вызывал фейклаги имеешь ввиду до старта предикшена? если я правильно тебя понял, то это неправильно, они вроде после старта предикшена вызываютсяНу я тебе и про них( там еще дохуя тем )
И в пастах этих псевдо адаптивов не мало тот же моне0н взять они там с момента его создания.
А еще тебе надо было подчеркнуть тот факт что крутой предикшен ломает эти самые адаптивы и аимвар ( если это в4 и я не путаю ) вызывал их до старта предикшена
Я вызываю их не так, у аимвара именно в4 был прикол с lastpredictedcommandnumber (я скрин выше кидал)ты вызывал фейклаги имеешь ввиду до старта предикшена? если я правильно тебя понял, то это неправильно, они вроде после старта предикшена вызываются
Ну это уже фиксед,о чем я и писалupd: polak boss, реализация этих фейклагов ломает ещё и десинк btw
yea bro, but, random, factor and switch were notThe adaptive has been public since years.
everyone knew how to do them.yea bro, but, random, factor and switch were not
сулочку в студию на скачкуОни в паблике уже очень давно
И кстати сами адаптивы не сильно так и поменялись...
p.s new aimware dump Посмотреть вложение 85468
Посмотреть вложение 85467
А слил ты то что уже было в паблике и во всяких пастах
скинь мне....Full reversed ав есть уже почти у всех похоже
Посмотреть вложение 85802
#define MAX_LAG_AMOUNT 14
case FakeLagTypes_t::ADAPTIVE:
Vector3D m_vecVecOrigin = g_pLocalPlayer->GetVecOrigin();
if ( ((((m_vecVecOrigin.y - 3519.38f) * (m_vecVecOrigin.y - 3519.38f)) + ((m_vecVecOrigin.x - ???) * (m_vecVecOrigin.x - ???))) + ((m_vecVecOrigin.z - 0.03125f) * (m_vecVecOrigin.z - 0.03125f))) > 4096 && !m_fLagData->m_bisLanding )
{
lagdata->m_bChoke = true;
}
m_iChokeAmount = Clamp(g_pSettings.FakeLag.Factor, 0, MAX_LAG_AMOUNT);
break;
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz