OK, merci beaucoup pour ces précisions.
J'ai finalement passé deux heures cette nuit à commencer à poser tout ça sur le papier, j'ai un peu avancé. Je lis consciencieusement tes écrits et j'ai juste besoin de les assimiler pour les faire miens. Normalement dans une semaine j'aurais compris la mécanique du truc dans laquelle tu sembles nager comme un poisson dans l'eau. Ensuite il faudra dérouler pour identifier tous les pointeurs et la position de ce qu'il faut changer dans la Fixup Table.
A la fin je devrais obtenir un grand tableau qui donne, pour chaque ressource 1, l'emplacement du pointeur correspondant dans le Fixup Table. Et là on pourra enfin déplacer des ressources pour donner de l'air aux chaines qui n'en ont pas comme Neuf, Hache ou Ebonite.
Edit du 28 février
J'ai beaucoup avancé aujourd'hui !
J'ai enfin compris le principe du truc, j'ai installé Python 2.7.13, j'ai vu comment modifier de façon élémentaire ton script pour faire sortir les couples Src Off/Target d'autres pages que la 350, notamment la 346 qui m'a permis de modifier la Fixup Table pour taper un octet plus loin et faire afficher "uir" au lieu de "Cuir".
Alors il reste un gros travail à faire qui est celui qui consiste à trouver les emplacements des pointeurs de chaque ressource 1 et leur entrée dans la fixup table. J'ai quelques pistes mais je dois poursuivre ma réflexion. IDA Pro 6.95 Demo, que j'ai essayé cet après-midi, est une version limitée qui ne permet pas d'analyser les fichiers DOS, IDA 5.0 Free n'affiche pas le segment 3, donc IDA c'est mort pour moi, sauf à trouver une version pirate dans un coin. Or toutes les adresses virtuelles qui nous intéressent sont des adresses visibles seulement dans le segment 3 via IDA. Pour ne pas en arriver à pirater, j'ai remarqué qu'il y a un décalage constant entre les adresses virtuelles de IDA que je trouve dans les explications et celles données par le debugger de DosBox. Alors je passe par celui-là et je translate : c'est moins facile, mais on a quelques résultats.
Il faut que j'arrive à faire un dump texte des ressources 1, puis de toute la zone virtuelle des pointeurs vers les ressources 1, et chaque pointeur contenant l'adresse d'une ressource, on pourra faire le lien entre un pointeur et la Ressource vers laquelle il pointe. Une fois les pointeurs connus, on sait trouver leur entrée dans la Fixup Table. Mais a priori je ne sais pas quelle est la situation et l'étendue de la ou des zones de pointeurs, et surtout il me faut un dump avec les adresses virtuelles en segment 3 puisque ce sont celles-ci qui sont directement liées au contenu de la Fixup Table. Sans IDA, faire ce dump est un vrai problème... J'en ai un par DosBox, mais les adresses sont translatées et l'ASCII n'est pas traduit en bout de ligne.
A suivre...
Modifié par Daneel53, 01 mars 2017 - 02:04.