FWGS / xash3d-fwgs

Xash3D FWGS engine
1.56k stars 235 forks source link

Поддержка зашифрованных клиентов и контента #884

Open nekonomicon opened 2 years ago

nekonomicon commented 2 years ago

Некоторые старые версии игр от Valve имеют зашифрованные клиенты, например CS 1.5.

Также старые билды CS 1.6 имеют зашифрованный файл iga_static.wad с рекламой, тут есть вариант либо расшифровывать, либо останавливать движок с сообщением, мол, пиратить плохо.

a1batross commented 2 years ago

iga_static.wad нет смысла поддерживать, там какая-то реклама в своё время лежала.

А вот зашифрованные клиенты не сложно грузить. Механизм известен.

nekonomicon commented 1 year ago

В общем, есть 2 пути:

  1. Загружать зашифрованный блоб как это делает GoldSource и как это реализовано в metahook: https://github.com/nagist/metahook/blob/master/LoadBlob.cpp#L58=
  2. Восстанавливать библиотеку из зашифрованного блоба как это делает Half-life DLL decrypter and rebuilder, а потом инициализировать ее обычным безфайловым методом, который уже использует движок для загрузки библиотек из .pak'ов.

Только нет гарантии, что оно заработает c полпинка как нужно и во втором случае дополнительно придется восстанавливать таблицу релокаций как минимум.