回覆列表
  • 1 # 使用者2020809458929

    開機啟動程式一般是作業系統啟動後啟動的程式

    所以不同的作業系統有不同的開機啟動方法

    以windows為例可以使用登錄檔也可以將程式複製到開機啟動的某個資料夾裡

    登錄檔則一般可以有以下幾處

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion

    \Run;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion

    \Runonce;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

    \Run;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

    \RunOnce;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

    \RunOnceEx

    等等這些位置

    c語言的話可以透過system函式呼叫reg程式來進行對登錄檔的操作

    也可以使用windows所提供的api

    RegCreateKeyEx

    RegOpenKeyEx

    RegSetValueEx

    等等這些登錄檔操作的函式來完成

    而linux作業系統(基於linux核心釋出的發行版本統稱)就與windows不同

    一般linux上開機自啟可以從自啟指令碼上進行新增

    比如/etc/rc.loca /etc/rc[2-5].d/目錄下等等

    只需要將要自啟的程式路徑寫入到自啟檔案裡就可以了

    c語言也只需要操作檔案的函式就能完成

    另外也可以使用其它的方法來達到自啟的方法

    比如感染某個開機自啟程式

    方法是將自己要啟動的程式的程式碼“注入“到某個開機自啟的程式中

    比如windows的explorer.exe等

    方法可以是將explorer.exe替換成我們的程式

    然後獎explorer.exe這個程式移動到其它目錄或者更改名稱

    而我們的程式除了完成我們本身的功能外再多加一個功能,該功能用來建立一個程序呼叫原有的explorer.exe程式

    這樣就可以達到開機自啟的目的了

    當然我們也可以使用一個新的程式來替換explorer.exe

    程式的功能有兩個,一個是啟動我們要自啟動的程式,一個用來啟動原有的explorer.exe程式

    自然也可以將我們要啟動的程式的程式碼直接新增在explorer.exe的頭部或者尾部,頭部再新增一個程式碼用來對這個新增完成的最終檔案進行切割,切割成兩個可執行程式,一個是我們要啟動的程式,一個是原有的explorer.exe程式,再分別呼叫它們

    該方法同樣也可以用在linux系統上或者其它系統上

    總之開機自啟的方法有很多

    但不同的作業系統的具體方法卻不同

    (前面的地方沒有做過任何修改,這裡的地方專給認證人員的

  • 中秋節和大豐收的關聯?
  • 浪擺引體向上腳怎麼發力?