Is there any way to dynamically update a binary file (executable file) while running without stopping?

We believe that we created the program from C++, 1 year ago, and it works continuously and without stopping!

within 1 year ago, we don’t know how one day we should update it (due to the correction of some errors). therefore, we did not follow the DSU (Dynamic Software Update) instruction . also it does not start on the virtual machine, which allows me to access its memory or context.

Now how can I update (add or remove some functions, data types or instructions) in it without stopping and stop it.

any recommendations? thanks.

+4
source share
1 answer

You will have to attach a debugger to it. Stop it at the execution point, where you will not destroy anything, replace the executable image, the instruction pointers by the rule, and if you select a bad breakpoint, you will also have to rebuild the stack and change the variables that may be affected / added by new code.

This is a lot more complicated than you want.

If your modification is local, you might be better off with a code pen as a workaround for this particular executable instance.

+3
source

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


All Articles