Перейти к содержанию

Создаем internal мультихак, на примере CryEngine3 SDK [10 часть]

JustHack

119 просмотров

 

1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png

 

 

В этой статье, мы с вами создадим хак на обход блокировок чата. Это может пригодиться вам для спама в канальный чат сервера / если не хотите ждать задержку между отправкой сообщений / система заблокировала вам чат за оскорбления и т. д. В общем, вы найдёте много применений этому.

Нам нужно включить постоянную активацию чата для нашего актёра и отключить задержку между отправкой сообщений..

 

 

Добавим в наш код новые смещения

 

Спойлер

#define ICVAR_OFFS_CHATENABLED			0xB20
#define ICVAR_OFFS_LOBBYCHATDELAY		0xB28
#define ICVAR_OFFS_INGAMECHATDELAY		0xB30

 

 

В итоге, мы имеем такой набор смещений

 

Спойлер

#define ICVAR_ADDR				0x1420DD458
#define IGAMEFRAMEWORK_ADDR			0x1420DE108

#define IGAMEFRAMEWORK_GETCLIENTACTOR		0x470

#define ICVAR_OFFS_IDLECHECK			0x168
#define ICVAR_OFFS_LOBBYAFK			0x7B0
#define ICVAR_OFFS_INGAMEAFK			0x5D0
#define ICVAR_OFFS_ADVERTISING			0x90
#define ICVAR_OFFS_PERSONAL_OFFER		0xB4
#define ICVAR_OFFS_CHATENABLED			0xB20
#define ICVAR_OFFS_LOBBYCHATDELAY		0xB28
#define ICVAR_OFFS_INGAMECHATDELAY		0xB30
#define ICVAR_OFFS_GAMETYPE			0x600

 

 

Добавим в перечисление CvarOffsets новые значения

 

Спойлер

E_CHATENABLED		   =  ICVAR_OFFS_CHATENABLED,
E_LOBBYCHATDELAY 	   =  ICVAR_OFFS_LOBBYCHATDELAY,
E_INGAMECHATDELAY  	   =  ICVAR_OFFS_INGAMECHATDELAY,

 

 

Теперь наше перечисление со смещениями, выглядит так

 

Спойлер

enum eCvarOffsets : DWORD64
{
	E_IDLECHECK			=  ICVAR_OFFS_IDLECHECK,
	E_LOBBYAFK			=  ICVAR_OFFS_LOBBYAFK,
	E_INGAMEAFK			=  ICVAR_OFFS_INGAMEAFK,
	E_ADVERTISING_OFF		=  ICVAR_OFFS_ADVERTISING,
	E_PERSONAL_OFFER		=  ICVAR_OFFS_PERSONAL_OFFER,
	E_CHATENABLED			=  ICVAR_OFFS_CHATENABLED,
	E_LOBBYCHATDELAY  		=  ICVAR_OFFS_LOBBYCHATDELAY,
	E_INGAMECHATDELAY 		=  ICVAR_OFFS_INGAMECHATDELAY,
	E_GAMETYPE	        	=  ICVAR_OFFS_GAMETYPE,
};

 

 

Классы IGameFramework и ICvar у вас уже есть и они не изменились пока-что, поэтому, я не публикую их здесь.

 

Пишем функцию, для обхода блокировок чата

 

Спойлер

void TakeeMeToChat()
{
	IGameFramework* pGameFramework = IGameFramework::Base();
	if (!pGameFramework) return;

	ICvar* pCvar = ICvar::Base();
	if (!pCvar) return;

	IActor* pActor = nullptr;

	if (pGameFramework->GetClientActor(&pActor))
	{
		pCvar->SetValue(eCvarOffsets::E_CHATENABLED,	  TRUE);
		pCvar->SetValue(eCvarOffsets::E_LOBBYCHATDELAY,   FALSE);
		pCvar->SetValue(eCvarOffsets::E_INGAMECHATDELAY,  FALSE);
	}
}

 

 

Если вам что-то не понятно, не стесняйтесь задавать свои вопросы в ЛС Discord или ниже в комментариях.

 

  • Понравилось 1
  • Плюс 1


0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Гость
Добавить комментарий...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Предпросмотр
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.