Использование структуры, экспортированной из IDA с указателями в переполнении стека

Поэтому я экспортировал структуру из IDA Pro и поместил ее в заголовочный файл следующим образом:

#pragma pack(push, 1)
struct CPed
{
float health;
CPed *closestPeds[10];
};
#pragma pack(pop)

В основном я использовал это так:

unsigned int ClosestPed = *(unsigned int *)(*(unsigned int *)PlayerPointer + NearestPeds);
CPed *nearestPed = (CPed *)ClosestPed;
nearestPed->health = 0;

На мой взгляд, первая строка кода в главном должна добавить NearestPeds смещение к PlayerPointer и положить его в ClosestPed,

Сейчас ClosestPed содержит адрес ближайшего педа.

Теперь я передаю этот адрес в *nearestPed и, наконец, установить здоровье ближайшего педа в 0Только, здоровье педа никогда не устанавливается 0, Это никогда не умирает.

Может кто-нибудь помочь мне разобраться в чем дело?

0

Решение

Вы хотите сделать что-то подобное?

CPed* nearestPed = (CPed*)(*(PlayerPointer+9));
nearestPed->health = 0;
0

Другие решения


По вопросам рекламы [email protected]