我一直想知道的一件事是软件补丁是如何工作的。许多软件似乎只是在其二进制文件上发布了需要安装在旧版本之上的新版本,但一些软件(尤其是像 Windows 这样的操作系统)似乎能够发布非常小的补丁来纠正错误或为现有的添加功能软件。
大多数时候,我看到的补丁不可能替换整个应用程序,甚至是应用程序中使用的小文件。在我看来,实际的二进制文件似乎正在被修改。
这些补丁是如何实际实施的?任何人都可以向我指出任何解释其工作原理的资源,还是就像替换应用程序中的链接库之类的小组件一样简单?
我可能永远不需要以这种方式进行部署,但我很想知道它是如何工作的。如果我的理解是正确的,补丁实际上只能修改二进制文件的一部分,那么这可以在.NET 中实现吗?如果是我想学习它,因为这是我最熟悉的框架,我想了解它是如何工作的。