Гайд Самый подробный гайд для фикса крейтмува на симпл базу

std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
priora compressor
Участник
Статус
Оффлайн
Регистрация
18 Май 2019
Сообщения
675
Реакции[?]
243
Поинты[?]
16K
Сделал для чайников :roflanPominki:

Итак приступим.
1) Нам нужно зайти в hooks.hpp и заменить индекс крейтмува с 24 на 22
2) создаем в namespace Hooks после hkFrameStageNotify (на самом то деле не важно, просто так удобнее)
C++:
void __fastcall hkCreateMove_Proxy(void* _this, int, int sequence_number, float input_sample_frametime, bool active);
3) Можно будет закоментить void __stdcall hkCreateMove. Он нам дальше не потребуется
4) Заходим в hooks.cpp и находим в namespace Hooks
void Initialize( ) и создаем там ( Если есть то пропускаем данный пункт )
C++:
hlclient_hook.setup(g_CHLClient);
5) Листаем чуть ниже и видим
C++:
hlclient_hook.hook_index( index::FrameStageNotify, hkFrameStageNotify);
6) Ниже него должен хукаться крейтмув
Мы заменяем полностью строку на
C++:
hlclient_hook.hook_index( index::CreateMove, hkCreateMove_Proxy);
7) Листаем до hkCreateMove и изменяем первые строки на эти
Код:
  void __stdcall hkCreateMove( int sequence_number, float input_sample_frametime, bool active, bool& bSendPacket ) {

      static auto oCreateMove = hlclient_hook.get_original<decltype(&hkCreateMove_Proxy)>(index::CreateMove);

      oCreateMove(g_CHLClient, 0, sequence_number, input_sample_frametime, active);

      auto cmd = g_Input->GetUserCmd(sequence_number);
      auto verified = g_Input->GetVerifiedCmd(sequence_number);

      if (!cmd || !cmd->command_number)
          return;

      CUserCmd* dddcmd = nullptr;
      dddcmd = cmd;
если у вас выдало ошибки после return, то просто коментим что после них идет в этой строке и добавляем после return точку с запятой ";"
7) Листаем в самый низ крейтмува и видим return false;
Мы его должны заменить на

Код:
     verified->m_cmd = *cmd;
     verified->m_crc = cmd->GetChecksum();
8) После того как мы закончили с основным крейтмувом мы создаем функцию hkCreateMove_Proxy
Код:
  __declspec(naked) void __fastcall hkCreateMove_Proxy(void* _this, int, int sequence_number, float input_sample_frametime, bool active)
  {
      __asm
      {
          push ebp
          mov  ebp, esp
          push ebx;
          push esp
          push dword ptr[active]
          push dword ptr[input_sample_frametime]
          push dword ptr[sequence_number]
          call hkCreateMove
          pop  ebx
          pop  ebp
          retn 0Ch
      }
  }
9) Если у вас выдало ошибки связанные с send_packet мы заменяем их на bSendPacket, если у нас опять выдало ошибку на bSendPacket, то заменяем bSendPacket на строке, где выдало ошибку на *send_packet.

Вроде все правильно расписал, не бейте тапками:FeelsBadMan:. Если найдете какие-то ошибки, то отпишите в теме я добавлю это в свою тему.
Если все получилось, то поздравляю, вы теперь соуфив:seemsgood:
сделай гайд как пользоваться микроволновкой. только про эти неуместные смайлики не забудь, так сказать, подчеркнуть статус "щит постера"
 
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сделай гайд как пользоваться микроволновкой. только про эти неуместные смайлики не забудь, так сказать, подчеркнуть статус "щит постера"
при чем тут смайлы? Лично когда я вижу тему со смайлами, то мне намного интереснее читать тему. Скоро сделаю гайд на пользование микроволновки, если так хочешь :D
 
..................................................
Участник
Статус
Оффлайн
Регистрация
13 Авг 2020
Сообщения
990
Реакции[?]
249
Поинты[?]
25K
priora compressor
Участник
Статус
Оффлайн
Регистрация
18 Май 2019
Сообщения
675
Реакции[?]
243
Поинты[?]
16K
при чем тут смайлы? Лично когда я вижу тему со смайлами, то мне намного интереснее читать тему. Скоро сделаю гайд на пользование микроволновки, если так хочешь :D
нравится тебе лично, но выложил для всех, пиздец. я понимаю, возможно ты их используешь в силу своего маленького возраста, но буду надеяться что ты исправишься
 
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нравится тебе лично, но выложил для всех, пиздец. я понимаю, возможно ты их используешь в силу своего маленького возраста, но буду надеяться что ты исправишься
Только ты возмущаешься на смайлы, никто другой. Но буду надеяться что ты исправишься:roflanEbalo:
 
priora compressor
Участник
Статус
Оффлайн
Регистрация
18 Май 2019
Сообщения
675
Реакции[?]
243
Поинты[?]
16K
Только ты возмущаешься на смайлы, никто другой. Но буду надеяться что ты исправишься:roflanEbalo:
ты заметил, что ты зацепился за такую мелочь? Вся суть моего первого сообщения была в том, что ты щитпостишь уже не 1 раз, но тебя сильно огорчили смайлики. хотя чего там, АртёмСтрулев76. Одного нейма достаточно
 
купить дизайн: yougame.biz/threads/155999
Дизайнер
Статус
Оффлайн
Регистрация
19 Сен 2018
Сообщения
797
Реакции[?]
1,382
Поинты[?]
9K
Шок, "слив фикса крэйт мува" 2022 смотреть онлайн без смс и регистрации
Посмотреть вложение 200283
проверка на инвалид хендл и адрес вообще к чему?
и вообще каст к void* прикол какой то, в каком типе надо хранить адрес, что даже язык не может найти оператор "!"...
 
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
и вообще каст к void* прикол какой то, в каком типе надо хранить адрес, что даже язык не может найти оператор "!"...
1650620704105.png
Иначе будет использоваться арифметика указателей, а мне нужно побайтово адресами управлять
Каст к указателю нужен для проверки его валидности. Если ты вдруг не знал, тебе доступно не всё адресное пространство в мире)
проверка на инвалид хендл и адрес вообще к чему?
А тут человек видимо о безопасности только в книжках читал, и то нихуя не понял. Ну удачи тебе с такой логикой
 
Сверху Снизу