私がいつも疑問に思っていることの1つは、ソフトウェアパッチがどのように機能するかです。多くのソフトウェアは、古いバージョンの上にインストールする必要があるバイナリで新しいバージョンをリリースするだけのようですが、一部のソフトウェア(特にWindowsなどのオペレーティングシステム)は、バグを修正したり、既存の機能に機能を追加したりする非常に小さなパッチをリリースできるようです。ソフトウェア。
ほとんどの場合、私が目にするパッチは、アプリケーション全体、またはアプリケーション内で使用される小さなファイルを置き換えることはできません。私には、実際のバイナリが変更されているように見えます。
これらの種類のパッチは実際にどのように実装されていますか?これがどのように機能するかを説明するリソースを誰かに教えてもらえますか、それともアプリケーション内のリンクされたライブラリなどの小さなコンポーネントを置き換えるのと同じくらい簡単ですか?
この方法で展開を行う必要はおそらくないでしょうが、それがどのように機能するかを知りたいと思います。パッチが実際にバイナリファイルの一部しか変更できないという私の理解が正しければ、これは.NETで実行できますか?それが私が最もよく知っているフレームワークであり、それがどのように機能するかを理解したいので、それを学びたいと思います。