Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Исходник Getting WpnData without vtable indexes

  • Автор темы Автор темы ilka
  • Дата начала Дата начала
AquaHook
Участник
Участник
Статус
Оффлайн
Регистрация
17 Мар 2017
Сообщения
718
Реакции
263
С юц, поэтому без хайда.

Сейчас почти все юзают, что-то вроде этого:
Код:
Expand Collapse Copy
const SourceEngine::WeaponInfo_t* C_BaseCombatWeapon::GetWeaponData()
{
  typedef const SourceEngine::WeaponInfo_t*(__thiscall* OriginalFn)(void*);
  return SourceEngine::CallVFunction<OriginalFn>(this, 446)(this);
}

Однако, вместо этой функции вы можете юзать CCSWeaponSystem(добавили в ласт обнове):
Код:
Expand Collapse Copy
class IWeaponSystem
{
  virtual void unused0() = 0;
  virtual void unused1() = 0;
public:
  virtual const WeaponInfo_t* GetWpnData(unsigned ItemDefinitionIndex) = 0;
};

Сигнатура:
Код:
Expand Collapse Copy
"WeaponSystem": {
"extra": 2,
"mode_read": true,
"mode_subtract": true,
"module": "client.dll",
"offset": 0,
"pattern": "8B 35 ? ? ? ? FF 10 0F B7 C0"
},

Юзается это так -
Код:
Expand Collapse Copy
auto weapon_data = m_pWeaponSystem->GetWpnData(weapon->GetItemDefinitionIndex());
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
С юц, поэтому без хайда.

Сейчас почти все юзают, что-то вроде этого:
Код:
Expand Collapse Copy
const SourceEngine::WeaponInfo_t* C_BaseCombatWeapon::GetWeaponData()
{
  typedef const SourceEngine::WeaponInfo_t*(__thiscall* OriginalFn)(void*);
  return SourceEngine::CallVFunction<OriginalFn>(this, 446)(this);
}

Однако, вместо этой функции вы можете юзать CCSWeaponSystem(добавили в ласт обнове):
Код:
Expand Collapse Copy
class IWeaponSystem
{
  virtual void unused0() = 0;
  virtual void unused1() = 0;
public:
  virtual const WeaponInfo_t* GetWpnData(unsigned ItemDefinitionIndex) = 0;
};

Сигнатура:
Код:
Expand Collapse Copy
"WeaponSystem": {
"extra": 2,
"mode_read": true,
"mode_subtract": true,
"module": "client.dll",
"offset": 0,
"pattern": "8B 35 ? ? ? ? FF 10 0F B7 C0"
},

Юзается это так -
Код:
Expand Collapse Copy
auto weapon_data = m_pWeaponSystem->GetWpnData(weapon->GetItemDefinitionIndex());

Проще через виртуальную таблицу:*
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу