Меня всегда интересовало, как работают программные патчи. Похоже, что многие программы просто выпускают новые версии в своих двоичных файлах, которые должны быть установлены поверх более старых версий, но некоторые программы (в частности, операционные системы, такие как Windows) могут выпускать очень маленькие исправления, которые исправляют ошибки или добавляют функциональность к существующим программное обеспечение.
В большинстве случаев я вижу, что патчи не могут заменить целые приложения или даже небольшие файлы, которые используются в приложениях. Мне кажется, что реальный двоичный файл изменяется.
Как на самом деле реализованы эти патчи? Может кто-нибудь указать мне какие-либо ресурсы, которые объясняют, как это работает, или это так же просто, как замена небольших компонентов, таких как связанные библиотеки в приложении?
Вероятно, мне никогда не понадобится выполнять развертывание таким образом, но мне любопытно узнать, как оно работает. Если я правильно понимаю, что исправления могут действительно изменять только части двоичных файлов, возможно ли это сделать в .NET? Если это то, что я хотел бы изучить, так как это структура, с которой я больше всего знаком, и я хотел бы понять, как это работает.