Моя незаконченная библиотека для эмуляции SteamClient.dll, которую я разработал для одного проекта, но позже я отказался от разработки из -за того, что я покинул проект.
По сути, это библиотека, которая перехватывает паровой канал «названной трубы», который используется для связи между Steam и запущенной игрой. Я не хотел внедрять интерфейсы парохода так, как это делают другие эмуляторы, и мне показалось, что Steam Pipe Hook будет намного проще и более элегантно (нет), плюс меня всегда интересовало, как эта труба функционирует, и в Интернете нет информации, как она работает.
При загрузке в игру библиотека запускает поток, который сканирует общий буфер памяти, где записаны именованные команды Pipe, а также применяет несколько крючков Steam DLLS. Класс TSTEAMPIPEServer отвечает за Pipe Hook, это класс, который может читать и отправлять команды Steam Pipe.
Проект скорее служит для образовательных целей, и трудно применить его где -то в его нынешней форме. С ним я смог запустить CS: идти без пар, используя Steampipeemu и увидеть главное меню, но это все. Я планировал, по крайней мере, закончить генерирование данных сертификата Steam, чтобы подключиться к безразличным серверам, но я отказался от проекта на ранней стадии.
Тем не менее, с помощью этого проекта вы можете подробно изучить, как работает паровая труба: как команды читаются, написаны и выполняются, а также связь между Steam и игрой в целом, плюс паровые обратные вызовы. Я думаю, что это очень полезная и интересная информация.
Вы можете использовать этот проект и его знания в вашей работе, однако я был бы очень благодарен, если бы вы обратились ко мне.