我正在 Linux 环境(Debian-Lenny)上用 C 语言编写程序,并希望在有可用更新时更新程序(当有新更新可用时,程序会收到通知)。我正在寻找一种程序可以自我更新的方法。
我在想的是主程序调用一个新程序来处理更新。更新程序将拥有(访问)源代码并接收有关源代码更改的更新信息,如下所示:
edit1: line 20, remove column 5 to 20;
edit2: line25, remove column 4-7 then add "if(x>3){" from the column4
edit3: line 26, enter a new line and insert "x++;"
然后杀死主进程,重新编译源代码,然后用旧的二进制文件替换新的二进制文件。
还是有更好(更容易)和标准的方法来实现程序可以自我更新的能力?
我使用该程序来控制带有 Linux 嵌入式板的系统。因此,我不希望其他人可以访问源代码(如果系统被黑客入侵或其他原因)。如果使用源代码更新程序的最佳方式,你建议我如何保护源代码?如果你建议我加密源代码,程序可以使用什么函数(Linux C)来加密和解密源文件?