Mi biblioteca inacabada para emular SteamClient.dll, que desarrollé para un proyecto, pero luego abandoné el desarrollo debido al hecho de que dejé el proyecto.
En esencia, esta es la biblioteca que intercepta el canal de vapor "llamado Pipe", que se utiliza para la comunicación entre Steam y el juego que se está lanzando. No quería implementar interfaces SteamClient como lo hacen otros emuladores, y me pareció que el gancho de tubería de vapor sería mucho más simple y elegante (no), además siempre me interesó cómo funciona esta tubería, y no hay información en Internet cómo funciona.
Cuando se carga en el juego, la biblioteca lanza un hilo que escanea el búfer de memoria compartida donde se escriben los comandos de tubería con nombre, y también aplica algunos ganchos de DLLS de vapor. La clase TsteamPipeServer es responsable de Pipe Hook, es una clase que puede leer y enviar comandos de tubería de vapor.
El proyecto más bien sirve para fines educativos, y es difícil aplicarlo en algún lugar de su forma actual. Con él, pude lanzar CS: Pase sin vapor usando SteamPipeemu y ver el menú principal, pero eso es todo. Planeé al menos terminar de generar los datos del certificado de Steam para conectarme a servidores No-STEAM, pero abandoné el proyecto temprano.
Sin embargo, con la ayuda de este proyecto, puede estudiar en detalle cómo funciona la tubería de vapor: cómo se leen, escriben y ejecutan los comandos entre Steam y el juego en su conjunto, además de devoluciones de llamada de Steam. Creo que esta es información muy útil e interesante.
Usted es libre de usar este proyecto y su conocimiento en su trabajo, sin embargo, estaría muy agradecido si se refería a mí.