Начинающий
-
Автор темы
- #1
Я сразу пошел восстанавливать данный класс, для этого мне понадобился еще один класс CCryAction
Вот как я нашел абсолютный адресс класса CCryAction и указатель на класс IPersistantDebug + функции begin() и addline():
9 строка 141F2B4C0 - это адресс класса CCryAction;
784 / 8 = 98 индекс функции в классе CCryAction->GetIPersistantDebug();
v10+8; 8 / 8 = 1 - индекс функции Begin(const char* name, bool clear);
v12+ 32; 32 / 8 = 4 - индекс функции AddLine(const Vec3& pos1, const Vec3& pos2,
Когда я пытаюс сделать проверки на то валидные ли я получаю указатель то на этом моменте он не верный - if (CCryAction::Singleton()->GetIPersistantDebug()).
GetIPersistantDebug() - функция возвращает что то не то походу, но восстановлено вроде все правильно, кто знает в чем может быть проблема?
Код:
class CCryAction
{
public:
IPersistantDebug* GetIPersistantDebug()
{
return VIRTUAL<IPersistantDebug* (__fastcall*)(PVOID)>(this, 98)(this);
}
static CCryAction* Singleton()
{
return *(CCryAction**)0x141F2B4C0;
}
}
class IPersistantDebug
{
public:
void Begin(const char* name, bool clear)
{
return VIRTUAL<void(__fastcall*)(PVOID, const char*, bool)>(this, 1)(this, name, clear);
}
void Add2DText(const char* text, float size, ColorF clr, float timeout)
{
return VIRTUAL<void(__fastcall*)(PVOID, const char*, float, ColorF, float)>(this, 9)(this, text, size, clr, timeout);
}
void AddLine(const Vec3& pos1, const Vec3& pos2, ColorF clr, float timeout)
{
return VIRTUAL<void(__fastcall*)(PVOID, const Vec3&, const Vec3&, ColorF, float)>(this, 4)(this, pos1, pos2, clr, timeout);
}
};
;
9 строка 141F2B4C0 - это адресс класса CCryAction;
784 / 8 = 98 индекс функции в классе CCryAction->GetIPersistantDebug();
v10+8; 8 / 8 = 1 - индекс функции Begin(const char* name, bool clear);
v12+ 32; 32 / 8 = 4 - индекс функции AddLine(const Vec3& pos1, const Vec3& pos2,
Пожалуйста, авторизуйтесь для просмотра ссылки.
clr, float timeout);Когда я пытаюс сделать проверки на то валидные ли я получаю указатель то на этом моменте он не верный - if (CCryAction::Singleton()->GetIPersistantDebug()).
GetIPersistantDebug() - функция возвращает что то не то походу, но восстановлено вроде все правильно, кто знает в чем может быть проблема?