Flash Player LocalConnection partagée Mémoire de code Native Code Library
Cette bibliothèque est une bibliothèque de code native pour se connecter à l'API LocalConnection utilisée par Flash Player. Cela se fait en se connectant à la même mémoire partagée et aux même sémaphores, pour lire et écrire au système de messagerie. Tout cela a été rendu possible par ingénierie inverse de l'API et des formats de messagerie utilisés par Flash Player.
La bibliothèque a été testée contre Flash Player 6 et UP (Flash Player 6 a introduit LocalConnection), et Flash Player sur Windows, Mac et Linux sont tous pris en charge.
Cette bibliothèque est testée contre les compilateurs Clang, GCC, MSVC et Mingw. Voir la configuration de Travis et Appveyor CI pour les versions exactes qui sont testées. La bibliothèque fonctionnera probablement également avec d'autres compilateurs C99 compatibles.
Voir le répertoire util pour un échantillon d'utilisation. Certaines choses à garder à l'esprit.
data du message sont une série de données codées AMF, AMF0 ou AMF3 en fonction du message ( size définit la taille des données codées).hostname:connection-name ( example.com:name nom, localhost:name )_global-connection-name ( _domainshared:name )example.com = example.comwww.example.com = example.comabexample.com = b.example.com ).is_per_user pour correspondre à la propriété isPerUser utilisée dans ActionScript (la valeur par défaut est et restera probablement false , et cette propriété n'est pas disponible dans les anciennes versions de Flash Player lui-même).flshm_lock et flshm_unlock pour verrouiller le sémaphore pour un accès exclusif à la mémoire partagée lors de la lecture et de l'écriture de messages et de connexions pour éviter les problèmes avec les conditions de course.flshm_close pour libérer la mémoire allouée par la bibliothèque et évitez les fuites de mémoire.Si vous trouvez un bogue ou avez des problèmes de compatibilité, veuillez ouvrir un billet sous les problèmes de la section pour ce référentiel.
Les demandes de traction sont également les bienvenues, mais toutes les modifications doivent être multiplateales pour être fusionnées.
Copyright (c) 2016-2019 Alexander O'Mara
Licencié sous la licence publique de Mozilla, v. 2.0.
Si cette licence ne fonctionne pas pour vous, n'hésitez pas à me contacter.
Si vous trouvez mon logiciel utile, veuillez envisager de prendre en charge le développement de logiciels indépendants et open source en faisant un don modeste sur mon site Web sur Alexomara.com.