Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Исходник Standoff 2 bp hooks

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2025
Сообщения
3
Реакции
0
#libunity + 0x784C23C hooked
char* (*getrrud)(unsigned int* a1)
char* decrypt_string(unsigned int* a1)
{
if (a1 == 0)
return getrrud(a1);

size_t length = (size_t)(a1[2] - 1);
if (length == 0)
return strdup("");

uint16_t* src = (uint16_t*)(a1 + 9);
char* result = (char*)calloc(length + 1, 1);


const uint8_t key = 0xFE;
for (size_t i = 0; i < length; ++i)
{
uint32_t ch = src;


if ((ch & 0xFC00) == 0xD800 && i + 1 < length)
{
uint32_t low = src[i + 1];
ch = ((ch & 0x3FF) << 10) + (low & 0x3FF) + 0x10000;
++i;
}


result = static_cast<char>((ch & 0xFF) ^ key);
}

result[length] = '\0';
return result;
}
 
Назад
Сверху Снизу