Сервак, который меня интересовал был астериос х55,
Используя отладчик, удалось обнаружить в чем же было дело с блоуфишем,
а дело в том, что на астериосе изменены стандартные массивы инициализации, использующиеся для расширения ключа.
Удалось извлечь эти новые массивы, и с их помощью блоуфиш стал расшифровываться корректно.
На C#, используя WinPCap, сделано некое подобие перехватывающей и расшифровывающей пакеты программы. На данный момент нормально расшифровываются пакеты до пакета 2E - KeyInit включительно, дальше, конкретно для астериоса, с помощью отладчика получен алгоритм разксоривания пакетов от геймсервера, но тем не менее, после расксоривания получаются пакеты с хз какими-то опкодами (идентификаторами), которые не соответствуют списку опкодов, взятых из l2ph PacketsHighFive.ini:
Цитата:
[GS_T25] 'GS3' GS T2.5 (T2 Freya) protocol 216, from WP669f by Sauron
|
Однако именно так пакеты расксориваются в самой игре, поэтому можно предположить:
- либо сам опкод дополнительно в глубинах запакованного VMProtector'ом asterios.exe преобразуется в правильный вид
- либо ребята чуток поменяли опкоды
- может быть чтото еще )
В итоге вся эта херомантия мне надоела, сюда же выкладываю архив с проектом своей поделки без пароля.
Хочется отметить, что я так же пробовал перехватывать пакеты еще пары других серверов HF, где используются дефолтные массивы инициализации, поэтому измененные астериусовские массивы были закомментированы. Для использования, раскомментировать, а дефолтные массивы соответственно закомментировать, файл blowfish.cs
Если у кого есть какие идеи по поводу расксоривания, излагайте.
PS: Чтобы проект завелся, у вас должен стоять Winpcap, или же можно просто установить классный опенсорc сниффер Wireshark, который тоже основан на PCap, и все должно работать.