What knowledge is needed to create a patch for your game or application?

I have always been puzzled by how software vendors can send their application or game, and then provide a different set of executable files that change the behavior of the previous build. How it's done? Does the original application and patch need to adhere to some rule? Or is the patch scanned into the original executable file and changes its assembly information? Would it require knowledge of the binary at the byte level?

+3
source share
2 answers

There are two main methods that I have seen. Many programs consist of several small parts that are dynamically loaded at run time, often these files are simply replaced with newer versions. Because updates often only affect a relatively small number of these files, a patch may be a small subset of the entire application. Another method that I have seen used in large monolithic applications is to actually modify the executable code using some kind of binary diff. One of the drawbacks of this approach is that it is more difficult to maintain an upgrade to a new version from a version with multiple versions earlier without having to perform each incremental update.

+2
source

, "" - .

, , . Unix Unix , .

0

Source: https://habr.com/ru/post/1698713/


All Articles