Composants 4D... suite... et fin ?
Par Contributeur - Publié le
-----------------------------------------------------------------
Bonjour,
align="right"] Suite aux récentes discussions sur les forums, nous avons examiné le problème soulevé. Il se dégage de notre analyse qu’un problème peut effectivement, dans certaines conditions, affecter la sécurité des composants. Néanmoins, ce problème ne se pose vraiment que pour les composants non protégés. En effet, depuis la sortie de la version 6.8 en avril 2002, nous proposons un cryptage des composants.
Conscient des implications éventuelles d’un tel problème, nos équipes ont travaillé dessus depuis les toutes premières discussions. A ce jour le problème est résolu, et nous proposerons très prochainement une version 2003.4 permettant la régénération des composants et éliminant ainsi le bogue.
Sur le fond du problème :
• Les conditions pour obtenir le code source du composant sont très particulières (d‘où le délai nécessaire à notre réponse).
• Les informations obtenues via ce bogue sont d'un intérêt très relatif pour les composants protégés utilisant les méthodes de cryptage disponibles dans le dialogue de génération des composants (ce n'est pas une option cachée).
• Seuls les composants non protégés sont mis en exergue par les divers participants aux conversations.
Pourquoi le discours des protagonistes ne mentionnent-t-il pas les résultats d'une « lecture » des composants protégés ?
Rappel de la procédure de cryptage :
Lors de la génération d'un composant protégé, les noms des objets privés sont renommés de manière destructive (non-réversible) et aléatoire. Dans ce cas, le code éventuellement obtenu via le fameux bogue est une suite d'instructions 4D où les noms d'objets privés commencent tous par la première lettre du nom original de l'objet, suivi de 4 lettres choisies librement par le développeur, puis d'une série de caractères ascii. Cette notion de suite de caractères ascii est très importante ; dans cette chaîne, un certain nombre sont des caractères de contrôles (entre 1 et 31), ce qui empêche toute édition dans l'éditeur de méthodes de 4D. Enfin, les commentaires sont effacés.
Vous avez certainement remarqué que seules des photos d'écrans de l'explorateur illustrent les discussions. Pourquoi ? Parce que l'édition est virtuellement impossible, et la lecture « à livre ouvert » n'est possible que via l'explorateur, ce qui limite de fait aux premières lignes de la méthode (l'explorateur ne proposant pas d'ascenseur pour faire défiler le texte).
Si toutefois une méthode d'édition viable était trouvée, il conviendrait ensuite de deviner le nom des objets et les remplacer par approximations successives avec tous les risques de bogues et d'incompréhension que cela implique. Un tel procédé n'est nullement automatisable.
Pour mémoire, cette information sur le cryptage destructif des noms a été mentionnée dès le premier jour des discussions sur notre forum technique.
Sur la forme des discussions :
• Contrairement aux allégations de l'initiateur des discussions, aucun courrier (physique ou électronique) n’a été adressé à nos services ou à moi-même avant le 24 Mai 2004.
• Il est surprenant que ce bogue n’ait pas suivi la voie usuelle ; aucune entrée correspondante n'a été relevée à ce jour dans notre base de bogue publique : http://bugs.4d.fr
• Certains nous ont reproché d'avoir « censuré » les propos tenus au sujet de la protection des composants sur notre forum. Si des messages ont été supprimés sur le forum privé forum.4d.fr, c’est qu’ils dérogeaient au règlement dudit forum et librement accepté par les contributeurs. Entre-temps certaines des personnes désactivées temporairement ont jugé opportun de publier sur le web des correspondances privées et des contributions écrites dans le cadre du forum 4D et ce contrairement aux dispositions dudit règlement ; nous ne réactiverons donc pas les comptes concernés jusqu'à nouvel ordre.
Soyez certains que des équipes sont à l'écoute permanente des forums et mailing list. En effet, la consultation de vos contributions nous permet souvent d’être réactif et d’améliorer ainsi nos produits au quotidien.