Вопрос HighestEntityIndex offset changed ?

Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
851
Реакции[?]
335
Поинты[?]
67K
see cl_showents(CCommandContext const&, CCommand const&)
C++:
// #STR: "(missing),", "(missing)", "Ent %3d: %s class %s\n"
__int64 cl_showents()
{
  unsigned int v0; // ebx
  __int64 v1; // rax
  _QWORD *v2; // rax
  char v4; // [rsp+0h] [rbp-230h]
  char v5; // [rsp+100h] [rbp-130h]

  if ( (signed int)CGameEntitySystem::GetHighestEntityIndex(g_pGameEntitySystem) >= 0 )
  {
    v0 = -1;
    do
    {
      v1 = CGameEntitySystem::GetBaseEntity((__int64)g_pGameEntitySystem, ++v0);
      if ( v1 )
      {
        v5 = 0;
        v2 = (_QWORD*)(* (__int64 (__fastcall**)(__int64, _QWORD))( *(_QWORD *)v1 + 240LL))(v1, v0);
        V_snprintf(&v4, 256, "'%s'", *v2);
        ConMsg("Ent %3d: %s class %s\n", v0, &v5, &v4);
      }
      else
      {
        V_snprintf(&v5, 256, "(missing), ");
        V_snprintf(&v4, 256, "(missing)");
      }
    }
    while ( (signed int)v0 < (signed int)CGameEntitySystem::GetHighestEntityIndex(g_pGameEntitySystem) );
  }
  return __stack_chk_guard;
}
search for string xref "Ent %3d" in client.dll
scroll to the beginning of the function(push ... + sub rsp, etc.), the first call will be to GetHighestEntityIndex
which will be something like(OUTDATED BELOW):
Код:
00007FFDAB25D890 | 8B81 30150000              | mov eax,dword ptr ds:[rcx+1530]                                        |
00007FFDAB25D896 | 8902                       | mov dword ptr ds:[rdx],eax                                             |
00007FFDAB25D898 | 48:8BC2                    | mov rax,rdx                                                            |
00007FFDAB25D89B | C3                         | ret                                                                    |
 
Начинающий
Статус
Оффлайн
Регистрация
11 Фев 2023
Сообщения
62
Реакции[?]
0
Поинты[?]
0
1735413569505.png
is it function needs to be hooked or 2100h is the new offset for highest entityindex ?
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
851
Реакции[?]
335
Поинты[?]
67K
Посмотреть вложение 294121
is it function needs to be hooked or 2100h is the new offset for highest entityindex ?
hooking is when you intercept someone else's(the game's) invocation of a function(in an attempt to observe/modify the game's behavior(react to the game performing some action or lie to the game about something)). basically a callback but forcefully installed. why would you need to hook this?
0x2100 should be the new offset. double-check it yourself in the game
 
Сверху Снизу