main cpp search - hooks::clientmode_hook->hook_function(reinterpret_cast<uintptr_t>(hooks::hooked_createmove), 24);
change 24 to 22 hooks::client_hook->hook_function(reinterpret_cast<uintptr_t>(hooks::hooked_createmove), 22); //-V107 //-V221
Пожалуйста, авторизуйтесь для просмотра ссылки.
hooked_createmove.cpp
hooks.cppC++:// This is an independent project of an individual developer. Dear PVS-Studio, please check it. // PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com #include "..\hooks.hpp" #include "..\..\cheats\ragebot\antiaim.h" #include "..\..\cheats\visuals\other_esp.h" #include "..\..\cheats\misc\fakelag.h" #include "..\..\cheats\misc\prediction_system.h" #include "..\..\cheats\ragebot\aim.h" #include "..\..\cheats\legitbot\legitbot.h" #include "..\..\cheats\misc\bunnyhop.h" #include "..\..\cheats\misc\airstrafe.h" #include "..\..\cheats\misc\spammers.h" #include "..\..\cheats\fakewalk\slowwalk.h" #include "..\..\cheats\misc\misc.h" #include "..\..\cheats\misc\logs.h" #include "..\..\cheats\visuals\GrenadePrediction.h" #include "..\..\cheats\ragebot\knifebot.h" #include "..\..\cheats\ragebot\zeusbot.h" #include "..\..\cheats\lagcompensation\local_animations.h" #include "..\..\cheats\lagcompensation\animation_system.h" using CreateMove_t = void(__thiscall*)(IBaseClientDLL*, int, float, bool); bool SetupPacket(int sequence_number, bool* pbSendPacket) { CUserCmd* m_pcmd = m_input()->GetUserCmd(sequence_number); if (!m_pcmd || !m_pcmd->m_command_number) return false; if (!g_ctx.local()->is_alive()) return false; g_ctx.send_packet = pbSendPacket; return true;// ;))))) } void __stdcall hooks::hooked_createmove(int sequence_number, float input_sample_frametime, bool active, bool& bSendPacket) { static auto original_fn = hooks::client_hook->get_func_address <CreateMove_t>(22); original_fn(m_client(), sequence_number, input_sample_frametime, active); g_ctx.local((player_t*)m_entitylist()->GetClientEntity(m_engine()->GetLocalPlayer()), true); CUserCmd* m_pcmd = m_input()->GetUserCmd(sequence_number); CVerifiedUserCmd* verified = m_input()->GetVerifiedUserCmd(sequence_number); g_ctx.globals.in_createmove = false; if (!verified || !SetupPacket(sequence_number, &bSendPacket)) return original_fn(m_client(), sequence_number, input_sample_frametime, active); //if (!m_pcmd->m_command_number) //return; //original_fn(m_client(), sequence_number, input_sample_frametime, active); //if (!verified) //return; //original_fn(m_client(), sequence_number, input_sample_frametime, active); //bool original_result = original_fn(m_client(), sequence_number, input_sample_frametime, active); if (original_fn) { m_prediction()->SetLocalViewAngles(m_pcmd->m_viewangles); m_engine()->SetViewAngles(m_pcmd->m_viewangles); } if (!g_ctx.available()) return; //original_fn(m_client(), sequence_number, input_sample_frametime, active); misc::get().rank_reveal(); spammers::get().clan_tag(); if (!g_ctx.local()->is_alive()) //-V807 return; //original_fn(m_client(), sequence_number, input_sample_frametime, active); uintptr_t* frame_ptr; __asm mov frame_ptr, ebp; g_ctx.globals.weapon = g_ctx.local()->m_hActiveWeapon().Get(); if (!g_ctx.globals.weapon) return; //original_fn(m_client(), sequence_number, input_sample_frametime, active); g_ctx.globals.in_createmove = true; g_ctx.set_command(m_pcmd); if (hooks::menu_open && g_ctx.globals.focused_on_input) { m_pcmd->m_buttons = 0; m_pcmd->m_forwardmove = 0.0f; m_pcmd->m_sidemove = 0.0f; m_pcmd->m_upmove = 0.0f; } if (g_ctx.globals.ticks_allowed < 16 && (misc::get().double_tap_enabled && misc::get().double_tap_key || misc::get().hide_shots_enabled && misc::get().hide_shots_key)) g_ctx.globals.should_recharge = true; g_ctx.globals.backup_tickbase = g_ctx.local()->m_nTickBase(); if (g_ctx.globals.next_tickbase_shift) g_ctx.globals.fixed_tickbase = g_ctx.local()->m_nTickBase() - g_ctx.globals.next_tickbase_shift; else g_ctx.globals.fixed_tickbase = g_ctx.globals.backup_tickbase; if (hooks::menu_open) { m_pcmd->m_buttons &= ~IN_ATTACK; m_pcmd->m_buttons &= ~IN_ATTACK2; } if (m_pcmd->m_buttons & IN_ATTACK2 && g_cfg.ragebot.enable && g_ctx.globals.weapon->m_iItemDefinitionIndex() == WEAPON_REVOLVER) m_pcmd->m_buttons &= ~IN_ATTACK2; if (g_cfg.ragebot.enable && !g_ctx.globals.weapon->can_fire(true)) { if (m_pcmd->m_buttons & IN_ATTACK && !g_ctx.globals.weapon->is_non_aim() && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER) m_pcmd->m_buttons &= ~IN_ATTACK; else if ((m_pcmd->m_buttons & IN_ATTACK || m_pcmd->m_buttons & IN_ATTACK2) && (g_ctx.globals.weapon->is_knife() || g_ctx.globals.weapon->m_iItemDefinitionIndex() == WEAPON_REVOLVER) && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_HEALTHSHOT) { if (m_pcmd->m_buttons & IN_ATTACK) m_pcmd->m_buttons &= ~IN_ATTACK; if (m_pcmd->m_buttons & IN_ATTACK2) m_pcmd->m_buttons &= ~IN_ATTACK2; } } if (m_pcmd->m_buttons & IN_FORWARD && m_pcmd->m_buttons & IN_BACK) { m_pcmd->m_buttons &= ~IN_FORWARD; m_pcmd->m_buttons &= ~IN_BACK; } if (m_pcmd->m_buttons & IN_MOVELEFT && m_pcmd->m_buttons & IN_MOVERIGHT) { m_pcmd->m_buttons &= ~IN_MOVELEFT; m_pcmd->m_buttons &= ~IN_MOVERIGHT; } bSendPacket = true; //g_ctx.send_packet = true; g_ctx.globals.tickbase_shift = 0; g_ctx.globals.double_tap_fire = false; g_ctx.globals.force_send_packet = false; g_ctx.globals.exploits = misc::get().double_tap_key || misc::get().hide_shots_key; g_ctx.globals.current_weapon = g_ctx.globals.weapon->get_weapon_group(g_cfg.ragebot.enable); g_ctx.globals.slowwalking = false; g_ctx.globals.original_forwardmove = m_pcmd->m_forwardmove; g_ctx.globals.original_sidemove = m_pcmd->m_sidemove; antiaim::get().breaking_lby = false; auto wish_angle = m_pcmd->m_viewangles; misc::get().fast_stop(m_pcmd); if (g_cfg.misc.bunnyhop) bunnyhop::get().create_move(); misc::get().SlideWalk(m_pcmd); misc::get().NoDuck(m_pcmd); GrenadePrediction::get().Tick(m_pcmd->m_buttons); if (g_cfg.misc.crouch_in_air && !(g_ctx.local()->m_fFlags() & FL_ONGROUND)) m_pcmd->m_buttons |= IN_DUCK; engineprediction::get().prediction_data.reset(); //-V807 engineprediction::get().setup(); engineprediction::get().predict(m_pcmd); //local_animations::get().update_prediction_animations(); g_ctx.globals.eye_pos = g_ctx.local()->get_shoot_position(); if (g_cfg.misc.airstrafe) airstrafe::get().create_move(m_pcmd); if (key_binds::get().get_key_bind_state(19) && engineprediction::get().backup_data.flags & FL_ONGROUND && !(g_ctx.local()->m_fFlags() & FL_ONGROUND)) //-V807 m_pcmd->m_buttons |= IN_JUMP; if (key_binds::get().get_key_bind_state(21)) slowwalk::get().create_move(m_pcmd); if (!g_ctx.globals.should_recharge) fakelag::get().Createmove(); g_ctx.globals.aimbot_working = false; g_ctx.globals.revolver_working = false; auto backup_velocity = g_ctx.local()->m_vecVelocity(); auto backup_abs_velocity = g_ctx.local()->m_vecAbsVelocity(); g_ctx.local()->m_vecVelocity() = engineprediction::get().backup_data.velocity; g_ctx.local()->m_vecAbsVelocity() = engineprediction::get().backup_data.velocity; g_ctx.local()->m_vecVelocity() = backup_velocity; g_ctx.local()->m_vecAbsVelocity() = backup_abs_velocity; //aim::get().run(m_pcmd); legit_bot::get().createmove(m_pcmd); if (g_cfg.ragebot.enable) { aim::get().run(m_pcmd); zeusbot::get().run(m_pcmd); knifebot::get().run(m_pcmd); } misc::get().automatic_peek(m_pcmd, wish_angle.y); antiaim::get().desync_angle = 0.0f; antiaim::get().create_move(m_pcmd); //g_ctx.send_packet = bSendPacket; if (m_gamerules()->m_bIsValveDS() && m_clientstate()->iChokedCommands >= 6) //-V648 { bSendPacket = true; fakelag::get().started_peeking = false; } else if (!m_gamerules()->m_bIsValveDS() && m_clientstate()->iChokedCommands >= 16) //-V648 { bSendPacket = true; fakelag::get().started_peeking = false; } if (g_ctx.globals.should_send_packet) { g_ctx.globals.force_send_packet = true; bSendPacket = true; fakelag::get().started_peeking = false; } if (g_ctx.globals.should_choke_packet) { g_ctx.globals.should_choke_packet = false; g_ctx.globals.should_send_packet = true; bSendPacket = false; } if (!g_ctx.globals.weapon->is_non_aim()) { auto double_tap_aim_check = false; if (m_pcmd->m_buttons & IN_ATTACK && g_ctx.globals.double_tap_aim_check) { double_tap_aim_check = true; g_ctx.globals.double_tap_aim_check = false; } auto revolver_shoot = g_ctx.globals.weapon->m_iItemDefinitionIndex() == WEAPON_REVOLVER && !g_ctx.globals.revolver_working && (m_pcmd->m_buttons & IN_ATTACK || m_pcmd->m_buttons & IN_ATTACK2); if (m_pcmd->m_buttons & IN_ATTACK && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER || revolver_shoot) { if (!g_ctx.globals.fakeducking) { g_ctx.globals.force_send_packet = true; g_ctx.globals.should_choke_packet = true; bSendPacket = true; fakelag::get().started_peeking = false; } aim::get().last_shoot_position = g_ctx.globals.eye_pos; if (!double_tap_aim_check) g_ctx.globals.double_tap_aim = false; } } else if (!g_ctx.globals.fakeducking && g_ctx.globals.weapon->is_knife() && (m_pcmd->m_buttons & IN_ATTACK || m_pcmd->m_buttons & IN_ATTACK2)) { g_ctx.globals.force_send_packet = true; g_ctx.globals.should_choke_packet = true; bSendPacket = true; fakelag::get().started_peeking = false; } if (g_ctx.globals.fakeducking) g_ctx.globals.force_send_packet = bSendPacket; for (auto& backup : aim::get().backup) backup.adjust_player(); auto backup_ticks_allowed = g_ctx.globals.ticks_allowed; if (misc::get().double_tap(m_pcmd)) misc::get().hide_shots(m_pcmd, false); else { g_ctx.globals.ticks_allowed = backup_ticks_allowed; misc::get().hide_shots(m_pcmd, true); } if (!g_ctx.globals.weapon->is_non_aim()) { auto double_tap_aim_check = false; if (m_pcmd->m_buttons & IN_ATTACK && g_ctx.globals.double_tap_aim_check) { double_tap_aim_check = true; g_ctx.globals.double_tap_aim_check = false; } auto revolver_shoot = g_ctx.globals.weapon->m_iItemDefinitionIndex() == WEAPON_REVOLVER && !g_ctx.globals.revolver_working && (m_pcmd->m_buttons & IN_ATTACK || m_pcmd->m_buttons & IN_ATTACK2); if (!double_tap_aim_check && m_pcmd->m_buttons & IN_ATTACK && g_ctx.globals.weapon->m_iItemDefinitionIndex() != WEAPON_REVOLVER || revolver_shoot) g_ctx.globals.double_tap_aim = false; } if (m_globals()->m_tickcount - g_ctx.globals.last_aimbot_shot > 16) //-V807 { g_ctx.globals.double_tap_aim = false; g_ctx.globals.double_tap_aim_check = false; } //g_ctx.send_packet = bSendPacket; engineprediction::get().finish(); if (g_ctx.globals.loaded_script) for (auto current : c_lua::get().hooks.getHooks(crypt_str("on_createmove"))) current.func(); if (g_cfg.misc.anti_untrusted) math::normalize_angles(m_pcmd->m_viewangles); else { m_pcmd->m_viewangles.y = math::normalize_yaw(m_pcmd->m_viewangles.y); m_pcmd->m_viewangles.z = 0.0f; } util::movement_fix(wish_angle, m_pcmd); if (g_ctx.globals.should_recharge) bSendPacket = true; if (!bSendPacket) g_ctx.globals.should_update_netchannel = false; static auto previous_ticks_allowed = g_ctx.globals.ticks_allowed; if (g_ctx.globals.ticks_allowed > 17) g_ctx.globals.ticks_allowed = math::clamp(g_ctx.globals.ticks_allowed - 1, 0, 17); if (previous_ticks_allowed && !g_ctx.globals.ticks_allowed) g_ctx.globals.ticks_choke = 16; previous_ticks_allowed = g_ctx.globals.ticks_allowed; if (g_ctx.globals.ticks_choke) { bSendPacket = g_ctx.globals.force_send_packet; --g_ctx.globals.ticks_choke; } auto& correct = g_ctx.globals.data.emplace_front(); correct.command_number = m_pcmd->m_command_number; correct.choked_commands = m_clientstate()->iChokedCommands + 1; correct.tickcount = m_globals()->m_tickcount; if (bSendPacket) g_ctx.globals.choked_number.clear(); else g_ctx.globals.choked_number.emplace_back(correct.command_number); while (g_ctx.globals.data.size() > (int)(2.0f / m_globals()->m_intervalpertick)) g_ctx.globals.data.pop_back(); auto& out = g_ctx.globals.commands.emplace_back(); out.is_outgoing = bSendPacket; out.is_used = false; out.command_number = m_pcmd->m_command_number; out.previous_command_number = 0; while (g_ctx.globals.commands.size() > (int)(1.0f / m_globals()->m_intervalpertick)) g_ctx.globals.commands.pop_front(); /*if (!bSendPacket && !m_gamerules()->m_bIsValveDS()) { auto net_channel = m_clientstate()->pNetChannel; if (net_channel->m_nChokedPackets > 0 && !(net_channel->m_nChokedPackets % 4)) { auto backup_choke = net_channel->m_nChokedPackets; net_channel->m_nChokedPackets = 0; net_channel->send_datagram(); --net_channel->m_nOutSequenceNr; net_channel->m_nChokedPackets = backup_choke; } }*/ if (bSendPacket && !g_ctx.globals.should_send_packet && (!g_ctx.globals.should_choke_packet || (!misc::get().hide_shots_enabled && !g_ctx.globals.double_tap_fire))) { local_animations::get().local_data.fake_angles = m_pcmd->m_viewangles; //-V807 local_animations::get().local_data.real_angles = local_animations::get().local_data.stored_real_angles; } if (!antiaim::get().breaking_lby) local_animations::get().local_data.stored_real_angles = m_pcmd->m_viewangles; if (bSendPacket && g_ctx.globals.should_send_packet) g_ctx.globals.should_send_packet = false; if (g_cfg.misc.buybot_enable && g_ctx.globals.should_buy) { --g_ctx.globals.should_buy; if (!g_ctx.globals.should_buy) { std::string buy; switch (g_cfg.misc.buybot1) { case 1: buy += crypt_str("buy g3sg1; "); break; case 2: buy += crypt_str("buy awp; "); break; case 3: buy += crypt_str("buy ssg08; "); break; } switch (g_cfg.misc.buybot2) { case 1: buy += crypt_str("buy elite; "); break; case 2: buy += crypt_str("buy deagle; buy revolver; "); break; } if (g_cfg.misc.buybot3[BUY_ARMOR]) buy += crypt_str("buy vesthelm; buy vest; "); if (g_cfg.misc.buybot3[BUY_TASER]) buy += crypt_str("buy taser; "); if (g_cfg.misc.buybot3[BUY_GRENADES]) buy += crypt_str("buy molotov; buy hegrenade; buy smokegrenade; buy flashbang; buy flashbang; buy decoy; "); if (g_cfg.misc.buybot3[BUY_DEFUSER]) buy += crypt_str("buy defuser; "); m_engine()->ExecuteClientCmd(buy.c_str()); } } // g_ctx.send_packet = bSendPacket; g_ctx.globals.in_createmove = false; //*(bool*)(*frame_ptr - 0x34) = bSendPacket; //return false; verified->m_cmd = *m_pcmd; verified->m_crc = m_pcmd->GetChecksum(); } /* void __declspec(naked) __stdcall hooked_createmove_naked(int sequence_number, float input_sample_frametime, bool active) { __asm { PUSH EBX // push sendpacket from ebx PUSH ESP // push address of sendpackt PUSH[ESP + 0x14] // push active PUSH[ESP + 0x14] // push input_sample_frametime PUSH[ESP + 0x14] // push sequence_number CALL HookedCreateMove // call our own CreateMove function POP EBX // pop sendpacket to ebx RET 0x0C // remove 3 agruments from stack and return } }*/ __declspec(naked) void __stdcall hooks::hooked_createmove_naked(int sequence_number, float input_sample_frametime, bool active) { __asm { push ebx push esp push dword ptr[esp + 20] push dword ptr[esp + 0Ch + 8] push dword ptr[esp + 10h + 4] call hooked_createmove pop ebx retn 0Ch } } /* __declspec(naked) void __stdcall hooks::hooked_createmove_naked(int sequence_number, float input_sample_frametime, bool active) { __asm { PUSH EBP MOV EBP, ESP PUSH EBX LEA ECX, [ESP] PUSH ECX PUSH active PUSH input_sample_frametime PUSH sequence_number CALL hooked_createmove POP EBX POP EBP RETN 0xC } }*/
Посмотреть вложение 193311
ctx.hpp
Посмотреть вложение 193312
fakelag.cpp
g_ctx.send_packet replace with *g_ctx.send_packetПосмотреть вложение 193313
from about 67 lines to 214
Clua.cpp
Пожалуйста, авторизуйтесь для просмотра ссылки.( no ad )
Antiaim.cpp
Пожалуйста, авторизуйтесь для просмотра ссылки.( no ad )
hooked_runcommand.cpp
Пожалуйста, авторизуйтесь для просмотра ссылки.(no ad)
Credits:: Abybachup,Пожалуйста, авторизуйтесь для просмотра ссылки.( no ad)
can't help (crashing now :(
is it working for u?can't help (
yesis it working for u?
Jawohl
[/zitieren]
gibst du mir villeicht die source?
learncpp.com, больше тут ничем не помочьКак исправить данную ошибку?
У тебя уже есть как-бы тебе сказать, определение функции и ее вызов, поищи строчку update_prediction_animations и удали ее. А так, learncpp.com ( no ad )Как исправить данную ошибку?
У тебя функция объявлена, но реализации не имеется, а она вызывается где-либо. Напиши эту функцию и всё.Как исправить данную ошибку?
Нет))), у моего друга такая-же ошибка была, я ее так-же решил, так, что в этой ситуации не так, ему нужно удалить вызов.У тебя функция объявлена, но реализации не имеется, а она вызывается где-либо. Напиши эту функцию и всё.
Удалив вызов, ты уберёшь ошибку - верно, но он вероятно добавлял её для того, чтобы она функционировала, верно? Так вот, я и подсказываю решение проблемы, а не просто спастил, заеррорило - удалил.Нет))), у моего друга такая-же ошибка была, я ее так-же решил, так, что в этой ситуации не так, ему нужно удалить вызов.
Men, надо протестировать, правильно он вообще фиксит, или нет, для этого надо хотя-бы ошибку убрать и не сделать еще больше)Удалив вызов, ты уберёшь ошибку - верно, но он вероятно добавлял её для того, чтобы она функционировала, верно? Так вот, я и подсказываю решение проблемы, а не просто спастил, заеррорило - удалил.
Смешно.. причем тут то что ты высрал и то что у меня было?Посмотреть вложение 193933
научись читать
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz