должно быть да, покликай по mov'ам(пкм->follow in dump->value) там должна быть строка рядом про этот партикл менеджерЯ так понял это оно
по инструкции типа mov xxx, [yyy+90] которая взята из вроде SetControlPoint. ты туда из джс передаешь handle, из этого handle потом делается указатель на партикль а потом уже вызывается SetControlPoint из вмта как мы определили 0x90 индекс в партиклях, где мы структуру для ParticleList определяем, чисто перебором или что-то на мысль навело?
там RTTI в реклассе чекай + чекай еще mov follow in dump->constant, не только value, забыл упомянуть, думал строка там в самом классе лежит а она рядомНашел я эту функу про которую ты писал, по всем mov прошелся почти не нашел там строки с CDOTA_ParticleManager
particle_pat это адрес функцииКак мне ее правильно вызвать? Получил адрес, дальше тайпдеф с функой и вызов ее? Что за оффсет у тебя 0x35? Который
DPMP = particle_pat + 0x35?
Тоесть получается надо просто указатель на класс получить а позже вызвать функу из его вмт? В дилибе ща посмотрю этот класс, спасибо!particle_pat это адрес функции
particle_pat + 0x123456 это адрес инструкции(mov xxx, [CDOTAPARTICLEMANAGERBLABLABLA]) вышеупомянутой функции из которой нужно из относительного адреса сделать абсолютный.
этот абсолютный адрес и будет указателем на указатель на CDOTAPARTICLEMANAGERBLABLABLA.
по входу в матч дереференсишь этот указатель и потом получаешь вмт и вызываешь что надо
вне матча этого класса не существует(указатель равен 0)
хз я ничего не читал просто практика в дебагереА где можно еще почитать про реверс дабы свои знания улучшить? Ток одну книжку читал, а именно Вскрытие покажет, да и то там все на x86 машине
нет дота и другие игры без защитыПрактика имеешь ввиду всякие крэкми?
это же мак осовские бинарки, там нет msvc компилятора, он только под виндовсом в визуалке/отдельном сдк. а класс информер только под msvcкласинформер перестал работать лол, в либклиенте орет что работае только с компилятором msbuild, а там gnu++
ты сначала в дебагер зайди и чекни что находится по оффсету 0x35(а находится там собственно хлам), а потом вычисли новый оффсет(0x74)А вот смотри, я пытаюсь класс этот получить, сделал так
unsigned long long CDOTA_ParticleManager = GetAbsoluteAddress(particle_pattern + 0x35, 3, 7);
CMSG("Class : %s\n, n2hex(CDOTA_ParticleManager)");
И когда я адрес сую в реклас, там явно не класс этот
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz