Démasquage des données WebSocket
Démasque au plus 1048576 octets WebSocket avec une clé de quatre octets.
def unmask_payload(data, mask):
if type(data) is not bytes or len(data) > 1048576:
raise ValueError("mask.payload")
if type(mask) is not bytes or len(mask) != 4:
raise ValueError("mask.key")
return bytes(value ^ mask[index % 4]
for index, value in enumerate(data))Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Modèles
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
Projet
Teste le vide et les positions répétées, refuse les autres types ou longueurs et vérifie la double application.
def unmask_payload(data, mask):
if type(data) is not bytes or len(data) > 1048576:
raise ValueError("mask.payload")
if type(mask) is not bytes or len(mask) != 4:
raise ValueError("mask.key")
return bytes(value ^ mask[index % 4]
for index, value in enumerate(data))Gardez les transformations d’octets dans des limites de protocole claires
SocketBrume est un espace de programmation avec IA sous Windows pour les développeurs travaillant sur les routines bas niveau dont dépendent d’autres couches applicatives. Apportez les fichiers du projet et décrivez les octets exacts reçus et renvoyés par une fonction. Demandez à l’assistant connecté d’examiner validation, transformation et appelant avant de modifier l’implémentation. Ce contexte distingue une modification locale utile d’une hypothèse relevant d’une autre partie du protocole.
Une tâche sur unmask_payload.py peut, par exemple, examiner l’application d’un masque de quatre octets à une séquence d’octets bornée. Demandez des cas entrée-sortie connus et une explication des contrôles relevant de la fonction. Examinez la modification sans supposer que la fonction valide aussi les trames, gère une connexion ou interprète un message entier. Expliciter cette limite facilite la vérification.
Exécutez les contrôles du projet avec des données vides, des charges utiles ordinaires et des masques invalides, puis examinez la propagation des échecs au code environnant. Si une étape ultérieure rejette la sortie, rapportez cet élément dans la conversation. SocketBrume prend en charge les points de terminaison de modèles compatibles OpenAI ou Anthropic avec les identifiants requis. Un modèle d’IA sans restrictions n’est sélectionnable que s’il est proposé ; les règles du fournisseur, les outils pris en charge et la capacité de contexte s’appliquent toujours. Vos exemples d’octets restent la référence pour juger le code correct.
Questions sur une modification du traitement d’octets
Que doit contenir un exemple utile au niveau des octets ?
Fournissez les octets d’entrée exacts, le masque ou les paramètres et les octets de sortie attendus. Précisez séparément les contraintes de longueur et de type. Vous pourrez comparer mécaniquement une proposition au lieu d’accepter une description qui semble seulement conforme au protocole.
Une fonction de charge utile valide-t-elle le message entier ?
Ne le déduisez pas d’une seule transformation. Examinez l’analyseur environnant et indiquez quelle couche vérifie les trames, les longueurs et les règles des messages. Gardez la modification demandée dans son périmètre sauf si vous prévoyez délibérément un changement plus large.
Comment tester les charges utiles vides ?
Précisez si une séquence d’octets vide est acceptée et quelle sortie elle produit. Vérifiez ce comportement indépendamment des paramètres invalides pour qu’une entrée vide valide ne contourne pas accidentellement un contrôle de masque ou de type requis.
Puis-je vérifier l’opération sans connexion active ?
Des cas entrée-sortie connus permettent de vérifier la transformation indépendamment. Testez ensuite l’intégration dans l’environnement du projet si nécessaire. Isoler la fonction aide à déterminer si un échec vient du traitement des octets ou de l’état du protocole environnant.
SocketBrume · Mis à jour 2026-10-25