2008-10-26 5 views
3

J'ai toujours été étonné comment les fournisseurs de logiciels peuvent expédier leur application ou jeu, et plus tard fournir un ensemble différent d'exécutables qui changent les comportements de la construction précédente. Comment cela est-il fait? L'application d'origine et le correctif doivent-ils respecter une règle quelconque? Ou le correctif rampe-t-il dans l'exécutable d'origine et modifie-t-il ses informations d'assemblage? Cela nécessiterait-il une connaissance du fichier binaire au niveau de l'octet?De quelles connaissances avez-vous besoin pour créer un correctif pour votre jeu ou application?

Répondre

2

Il y a deux méthodes principales que j'ai vues. De nombreux programmes sont composés d'un certain nombre de parties plus petites qui sont chargées dynamiquement au moment de l'exécution, souvent ces fichiers sont simplement remplacés par des versions plus récentes. Puisque les mises à jour affectent souvent un nombre relativement faible de ces fichiers, le correctif peut être un petit sous-ensemble de l'application entière. L'autre méthode, que j'ai vu utilisée avec des applications monolithiques plus grandes, consiste à changer le code exécutable en utilisant une sorte de "diff binaire". L'un des inconvénients de cette approche est qu'il est plus difficile de prendre en charge la mise à niveau vers une nouvelle version à partir d'une version antérieure à plusieurs révisions sans avoir à effectuer chaque mise à jour incrémentielle.

0

Je pense que la plupart du temps, les "correctifs" ne sont que quelques fichiers de remplacement.

Il est cependant possible de comparer deux fichiers binaires, de déterminer leurs différences et de créer un ensemble de commandes d'édition qui vont changer l'une dans l'autre. L'utilitaire Unix "diff" peut le faire pour les fichiers texte, par exemple.

Questions connexes