Начинающий
- Статус
- Оффлайн
- Регистрация
- 2 Ноя 2024
- Сообщения
- 218
- Реакции
- 25
создал се гайд, но решил и вам слить
guide how find entity list in cs 1.6:
reverse hw.dll in ida pro.
after search string "\"%s\" %s %s %d %d %d %d\n" and go to xref.
after if u see up, u can see entity list + max clients:
entity dword_807588
max client dword_807584
size/stride
add ebx, 5018h
pvPrivateData
mov eax, [ebx+4B9Ch]
1. max clients
2. entity list
Signature for A36B4: A1 ? ? ? ? 53 8B 1D ? ? ? ? 56 85 C0
Signature for A36BA: 8B 1D ? ? ? ? 56 85 C0
и этот оффсет указывает на (поинтер)структуру edict_t , а через 4 байта после начала поинтера, лежит max clients (по дефолту 32)
пример как получить противника (ну его базу, хп и тд):
guide how find entity list in cs 1.6:
reverse hw.dll in ida pro.
after search string "\"%s\" %s %s %d %d %d %d\n" and go to xref.
after if u see up, u can see entity list + max clients:
entity dword_807588
max client dword_807584
size/stride
add ebx, 5018h
pvPrivateData
mov eax, [ebx+4B9Ch]
1. max clients
2. entity list
Signature for A36B4: A1 ? ? ? ? 53 8B 1D ? ? ? ? 56 85 C0
Signature for A36BA: 8B 1D ? ? ? ? 56 85 C0
и этот оффсет указывает на (поинтер)структуру edict_t , а через 4 байта после начала поинтера, лежит max clients (по дефолту 32)
пример как получить противника (ну его базу, хп и тд):
Код:
// через edict_t получаем указатель на CBasePlayer
uintptr_t pCBasePlayer = *(uintptr_t*)(pEdict + 0x4B9C); // pvPrivateData
// ну тут читаем health по смещению 0x1e0
int health = *(int*)(pCBasePlayer + 0x1e0);