Начинающий
- Статус
- Оффлайн
- Регистрация
- 5 Сен 2021
- Сообщения
- 319
- Реакции
- 14
Для клиента PTS было выпущено обновление, в котором появились инструменты защиты или защита в виде xor.
Теперь адреса и смещения будут выглядеть примерно так:
адрес ключа: 0xFEB50A17794D01DFui64
смещение ключа: 0x1FEA1C4F5C1765B7i64
смещение в физическом мире: 0xA6
адрес: qword_142A2B0A5
примерный класс:
Остальные адреса и смещения обрабатываются аналогичным образом. А также ключи доступа к ним. Они разные для каждого смещения. То же самое касается адресов.
Может кому пригодиться. Взял с UC (QunaNeDayn) (no ad)
Теперь адреса и смещения будут выглядеть примерно так:
Код:
v108 = (__int64 *)(*(_QWORD *)((qword_142A2B0A5 ^ 0xFEB50A17794D01DFui64) + 0xA6) - 0x1FEA1C4F5C1765B7i64);
адрес ключа: 0xFEB50A17794D01DFui64
смещение ключа: 0x1FEA1C4F5C1765B7i64
смещение в физическом мире: 0xA6
адрес: qword_142A2B0A5
примерный класс:
Код:
struct SSystemGlobalEnvironment {
public:
IPhysicalWorld* GetIPhysicalWorld()
{
uintptr_t base = (uintptr_t)this;
uintptr_t ptr = *(uintptr_t*)(base + 0xA6);
ptr += 0x1FEA1C4F5C1765B7;
return reinterpret_cast<IPhysicalWorld*>(ptr);
}
static SSystemGlobalEnvironment* Singleton()
{
uintptr_t encoded_value = *(uintptr_t*)0x142A2B0A5; //address
uintptr_t key = 0xFEB50A17794D01DF;
uintptr_t decoded = encoded_value ^ key;
return (SSystemGlobalEnvironment*)(decoded);
}
};
#define gEnv SSystemGlobalEnvironment::Singlenton()
Код:
auto physical_world = gEnv->GetIPhysicalWorld(); if (!physical_world) return;
Остальные адреса и смещения обрабатываются аналогичным образом. А также ключи доступа к ним. Они разные для каждого смещения. То же самое касается адресов.
Может кому пригодиться. Взял с UC (QunaNeDayn) (no ad)