Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос TF2 Патчинг аудио-движка и отключение войслайнов

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
347
Реакции
7
Парни, копаюсь в реверсе аудио-модулей TF2. Наткнулся на интересный сниппет в старом сурсе под L4D2, где через Byte_Manager патчится vaudio_speex.dll для полного отключения реплик персонажей.

Суть метода простая — прямой патч памяти по смещению в загруженной библиотеке:

Код:
Expand Collapse Copy
Byte_Manager::Set_Bytes(0, (void*)((unsigned __int32)LoadLibraryW(L"vaudio_speex.dll") + 9440), 1, 195);

В TF2 всё ожидаемо сложнее — структура vaudio_speex.dll отличается, и прямые адреса из L4D2 тут не работают. Пытался накидать сигнатуру под хук, но нашел всего 3 байта совпадения в начале, что явно не вариант для стабильной работы, рискуем схватить крэш клиента при обновлении или патче.

Кто ковырял аудио-движок Valve в TF2, есть идеи, как корректно деанонимизировать нужные функции? Возможно, стоит цепляться не за DLL, а искать вызовы через vtable или чекать через IDA Pro функции, отвечающие за обработку звукового потока.

Не хотелось бы перелопачивать весь движок ради отключения раздражающего спама войслайнов, но стандартные конфиги не дают такого контроля.

Кто-то пробовал патчить аудио-потоки в TF2 без крашей? Делитесь соображениями.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В TF2 vaudio_speex.dll уже не та структура, что в L4D2. Цепляйся не по смещению, а по сигнатуре на Snd_StartSound или ищи в vtable IAudioDevice. Проще вырубить аудио-сниппеты через voice_enable 0 + патч на IsSpeaking в клиентской dll.
 
Назад
Сверху Снизу