1) Cela laisse supposer que tout le savoir du fabricant réside dans son pilote. Ce n'est pas totalement exact. De plus, à te lire, tout ce code supplémentaire sert à émuler les générations précédentes, donc celles qui ne sont plus implémentées physiquement sur la carte. Ce n'est donc pas avec que l'on va voler la technologie du fabricant.
2) Un pilote binaire n'est ABSOLUMENT PAS protégé contre le reverse engineering. D'abord il s'agit d'un logiciel relativement réduit, pas d'un système d'exploitation entier, ensuite les pilotes de périphériques de pointe sont souvent les seuls programmes qui soient encore écrits dans un langage proche de la machine (C et pas mal d'assembleur, au moins pour accéder aux registres spécifiques de la carte) ce qui réduit la taille du code à explorer et permet d'éviter de se perdre entre ce qui relève du « code utile » et du padding autogénéré par les langages de haut-niveau. On peut donc facilement mettre une petite équipe de codeurs sur l'affaire qui en fera la synthèse et fournira les premiers résultats en un mois ou deux.
Moi-même j'ai fait le désassemblage (avec un désassembleur maison) des ROMs de mon vieux huit bits et en ai fait le commentaire ligne par ligne. Bon certes, il s'agit d'un logiciel de 1985 mais qui représente tout de même 2x10000 lignes d'assembleur et qui fait office de système d'exploitation complet (langage de prog, interface utilisateur, gestion de bas-niveau de tous les périphs, lecteur de disquettes, etc.).
Il me paraît évident qu'une équipe avec des connaissances à jour, spécialisée en cartes graphiques, et focalisée sur ce sujet précis peut faire de même et obtenir très vite de très bons résultats.
3) Il est tout-à-fait possible pour un fondeur de puces de procéder à la rétro-ingéniérie physique d'un circuit déjà intégré ! Un copain en école d'ingé spécialisée en électronique me l'a montré. Le boitier du circuit a été ouvert et la puce scannée pour en reproduire le masque ou quelque chose qui y ressemble. A partir de là, il fallait déduire la fonction du circuit. C'était un sujet de TP. Bon, là encore, le circuit en question était un 4011 (4 portes logiques NON-ET, le circuit de base), mais là encore en y mettant un peu de temps, on peut rapidement reconnaître les motifs courants et estimer si telle ou telle technologie se trouve dans une puce ou pas.
4) Ces arguments sont valables pour des secteurs de pointes comme les cartes graphiques par exemple, pas pour d'autres périphériques telles que les imprimantes, souris, etc.
5) Cela se faisait avant ! Pendant longtemps j'ai eu les spécifications de mes périphériques fournies dans la boite. En 85, quand je branchais un modem sur mon TO8D, j'avais un schéma électronique qui décrivait l'intérieur de l'appareil, les spécifications de chaque port IO, ainsi qu'un exemple de programme en assembleur pour l'exploiter au mieux. Notre foyer avait également fait l'acquisition d'un manétoscope et d'un autoradio, et à chaque fois le schéma était inclus. A partir des années 1990, les spécifications complètes se sont faites plus rares, mais le protocole de communication, au moins la liste des codes reconnues, était toujours disponible et tout le monde trouvait cela normal. C'est donc bien un effet de mode et une mauvaise habitude qui pousse les fabricants à cacher les informations nécessaire à leurs utilisateurs, pas d'autre raison à mon goût ...
[^] # Re: C'est une excellente chose
Posté par Obsidian . En réponse à la dépêche Une pétition pour obtenir des pilotes ATI de meilleure qualité. Évalué à 10.
Certes, tes arguments sont pertinents, mais:
1) Cela laisse supposer que tout le savoir du fabricant réside dans son pilote. Ce n'est pas totalement exact. De plus, à te lire, tout ce code supplémentaire sert à émuler les générations précédentes, donc celles qui ne sont plus implémentées physiquement sur la carte. Ce n'est donc pas avec que l'on va voler la technologie du fabricant.
2) Un pilote binaire n'est ABSOLUMENT PAS protégé contre le reverse engineering. D'abord il s'agit d'un logiciel relativement réduit, pas d'un système d'exploitation entier, ensuite les pilotes de périphériques de pointe sont souvent les seuls programmes qui soient encore écrits dans un langage proche de la machine (C et pas mal d'assembleur, au moins pour accéder aux registres spécifiques de la carte) ce qui réduit la taille du code à explorer et permet d'éviter de se perdre entre ce qui relève du « code utile » et du padding autogénéré par les langages de haut-niveau. On peut donc facilement mettre une petite équipe de codeurs sur l'affaire qui en fera la synthèse et fournira les premiers résultats en un mois ou deux.
Moi-même j'ai fait le désassemblage (avec un désassembleur maison) des ROMs de mon vieux huit bits et en ai fait le commentaire ligne par ligne. Bon certes, il s'agit d'un logiciel de 1985 mais qui représente tout de même 2x10000 lignes d'assembleur et qui fait office de système d'exploitation complet (langage de prog, interface utilisateur, gestion de bas-niveau de tous les périphs, lecteur de disquettes, etc.).
Il me paraît évident qu'une équipe avec des connaissances à jour, spécialisée en cartes graphiques, et focalisée sur ce sujet précis peut faire de même et obtenir très vite de très bons résultats.
3) Il est tout-à-fait possible pour un fondeur de puces de procéder à la rétro-ingéniérie physique d'un circuit déjà intégré ! Un copain en école d'ingé spécialisée en électronique me l'a montré. Le boitier du circuit a été ouvert et la puce scannée pour en reproduire le masque ou quelque chose qui y ressemble. A partir de là, il fallait déduire la fonction du circuit. C'était un sujet de TP. Bon, là encore, le circuit en question était un 4011 (4 portes logiques NON-ET, le circuit de base), mais là encore en y mettant un peu de temps, on peut rapidement reconnaître les motifs courants et estimer si telle ou telle technologie se trouve dans une puce ou pas.
4) Ces arguments sont valables pour des secteurs de pointes comme les cartes graphiques par exemple, pas pour d'autres périphériques telles que les imprimantes, souris, etc.
5) Cela se faisait avant ! Pendant longtemps j'ai eu les spécifications de mes périphériques fournies dans la boite. En 85, quand je branchais un modem sur mon TO8D, j'avais un schéma électronique qui décrivait l'intérieur de l'appareil, les spécifications de chaque port IO, ainsi qu'un exemple de programme en assembleur pour l'exploiter au mieux. Notre foyer avait également fait l'acquisition d'un manétoscope et d'un autoradio, et à chaque fois le schéma était inclus. A partir des années 1990, les spécifications complètes se sont faites plus rares, mais le protocole de communication, au moins la liste des codes reconnues, était toujours disponible et tout le monde trouvait cela normal. C'est donc bien un effet de mode et une mauvaise habitude qui pousse les fabricants à cacher les informations nécessaire à leurs utilisateurs, pas d'autre raison à mon goût ...