mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-08-23 17:40:26 +03:00
2.8 KiB
2.8 KiB
Reverse Engineering игры Parkan Железная стратегия 1998
Сборка проекта
Проект написан на C# под .NET 8
Вам должно хватить dotnet build
для сборки всех проектов отдельно.
Все приложения кросс-платформенные, в том числе UI.
Состояние проекта
- Поддержка всех
NRes
файлов - звуки, музыка, текстуры, карты и другие файлы. Есть документация. - Поддержка всех
TEXM
текстур. Есть документация. - Поддержка файлов миссий
.tma
. - Поддержка шрифтов TFNT.
- Поддержка файлов скриптов
.scr
. - Поддержка файлов параметров
.var
.
Структура проекта
Внимание!
Проект делается как небольшой PET, поэтому тут может не быть
- чёткой структуры
- адекватных названий
- комментариев
Я конечно стараюсь, но ничего не обещаю.
Для Reverse Engineering-а использую Ghidra
Наблюдения
- Игра использует множество стандартных библиотек, в частности stl_port, vc++6 и другие. Если хотите что-то изучить в игре, стоит поискать по строкам и сигнатурам, что именно используется в конкретной
dll
. - Строки в основном используются двух форматов -
char*
иstd::string
. Последняя состоит из 16 байт -undefined4, char* data, int length, int capacity
. - В игре очень много
inline
функции, которые повторяются по куче раз в бинарнике. - Игра загружает и выгружает свои
dll
файлы по несколько раз, так что дебаг сMemory Map
очень затруднён. - Игра активно и обильно течёт по памяти, оставляя после чтения файлов их
MapViewOfFile
и подобные штуки. - Игра нормально не работает на Win10. Мне помог dgVoodoo. Хотя с ним не работает
MisEditor
.
Контакты
Вы можете связаться со мной в Telegram.